layerchart 2.0.0-next.5 → 2.0.0-next.50

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 (682) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bench/ComposableLineChart.svelte +56 -0
  3. package/dist/bench/ComposableLineChart.svelte.d.ts +16 -0
  4. package/dist/bench/GeoBench.svelte +31 -0
  5. package/dist/bench/GeoBench.svelte.d.ts +11 -0
  6. package/dist/bench/PrimitiveBench.svelte +66 -0
  7. package/dist/bench/PrimitiveBench.svelte.d.ts +10 -0
  8. package/dist/bench/composable-vs-linechart.svelte.bench.d.ts +1 -0
  9. package/dist/bench/composable-vs-linechart.svelte.bench.js +100 -0
  10. package/dist/bench/generateData.d.ts +29 -0
  11. package/dist/bench/generateData.js +93 -0
  12. package/dist/bench/primitives.svelte.bench.d.ts +1 -0
  13. package/dist/bench/primitives.svelte.bench.js +42 -0
  14. package/dist/bench/svg-vs-canvas.svelte.bench.d.ts +1 -0
  15. package/dist/bench/svg-vs-canvas.svelte.bench.js +431 -0
  16. package/dist/components/AnnotationLine.svelte +16 -3
  17. package/dist/components/AnnotationPoint.svelte +30 -12
  18. package/dist/components/AnnotationRange.svelte +32 -17
  19. package/dist/components/Arc.svelte +25 -25
  20. package/dist/components/Arc.svelte.d.ts +5 -6
  21. package/dist/components/Arc.svelte.test.d.ts +1 -0
  22. package/dist/components/Arc.svelte.test.js +858 -0
  23. package/dist/components/Area.svelte +95 -100
  24. package/dist/components/Area.svelte.d.ts +7 -3
  25. package/dist/components/Axis.svelte +219 -58
  26. package/dist/components/Axis.svelte.d.ts +24 -6
  27. package/dist/components/Bar.svelte +178 -31
  28. package/dist/components/Bar.svelte.d.ts +22 -2
  29. package/dist/components/Bars.svelte +33 -7
  30. package/dist/components/Bars.svelte.d.ts +9 -1
  31. package/dist/components/Blur.svelte +10 -9
  32. package/dist/components/Blur.svelte.d.ts +2 -5
  33. package/dist/components/Bounds.svelte +1 -1
  34. package/dist/components/BoxPlot.svelte +397 -0
  35. package/dist/components/BoxPlot.svelte.d.ts +40 -0
  36. package/dist/components/BrushContext.svelte +149 -329
  37. package/dist/components/BrushContext.svelte.d.ts +17 -45
  38. package/dist/components/BrushContext.svelte.test.d.ts +1 -0
  39. package/dist/components/BrushContext.svelte.test.js +301 -0
  40. package/dist/components/Calendar.svelte +45 -20
  41. package/dist/components/Calendar.svelte.d.ts +4 -4
  42. package/dist/components/Cell.svelte +59 -0
  43. package/dist/components/Cell.svelte.d.ts +25 -0
  44. package/dist/components/Chart.svelte +505 -768
  45. package/dist/components/Chart.svelte.d.ts +127 -101
  46. package/dist/components/ChartChildren.svelte +290 -0
  47. package/dist/components/ChartChildren.svelte.d.ts +147 -0
  48. package/dist/components/ChartClipPath.svelte +2 -2
  49. package/dist/components/Chord.svelte +114 -0
  50. package/dist/components/Chord.svelte.d.ts +53 -0
  51. package/dist/components/Circle.svelte +309 -54
  52. package/dist/components/Circle.svelte.d.ts +34 -9
  53. package/dist/components/Circle.svelte.test.d.ts +1 -0
  54. package/dist/components/Circle.svelte.test.js +141 -0
  55. package/dist/components/CircleClipPath.svelte +18 -2
  56. package/dist/components/ClipPath.svelte +36 -6
  57. package/dist/components/ClipPath.svelte.d.ts +10 -0
  58. package/dist/components/ColorRamp.svelte +1 -1
  59. package/dist/components/ComputedStyles.svelte +9 -2
  60. package/dist/components/Connector.svelte +7 -7
  61. package/dist/components/Connector.svelte.d.ts +4 -4
  62. package/dist/components/Contour.svelte +301 -0
  63. package/dist/components/Contour.svelte.d.ts +48 -0
  64. package/dist/components/Dagre.svelte +5 -0
  65. package/dist/components/Density.svelte +146 -0
  66. package/dist/components/Density.svelte.d.ts +21 -0
  67. package/dist/components/Ellipse.svelte +445 -0
  68. package/dist/components/Ellipse.svelte.d.ts +89 -0
  69. package/dist/components/Ellipse.svelte.test.d.ts +1 -0
  70. package/dist/components/Ellipse.svelte.test.js +126 -0
  71. package/dist/components/ForceSimulation.svelte +184 -50
  72. package/dist/components/ForceSimulation.svelte.d.ts +95 -21
  73. package/dist/components/Frame.svelte +2 -2
  74. package/dist/components/GeoCircle.svelte +1 -1
  75. package/dist/components/GeoEdgeFade.svelte +4 -5
  76. package/dist/components/GeoPath.svelte +62 -98
  77. package/dist/components/GeoPath.svelte.d.ts +6 -6
  78. package/dist/components/GeoPoint.svelte +22 -13
  79. package/dist/components/GeoProjection.svelte +30 -0
  80. package/dist/components/GeoProjection.svelte.d.ts +8 -0
  81. package/dist/components/GeoSpline.svelte +26 -30
  82. package/dist/components/GeoSpline.svelte.d.ts +3 -3
  83. package/dist/components/GeoTile.svelte +12 -13
  84. package/dist/components/GeoVisible.svelte +3 -3
  85. package/dist/components/Graticule.svelte +9 -12
  86. package/dist/components/Graticule.svelte.d.ts +2 -1
  87. package/dist/components/Grid.svelte +64 -64
  88. package/dist/components/Group.svelte +182 -65
  89. package/dist/components/Group.svelte.d.ts +34 -9
  90. package/dist/components/Group.svelte.test.d.ts +1 -0
  91. package/dist/components/Group.svelte.test.js +63 -0
  92. package/dist/components/Highlight.svelte +384 -159
  93. package/dist/components/Highlight.svelte.d.ts +12 -0
  94. package/dist/components/Hull.svelte +21 -11
  95. package/dist/components/Image.svelte +546 -0
  96. package/dist/components/Image.svelte.d.ts +127 -0
  97. package/dist/components/Image.svelte.test.d.ts +1 -0
  98. package/dist/components/Image.svelte.test.js +220 -0
  99. package/dist/components/Labels.svelte +105 -25
  100. package/dist/components/Labels.svelte.d.ts +19 -7
  101. package/dist/components/Legend.svelte +237 -81
  102. package/dist/components/Legend.svelte.d.ts +23 -12
  103. package/dist/components/Line.svelte +324 -67
  104. package/dist/components/Line.svelte.d.ts +39 -14
  105. package/dist/components/Line.svelte.test.d.ts +1 -0
  106. package/dist/components/Line.svelte.test.js +121 -0
  107. package/dist/components/LinearGradient.svelte +43 -13
  108. package/dist/components/Link.svelte +1 -1
  109. package/dist/components/Marker.svelte +43 -27
  110. package/dist/components/Marker.svelte.d.ts +1 -1
  111. package/dist/components/Month.svelte +273 -0
  112. package/dist/components/Month.svelte.d.ts +70 -0
  113. package/dist/components/MonthPath.svelte +32 -18
  114. package/dist/components/MonthPath.svelte.d.ts +8 -3
  115. package/dist/components/MotionPath.svelte +1 -1
  116. package/dist/components/Pack.svelte +4 -6
  117. package/dist/components/Pack.svelte.d.ts +12 -7
  118. package/dist/components/Partition.svelte +4 -3
  119. package/dist/components/Partition.svelte.d.ts +12 -4
  120. package/dist/components/Path.svelte +361 -0
  121. package/dist/components/Path.svelte.d.ts +72 -0
  122. package/dist/components/Pattern.svelte +15 -14
  123. package/dist/components/Pie.svelte +6 -8
  124. package/dist/components/Pie.svelte.d.ts +2 -3
  125. package/dist/components/Point.svelte +1 -1
  126. package/dist/components/Points.svelte +76 -84
  127. package/dist/components/Points.svelte.d.ts +7 -8
  128. package/dist/components/Polygon.svelte +502 -0
  129. package/dist/components/Polygon.svelte.d.ts +136 -0
  130. package/dist/components/Polygon.svelte.test.d.ts +1 -0
  131. package/dist/components/Polygon.svelte.test.js +121 -0
  132. package/dist/components/RadialGradient.svelte +12 -16
  133. package/dist/components/Raster.svelte +335 -0
  134. package/dist/components/Raster.svelte.d.ts +48 -0
  135. package/dist/components/Rect.svelte +482 -69
  136. package/dist/components/Rect.svelte.d.ts +82 -8
  137. package/dist/components/Rect.svelte.test.d.ts +1 -0
  138. package/dist/components/Rect.svelte.test.js +179 -0
  139. package/dist/components/RectClipPath.svelte +16 -4
  140. package/dist/components/RectClipPath.svelte.d.ts +2 -2
  141. package/dist/components/Ribbon.svelte +141 -0
  142. package/dist/components/Ribbon.svelte.d.ts +51 -0
  143. package/dist/components/Rule.svelte +168 -78
  144. package/dist/components/Rule.svelte.d.ts +7 -2
  145. package/dist/components/Sankey.svelte +1 -1
  146. package/dist/components/Spline.svelte +181 -279
  147. package/dist/components/Spline.svelte.d.ts +28 -56
  148. package/dist/components/Text.svelte +532 -199
  149. package/dist/components/Text.svelte.d.ts +54 -14
  150. package/dist/components/Text.svelte.test.d.ts +1 -0
  151. package/dist/components/Text.svelte.test.js +152 -0
  152. package/dist/components/Threshold.svelte +6 -3
  153. package/dist/components/TileImage.svelte +19 -4
  154. package/dist/components/Trail.svelte +256 -0
  155. package/dist/components/Trail.svelte.d.ts +88 -0
  156. package/dist/components/TransformContext.svelte +132 -428
  157. package/dist/components/TransformContext.svelte.d.ts +22 -0
  158. package/dist/components/TransformContext.svelte.test.d.ts +1 -0
  159. package/dist/components/TransformContext.svelte.test.js +166 -0
  160. package/dist/components/Tree.svelte +4 -3
  161. package/dist/components/Tree.svelte.d.ts +12 -4
  162. package/dist/components/Treemap.svelte +67 -29
  163. package/dist/components/Treemap.svelte.d.ts +23 -15
  164. package/dist/components/Vector.svelte +376 -0
  165. package/dist/components/Vector.svelte.d.ts +109 -0
  166. package/dist/components/Violin.svelte +319 -0
  167. package/dist/components/Violin.svelte.d.ts +47 -0
  168. package/dist/components/Voronoi.svelte +17 -18
  169. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-full-circle--360-degree-range--1.png +0 -0
  170. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-full-circle--360-degree-range--2.png +0 -0
  171. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-innerRadius-of-0--pie-slice--1.png +0 -0
  172. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-innerRadius-of-0--pie-slice--2.png +0 -0
  173. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-negative-domain-values-1.png +0 -0
  174. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-negative-domain-values-2.png +0 -0
  175. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-partial-arc--e-g---180-degrees--1.png +0 -0
  176. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-partial-arc--e-g---180-degrees--2.png +0 -0
  177. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-at-max-domain-1.png +0 -0
  178. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-at-max-domain-2.png +0 -0
  179. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-below-domain-min-1.png +0 -0
  180. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-below-domain-min-2.png +0 -0
  181. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-exceeding-domain-max-1.png +0 -0
  182. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-exceeding-domain-max-2.png +0 -0
  183. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-of-0-1.png +0 -0
  184. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-edge-cases-should-handle-value-of-0-2.png +0 -0
  185. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-events-should-handle-pointer-enter-events-1.png +0 -0
  186. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-events-should-handle-pointer-enter-events-2.png +0 -0
  187. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-events-should-handle-pointer-move-events-1.png +0 -0
  188. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-events-should-handle-pointer-move-events-2.png +0 -0
  189. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-apply-offset-to-arc-position-1.png +0 -0
  190. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-apply-offset-to-arc-position-2.png +0 -0
  191. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-call-tooltip-hide-on-pointer-leave-1.png +0 -0
  192. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-call-tooltip-hide-on-pointer-leave-2.png +0 -0
  193. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-call-tooltip-show-on-pointer-enter-with-data-1.png +0 -0
  194. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-call-tooltip-show-on-pointer-enter-with-data-2.png +0 -0
  195. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-handle-custom-start-angle-in-range-1.png +0 -0
  196. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-handle-custom-start-angle-in-range-2.png +0 -0
  197. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-an-arc-path-with-value-1.png +0 -0
  198. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-an-arc-path-with-value-2.png +0 -0
  199. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-when-track-prop-is-provided-1.png +0 -0
  200. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-when-track-prop-is-provided-2.png +0 -0
  201. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackEndAngle-1.png +0 -0
  202. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackEndAngle-2.png +0 -0
  203. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackInnerRadius-1.png +0 -0
  204. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackInnerRadius-2.png +0 -0
  205. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackPadAngle-1.png +0 -0
  206. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackPadAngle-2.png +0 -0
  207. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackStartAngle-1.png +0 -0
  208. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackStartAngle-2.png +0 -0
  209. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackStartAngle-and-trackEndAngle-1.png +0 -0
  210. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-track-with-trackStartAngle-and-trackEndAngle-2.png +0 -0
  211. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-both-startAngle-and-endAngle-1.png +0 -0
  212. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-both-startAngle-and-endAngle-2.png +0 -0
  213. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-cornerRadius-1.png +0 -0
  214. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-cornerRadius-2.png +0 -0
  215. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-custom-domain-1.png +0 -0
  216. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-custom-domain-2.png +0 -0
  217. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-custom-domain-and-range-1.png +0 -0
  218. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-custom-domain-and-range-2.png +0 -0
  219. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-custom-range-1.png +0 -0
  220. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-custom-range-2.png +0 -0
  221. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-endAngle-in-radians-1.png +0 -0
  222. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-endAngle-in-radians-2.png +0 -0
  223. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-innerRadius-1.png +0 -0
  224. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-innerRadius-2.png +0 -0
  225. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-padAngle-1.png +0 -0
  226. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-padAngle-2.png +0 -0
  227. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-startAngle-in-radians-1.png +0 -0
  228. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-props-should-render-with-startAngle-in-radians-2.png +0 -0
  229. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-snippets-should-render-text-inner--middle--outer-Text-children-1.png +0 -0
  230. package/dist/components/__screenshots__/Arc.svelte.test.ts/Arc-snippets-should-render-text-inner--middle--outer-Text-children-2.png +0 -0
  231. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-clear-brush-when-x-prop-changes-to--null--null--1.png +0 -0
  232. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-clear-brush-when-x-prop-changes-to--null--null--2.png +0 -0
  233. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-not-show-brush-when-x-prop-is-null-1.png +0 -0
  234. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-not-show-brush-when-x-prop-is-null-2.png +0 -0
  235. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-not-show-brush-when-x-prop-matches-full-domain-1.png +0 -0
  236. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-not-show-brush-when-x-prop-matches-full-domain-2.png +0 -0
  237. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-show-brush-when-x-prop-is-provided-with-a-sub-domain-1.png +0 -0
  238. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-show-brush-when-x-prop-is-provided-with-a-sub-domain-2.png +0 -0
  239. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-update-brush-width-when-x-prop-changes-1.png +0 -0
  240. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-external-sync--x-y-props--should-update-brush-width-when-x-prop-changes-2.png +0 -0
  241. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-clear-brush-when-reset-programmatically-1.png +0 -0
  242. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-clear-brush-when-reset-programmatically-2.png +0 -0
  243. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-compute-correct-pixel-width-for-brush-move---1.png +0 -0
  244. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-compute-correct-pixel-width-for-brush-move---2.png +0 -0
  245. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-move-only-y-when-x-is-not-specified-1.png +0 -0
  246. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-move-only-y-when-x-is-not-specified-2.png +0 -0
  247. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-select-full-domain-with-selectAll-1.png +0 -0
  248. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-select-full-domain-with-selectAll-2.png +0 -0
  249. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-show-brush-when-moved-programmatically-via-context-1.png +0 -0
  250. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-show-brush-when-moved-programmatically-via-context-2.png +0 -0
  251. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-update-width-when-brush-move---is-called-again-1.png +0 -0
  252. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-programmatic-control-should-update-width-when-brush-move---is-called-again-2.png +0 -0
  253. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-rendering-should-not-render-brush-UI-when-brush-is-disabled-1.png +0 -0
  254. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-rendering-should-not-render-brush-UI-when-brush-is-disabled-2.png +0 -0
  255. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-rendering-should-not-render-range-or-handles-initially-1.png +0 -0
  256. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-rendering-should-not-render-range-or-handles-initially-2.png +0 -0
  257. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-rendering-should-render-brush-context-when-brush-is-enabled-1.png +0 -0
  258. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-rendering-should-render-brush-context-when-brush-is-enabled-2.png +0 -0
  259. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-zoomOnBrush-with-onBrushEnd-should-pass-brush-domain-values-to-onBrushEnd-before-resetting-1.png +0 -0
  260. package/dist/components/__screenshots__/BrushContext.svelte.test.ts/BrushContext-zoomOnBrush-with-onBrushEnd-should-pass-brush-domain-values-to-onBrushEnd-before-resetting-2.png +0 -0
  261. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-1.png +0 -0
  262. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-2.png +0 -0
  263. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-render-one-circle-per-data-item-with-string-accessors-1.png +0 -0
  264. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-render-one-circle-per-data-item-with-string-accessors-2.png +0 -0
  265. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-render-with-function-accessors-1.png +0 -0
  266. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-render-with-function-accessors-2.png +0 -0
  267. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-resolve-data-driven-fill-through-cScale-1.png +0 -0
  268. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-resolve-data-driven-fill-through-cScale-2.png +0 -0
  269. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  270. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-data-mode-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  271. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-pixel-mode-should-render-a-circle-with-pixel-values-1.png +0 -0
  272. package/dist/components/__screenshots__/Circle.svelte.test.ts/Circle-pixel-mode-should-render-a-circle-with-pixel-values-2.png +0 -0
  273. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-1.png +0 -0
  274. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-2.png +0 -0
  275. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-render-one-ellipse-per-data-item-with-string-accessors-1.png +0 -0
  276. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-render-one-ellipse-per-data-item-with-string-accessors-2.png +0 -0
  277. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-resolve-data-driven-fill-through-cScale-1.png +0 -0
  278. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-resolve-data-driven-fill-through-cScale-2.png +0 -0
  279. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  280. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-data-mode-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  281. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-pixel-mode-should-render-an-ellipse-with-pixel-values-1.png +0 -0
  282. package/dist/components/__screenshots__/Ellipse.svelte.test.ts/Ellipse-pixel-mode-should-render-an-ellipse-with-pixel-values-2.png +0 -0
  283. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-apply-circular-clipping-in-data-mode-1.png +0 -0
  284. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-apply-circular-clipping-in-data-mode-2.png +0 -0
  285. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-pass-literal-URL-through-unchanged-in-data-mode-1.png +0 -0
  286. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-pass-literal-URL-through-unchanged-in-data-mode-2.png +0 -0
  287. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-render-one-image-per-data-item-with-string-accessors-1.png +0 -0
  288. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-render-one-image-per-data-item-with-string-accessors-2.png +0 -0
  289. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-render-with-function-accessors-1.png +0 -0
  290. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-render-with-function-accessors-2.png +0 -0
  291. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-resolve-data-driven-href-from-data-property-1.png +0 -0
  292. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-resolve-data-driven-href-from-data-property-2.png +0 -0
  293. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  294. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-data-mode-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  295. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-apply-circular-clipping-when-r-is-set-1.png +0 -0
  296. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-apply-circular-clipping-when-r-is-set-2.png +0 -0
  297. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-apply-preserveAspectRatio-1.png +0 -0
  298. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-apply-preserveAspectRatio-2.png +0 -0
  299. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-apply-rotation-1.png +0 -0
  300. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-apply-rotation-2.png +0 -0
  301. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-default-width-and-height-to-16-1.png +0 -0
  302. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-default-width-and-height-to-16-2.png +0 -0
  303. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-render-an-image-with-pixel-values-1.png +0 -0
  304. package/dist/components/__screenshots__/Image.svelte.test.ts/Image-pixel-mode-should-render-an-image-with-pixel-values-2.png +0 -0
  305. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-1.png +0 -0
  306. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-2.png +0 -0
  307. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-render-one-line-per-data-item-with-string-accessors-1.png +0 -0
  308. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-render-one-line-per-data-item-with-string-accessors-2.png +0 -0
  309. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-resolve-data-driven-stroke-through-cScale-1.png +0 -0
  310. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-resolve-data-driven-stroke-through-cScale-2.png +0 -0
  311. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  312. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-data-mode-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  313. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-pixel-mode-should-render-a-line-with-pixel-values-1.png +0 -0
  314. package/dist/components/__screenshots__/Line.svelte.test.ts/Line-pixel-mode-should-render-a-line-with-pixel-values-2.png +0 -0
  315. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-1.png +0 -0
  316. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-2.png +0 -0
  317. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-render-one-polygon-per-data-item-with-string-accessors-1.png +0 -0
  318. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-render-one-polygon-per-data-item-with-string-accessors-2.png +0 -0
  319. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-resolve-data-driven-fill-through-cScale-1.png +0 -0
  320. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-resolve-data-driven-fill-through-cScale-2.png +0 -0
  321. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  322. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-data-mode-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  323. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-pixel-mode-should-render-a-polygon-with-pixel-values-1.png +0 -0
  324. package/dist/components/__screenshots__/Polygon.svelte.test.ts/Polygon-pixel-mode-should-render-a-polygon-with-pixel-values-2.png +0 -0
  325. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---colors-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-1.png +0 -0
  326. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---colors-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-2.png +0 -0
  327. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---colors-should-resolve-data-driven-fill-through-cScale-1.png +0 -0
  328. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---colors-should-resolve-data-driven-fill-through-cScale-2.png +0 -0
  329. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---edge-based-should-render-rects-from-edge-props-1.png +0 -0
  330. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---edge-based-should-render-rects-from-edge-props-2.png +0 -0
  331. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---edge-based-should-render-rects-with-insets-1.png +0 -0
  332. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---edge-based-should-render-rects-with-insets-2.png +0 -0
  333. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---edge-based-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  334. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---edge-based-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  335. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---standard-should-render-one-rect-per-data-item-with-string-accessors-1.png +0 -0
  336. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-data-mode---standard-should-render-one-rect-per-data-item-with-string-accessors-2.png +0 -0
  337. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-pixel-mode-should-render-a-rect-with-pixel-values-1.png +0 -0
  338. package/dist/components/__screenshots__/Rect.svelte.test.ts/Rect-pixel-mode-should-render-a-rect-with-pixel-values-2.png +0 -0
  339. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-1.png +0 -0
  340. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-pass-literal-CSS-colors-through-unchanged-in-data-mode-2.png +0 -0
  341. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-render-one-text-per-data-item-with-string-accessors-1.png +0 -0
  342. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-render-one-text-per-data-item-with-string-accessors-2.png +0 -0
  343. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-resolve-data-driven-fill-through-cScale-1.png +0 -0
  344. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-resolve-data-driven-fill-through-cScale-2.png +0 -0
  345. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-resolve-value-as-data-property-name-in-data-mode-1.png +0 -0
  346. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-resolve-value-as-data-property-name-in-data-mode-2.png +0 -0
  347. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-use-explicit-data-prop-over-chart-context-data-1.png +0 -0
  348. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-data-mode-should-use-explicit-data-prop-over-chart-context-data-2.png +0 -0
  349. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-pixel-mode-should-preserve-CSS-like-string-values-as-SVG-values-1.png +0 -0
  350. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-pixel-mode-should-preserve-CSS-like-string-values-as-SVG-values-2.png +0 -0
  351. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-pixel-mode-should-render-text-with-pixel-values-1.png +0 -0
  352. package/dist/components/__screenshots__/Text.svelte.test.ts/Text-pixel-mode-should-render-text-with-pixel-values-2.png +0 -0
  353. package/dist/components/charts/ArcChart.svelte +148 -221
  354. package/dist/components/charts/ArcChart.svelte.d.ts +44 -18
  355. package/dist/components/charts/ArcChart.svelte.test.d.ts +1 -0
  356. package/dist/components/charts/ArcChart.svelte.test.js +24 -0
  357. package/dist/components/charts/AreaChart.svelte +86 -529
  358. package/dist/components/charts/AreaChart.svelte.d.ts +36 -37
  359. package/dist/components/charts/AreaChart.svelte.test.d.ts +1 -0
  360. package/dist/components/charts/AreaChart.svelte.test.js +154 -0
  361. package/dist/components/charts/BarChart.svelte +128 -507
  362. package/dist/components/charts/BarChart.svelte.d.ts +39 -32
  363. package/dist/components/charts/BarChart.svelte.test.d.ts +1 -0
  364. package/dist/components/charts/BarChart.svelte.test.js +449 -0
  365. package/dist/components/charts/BarChartFixedWidthTest.svelte +47 -0
  366. package/dist/components/charts/BarChartFixedWidthTest.svelte.d.ts +11 -0
  367. package/dist/components/charts/ChartAnnotations.svelte +8 -7
  368. package/dist/components/charts/ChartAnnotations.svelte.d.ts +1 -3
  369. package/dist/components/charts/DefaultTooltip.svelte +98 -33
  370. package/dist/components/charts/DefaultTooltip.svelte.d.ts +2 -4
  371. package/dist/components/charts/DefaultTooltip.svelte.test.d.ts +1 -0
  372. package/dist/components/charts/DefaultTooltip.svelte.test.js +231 -0
  373. package/dist/components/charts/LineChart.svelte +94 -433
  374. package/dist/components/charts/LineChart.svelte.bench.d.ts +1 -0
  375. package/dist/components/charts/LineChart.svelte.bench.js +189 -0
  376. package/dist/components/charts/LineChart.svelte.d.ts +36 -31
  377. package/dist/components/charts/LineChart.svelte.test.d.ts +1 -0
  378. package/dist/components/charts/LineChart.svelte.test.js +45 -0
  379. package/dist/components/charts/PieChart.svelte +292 -362
  380. package/dist/components/charts/PieChart.svelte.d.ts +62 -33
  381. package/dist/components/charts/PieChart.svelte.test.d.ts +1 -0
  382. package/dist/components/charts/PieChart.svelte.test.js +36 -0
  383. package/dist/components/charts/ScatterChart.svelte +53 -376
  384. package/dist/components/charts/ScatterChart.svelte.d.ts +27 -23
  385. package/dist/components/charts/__fixtures__/ArcChartTooltip.svelte +39 -0
  386. package/dist/{docs/Blockquote.svelte.d.ts → components/charts/__fixtures__/ArcChartTooltip.svelte.d.ts} +4 -6
  387. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-multiple-area-paths-for-each-series-1.png +0 -0
  388. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-multiple-area-paths-for-each-series-2.png +0 -0
  389. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-multiple-area-paths-for-each-series-with-separate-data-1.png +0 -0
  390. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-multiple-area-paths-for-each-series-with-separate-data-2.png +0 -0
  391. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-multiple-area-paths-for-each-series-with-separate-data-and-stack-layout-1.png +0 -0
  392. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-multiple-area-paths-for-each-series-with-separate-data-and-stack-layout-2.png +0 -0
  393. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-with-single-series-when-no-series-prop-provided-1.png +0 -0
  394. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-basic-should-render-with-single-series-when-no-series-prop-provided-2.png +0 -0
  395. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-series-layout-should-render-with-overlap-layout-1.png +0 -0
  396. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-series-layout-should-render-with-overlap-layout-2.png +0 -0
  397. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-series-layout-should-render-with-stack-layout-1.png +0 -0
  398. package/dist/components/charts/__screenshots__/AreaChart.svelte.test.ts/AreaChart-series-layout-should-render-with-stack-layout-2.png +0 -0
  399. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-basic-should-render-horizontal-bars-1.png +0 -0
  400. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-basic-should-render-horizontal-bars-2.png +0 -0
  401. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-basic-should-render-vertical-bars-without-NaN-attributes-1.png +0 -0
  402. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-basic-should-render-vertical-bars-without-NaN-attributes-2.png +0 -0
  403. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-basic-should-render-with-default-series-when-no-series-prop-provided-1.png +0 -0
  404. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-basic-should-render-with-default-series-when-no-series-prop-provided-2.png +0 -0
  405. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-fixed-width-height-should-center-fixed-width-bars-within-their-band-1.png +0 -0
  406. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-fixed-width-height-should-center-fixed-width-bars-within-their-band-2.png +0 -0
  407. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-fixed-width-height-should-render-horizontal-bars-with-fixed-height-1.png +0 -0
  408. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-fixed-width-height-should-render-horizontal-bars-with-fixed-height-2.png +0 -0
  409. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-fixed-width-height-should-render-vertical-bars-with-fixed-width-1.png +0 -0
  410. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-fixed-width-height-should-render-vertical-bars-with-fixed-width-2.png +0 -0
  411. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-legend-series-toggle-adjusts-group-scale-should-adjust-grouped-bar-widths-when-series-are-toggled-via-legend-1.png +0 -0
  412. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-legend-series-toggle-adjusts-group-scale-should-adjust-grouped-bar-widths-when-series-are-toggled-via-legend-2.png +0 -0
  413. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-no-series-prop--transition-example-pattern--should-render-without-series-prop-and-not-produce-NaN-rect-attributes-1.png +0 -0
  414. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-no-series-prop--transition-example-pattern--should-render-without-series-prop-and-not-produce-NaN-rect-attributes-2.png +0 -0
  415. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-separate-data-per-series-should-render-overlapping-series-with-separate-data-arrays-1.png +0 -0
  416. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-separate-data-per-series-should-render-overlapping-series-with-separate-data-arrays-2.png +0 -0
  417. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-separate-data-per-series-should-render-stacked-series-with-separate-data-arrays-1.png +0 -0
  418. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-separate-data-per-series-should-render-stacked-series-with-separate-data-arrays-2.png +0 -0
  419. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-grouped-series-1.png +0 -0
  420. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-grouped-series-2.png +0 -0
  421. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-multiple-Bars-groups-for-each-series-1.png +0 -0
  422. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-multiple-Bars-groups-for-each-series-2.png +0 -0
  423. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stackDiverging-series-1.png +0 -0
  424. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stackDiverging-series-2.png +0 -0
  425. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stackExpand-series-1.png +0 -0
  426. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stackExpand-series-2.png +0 -0
  427. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stacked-series-1.png +0 -0
  428. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stacked-series-2.png +0 -0
  429. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stacked-series-horizontally-1.png +0 -0
  430. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-should-render-stacked-series-horizontally-2.png +0 -0
  431. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-stackDiverging-edge-rounding-should-round-both-tips-when-there-is-one-positive-and-one-negative-series-1.png +0 -0
  432. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-stackDiverging-edge-rounding-should-round-both-tips-when-there-is-one-positive-and-one-negative-series-2.png +0 -0
  433. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-stackDiverging-edge-rounding-should-round-the-tip-of-each-direction--not-inner-layers-1.png +0 -0
  434. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-stackDiverging-edge-rounding-should-round-the-tip-of-each-direction--not-inner-layers-2.png +0 -0
  435. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-tooltip-should-use-explicit-series-colors--not-color-scale-1.png +0 -0
  436. package/dist/components/charts/__screenshots__/BarChart.svelte.test.ts/BarChart-series-tooltip-should-use-explicit-series-colors--not-color-scale-2.png +0 -0
  437. package/dist/components/charts/__screenshots__/DefaultTooltip.svelte.test.ts/DefaultTooltip-AreaChart--multi-series--quadtree-x-mode--should-fade-non-highlighted-tooltip-series-items-on-hover-1.png +0 -0
  438. package/dist/components/charts/__screenshots__/DefaultTooltip.svelte.test.ts/DefaultTooltip-AreaChart--multi-series--quadtree-x-mode--should-fade-non-highlighted-tooltip-series-items-on-hover-2.png +0 -0
  439. package/dist/components/charts/__screenshots__/DefaultTooltip.svelte.test.ts/DefaultTooltip-AreaChart--multi-series--quadtree-x-mode--should-show-header-and-all-series-items-1.png +0 -0
  440. package/dist/components/charts/__screenshots__/DefaultTooltip.svelte.test.ts/DefaultTooltip-AreaChart--multi-series--quadtree-x-mode--should-show-header-and-all-series-items-2.png +0 -0
  441. package/dist/components/charts/__screenshots__/DefaultTooltip.svelte.test.ts/DefaultTooltip-LineChart--multi-series--quadtree-x-mode--should-show-header-and-all-series-items-1.png +0 -0
  442. package/dist/components/charts/__screenshots__/DefaultTooltip.svelte.test.ts/DefaultTooltip-LineChart--multi-series--quadtree-x-mode--should-show-header-and-all-series-items-2.png +0 -0
  443. package/dist/components/charts/types.d.ts +6 -211
  444. package/dist/components/index.d.ts +43 -13
  445. package/dist/components/index.js +43 -14
  446. package/dist/components/layers/Canvas.svelte +485 -0
  447. package/dist/components/{layout → layers}/Canvas.svelte.d.ts +7 -37
  448. package/dist/components/{layout → layers}/Html.svelte +34 -16
  449. package/dist/components/{layout → layers}/Html.svelte.d.ts +7 -0
  450. package/dist/components/layers/Layer.svelte +85 -0
  451. package/dist/components/layers/Layer.svelte.d.ts +23 -0
  452. package/dist/components/{layout → layers}/Svg.svelte +38 -18
  453. package/dist/components/{layout → layers}/Svg.svelte.d.ts +7 -0
  454. package/dist/components/{layout → layers}/WebGL.svelte +27 -7
  455. package/dist/components/{layout → layers}/WebGL.svelte.d.ts +8 -5
  456. package/dist/components/tests/BrushTestHarness.svelte +27 -0
  457. package/dist/components/tests/BrushTestHarness.svelte.d.ts +8 -0
  458. package/dist/components/tests/TestHarness.svelte +87 -0
  459. package/dist/components/tests/TestHarness.svelte.d.ts +21 -0
  460. package/dist/components/tests/TransformTestHarness.svelte +27 -0
  461. package/dist/components/tests/TransformTestHarness.svelte.d.ts +8 -0
  462. package/dist/components/tooltip/Tooltip.svelte +97 -61
  463. package/dist/components/tooltip/Tooltip.svelte.d.ts +12 -14
  464. package/dist/components/tooltip/TooltipContext.svelte +321 -173
  465. package/dist/components/tooltip/TooltipContext.svelte.d.ts +23 -21
  466. package/dist/components/tooltip/TooltipHeader.svelte +32 -18
  467. package/dist/components/tooltip/TooltipHeader.svelte.d.ts +3 -3
  468. package/dist/components/tooltip/TooltipItem.svelte +57 -37
  469. package/dist/components/tooltip/TooltipItem.svelte.d.ts +3 -3
  470. package/dist/components/tooltip/TooltipList.svelte +12 -10
  471. package/dist/components/tooltip/TooltipSeparator.svelte +18 -10
  472. package/dist/components/tooltip/index.d.ts +1 -0
  473. package/dist/components/tooltip/index.js +1 -0
  474. package/dist/contexts/canvas.d.ts +31 -0
  475. package/dist/contexts/canvas.js +14 -0
  476. package/dist/contexts/chart.d.ts +6 -0
  477. package/dist/contexts/chart.js +48 -0
  478. package/dist/contexts/componentTree.test.d.ts +1 -0
  479. package/dist/contexts/componentTree.test.js +83 -0
  480. package/dist/contexts/geo.d.ts +4 -0
  481. package/dist/contexts/geo.js +11 -0
  482. package/dist/contexts/index.d.ts +5 -0
  483. package/dist/contexts/index.js +5 -0
  484. package/dist/contexts/layer.d.ts +3 -0
  485. package/dist/contexts/layer.js +8 -0
  486. package/dist/contexts/settings.d.ts +4 -0
  487. package/dist/contexts/settings.js +10 -0
  488. package/dist/contexts/transform.d.ts +96 -0
  489. package/dist/contexts/transform.js +10 -0
  490. package/dist/index.d.ts +1 -0
  491. package/dist/index.js +1 -0
  492. package/dist/states/__fixtures__/ComponentNodeLifecycleChild.svelte +13 -0
  493. package/dist/{docs/Json.svelte.d.ts → states/__fixtures__/ComponentNodeLifecycleChild.svelte.d.ts} +4 -8
  494. package/dist/states/__fixtures__/ComponentNodeLifecycleHarness.svelte +48 -0
  495. package/dist/states/__fixtures__/ComponentNodeLifecycleHarness.svelte.d.ts +8 -0
  496. package/dist/states/__fixtures__/ComponentNodeLifecycleParent.svelte +26 -0
  497. package/dist/states/__fixtures__/ComponentNodeLifecycleParent.svelte.d.ts +9 -0
  498. package/dist/states/__screenshots__/chart.component-node.svelte.test.ts/ChartState-registerComponent-cleans-up-child-nodes-and-mark-registrations-when-components-unmount-1.png +0 -0
  499. package/dist/states/__screenshots__/chart.component-node.svelte.test.ts/ChartState-registerComponent-cleans-up-child-nodes-and-mark-registrations-when-components-unmount-2.png +0 -0
  500. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-baseline-domain-multi-series-should-work-without-baseline--no-forced-0--1.png +0 -0
  501. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-baseline-domain-multi-series-should-work-without-baseline--no-forced-0--2.png +0 -0
  502. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-degenerate-domain-should-expand-degenerate-y-domain--5--5--to--5--6--1.png +0 -0
  503. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-degenerate-domain-should-expand-degenerate-y-domain--5--5--to--5--6--2.png +0 -0
  504. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-series-domain-update-on-visibility-toggle-should-update-y-domain-when-hiding-an-explicit-series-1.png +0 -0
  505. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-series-domain-update-on-visibility-toggle-should-update-y-domain-when-hiding-an-explicit-series-2.png +0 -0
  506. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-series-domain-update-on-visibility-toggle-should-update-y-domain-when-hiding-an-implicit-series-1.png +0 -0
  507. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-series-domain-update-on-visibility-toggle-should-update-y-domain-when-hiding-an-implicit-series-2.png +0 -0
  508. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-x-y-from-marks--no-x-y-on-Chart--should-deduplicate-repeated-mark-x-keys-into-a-single-accessor-1.png +0 -0
  509. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-x-y-from-marks--no-x-y-on-Chart--should-deduplicate-repeated-mark-x-keys-into-a-single-accessor-2.png +0 -0
  510. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-x-y-from-marks--no-x-y-on-Chart--should-derive-correct-y-domain-across-two-marks-with-different-data-and-no-y-prop-1.png +0 -0
  511. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-x-y-from-marks--no-x-y-on-Chart--should-derive-correct-y-domain-across-two-marks-with-different-data-and-no-y-prop-2.png +0 -0
  512. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-x-y-from-marks--no-x-y-on-Chart--should-derive-x-accessor-from-marks-when-x-prop-is-absent-1.png +0 -0
  513. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-implicit-x-y-from-marks--no-x-y-on-Chart--should-derive-x-accessor-from-marks-when-x-prop-is-absent-2.png +0 -0
  514. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-aggregate-y-accessor-from-implicit-series-into-resolveAccessor-1.png +0 -0
  515. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-aggregate-y-accessor-from-implicit-series-into-resolveAccessor-2.png +0 -0
  516. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-calculate-correct-y-domain-from-two-marks-with-same-y-accessor-but-different-data-1.png +0 -0
  517. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-calculate-correct-y-domain-from-two-marks-with-same-y-accessor-but-different-data-2.png +0 -0
  518. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-deduplicate-implicit-series-with-the-same-key-1.png +0 -0
  519. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-deduplicate-implicit-series-with-the-same-key-2.png +0 -0
  520. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-generate-implicit-series-from-marks-with-seriesKey-1.png +0 -0
  521. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-generate-implicit-series-from-marks-with-seriesKey-2.png +0 -0
  522. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-generate-implicit-series-from-marks-with-string-y-accessors-1.png +0 -0
  523. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-generate-implicit-series-from-marks-with-string-y-accessors-2.png +0 -0
  524. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-generate-implicit-series-from-x-accessor-for-vertical-charts--valueAxis-x--1.png +0 -0
  525. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-generate-implicit-series-from-x-accessor-for-vertical-charts--valueAxis-x--2.png +0 -0
  526. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-data-from-two-marks-with-same-y-accessor-but-different-data-arrays-1.png +0 -0
  527. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-data-from-two-marks-with-same-y-accessor-but-different-data-arrays-2.png +0 -0
  528. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-implicit-series-label-when-provided-1.png +0 -0
  529. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-implicit-series-label-when-provided-2.png +0 -0
  530. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-mark-data-in-flatData-for-domain-calculation-1.png +0 -0
  531. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-mark-data-in-flatData-for-domain-calculation-2.png +0 -0
  532. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-per-mark-data-in-domain-via-implicit-series-1.png +0 -0
  533. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-include-per-mark-data-in-domain-via-implicit-series-2.png +0 -0
  534. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-not-double-include-data-when-mark-data-matches-series-data-reference-1.png +0 -0
  535. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-not-double-include-data-when-mark-data-matches-series-data-reference-2.png +0 -0
  536. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-register-and-unregister-marks-1.png +0 -0
  537. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-register-and-unregister-marks-2.png +0 -0
  538. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-revert-flatData-after-all-marks-unregister-1.png +0 -0
  539. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-revert-flatData-after-all-marks-unregister-2.png +0 -0
  540. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-skip-marks-without-a-derivable-key-for-implicit-series-1.png +0 -0
  541. package/dist/states/__screenshots__/chart.svelte.test.ts/ChartState-mark-registration-should-skip-marks-without-a-derivable-key-for-implicit-series-2.png +0 -0
  542. package/dist/states/__screenshots__/series.svelte.test.ts/SeriesState-visibility-should-allow-toggling-after-initial-selected--false-1.png +0 -0
  543. package/dist/states/__screenshots__/series.svelte.test.ts/SeriesState-visibility-should-allow-toggling-after-initial-selected--false-2.png +0 -0
  544. package/dist/states/__screenshots__/series.svelte.test.ts/SeriesState-visibility-should-respect-selected--false-on-series-items-1.png +0 -0
  545. package/dist/states/__screenshots__/series.svelte.test.ts/SeriesState-visibility-should-respect-selected--false-on-series-items-2.png +0 -0
  546. package/dist/states/brush.svelte.d.ts +99 -0
  547. package/dist/states/brush.svelte.js +246 -0
  548. package/dist/states/brush.svelte.test.d.ts +1 -0
  549. package/dist/states/brush.svelte.test.js +417 -0
  550. package/dist/states/chart.component-node.svelte.test.d.ts +1 -0
  551. package/dist/states/chart.component-node.svelte.test.js +28 -0
  552. package/dist/states/chart.svelte.d.ts +260 -0
  553. package/dist/states/chart.svelte.js +1051 -0
  554. package/dist/states/chart.svelte.test.d.ts +1 -0
  555. package/dist/states/chart.svelte.test.js +1293 -0
  556. package/dist/states/geo.svelte.d.ts +45 -0
  557. package/dist/states/geo.svelte.js +88 -0
  558. package/dist/states/series.svelte.d.ts +83 -0
  559. package/dist/states/series.svelte.js +248 -0
  560. package/dist/states/series.svelte.test.d.ts +1 -0
  561. package/dist/states/series.svelte.test.js +333 -0
  562. package/dist/states/settings.svelte.d.ts +12 -0
  563. package/dist/states/settings.svelte.js +10 -0
  564. package/dist/states/tooltip.svelte.d.ts +22 -0
  565. package/dist/states/tooltip.svelte.js +16 -0
  566. package/dist/states/transform.svelte.d.ts +175 -0
  567. package/dist/states/transform.svelte.js +408 -0
  568. package/dist/styles/daisyui-5.css +6 -0
  569. package/dist/styles/shadcn-svelte.css +11 -0
  570. package/dist/styles/skeleton-3.css +15 -0
  571. package/dist/styles/skeleton-4.css +15 -0
  572. package/dist/utils/__screenshots__/canvas.svelte.test.ts/clearCanvasContext-clears-with-zero-padding--no-offset--1.png +0 -0
  573. package/dist/utils/__screenshots__/canvas.svelte.test.ts/clearCanvasContext-clears-with-zero-padding--no-offset--2.png +0 -0
  574. package/dist/utils/__screenshots__/canvas.svelte.test.ts/renderPathData-inline-style-overrides-styles-object-1.png +0 -0
  575. package/dist/utils/__screenshots__/canvas.svelte.test.ts/renderPathData-inline-style-overrides-styles-object-2.png +0 -0
  576. package/dist/utils/arcText.svelte.d.ts +1 -1
  577. package/dist/utils/arcText.svelte.js +4 -4
  578. package/dist/utils/array.d.ts +11 -0
  579. package/dist/utils/array.js +23 -0
  580. package/dist/utils/array.test.d.ts +1 -0
  581. package/dist/utils/array.test.js +200 -0
  582. package/dist/utils/attributes.d.ts +3 -13
  583. package/dist/utils/attributes.js +4 -18
  584. package/dist/utils/canvas.d.ts +83 -0
  585. package/dist/utils/canvas.js +203 -49
  586. package/dist/utils/canvas.svelte.test.d.ts +1 -0
  587. package/dist/utils/canvas.svelte.test.js +703 -0
  588. package/dist/utils/chart.js +8 -0
  589. package/dist/utils/color.js +11 -8
  590. package/dist/utils/common.d.ts +19 -3
  591. package/dist/utils/common.js +29 -10
  592. package/dist/utils/common.test.js +35 -1
  593. package/dist/utils/dataProp.d.ts +112 -0
  594. package/dist/utils/dataProp.js +125 -0
  595. package/dist/utils/dataProp.test.d.ts +1 -0
  596. package/dist/utils/dataProp.test.js +128 -0
  597. package/dist/utils/download.d.ts +98 -0
  598. package/dist/utils/download.js +250 -0
  599. package/dist/utils/genData.d.ts +22 -8
  600. package/dist/utils/genData.js +34 -14
  601. package/dist/utils/graph/dagre.js +5 -7
  602. package/dist/utils/graph/sankey.js +9 -7
  603. package/dist/utils/index.d.ts +8 -0
  604. package/dist/utils/index.js +8 -0
  605. package/dist/utils/math.d.ts +17 -0
  606. package/dist/utils/math.js +17 -0
  607. package/dist/utils/motion.svelte.d.ts +26 -2
  608. package/dist/utils/motion.svelte.js +85 -2
  609. package/dist/utils/motion.test.js +49 -1
  610. package/dist/utils/path.d.ts +54 -1
  611. package/dist/utils/path.js +147 -17
  612. package/dist/utils/rasterBounds.d.ts +18 -0
  613. package/dist/utils/rasterBounds.js +98 -0
  614. package/dist/utils/rasterBounds.test.d.ts +1 -0
  615. package/dist/utils/rasterBounds.test.js +63 -0
  616. package/dist/utils/rasterInterpolate.d.ts +11 -0
  617. package/dist/utils/rasterInterpolate.js +103 -0
  618. package/dist/utils/rect.svelte.d.ts +11 -4
  619. package/dist/utils/rect.svelte.js +87 -7
  620. package/dist/utils/scales.svelte.d.ts +10 -4
  621. package/dist/utils/scales.svelte.js +60 -13
  622. package/dist/utils/scales.svelte.test.d.ts +1 -0
  623. package/dist/utils/scales.svelte.test.js +67 -0
  624. package/dist/utils/shape.d.ts +43 -0
  625. package/dist/utils/shape.js +59 -0
  626. package/dist/utils/stack.js +1 -1
  627. package/dist/utils/stats.d.ts +33 -0
  628. package/dist/utils/stats.js +79 -0
  629. package/dist/utils/string.d.ts +51 -0
  630. package/dist/utils/string.js +4 -2
  631. package/dist/utils/ticks.d.ts +15 -4
  632. package/dist/utils/ticks.js +147 -162
  633. package/dist/utils/ticks.test.js +26 -26
  634. package/dist/utils/trail.d.ts +36 -0
  635. package/dist/utils/trail.js +341 -0
  636. package/dist/utils/treemap.d.ts +1 -1
  637. package/dist/utils/types.d.ts +28 -2
  638. package/package.json +48 -57
  639. package/README.md +0 -41
  640. package/dist/components/GeoContext.svelte +0 -176
  641. package/dist/components/GeoContext.svelte.d.ts +0 -52
  642. package/dist/components/TransformControls.svelte +0 -179
  643. package/dist/components/TransformControls.svelte.d.ts +0 -28
  644. package/dist/components/charts/utils.svelte.d.ts +0 -30
  645. package/dist/components/charts/utils.svelte.js +0 -55
  646. package/dist/components/layout/Canvas.svelte +0 -505
  647. package/dist/components/layout/Layer.svelte +0 -39
  648. package/dist/components/layout/Layer.svelte.d.ts +0 -17
  649. package/dist/components/tooltip/tooltipMetaContext.d.ts +0 -79
  650. package/dist/components/tooltip/tooltipMetaContext.js +0 -139
  651. package/dist/docs/Blockquote.svelte +0 -15
  652. package/dist/docs/Code.svelte +0 -38
  653. package/dist/docs/Code.svelte.d.ts +0 -29
  654. package/dist/docs/ConnectorSweepMenuField.svelte +0 -17
  655. package/dist/docs/ConnectorSweepMenuField.svelte.d.ts +0 -7
  656. package/dist/docs/ConnectorTypeMenuField.svelte +0 -17
  657. package/dist/docs/ConnectorTypeMenuField.svelte.d.ts +0 -7
  658. package/dist/docs/CurveMenuField.svelte +0 -44
  659. package/dist/docs/CurveMenuField.svelte.d.ts +0 -9
  660. package/dist/docs/GeoDebug.svelte +0 -60
  661. package/dist/docs/GeoDebug.svelte.d.ts +0 -4
  662. package/dist/docs/Header1.svelte +0 -14
  663. package/dist/docs/Header1.svelte.d.ts +0 -29
  664. package/dist/docs/Json.svelte +0 -28
  665. package/dist/docs/Layout.svelte +0 -18
  666. package/dist/docs/Layout.svelte.d.ts +0 -23
  667. package/dist/docs/Link.svelte +0 -5
  668. package/dist/docs/Link.svelte.d.ts +0 -39
  669. package/dist/docs/PathDataMenuField.svelte +0 -78
  670. package/dist/docs/PathDataMenuField.svelte.d.ts +0 -9
  671. package/dist/docs/Preview.svelte +0 -105
  672. package/dist/docs/Preview.svelte.d.ts +0 -14
  673. package/dist/docs/TilesetField.svelte +0 -135
  674. package/dist/docs/TilesetField.svelte.d.ts +0 -23
  675. package/dist/docs/TransformDebug.svelte +0 -22
  676. package/dist/docs/TransformDebug.svelte.d.ts +0 -20
  677. package/dist/docs/ViewSourceButton.svelte +0 -50
  678. package/dist/docs/ViewSourceButton.svelte.d.ts +0 -25
  679. package/dist/utils/graph/dagre.d.ts +0 -34
  680. package/dist/utils/object.js +0 -2
  681. /package/dist/{utils → contexts}/legendPayload.d.ts +0 -0
  682. /package/dist/{utils → contexts}/legendPayload.js +0 -0
