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,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.areaLink = exports.ribbonLink = void 0;
4
+ exports.circularAreaLink = circularAreaLink;
5
+ const SvgHelper_1 = require("./SvgHelper");
6
+ const d3_interpolate_1 = require("d3-interpolate");
7
+ const curvature = 0.5;
8
+ const ribbonLink = (d) => {
9
+ const diff = d.direction === "down"
10
+ ? Math.abs(d.target.y - d.source.y)
11
+ : Math.abs(d.source.x - d.target.x);
12
+ // const halfWidth = d.width / 2
13
+ const testCoordinates = d.direction === "down"
14
+ ? [
15
+ {
16
+ x: d.y0,
17
+ y: d.source.y
18
+ },
19
+ {
20
+ x: d.y0,
21
+ y: d.source.y + diff / 3
22
+ },
23
+ {
24
+ x: d.y1,
25
+ y: d.target.y - diff / 3
26
+ },
27
+ {
28
+ x: d.y1,
29
+ y: d.target.y
30
+ }
31
+ ]
32
+ : [
33
+ {
34
+ x: d.source.x0,
35
+ y: d.y0
36
+ },
37
+ {
38
+ x: d.source.x0 + diff / 3,
39
+ y: d.y0
40
+ },
41
+ {
42
+ x: d.target.x0 - diff / 3,
43
+ y: d.y1
44
+ },
45
+ {
46
+ x: d.target.x0,
47
+ y: d.y1
48
+ }
49
+ ];
50
+ const linkGenerator = (0, SvgHelper_1.linearRibbon)();
51
+ linkGenerator.x((d) => d.x);
52
+ linkGenerator.y((d) => d.y);
53
+ linkGenerator.r(() => d.sankeyWidth / 2);
54
+ return linkGenerator(testCoordinates);
55
+ };
56
+ exports.ribbonLink = ribbonLink;
57
+ const areaLink = (d) => {
58
+ let x0, x1, x2, x3, y0, y1, xi, y2, y3;
59
+ if (d.direction === "down") {
60
+ x0 = d.y0 - d.sankeyWidth / 2;
61
+ x1 = d.y1 - d.sankeyWidth / 2;
62
+ x2 = d.y1 + d.sankeyWidth / 2;
63
+ x3 = d.y0 + d.sankeyWidth / 2;
64
+ y0 = d.source.y1;
65
+ y1 = d.target.y0;
66
+ xi = (0, d3_interpolate_1.interpolateNumber)(y0, y1);
67
+ y2 = xi(curvature);
68
+ y3 = xi(1 - curvature);
69
+ return `M${x0},${y0}C${x0},${y2} ${x1},${y3} ${x1},${y1}L${x2},${y1}C${x2},${y3} ${x3},${y2} ${x3},${y0}Z`;
70
+ }
71
+ ;
72
+ (x0 = d.source.x1), // eslint-disable-line no-sequences
73
+ (x1 = d.target.x0),
74
+ (xi = (0, d3_interpolate_1.interpolateNumber)(x0, x1)),
75
+ (x2 = xi(curvature)),
76
+ (x3 = xi(1 - curvature)),
77
+ (y0 = d.y0 - d.sankeyWidth / 2),
78
+ (y1 = d.y1 - d.sankeyWidth / 2),
79
+ (y2 = d.y1 + d.sankeyWidth / 2),
80
+ (y3 = d.y0 + d.sankeyWidth / 2);
81
+ return `M${x0},${y0}C${x2},${y0} ${x3},${y1} ${x1},${y1}L${x1},${y2}C${x3},${y2} ${x2},${y3} ${x0},${y3}Z`;
82
+ };
83
+ exports.areaLink = areaLink;
84
+ function circularAreaLink(link) {
85
+ const linkGenerator = (0, SvgHelper_1.linearRibbon)();
86
+ linkGenerator.x((d) => d.x);
87
+ linkGenerator.y((d) => d.y);
88
+ linkGenerator.r(() => link.sankeyWidth / 2);
89
+ const xyForLink = link.direction === "down"
90
+ ? [
91
+ {
92
+ x: link.circularPathData.sourceY,
93
+ y: link.circularPathData.sourceX
94
+ },
95
+ {
96
+ x: link.circularPathData.sourceY,
97
+ y: link.circularPathData.leftFullExtent
98
+ },
99
+ {
100
+ x: link.circularPathData.verticalFullExtent,
101
+ y: link.circularPathData.leftFullExtent
102
+ },
103
+ {
104
+ x: link.circularPathData.verticalFullExtent,
105
+ y: link.circularPathData.rightFullExtent
106
+ },
107
+ {
108
+ x: link.circularPathData.targetY,
109
+ y: link.circularPathData.rightFullExtent
110
+ },
111
+ {
112
+ x: link.circularPathData.targetY,
113
+ y: link.circularPathData.targetX
114
+ }
115
+ ]
116
+ : [
117
+ {
118
+ x: link.circularPathData.sourceX,
119
+ y: link.circularPathData.sourceY
120
+ },
121
+ {
122
+ x: link.circularPathData.leftFullExtent,
123
+ y: link.circularPathData.sourceY
124
+ },
125
+ {
126
+ x: link.circularPathData.leftFullExtent,
127
+ y: link.circularPathData.verticalFullExtent
128
+ },
129
+ {
130
+ x: link.circularPathData.rightFullExtent,
131
+ y: link.circularPathData.verticalFullExtent
132
+ },
133
+ {
134
+ x: link.circularPathData.rightFullExtent,
135
+ y: link.circularPathData.targetY
136
+ },
137
+ {
138
+ x: link.circularPathData.targetX,
139
+ y: link.circularPathData.targetY
140
+ }
141
+ ];
142
+ return linkGenerator(xyForLink);
143
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.axisGenerator = axisGenerator;
40
+ const React = __importStar(require("react"));
41
+ const Axis_1 = __importDefault(require("../Axis"));
42
+ /**
43
+ * Generates an Axis component for summary visualizations
44
+ * This function creates the actual Axis component with the provided props
45
+ */
46
+ function axisGenerator(axisProps, i, axisScale) {
47
+ return (React.createElement(Axis_1.default, { label: axisProps.label, key: axisProps.key || `orframe-summary-axis-${i}`, orient: axisProps.orient, size: axisProps.size, ticks: axisProps.ticks, tickSize: axisProps.tickSize, tickFormat: axisProps.tickFormat, tickValues: axisProps.tickValues, rotate: axisProps.rotate, scale: axisScale, className: axisProps.className }));
48
+ }
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.renderLaidOutSummaries = exports.drawSummaries = exports.bucketizedRenderingFn = exports.contourRenderFn = exports.ckBinsRenderFn = exports.boxplotRenderFn = void 0;
37
+ exports.orFrameSummaryRenderer = orFrameSummaryRenderer;
38
+ exports.summaryInstructionsToMarks = summaryInstructionsToMarks;
39
+ const React = __importStar(require("react"));
40
+ const boxplotRenderer_1 = require("./boxplotRenderer");
41
+ const ckbinsRenderer_1 = require("./ckbinsRenderer");
42
+ const contourRenderer_1 = require("./contourRenderer");
43
+ const bucketizedRenderer_1 = require("./bucketizedRenderer");
44
+ // Re-export renderer functions so existing imports from this module continue to work
45
+ var boxplotRenderer_2 = require("./boxplotRenderer");
46
+ Object.defineProperty(exports, "boxplotRenderFn", { enumerable: true, get: function () { return boxplotRenderer_2.boxplotRenderFn; } });
47
+ var ckbinsRenderer_2 = require("./ckbinsRenderer");
48
+ Object.defineProperty(exports, "ckBinsRenderFn", { enumerable: true, get: function () { return ckbinsRenderer_2.ckBinsRenderFn; } });
49
+ var contourRenderer_2 = require("./contourRenderer");
50
+ Object.defineProperty(exports, "contourRenderFn", { enumerable: true, get: function () { return contourRenderer_2.contourRenderFn; } });
51
+ var bucketizedRenderer_2 = require("./bucketizedRenderer");
52
+ Object.defineProperty(exports, "bucketizedRenderingFn", { enumerable: true, get: function () { return bucketizedRenderer_2.bucketizedRenderingFn; } });
53
+ const summaryRenderHash = {
54
+ contour: contourRenderer_1.contourRenderFn,
55
+ boxplot: boxplotRenderer_1.boxplotRenderFn,
56
+ violin: bucketizedRenderer_1.bucketizedRenderingFn,
57
+ heatmap: bucketizedRenderer_1.bucketizedRenderingFn,
58
+ ridgeline: bucketizedRenderer_1.bucketizedRenderingFn,
59
+ histogram: bucketizedRenderer_1.bucketizedRenderingFn,
60
+ horizon: bucketizedRenderer_1.bucketizedRenderingFn,
61
+ ckbins: ckbinsRenderer_1.ckBinsRenderFn
62
+ };
63
+ function orFrameSummaryRenderer({ data, type, renderMode, eventListenersGenerator, styleFn, classFn, projection, adjustedSize, chartSize, margin, axisCreator }) {
64
+ let summaryRenderFn;
65
+ if (typeof type.type === "function") {
66
+ summaryRenderFn = type.type;
67
+ }
68
+ else if (summaryRenderHash[type.type]) {
69
+ summaryRenderFn = summaryRenderHash[type.type];
70
+ }
71
+ else {
72
+ console.error(`Invalid summary type: ${type.type} - Must be a function or one of the following strings: ${Object.keys(summaryRenderHash).join(", ")}`);
73
+ return {};
74
+ }
75
+ return summaryRenderFn({
76
+ data,
77
+ type,
78
+ renderMode,
79
+ eventListenersGenerator,
80
+ styleFn,
81
+ classFn,
82
+ projection,
83
+ adjustedSize,
84
+ chartSize,
85
+ margin,
86
+ axisCreator
87
+ });
88
+ }
89
+ /**
90
+ * Main drawing function for summary visualizations
91
+ */
92
+ const drawSummaries = ({ data, type, renderMode, eventListenersGenerator, styleFn, classFn, projection, adjustedSize, margin, axisCreator }) => {
93
+ if (!type || !type.type)
94
+ return;
95
+ type = typeof type === "string" ? { type } : type;
96
+ const chartSize = projection === "vertical" ? adjustedSize[1] : adjustedSize[0];
97
+ return orFrameSummaryRenderer({
98
+ data: data,
99
+ type: type,
100
+ renderMode,
101
+ eventListenersGenerator,
102
+ styleFn,
103
+ classFn,
104
+ projection,
105
+ adjustedSize,
106
+ chartSize,
107
+ margin,
108
+ axisCreator
109
+ });
110
+ };
111
+ exports.drawSummaries = drawSummaries;
112
+ /**
113
+ * Converts summary instructions to rendered SVG elements
114
+ */
115
+ function summaryInstructionsToMarks(data) {
116
+ const renderedSummaries = [];
117
+ for (const container of data) {
118
+ const renderedElements = [];
119
+ const { elements, containerProps } = container;
120
+ if (container.Mark) {
121
+ renderedSummaries.push(container.Mark);
122
+ }
123
+ else {
124
+ for (let i = 0; i < elements.length; i++) {
125
+ const element = elements[i];
126
+ const { markType, style = {}, ...restProps } = element;
127
+ // Merge style object into direct props for cleaner SVG
128
+ const elementProps = { ...restProps };
129
+ if (style.fill !== undefined)
130
+ elementProps.fill = style.fill;
131
+ if (style.stroke !== undefined)
132
+ elementProps.stroke = style.stroke;
133
+ if (style.strokeWidth !== undefined)
134
+ elementProps.strokeWidth = style.strokeWidth;
135
+ if (style.opacity !== undefined)
136
+ elementProps.opacity = style.opacity;
137
+ if (style.fillOpacity !== undefined)
138
+ elementProps.fillOpacity = style.fillOpacity;
139
+ if (style.strokeOpacity !== undefined)
140
+ elementProps.strokeOpacity = style.strokeOpacity;
141
+ // Keep remaining styles
142
+ const remainingStyles = { ...style };
143
+ delete remainingStyles.fill;
144
+ delete remainingStyles.stroke;
145
+ delete remainingStyles.strokeWidth;
146
+ delete remainingStyles.opacity;
147
+ delete remainingStyles.fillOpacity;
148
+ delete remainingStyles.strokeOpacity;
149
+ if (Object.keys(remainingStyles).length > 0) {
150
+ elementProps.style = remainingStyles;
151
+ }
152
+ elementProps.key = element.key || i;
153
+ if (markType) {
154
+ renderedElements.push(React.createElement(markType, elementProps));
155
+ }
156
+ }
157
+ if (containerProps) {
158
+ renderedSummaries.push(React.createElement("g", { ...containerProps }, renderedElements));
159
+ }
160
+ else {
161
+ renderedSummaries.push(...renderedElements);
162
+ }
163
+ }
164
+ }
165
+ return renderedSummaries;
166
+ }
167
+ const renderLaidOutSummaries = ({ data, canvasRender, canvasDrawing }) => {
168
+ if (canvasRender()) {
169
+ for (const container of data) {
170
+ if (container.type !== "svg-only-mark") {
171
+ const { transform: containerTransform = "translate(0,0)" } = container?.containerProps ?? {
172
+ transform: "translate(0,0)"
173
+ };
174
+ const [containerX, containerY] = containerTransform
175
+ .replace("translate(", "")
176
+ .replace(")", "")
177
+ .split(",");
178
+ for (const element of container.elements) {
179
+ const { transform: elementTransform = "translate(0,0)" } = element;
180
+ const [elementX, elementY] = elementTransform
181
+ .replace("translate(", "")
182
+ .replace(")", "")
183
+ .split(",");
184
+ const canvasNode = {
185
+ baseClass: "frame-piece",
186
+ tx: parseInt(elementX) + parseInt(containerX),
187
+ ty: parseInt(elementY) + parseInt(containerY),
188
+ d: {},
189
+ i: 0,
190
+ markProps: element,
191
+ styleFn: () => element.style,
192
+ renderFn: element.renderMode,
193
+ classFn: () => ""
194
+ };
195
+ canvasDrawing.push(canvasNode);
196
+ }
197
+ }
198
+ }
199
+ }
200
+ return summaryInstructionsToMarks(data.filter((d) => !canvasRender() || d.type === "svg-only-mark"));
201
+ };
202
+ exports.renderLaidOutSummaries = renderLaidOutSummaries;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.swarmLayout = swarmLayout;
37
+ const React = __importStar(require("react"));
38
+ const d3_force_1 = require("d3-force");
39
+ const pieceDrawing_1 = require("./pieceDrawing");
40
+ function swarmLayout({ type, data, renderMode, eventListenersGenerator, styleFn, projection, classFn, adjustedSize, chartSize, margin, rScale }) {
41
+ let allCalculatedPieces = [];
42
+ const columnKeys = Object.keys(data);
43
+ // Calculate total data points for adaptive iterations
44
+ const totalDataPoints = columnKeys.reduce((sum, key) => {
45
+ return sum + (data[key].pieceData?.length || 0);
46
+ }, 0);
47
+ // Adaptive iteration count: reduce iterations for large datasets to maintain performance
48
+ const adaptiveIterations = Math.max(30, Math.min(120, Math.floor(120 - (totalDataPoints - 100) / 20)));
49
+ const iterations = type.iterations !== undefined ? type.iterations : adaptiveIterations;
50
+ columnKeys.forEach((key, ordsetI) => {
51
+ const oColumn = data[key];
52
+ const anglePiece = 1 / columnKeys.length;
53
+ const oData = oColumn.pieceData;
54
+ const adjustedColumnWidth = oColumn.width;
55
+ const circleRadius = type.r ||
56
+ Math.max(2, Math.min(5, (4 * adjustedColumnWidth) / oData.length));
57
+ const simulation = (0, d3_force_1.forceSimulation)(oData)
58
+ .force("y", (0, d3_force_1.forceY)((d) => d.scaledValue).strength(type.strength || 2))
59
+ .force("x", (0, d3_force_1.forceX)(oColumn.middle))
60
+ .force("collide", (0, d3_force_1.forceCollide)(circleRadius))
61
+ .stop();
62
+ if (projection === "vertical") {
63
+ simulation.force("y", (0, d3_force_1.forceY)((d) => d.scaledVerticalValue).strength(type.strength || 2));
64
+ }
65
+ for (let i = 0; i < iterations; ++i)
66
+ simulation.tick();
67
+ const calculatedPieces = oData.map((piece, i) => {
68
+ const renderValue = renderMode && renderMode(piece.data, i);
69
+ let xPosition = piece.x;
70
+ let yPosition = piece.y;
71
+ if (projection === "horizontal") {
72
+ yPosition = piece.x;
73
+ xPosition = piece.y;
74
+ }
75
+ else if (projection === "radial") {
76
+ const angle = oColumn.pct_middle;
77
+ xPosition =
78
+ ((piece.x - oColumn.middle) / adjustedColumnWidth) * anglePiece;
79
+ const rPosition = piece.scaledValue / 2;
80
+ const xAngle = angle + xPosition;
81
+ const baseCentroid = (0, pieceDrawing_1.pointOnArcAtAngle)([adjustedSize[0] / 2, adjustedSize[1] / 2], xAngle, rPosition);
82
+ xPosition = baseCentroid[0];
83
+ yPosition = baseCentroid[1];
84
+ }
85
+ const actualCircleRadius = typeof circleRadius === "function"
86
+ ? circleRadius(piece, i)
87
+ : circleRadius;
88
+ const eventListeners = eventListenersGenerator(piece, i);
89
+ const renderElementObject = type.customMark ? (React.createElement("g", { key: `piece-${piece.renderKey}`, transform: `translate(${xPosition},${yPosition})` }, type.customMark({ ...piece.data, ...piece, x: xPosition, y: yPosition }, i, {
90
+ x: xPosition,
91
+ y: yPosition,
92
+ r: circleRadius,
93
+ renderMode,
94
+ styleFn,
95
+ classFn,
96
+ adjustedSize,
97
+ chartSize,
98
+ margin,
99
+ rScale
100
+ }))) : ({
101
+ className: classFn({ ...piece, ...piece.data }, i),
102
+ markType: "rect",
103
+ key: `piece-${piece.renderKey}`,
104
+ height: actualCircleRadius * 2,
105
+ width: actualCircleRadius * 2,
106
+ x: xPosition - actualCircleRadius,
107
+ y: yPosition - actualCircleRadius,
108
+ rx: actualCircleRadius,
109
+ ry: actualCircleRadius,
110
+ style: styleFn({ ...piece, ...piece.data }, ordsetI),
111
+ ...eventListeners
112
+ });
113
+ const calculatedPiece = {
114
+ o: key,
115
+ xy: {
116
+ x: xPosition,
117
+ y: yPosition
118
+ },
119
+ piece,
120
+ renderValue,
121
+ renderElement: renderElementObject
122
+ };
123
+ return calculatedPiece;
124
+ });
125
+ allCalculatedPieces = [...allCalculatedPieces, ...calculatedPieces];
126
+ });
127
+ return allCalculatedPieces;
128
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useBoundingRect = useBoundingRect;
5
+ const react_1 = require("react");
6
+ function useBoundingRect(ref) {
7
+ const [rect, setRect] = (0, react_1.useState)(null);
8
+ (0, react_1.useLayoutEffect)(() => {
9
+ const element = ref.current;
10
+ if (element != null) {
11
+ setRect(element.getBoundingClientRect());
12
+ // TypeScript 3.9 does not know about resize observer
13
+ // @ts-ignore
14
+ const observer = new ResizeObserver((entries) => {
15
+ if (entries.length > 0) {
16
+ setRect(entries[0].contentRect);
17
+ }
18
+ });
19
+ observer.observe(element);
20
+ return () => observer.disconnect();
21
+ }
22
+ }, []);
23
+ return rect;
24
+ }
@@ -0,0 +1,25 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useDerivedStateFromProps = useDerivedStateFromProps;
5
+ const react_1 = require("react");
6
+ // this hooks should only be used for transitioning from class to function components
7
+ // this hooks is supposed to replicate behavior of getDerivedStateFromProps
8
+ // and some assumptions related to it:
9
+ // 1. initial state, defined in "constructor" should not trigger additional computation
10
+ // 2. the computation function can opt-out if it thinks that nothing has changed, so the existing state should be used
11
+ //
12
+ // ideally, the state must be refactored to be function component friendly, so this hooks should become irrelevant
13
+ function useDerivedStateFromProps(fn, props, initialState) {
14
+ let prevRef = (0, react_1.useRef)(initialState);
15
+ let state = (0, react_1.useMemo)(() => {
16
+ let state = prevRef.current;
17
+ let patch = fn(props, state);
18
+ if (patch != null) {
19
+ return { ...state, ...patch };
20
+ }
21
+ return state;
22
+ }, [props]);
23
+ prevRef.current = state;
24
+ return state;
25
+ }
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useLegacyUnmountCallback = useLegacyUnmountCallback;
5
+ const react_1 = require("react");
6
+ // to properly replicate behavior of componentWillUnmount, the effect must not have dependencies
7
+ // which is why we need to store latest props and state values in ref that can be accessible during unmount
8
+ // TODO get rid of the behavior and props.onUnmount
9
+ function useLegacyUnmountCallback(props, state) {
10
+ let ref = (0, react_1.useRef)();
11
+ ref.current = [props, state];
12
+ (0, react_1.useEffect)(() => {
13
+ return () => {
14
+ const [props, state] = ref.current;
15
+ const onUnmount = props.onUnmount;
16
+ if (onUnmount) {
17
+ onUnmount(props, state);
18
+ }
19
+ };
20
+ }, []);
21
+ }