@@ -18,16 +18,22 @@ export { default as Bars } from './Bars.svelte';
18
18
  export * from './Bars.svelte';
19
19
  export { default as Blur } from './Blur.svelte';
20
20
  export * from './Blur.svelte';
21
+ export { default as BoxPlot } from './BoxPlot.svelte';
22
+ export * from './BoxPlot.svelte';
21
23
  export { default as Bounds } from './Bounds.svelte';
22
24
  export * from './Bounds.svelte';
23
25
  export { default as BrushContext } from './BrushContext.svelte';
24
26
  export * from './BrushContext.svelte';
25
27
  export { default as Calendar } from './Calendar.svelte';
26
28
  export * from './Calendar.svelte';
27
- export { default as Canvas } from './layout/Canvas.svelte';
28
- export * from './layout/Canvas.svelte';
29
- export { default as Chart, getChartContext, getRenderContext } from './Chart.svelte';
29
+ export { default as Cell } from './Cell.svelte';
30
+ export * from './Cell.svelte';
31
+ export { default as Canvas } from './layers/Canvas.svelte';
32
+ export * from './layers/Canvas.svelte';
33
+ export { default as Chart } from './Chart.svelte';
30
34
  export * from './Chart.svelte';
35
+ export { default as Chord } from './Chord.svelte';
36
+ export * from './Chord.svelte';
31
37
  export { default as ChartClipPath } from './ChartClipPath.svelte';
32
38
  export * from './ChartClipPath.svelte';
33
39
  export { default as Circle } from './Circle.svelte';
@@ -40,16 +46,22 @@ export { default as ColorRamp } from './ColorRamp.svelte';
40
46
  export * from './ColorRamp.svelte';
41
47
  export { default as Connector } from './Connector.svelte';
42
48
  export * from './Connector.svelte';
49
+ export { default as Contour } from './Contour.svelte';
50
+ export * from './Contour.svelte';
43
51
  export { default as Dagre } from './Dagre.svelte';
44
52
  export * from './Dagre.svelte';
53
+ export { default as Density } from './Density.svelte';
54
+ export * from './Density.svelte';
55
+ export { default as Ellipse } from './Ellipse.svelte';
56
+ export * from './Ellipse.svelte';
45
57
  export { default as Frame } from './Frame.svelte';
46
58
  export * from './Frame.svelte';
47
59
  export { default as ForceSimulation } from './ForceSimulation.svelte';
48
60
  export * from './ForceSimulation.svelte';
49
61
  export { default as GeoCircle } from './GeoCircle.svelte';
50
62
  export * from './GeoCircle.svelte';
51
- export { default as GeoContext, getGeoContext } from './GeoContext.svelte';
52
- export * from './GeoContext.svelte';
63
+ export { default as GeoProjection } from './GeoProjection.svelte';
64
+ export * from './GeoProjection.svelte';
53
65
  export { default as GeoEdgeFade } from './GeoEdgeFade.svelte';
54
66
  export * from './GeoEdgeFade.svelte';
55
67
  export { default as GeoPath } from './GeoPath.svelte';
@@ -70,14 +82,16 @@ export { default as Group } from './Group.svelte';
70
82
  export * from './Group.svelte';
71
83
  export { default as Highlight } from './Highlight.svelte';
72
84
  export * from './Highlight.svelte';
73
- export { default as Html } from './layout/Html.svelte';
74
- export * from './layout/Html.svelte';
85
+ export { default as Html } from './layers/Html.svelte';
86
+ export * from './layers/Html.svelte';
75
87
  export { default as Hull } from './Hull.svelte';
76
88
  export * from './Hull.svelte';
89
+ export { default as Image } from './Image.svelte';
90
+ export * from './Image.svelte';
77
91
  export { default as Labels } from './Labels.svelte';
78
92
  export * from './Labels.svelte';
79
- export { default as Layer } from './layout/Layer.svelte';
80
- export * from './layout/Layer.svelte';
93
+ export { default as Layer } from './layers/Layer.svelte';
94
+ export * from './layers/Layer.svelte';
81
95
  export { default as Legend } from './Legend.svelte';
82
96
  export * from './Legend.svelte';
83
97
  export { default as Line } from './Line.svelte';
@@ -90,10 +104,14 @@ export { default as Link } from './Link.svelte';
90
104
  export * from './Link.svelte';
91
105
  export { default as MotionPath } from './MotionPath.svelte';
92
106
  export * from './MotionPath.svelte';
107
+ export { default as Month } from './Month.svelte';
108
+ export * from './Month.svelte';
93
109
  export { default as Pack } from './Pack.svelte';
94
110
  export * from './Pack.svelte';
95
111
  export { default as Partition } from './Partition.svelte';
96
112
  export * from './Partition.svelte';
113
+ export { default as Path } from './Path.svelte';
114
+ export * from './Path.svelte';
97
115
  export { default as Pattern } from './Pattern.svelte';
98
116
  export * from './Pattern.svelte';
99
117
  export { default as Pie } from './Pie.svelte';
@@ -102,20 +120,28 @@ export { default as Point } from './Point.svelte';
102
120
  export * from './Point.svelte';
103
121
  export { default as Points } from './Points.svelte';
104
122
  export * from './Points.svelte';
123
+ export { default as Polygon } from './Polygon.svelte';
124
+ export * from './Polygon.svelte';
105
125
  export { default as RadialGradient } from './RadialGradient.svelte';
106
126
  export * from './RadialGradient.svelte';
127
+ export { default as Raster } from './Raster.svelte';
128
+ export * from './Raster.svelte';
107
129
  export { default as Rect } from './Rect.svelte';
108
130
  export * from './Rect.svelte';
131
+ export { default as Ribbon } from './Ribbon.svelte';
132
+ export * from './Ribbon.svelte';
109
133
  export { default as RectClipPath } from './RectClipPath.svelte';
110
134
  export * from './RectClipPath.svelte';
111
135
  export { default as Rule } from './Rule.svelte';
112
136
  export * from './Rule.svelte';
113
137
  export { default as Sankey } from './Sankey.svelte';
114
138
  export * from './Sankey.svelte';
115
- export { default as Svg } from './layout/Svg.svelte';
116
- export * from './layout/Svg.svelte';
139
+ export { default as Svg } from './layers/Svg.svelte';
140
+ export * from './layers/Svg.svelte';
117
141
  export { default as Text } from './Text.svelte';
118
142
  export * from './Text.svelte';
143
+ export { default as Trail } from './Trail.svelte';
144
+ export * from './Trail.svelte';
119
145
  export { default as Threshold } from './Threshold.svelte';
120
146
  export * from './Threshold.svelte';
121
147
  export { default as TileImage } from './TileImage.svelte';
@@ -124,12 +150,15 @@ export * as Tooltip from './tooltip/index.js';
124
150
  export * from './tooltip/TooltipContext.svelte';
125
151
  export { default as TransformContext } from './TransformContext.svelte';
126
152
  export * from './TransformContext.svelte';
127
- // export { default as TransformControls } from './TransformControls.svelte'; // TODO: Restore once no longer using `svelet-ux` or `@mdi/js` (as they are dev dependencies)
128
153
  export { default as Tree } from './Tree.svelte';
129
154
  export * from './Tree.svelte';
130
155
  export { default as Treemap } from './Treemap.svelte';
131
156
  export * from './Treemap.svelte';
157
+ export { default as Vector } from './Vector.svelte';
158
+ export * from './Vector.svelte';
159
+ export { default as Violin } from './Violin.svelte';
160
+ export * from './Violin.svelte';
132
161
  export { default as Voronoi } from './Voronoi.svelte';
133
162
  export * from './Voronoi.svelte';
134
- export { default as WebGL } from './layout/WebGL.svelte';
135
- export * from './layout/WebGL.svelte';
163
+ export { default as WebGL } from './layers/WebGL.svelte';
164
+ export * from './layers/WebGL.svelte';
@@ -0,0 +1,485 @@
1
+ <script lang="ts" module>
2
+ import type { ComponentNode } from '../../contexts/chart.js';
3
+
4
+ export type CanvasPropsWithoutHTML = {
5
+ /**
6
+ * The `<canvas>` tag. Useful for bindings.
7
+ *
8
+ * @bindable
9
+ */
10
+ ref?: HTMLCanvasElement;
11
+
12
+ /**
13
+ * The `<canvas>`'s 2d context. Useful for bindings.
14
+ *
15
+ * @bindable
16
+ */
17
+ canvasContext?: CanvasRenderingContext2D;
18
+
19
+ /**
20
+ * Force the use of a software (instead of hardware accelerated) 2D canvas, which can
21
+ * save memory when calling getImageData() frequently.
22
+ *
23
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/getContext#willreadfrequently
24
+ *
25
+ * @default false
26
+ */
27
+ willReadFrequently?: boolean;
28
+
29
+ /**
30
+ * The `z-index` style to apply to the layer.
31
+ *
32
+ * @default 0
33
+ */
34
+ zIndex?: number;
35
+
36
+ /**
37
+ *
38
+ * Whether pointer events should be enabled on the canvas.
39
+ *
40
+ * - `false`: `pointer-events: none;` will be set on the entire layer.
41
+ * - `true`: pointer events will operate normally.
42
+ *
43
+ * @default true
44
+ */
45
+ pointerEvents?: boolean;
46
+
47
+ /**
48
+ * The content to display if canvas is not supported or cannot be rendered.
49
+ * This can either be a string or a snippet with custom markup.
50
+ */
51
+ fallback?: string | Snippet;
52
+
53
+ /**
54
+ * Translate children to center of the canvas (useful for radial layouts).
55
+ *
56
+ * @default false
57
+ */
58
+ center?: boolean | 'x' | 'y';
59
+
60
+ /**
61
+ * Ignore TransformContext.
62
+ *
63
+ * Useful to add static elements such as legends.
64
+ *
65
+ * @default false
66
+ */
67
+ ignoreTransform?: boolean;
68
+
69
+ /**
70
+ * Disable the hit canvas (useful when animations are playing)
71
+ *
72
+ * @default false
73
+ */
74
+ disableHitCanvas?: boolean;
75
+
76
+ /**
77
+ * Show the hit canvas for debugging purposes.
78
+ *
79
+ * @default false
80
+ */
81
+ debug?: boolean;
82
+
83
+ children?: Snippet<
84
+ [{ ref: HTMLCanvasElement; canvasContext: CanvasRenderingContext2D | undefined }]
85
+ >;
86
+ };
87
+
88
+ export type CanvasProps = CanvasPropsWithoutHTML &
89
+ Without<HTMLCanvasAttributes, CanvasPropsWithoutHTML>;
90
+
91
+ </script>
92
+
93
+ <script lang="ts">
94
+ import { onMount, untrack, type Snippet } from 'svelte';
95
+ import { Logger, localPoint } from '@layerstack/utils';
96
+ import { MediaQueryPresets } from '@layerstack/svelte-state';
97
+
98
+ import { getChartContext } from '../../contexts/chart.js';
99
+ import { setLayerContext } from '../../contexts/layer.js';
100
+ import { getPixelColor, scaleCanvas } from '../../utils/canvas.js';
101
+ import { getColorStr, rgbColorGenerator } from '../../utils/color.js';
102
+ import { useMutationObserver, watch } from 'runed';
103
+ import type { HTMLCanvasAttributes, PointerEventHandler } from 'svelte/elements';
104
+ import type { Without } from '../../utils/types.js';
105
+ import {
106
+ setCanvasContext,
107
+ type CanvasContextValue,
108
+ type ComponentRender,
109
+ } from '../../contexts/canvas.js';
110
+
111
+ let {
112
+ ref: refProp = $bindable(),
113
+ canvasContext: canvasContextProp = $bindable(),
114
+ willReadFrequently = false,
115
+ debug = false,
116
+ zIndex = 0,
117
+ pointerEvents = true,
118
+ fallback,
119
+ center = false,
120
+ ignoreTransform = false,
121
+ disableHitCanvas = false,
122
+ class: className,
123
+ children,
124
+ onclick,
125
+ ondblclick,
126
+ onpointerenter,
127
+ onpointermove,
128
+ onpointerleave,
129
+ onpointerdown,
130
+ ontouchmove,
131
+ ...restProps
132
+ }: CanvasProps = $props();
133
+
134
+ let ref = $state<HTMLCanvasElement>();
135
+ let context = $state<CanvasRenderingContext2D>();
136
+
137
+ $effect.pre(() => {
138
+ refProp = ref;
139
+ });
140
+
141
+ $effect.pre(() => {
142
+ canvasContextProp = context;
143
+ });
144
+
145
+ const ctx = getChartContext();
146
+
147
+ const logger = new Logger('Canvas');
148
+
149
+ // Root node for the component tree — children register via ctx.registerComponent
150
+ const rootNode = ctx.registerComponent({ name: 'Canvas', kind: 'group' });
151
+ let pendingInvalidation = false;
152
+ let frameId: number | undefined;
153
+
154
+ /**
155
+ * HitCanvas
156
+ */
157
+ let hitCanvasElement = $state<HTMLCanvasElement>();
158
+ let hitCanvasContext = $state<CanvasRenderingContext2D>();
159
+ let colorGenerator = rgbColorGenerator();
160
+ let activeCanvas = $state(false);
161
+ let lastActiveNode: ComponentNode | null | undefined = null;
162
+
163
+ const nodeByColor = new Map<string, ComponentNode>();
164
+
165
+ function getPointerNode(e: PointerEvent | MouseEvent | TouchEvent) {
166
+ const { x, y } = localPoint(e);
167
+ const color = getPixelColor(hitCanvasContext!, x, y);
168
+ const colorKey = getColorStr(color);
169
+ const node = nodeByColor.get(colorKey);
170
+ logger.debug({ colorKey, node, nodeByColor });
171
+ return node;
172
+ }
173
+
174
+ type EventName = keyof NonNullable<ComponentRender['events']>;
175
+
176
+ /**
177
+ * Walk up the component tree from a node and call the given event on any
178
+ * ancestor groups that have a handler for it, simulating DOM event bubbling.
179
+ */
180
+ function bubbleEvent(node: ComponentNode | null | undefined, eventName: EventName, e: Event) {
181
+ // Fire event on the hit node itself
182
+ (node?.canvasRender?.events?.[eventName] as ((e: Event) => void) | null | undefined)?.(e);
183
+ // Bubble up to ancestor groups
184
+ let ancestor = node?.parent;
185
+ while (ancestor) {
186
+ const handler = ancestor.kind === 'group'
187
+ ? ancestor.canvasRender?.events?.[eventName] as ((e: Event) => void) | null | undefined
188
+ : undefined;
189
+ handler?.(e);
190
+ ancestor = ancestor.parent;
191
+ }
192
+ }
193
+
194
+ const onPointerMove: PointerEventHandler<Element> = (e) => {
195
+ activeCanvas = true;
196
+ const node = getPointerNode(e);
197
+
198
+ if (node != lastActiveNode) {
199
+ // TODO: Should `pointerleave`/`pointerout` and `pointerenter`/`pointerover` be handled differently?
200
+ if (lastActiveNode) {
201
+ bubbleEvent(lastActiveNode, 'pointerleave', e);
202
+ bubbleEvent(lastActiveNode, 'pointerout', e);
203
+ }
204
+
205
+ bubbleEvent(node, 'pointerenter', e);
206
+ bubbleEvent(node, 'pointerover', e);
207
+ }
208
+ bubbleEvent(node, 'pointermove', e);
209
+
210
+ lastActiveNode = node;
211
+ };
212
+
213
+ const onPointerLeave: PointerEventHandler<Element> = (e) => {
214
+ // Pointer outside of canvas
215
+
216
+ // Call last active component `pointerleave` event in case it was not triggered by hit canvas (quickly exiting canvas element before `pointermove` is triggered)
217
+ bubbleEvent(lastActiveNode, 'pointerleave', e);
218
+ bubbleEvent(lastActiveNode, 'pointerout', e);
219
+
220
+ lastActiveNode = null;
221
+ activeCanvas = false;
222
+ };
223
+ /**
224
+ * end HitCanvas
225
+ */
226
+
227
+ // Invalidate/redraw if color scheme changes, either via browser `prefers-color-scheme` (including emulation) or by changing `<html class="dark">` or `<html data-theme="...">`
228
+ const { dark } = new MediaQueryPresets();
229
+ watch(
230
+ () => dark.current,
231
+ () => {
232
+ canvasContext.invalidate();
233
+ }
234
+ );
235
+ useMutationObserver(
236
+ () => document.documentElement,
237
+ () => canvasContext.invalidate(),
238
+ {
239
+ attributes: true,
240
+ attributeFilter: ['class', 'data-theme'],
241
+ }
242
+ );
243
+
244
+ onMount(() => {
245
+ context = ref?.getContext('2d', { willReadFrequently }) as CanvasRenderingContext2D;
246
+
247
+ hitCanvasContext = hitCanvasElement?.getContext('2d', {
248
+ willReadFrequently: false, // Explicitly set to `false` to resolve pixel artifacts between fill and stroke with the same color (issue #372)
249
+ }) as CanvasRenderingContext2D;
250
+
251
+ return () => {
252
+ if (frameId) {
253
+ cancelAnimationFrame(frameId);
254
+ }
255
+ };
256
+ });
257
+
258
+ function update() {
259
+ if (!context) return;
260
+
261
+ // scale main canvas
262
+ scaleCanvas(context, ctx.containerWidth, ctx.containerHeight);
263
+ context.clearRect(0, 0, ctx.containerWidth, ctx.containerHeight);
264
+
265
+ // apply padding translation
266
+ context.translate(ctx.padding.left ?? 0, ctx.padding.top ?? 0);
267
+
268
+ let newTranslate: undefined | { x: number; y: number };
269
+
270
+ // apply centering or transform
271
+ if (center) {
272
+ newTranslate = {
273
+ x: center === 'x' || center === true ? ctx.width / 2 : 0,
274
+ y: center === 'y' || center === true ? ctx.height / 2 : 0,
275
+ };
276
+ context.translate(newTranslate.x, newTranslate.y);
277
+ } else if (ctx.transform.mode === 'canvas' && !ignoreTransform) {
278
+ context.translate(ctx.transform.translate.x, ctx.transform.translate.y);
279
+ context.scale(ctx.transform.scale, ctx.transform.scale);
280
+ }
281
+
282
+ // Recursively render the component tree with proper save/restore scoping
283
+ renderTree(context, rootNode);
284
+
285
+ /*
286
+ * Sync hit canvas with main canvas
287
+ */
288
+ if (hitCanvasContext) {
289
+ const inactiveMoving = !activeCanvas && ctx.transform.moving;
290
+ if (disableHitCanvas || ctx.transform.dragging || inactiveMoving) {
291
+ // Skip rendering hit canvas
292
+ hitCanvasContext.clearRect(0, 0, ctx.containerWidth, ctx.containerHeight);
293
+ } else {
294
+ // scale hit canvas to match main canvas
295
+ scaleCanvas(hitCanvasContext, ctx.containerWidth, ctx.containerHeight);
296
+ hitCanvasContext.clearRect(0, 0, ctx.containerWidth, ctx.containerHeight);
297
+
298
+ // sync transform with main canvas (padding, center, zoom already applied)
299
+ hitCanvasContext.setTransform(context.getTransform());
300
+
301
+ // reset color generator and node map
302
+ colorGenerator = rgbColorGenerator();
303
+ nodeByColor.clear();
304
+
305
+ // render hit canvas tree
306
+ renderHitTree(hitCanvasContext, rootNode);
307
+ }
308
+ }
309
+
310
+ pendingInvalidation = false;
311
+ }
312
+
313
+ /**
314
+ * Recursively render the component tree.
315
+ * Group nodes: save → render (translate/opacity) → recurse children → restore
316
+ * Leaf nodes: save → render → restore
317
+ */
318
+ function renderTree(canvasCtx: CanvasRenderingContext2D, node: ComponentNode) {
319
+ if (node.kind === 'group' && node.canvasRender) {
320
+ // Group: save state, apply transform, render children, restore
321
+ canvasCtx.save();
322
+ node.canvasRender.render(canvasCtx);
323
+ for (const child of node.children) {
324
+ renderTree(canvasCtx, child);
325
+ }
326
+ canvasCtx.restore();
327
+ } else if (node.canvasRender) {
328
+ // Leaf mark: save, render, restore
329
+ canvasCtx.save();
330
+ node.canvasRender.render(canvasCtx);
331
+ canvasCtx.restore();
332
+ } else {
333
+ // Non-rendering node (e.g. root, composite-mark): just recurse children
334
+ for (const child of node.children) {
335
+ renderTree(canvasCtx, child);
336
+ }
337
+ }
338
+ }
339
+
340
+ function nodeHasEvents(node: ComponentNode) {
341
+ return node.canvasRender?.events && Object.values(node.canvasRender.events).some((d) => d);
342
+ }
343
+
344
+ /**
345
+ * Recursively render the hit canvas tree for pointer event detection.
346
+ * Renders components that have event handlers (or whose ancestor group does), using unique colors.
347
+ */
348
+ function renderHitTree(hitCtx: CanvasRenderingContext2D, node: ComponentNode, ancestorHasEvents = false) {
349
+ if (node.kind === 'group' && node.canvasRender) {
350
+ const groupHasEvents = ancestorHasEvents || nodeHasEvents(node);
351
+ // Group: apply transform, recurse children (scoped by save/restore)
352
+ hitCtx.save();
353
+ node.canvasRender.render(hitCtx);
354
+ for (const child of node.children) {
355
+ renderHitTree(hitCtx, child, groupHasEvents);
356
+ }
357
+ hitCtx.restore();
358
+ } else if (node.canvasRender) {
359
+ if (nodeHasEvents(node) || ancestorHasEvents) {
360
+ const color = getColorStr(colorGenerator.next().value);
361
+ const styleOverrides = { styles: { fill: color, stroke: color, _fillOpacity: 0.1 } };
362
+
363
+ hitCtx.save();
364
+ node.canvasRender.render(hitCtx, styleOverrides);
365
+ hitCtx.restore();
366
+
367
+ nodeByColor.set(color, node);
368
+ }
369
+ } else {
370
+ // Non-rendering node: recurse children
371
+ for (const child of node.children) {
372
+ renderHitTree(hitCtx, child, ancestorHasEvents);
373
+ }
374
+ }
375
+ }
376
+
377
+ function createCanvasContext(): CanvasContextValue {
378
+ // Legacy register method — registration is now handled by the component tree
379
+ // via registerComponent. Keep for interface compatibility.
380
+ function register<T extends Element>(_component: ComponentRender<T>) {
381
+ return () => {};
382
+ }
383
+
384
+ function invalidate() {
385
+ if (pendingInvalidation) return;
386
+ pendingInvalidation = true;
387
+ frameId = requestAnimationFrame(update);
388
+ }
389
+
390
+ return { register, invalidate };
391
+ }
392
+
393
+ const canvasContext = createCanvasContext();
394
+
395
+ $effect.pre(() => {
396
+ [ctx.height, ctx.width, ctx.containerHeight, ctx.containerWidth, ctx.transform.dragging];
397
+ canvasContext.invalidate();
398
+ });
399
+
400
+ setCanvasContext(canvasContext);
401
+ setLayerContext('canvas');
402
+ </script>
403
+
404
+ <canvas
405
+ bind:this={ref}
406
+ style:z-index={zIndex}
407
+ class={['lc-layout-canvas', className]}
408
+ class:disablePointerEvents={pointerEvents === false}
409
+ onclick={(e) => {
410
+ const node = getPointerNode(e);
411
+ bubbleEvent(node, 'click', e);
412
+ onclick?.(e);
413
+ }}
414
+ ondblclick={(e) => {
415
+ const node = getPointerNode(e);
416
+ bubbleEvent(node, 'dblclick', e);
417
+ ondblclick?.(e);
418
+ }}
419
+ onpointerdown={(e) => {
420
+ const node = getPointerNode(e);
421
+ bubbleEvent(node, 'pointerdown', e);
422
+ onpointerdown?.(e);
423
+ }}
424
+ onpointerenter={(e) => {
425
+ onpointerenter?.(e);
426
+ onPointerMove(e);
427
+ }}
428
+ onpointermove={(e) => {
429
+ onpointermove?.(e);
430
+ onPointerMove(e);
431
+ }}
432
+ onpointerleave={(e) => {
433
+ onpointerleave?.(e);
434
+ onPointerLeave(e);
435
+ }}
436
+ ontouchmove={(e) => {
437
+ // Prevent touch from interfering with pointer if over data
438
+ if (lastActiveNode) {
439
+ e.preventDefault();
440
+ }
441
+
442
+ const node = getPointerNode(e);
443
+ bubbleEvent(node, 'touchmove', e);
444
+ }}
445
+ {...restProps}
446
+ >
447
+ {#if fallback}
448
+ {#if typeof fallback === 'function'}
449
+ {@render fallback()}
450
+ {:else}
451
+ {fallback}
452
+ {/if}
453
+ {/if}
454
+ </canvas>
455
+
456
+ <!-- Hit canvas used for hidden context -->
457
+ <canvas bind:this={hitCanvasElement} class="lc-hit-canvas" class:debug></canvas>
458
+
459
+ {@render children?.({ ref, canvasContext: context })}
460
+
461
+ <style>
462
+ @layer base {
463
+ :where(.lc-layout-canvas) {
464
+ position: absolute;
465
+ inset: 0;
466
+
467
+ &.disablePointerEvents {
468
+ pointer-events: none;
469
+ }
470
+ }
471
+
472
+ :where(.lc-hit-canvas) {
473
+ position: absolute;
474
+ inset: 0;
475
+ pointer-events: none; /* events handled by main canvas */
476
+ image-rendering: pixelated; /* https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering */
477
+
478
+ opacity: 0;
479
+ &.debug {
480
+ border: 1px solid var(--color-danger, red);
481
+ opacity: 1;
482
+ }
483
+ }
484
+ }
485
+ </style>
@@ -55,6 +55,12 @@ export type CanvasPropsWithoutHTML = {
55
55
  * @default false
56
56
  */
57
57
  ignoreTransform?: boolean;
58
+ /**
59
+ * Disable the hit canvas (useful when animations are playing)
60
+ *
61
+ * @default false
62
+ */
63
+ disableHitCanvas?: boolean;
58
64
  /**
59
65
  * Show the hit canvas for debugging purposes.
60
66
  *
@@ -69,44 +75,8 @@ export type CanvasPropsWithoutHTML = {
69
75
  ]>;
70
76
  };
71
77
  export type CanvasProps = CanvasPropsWithoutHTML & Without<HTMLCanvasAttributes, CanvasPropsWithoutHTML>;
72
- type ComponentRender<T extends Element = Element> = {
73
- name: string;
74
- render: (ctx: CanvasRenderingContext2D, styleOverrides?: ComputedStylesOptions) => any;
75
- retainState?: boolean;
76
- events?: {
77
- click?: MouseEventHandler<T> | null;
78
- dblclick?: MouseEventHandler<T> | null;
79
- pointerenter?: PointerEventHandler<T> | null;
80
- pointerover?: PointerEventHandler<T> | null;
81
- pointermove?: PointerEventHandler<T> | null;
82
- pointerleave?: PointerEventHandler<T> | null;
83
- pointerout?: PointerEventHandler<T> | null;
84
- pointerdown?: PointerEventHandler<T> | null;
85
- touchmove?: TouchEventHandler<T> | null;
86
- };
87
- /**
88
- * Optional dependencies to track and invalidate the canvas context when they change.
89
- */
90
- deps?: () => any[];
91
- };
92
- export type CanvasContextValue = {
93
- /**
94
- * Register component to render.
95
- *
96
- * Returns method to unregister on component destroy
97
- */
98
- register<T extends Element>(component: ComponentRender<T>): () => void;
99
- invalidate(): void;
100
- };
101
- export declare function getCanvasContext(): CanvasContextValue;
102
- /**
103
- * Handles the automatic registration of the component to the canvas context,
104
- * with dependency tracking and cleanup on destroy.
105
- */
106
- export declare function registerCanvasComponent<T extends Element>(component: ComponentRender<T>): void;
107
78
  import { type Snippet } from 'svelte';
108
- import { type ComputedStylesOptions } from '../../utils/canvas.js';
109
- import type { HTMLCanvasAttributes, MouseEventHandler, PointerEventHandler, TouchEventHandler } from 'svelte/elements';
79
+ import type { HTMLCanvasAttributes } from 'svelte/elements';
110
80
  import type { Without } from '../../utils/types.js';
111
81
  declare const Canvas: import("svelte").Component<CanvasProps, {}, "ref" | "canvasContext">;
112
82
  type Canvas = ReturnType<typeof Canvas>;