svelteplot 0.10.3 → 0.11.0-pr-514.0

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 (229) hide show
  1. package/dist/Mark.svelte +42 -25
  2. package/dist/Mark.svelte.d.ts +111 -32
  3. package/dist/Plot.svelte +21 -15
  4. package/dist/core/Facet.svelte +1 -1
  5. package/dist/core/FacetAxes.svelte +13 -8
  6. package/dist/core/FacetGrid.svelte +4 -4
  7. package/dist/core/Plot.svelte +70 -36
  8. package/dist/helpers/arrowPath.js +10 -5
  9. package/dist/helpers/autoScales.d.ts +3 -3
  10. package/dist/helpers/autoScales.js +28 -18
  11. package/dist/helpers/autoTicks.js +2 -0
  12. package/dist/helpers/callWithProps.d.ts +1 -2
  13. package/dist/helpers/colors.d.ts +4 -4
  14. package/dist/helpers/facets.d.ts +42 -1
  15. package/dist/helpers/facets.js +83 -1
  16. package/dist/helpers/index.js +1 -1
  17. package/dist/helpers/math.js +1 -1
  18. package/dist/helpers/mergeDeep.d.ts +1 -3
  19. package/dist/helpers/mergeDeep.js +15 -16
  20. package/dist/helpers/noise.js +1 -1
  21. package/dist/helpers/projection.d.ts +4 -3
  22. package/dist/helpers/projection.js +17 -5
  23. package/dist/helpers/reduce.d.ts +4 -4
  24. package/dist/helpers/reduce.js +6 -4
  25. package/dist/helpers/regressionLoess.js +2 -1
  26. package/dist/helpers/resolve.d.ts +6 -3
  27. package/dist/helpers/resolve.js +25 -16
  28. package/dist/helpers/roundedRect.js +1 -1
  29. package/dist/helpers/scales.d.ts +11 -10
  30. package/dist/helpers/scales.js +43 -13
  31. package/dist/helpers/time.d.ts +10 -3
  32. package/dist/helpers/time.js +2 -1
  33. package/dist/hooks/index.d.ts +2 -0
  34. package/dist/hooks/index.js +2 -0
  35. package/dist/hooks/plotDefaults.d.ts +3 -1
  36. package/dist/hooks/plotDefaults.js +33 -1
  37. package/dist/hooks/usePlot.svelte.d.ts +10 -25
  38. package/dist/hooks/usePlot.svelte.js +8 -7
  39. package/dist/index.d.ts +1 -2
  40. package/dist/index.js +1 -3
  41. package/dist/marks/Area.svelte +24 -13
  42. package/dist/marks/Area.svelte.d.ts +118 -34
  43. package/dist/marks/AreaX.svelte +42 -8
  44. package/dist/marks/AreaX.svelte.d.ts +154 -71
  45. package/dist/marks/AreaY.svelte +42 -8
  46. package/dist/marks/AreaY.svelte.d.ts +154 -71
  47. package/dist/marks/Arrow.svelte +42 -23
  48. package/dist/marks/Arrow.svelte.d.ts +114 -35
  49. package/dist/marks/AxisX.svelte +43 -28
  50. package/dist/marks/AxisX.svelte.d.ts +125 -40
  51. package/dist/marks/AxisY.svelte +43 -26
  52. package/dist/marks/AxisY.svelte.d.ts +127 -40
  53. package/dist/marks/BarX.svelte +12 -10
  54. package/dist/marks/BarX.svelte.d.ts +104 -32
  55. package/dist/marks/BarY.svelte +11 -10
  56. package/dist/marks/BarY.svelte.d.ts +106 -34
  57. package/dist/marks/BollingerX.svelte +4 -7
  58. package/dist/marks/BollingerX.svelte.d.ts +105 -30
  59. package/dist/marks/BollingerY.svelte +3 -0
  60. package/dist/marks/BollingerY.svelte.d.ts +105 -30
  61. package/dist/marks/BoxX.svelte +3 -3
  62. package/dist/marks/BoxY.svelte +12 -9
  63. package/dist/marks/BoxY.svelte.d.ts +128 -53
  64. package/dist/marks/Brush.svelte +26 -21
  65. package/dist/marks/Brush.svelte.d.ts +119 -60
  66. package/dist/marks/Cell.svelte +13 -9
  67. package/dist/marks/Cell.svelte.d.ts +105 -30
  68. package/dist/marks/CellX.svelte +2 -1
  69. package/dist/marks/CellX.svelte.d.ts +105 -32
  70. package/dist/marks/CellY.svelte +2 -1
  71. package/dist/marks/CellY.svelte.d.ts +105 -32
  72. package/dist/marks/ColorLegend.svelte +24 -13
  73. package/dist/marks/ColorLegend.svelte.d.ts +1 -0
  74. package/dist/marks/CustomMark.svelte +16 -10
  75. package/dist/marks/CustomMark.svelte.d.ts +112 -31
  76. package/dist/marks/CustomMarkHTML.svelte +8 -2
  77. package/dist/marks/CustomMarkHTML.svelte.d.ts +8 -2
  78. package/dist/marks/DifferenceY.svelte +31 -20
  79. package/dist/marks/DifferenceY.svelte.d.ts +134 -55
  80. package/dist/marks/Dot.svelte +21 -11
  81. package/dist/marks/Dot.svelte.d.ts +117 -38
  82. package/dist/marks/DotX.svelte +2 -0
  83. package/dist/marks/DotX.svelte.d.ts +136 -62
  84. package/dist/marks/DotY.svelte +1 -0
  85. package/dist/marks/DotY.svelte.d.ts +135 -62
  86. package/dist/marks/Frame.svelte +47 -9
  87. package/dist/marks/Frame.svelte.d.ts +124 -41
  88. package/dist/marks/Geo.svelte +21 -12
  89. package/dist/marks/Geo.svelte.d.ts +105 -30
  90. package/dist/marks/Graticule.svelte +3 -0
  91. package/dist/marks/Graticule.svelte.d.ts +3 -0
  92. package/dist/marks/GridX.svelte +31 -16
  93. package/dist/marks/GridX.svelte.d.ts +108 -32
  94. package/dist/marks/GridY.svelte +30 -15
  95. package/dist/marks/GridY.svelte.d.ts +108 -32
  96. package/dist/marks/HTMLTooltip.svelte +37 -27
  97. package/dist/marks/HTMLTooltip.svelte.d.ts +7 -0
  98. package/dist/marks/Image.svelte +50 -25
  99. package/dist/marks/Image.svelte.d.ts +117 -35
  100. package/dist/marks/Line.svelte +67 -44
  101. package/dist/marks/Line.svelte.d.ts +119 -30
  102. package/dist/marks/LineX.svelte +2 -1
  103. package/dist/marks/LineX.svelte.d.ts +142 -69
  104. package/dist/marks/LineY.svelte +2 -1
  105. package/dist/marks/LineY.svelte.d.ts +142 -69
  106. package/dist/marks/Link.svelte +70 -46
  107. package/dist/marks/Link.svelte.d.ts +126 -41
  108. package/dist/marks/Pointer.svelte +46 -35
  109. package/dist/marks/Pointer.svelte.d.ts +7 -0
  110. package/dist/marks/Rect.svelte +13 -5
  111. package/dist/marks/Rect.svelte.d.ts +116 -35
  112. package/dist/marks/RectX.svelte +6 -3
  113. package/dist/marks/RectX.svelte.d.ts +158 -12
  114. package/dist/marks/RectY.svelte +6 -3
  115. package/dist/marks/RectY.svelte.d.ts +158 -12
  116. package/dist/marks/RegressionX.svelte +13 -6
  117. package/dist/marks/RegressionX.svelte.d.ts +8 -3
  118. package/dist/marks/RegressionY.svelte +13 -6
  119. package/dist/marks/RegressionY.svelte.d.ts +8 -3
  120. package/dist/marks/RuleX.svelte +18 -11
  121. package/dist/marks/RuleX.svelte.d.ts +112 -32
  122. package/dist/marks/RuleY.svelte +19 -12
  123. package/dist/marks/RuleY.svelte.d.ts +114 -34
  124. package/dist/marks/Spike.svelte +11 -5
  125. package/dist/marks/Spike.svelte.d.ts +146 -68
  126. package/dist/marks/Text.svelte +24 -7
  127. package/dist/marks/Text.svelte.d.ts +253 -75
  128. package/dist/marks/TickX.svelte +56 -48
  129. package/dist/marks/TickX.svelte.d.ts +114 -40
  130. package/dist/marks/TickY.svelte +59 -51
  131. package/dist/marks/TickY.svelte.d.ts +117 -43
  132. package/dist/marks/Trail.svelte +25 -13
  133. package/dist/marks/Trail.svelte.d.ts +116 -33
  134. package/dist/marks/Vector.svelte +20 -11
  135. package/dist/marks/Vector.svelte.d.ts +116 -35
  136. package/dist/marks/WaffleX.svelte +18 -16
  137. package/dist/marks/WaffleX.svelte.d.ts +131 -57
  138. package/dist/marks/WaffleY.svelte +16 -15
  139. package/dist/marks/WaffleY.svelte.d.ts +129 -56
  140. package/dist/marks/helpers/Anchor.svelte +17 -2
  141. package/dist/marks/helpers/Anchor.svelte.d.ts +16 -1
  142. package/dist/marks/helpers/AreaCanvas.svelte +8 -8
  143. package/dist/marks/helpers/BaseAxisX.svelte +38 -41
  144. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +11 -17
  145. package/dist/marks/helpers/BaseAxisY.svelte +35 -35
  146. package/dist/marks/helpers/BaseAxisY.svelte.d.ts +12 -15
  147. package/dist/marks/helpers/Box.svelte +35 -28
  148. package/dist/marks/helpers/Box.svelte.d.ts +122 -50
  149. package/dist/marks/helpers/DotCanvas.svelte +11 -9
  150. package/dist/marks/helpers/GeoCanvas.svelte +7 -6
  151. package/dist/marks/helpers/LineCanvas.svelte +7 -7
  152. package/dist/marks/helpers/LinearGradientX.svelte +2 -2
  153. package/dist/marks/helpers/LinearGradientX.svelte.d.ts +1 -1
  154. package/dist/marks/helpers/LinearGradientY.svelte +2 -2
  155. package/dist/marks/helpers/LinearGradientY.svelte.d.ts +1 -1
  156. package/dist/marks/helpers/Marker.svelte +2 -2
  157. package/dist/marks/helpers/MarkerPath.svelte +15 -12
  158. package/dist/marks/helpers/MarkerPath.svelte.d.ts +105 -32
  159. package/dist/marks/helpers/MultilineText.svelte +24 -17
  160. package/dist/marks/helpers/MultilineText.svelte.d.ts +1 -1
  161. package/dist/marks/helpers/RectCanvas.svelte +31 -26
  162. package/dist/marks/helpers/RectPath.svelte +2 -2
  163. package/dist/marks/helpers/Regression.svelte +176 -86
  164. package/dist/marks/helpers/Regression.svelte.d.ts +20 -8
  165. package/dist/marks/helpers/RuleCanvas.svelte +9 -6
  166. package/dist/marks/helpers/TextCanvas.svelte +13 -9
  167. package/dist/marks/helpers/TextCanvas.svelte.d.ts +6 -6
  168. package/dist/marks/helpers/TickCanvas.svelte +6 -5
  169. package/dist/marks/helpers/TrailCanvas.svelte +16 -18
  170. package/dist/marks/helpers/TrailCanvas.svelte.d.ts +3 -5
  171. package/dist/marks/helpers/canvas.js +16 -9
  172. package/dist/marks/helpers/events.d.ts +2 -2
  173. package/dist/marks/helpers/events.js +14 -7
  174. package/dist/marks/helpers/trail.js +1 -1
  175. package/dist/marks/helpers/waffle.d.ts +3 -3
  176. package/dist/marks/helpers/waffle.js +7 -5
  177. package/dist/regression/polynomial.d.ts +1 -1
  178. package/dist/regression/polynomial.js +7 -7
  179. package/dist/regression/utils/determination.d.ts +1 -1
  180. package/dist/regression/utils/determination.js +1 -1
  181. package/dist/regression/utils/geometry.d.ts +1 -1
  182. package/dist/regression/utils/interpose.d.ts +1 -1
  183. package/dist/regression/utils/interpose.js +1 -1
  184. package/dist/regression/utils/points.d.ts +1 -1
  185. package/dist/transforms/bin.d.ts +3 -3
  186. package/dist/transforms/bin.js +29 -20
  187. package/dist/transforms/bollinger.d.ts +8 -0
  188. package/dist/transforms/bollinger.js +15 -4
  189. package/dist/transforms/centroid.d.ts +4 -0
  190. package/dist/transforms/centroid.js +4 -0
  191. package/dist/transforms/density.d.ts +4 -4
  192. package/dist/transforms/density.js +23 -16
  193. package/dist/transforms/dodge.d.ts +12 -1
  194. package/dist/transforms/dodge.js +15 -6
  195. package/dist/transforms/group.d.ts +141 -4
  196. package/dist/transforms/group.js +4 -1
  197. package/dist/transforms/interval.d.ts +204 -60
  198. package/dist/transforms/jitter.d.ts +421 -4
  199. package/dist/transforms/jitter.js +10 -1
  200. package/dist/transforms/map.d.ts +412 -4
  201. package/dist/transforms/map.js +5 -5
  202. package/dist/transforms/normalize.d.ts +276 -5
  203. package/dist/transforms/normalize.js +6 -4
  204. package/dist/transforms/recordize.d.ts +17 -5
  205. package/dist/transforms/recordize.js +13 -9
  206. package/dist/transforms/rename.d.ts +11 -4
  207. package/dist/transforms/rename.js +7 -2
  208. package/dist/transforms/select.d.ts +722 -210
  209. package/dist/transforms/select.js +13 -1
  210. package/dist/transforms/shift.d.ts +8 -0
  211. package/dist/transforms/shift.js +20 -6
  212. package/dist/transforms/sort.d.ts +13 -258
  213. package/dist/transforms/sort.js +13 -10
  214. package/dist/transforms/stack.d.ts +58 -9
  215. package/dist/transforms/stack.js +27 -11
  216. package/dist/transforms/window.d.ts +221 -66
  217. package/dist/transforms/window.js +8 -2
  218. package/dist/types/axes.d.ts +43 -0
  219. package/dist/types/axes.js +1 -0
  220. package/dist/types/channel.d.ts +30 -2
  221. package/dist/types/data.d.ts +14 -1
  222. package/dist/types/facet.d.ts +5 -0
  223. package/dist/types/index.d.ts +33 -8
  224. package/dist/types/index.js +11 -7
  225. package/dist/types/mark.d.ts +125 -36
  226. package/dist/types/plot.d.ts +118 -16
  227. package/dist/types/scale.d.ts +125 -8
  228. package/package.json +37 -32
  229. package/dist/helpers/autoTicks.d.ts +0 -12
@@ -1,89 +1,162 @@
1
- import type { DataRow } from '../index.js';
1
+ import type { DataRow } from '../types/index.js';
2
2
  declare function $$render<Datum extends DataRow>(): {
3
- props: Omit<import("../types").MarkerOptions & Partial<{
4
- filter: import("../types").ConstantAccessor<boolean, Record<string | symbol, import("../types").RawValue>>;
3
+ props: Omit<import("../types/index.js").MarkerOptions & Partial<{
4
+ filter: import("../types/index.js").ConstantAccessor<boolean, Record<string | symbol, import("../types/index.js").RawValue>>;
5
5
  facet: "auto" | "include" | "exclude";
6
- fx: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
7
- fy: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
8
- dx: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
9
- dy: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
12
- fill: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
13
- fillOpacity: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
14
- sort: ((a: import("../types").RawValue, b: import("../types").RawValue) => number) | {
6
+ fx: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
7
+ fy: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
8
+ dx: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
9
+ dy: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
10
+ dodgeX: import("../transforms/dodge.js").DodgeXOptions;
11
+ dodgeY: import("../transforms/dodge.js").DodgeYOptions;
12
+ fill: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
13
+ fillOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
14
+ fontFamily: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontFamily, Record<string | symbol, import("../types/index.js").RawValue>>;
15
+ fontSize: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontSize<number>, Record<string | symbol, import("../types/index.js").RawValue>>;
16
+ fontStyle: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontStyle, Record<string | symbol, import("../types/index.js").RawValue>>;
17
+ fontVariant: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontVariant, Record<string | symbol, import("../types/index.js").RawValue>>;
18
+ fontWeight: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontWeight, Record<string | symbol, import("../types/index.js").RawValue>>;
19
+ letterSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Record<string | symbol, import("../types/index.js").RawValue>>;
20
+ wordSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Record<string | symbol, import("../types/index.js").RawValue>>;
21
+ textAnchor: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextAnchor, Record<string | symbol, import("../types/index.js").RawValue>>;
22
+ textTransform: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextTransform, Record<string | symbol, import("../types/index.js").RawValue>>;
23
+ textDecoration: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Record<string | symbol, import("../types/index.js").RawValue>>;
24
+ sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
15
25
  channel: string;
16
26
  order?: "ascending" | "descending";
17
- } | import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>>;
18
- stroke: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
19
- strokeWidth: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
20
- strokeOpacity: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
21
- strokeLinejoin: import("../types").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Record<string | symbol, import("../types").RawValue>>;
22
- strokeLinecap: import("../types").ConstantAccessor<import("csstype").Property.StrokeLinecap, Record<string | symbol, import("../types").RawValue>>;
23
- strokeMiterlimit: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
24
- opacity: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
25
- strokeDasharray: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
26
- strokeDashoffset: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
27
- mixBlendMode: import("../types").ConstantAccessor<import("csstype").Property.MixBlendMode, Record<string | symbol, import("../types").RawValue>>;
27
+ } | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Record<string | symbol, import("../types/index.js").RawValue>>;
28
+ stroke: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
29
+ strokeWidth: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
30
+ strokeOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
31
+ strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Record<string | symbol, import("../types/index.js").RawValue>>;
32
+ strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Record<string | symbol, import("../types/index.js").RawValue>>;
33
+ strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
34
+ opacity: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
35
+ strokeDasharray: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
36
+ strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
37
+ blend: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Record<string | symbol, import("../types/index.js").RawValue>>;
38
+ mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Record<string | symbol, import("../types/index.js").RawValue>>;
28
39
  clipPath: string;
29
40
  mask: string;
30
- imageFilter: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
31
- shapeRendering: import("../types").ConstantAccessor<import("csstype").Property.ShapeRendering, Record<string | symbol, import("../types").RawValue>>;
32
- paintOrder: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
33
- onclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- ondblclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmouseup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmousedown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmousemove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onmouseout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onmouseover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointercancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerdown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointermove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- onpointerover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- onpointerout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondrag: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondrop: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ondragover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ondragend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchmove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- ontouchend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- ontouchcancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- oncontextmenu: import("svelte/elements").MouseEventHandler<SVGPathElement>;
62
- onwheel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
+ imageFilter: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
42
+ shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Record<string | symbol, import("../types/index.js").RawValue>>;
43
+ paintOrder: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
44
+ onclick: (event: Event & {
45
+ currentTarget: SVGPathElement;
46
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
47
+ ondblclick: (event: Event & {
48
+ currentTarget: SVGPathElement;
49
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
50
+ onmouseup: (event: Event & {
51
+ currentTarget: SVGPathElement;
52
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
53
+ onmousedown: (event: Event & {
54
+ currentTarget: SVGPathElement;
55
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
56
+ onmouseenter: (event: Event & {
57
+ currentTarget: SVGPathElement;
58
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
59
+ onmousemove: (event: Event & {
60
+ currentTarget: SVGPathElement;
61
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
62
+ onmouseleave: (event: Event & {
63
+ currentTarget: SVGPathElement;
64
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
65
+ onmouseout: (event: Event & {
66
+ currentTarget: SVGPathElement;
67
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
68
+ onmouseover: (event: Event & {
69
+ currentTarget: SVGPathElement;
70
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
71
+ onpointercancel: (event: Event & {
72
+ currentTarget: SVGPathElement;
73
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
74
+ onpointerdown: (event: Event & {
75
+ currentTarget: SVGPathElement;
76
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
77
+ onpointerup: (event: Event & {
78
+ currentTarget: SVGPathElement;
79
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
80
+ onpointerenter: (event: Event & {
81
+ currentTarget: SVGPathElement;
82
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
83
+ onpointerleave: (event: Event & {
84
+ currentTarget: SVGPathElement;
85
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
86
+ onpointermove: (event: Event & {
87
+ currentTarget: SVGPathElement;
88
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
89
+ onpointerover: (event: Event & {
90
+ currentTarget: SVGPathElement;
91
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
92
+ onpointerout: (event: Event & {
93
+ currentTarget: SVGPathElement;
94
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
95
+ ondrag: (event: Event & {
96
+ currentTarget: SVGPathElement;
97
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
98
+ ondrop: (event: Event & {
99
+ currentTarget: SVGPathElement;
100
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
101
+ ondragstart: (event: Event & {
102
+ currentTarget: SVGPathElement;
103
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
104
+ ondragenter: (event: Event & {
105
+ currentTarget: SVGPathElement;
106
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
107
+ ondragleave: (event: Event & {
108
+ currentTarget: SVGPathElement;
109
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
110
+ ondragover: (event: Event & {
111
+ currentTarget: SVGPathElement;
112
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
113
+ ondragend: (event: Event & {
114
+ currentTarget: SVGPathElement;
115
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
116
+ ontouchstart: (event: Event & {
117
+ currentTarget: SVGPathElement;
118
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
119
+ ontouchmove: (event: Event & {
120
+ currentTarget: SVGPathElement;
121
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
122
+ ontouchend: (event: Event & {
123
+ currentTarget: SVGPathElement;
124
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
125
+ ontouchcancel: (event: Event & {
126
+ currentTarget: SVGPathElement;
127
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
128
+ oncontextmenu: (event: Event & {
129
+ currentTarget: SVGPathElement;
130
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
131
+ onwheel: (event: Event & {
132
+ currentTarget: SVGPathElement;
133
+ }, datum: Record<string | symbol, import("../types/index.js").RawValue>, index: number) => void;
63
134
  class: string;
64
135
  style: string;
65
- cursor: import("../types").ConstantAccessor<import("csstype").Property.Cursor, Record<string | symbol, import("../types").RawValue>>;
136
+ cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Record<string | symbol, import("../types/index.js").RawValue>>;
137
+ title: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
66
138
  }> & {
67
- data?: Record<string | symbol, import("../types").RawValue>[] | undefined;
68
- x?: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
69
- y?: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
70
- z?: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
139
+ data?: Record<string | symbol, import("../types/index.js").RawValue>[] | undefined;
140
+ x?: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
141
+ y?: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
142
+ z?: import("../types/index.js").ChannelAccessor<Record<string | symbol, import("../types/index.js").RawValue>>;
71
143
  outlineStroke?: string;
72
144
  outlineStrokeWidth?: number;
73
145
  outlineStrokeOpacity?: number;
74
- curve?: import("../types").CurveName | import("d3-shape").CurveFactory | "auto";
146
+ curve?: import("../types/index.js").CurveName | import("d3-shape").CurveFactory | "auto";
75
147
  tension?: number;
76
- sort?: import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>> | {
148
+ sort?: import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Record<string | symbol, import("../types/index.js").RawValue>> | {
77
149
  channel: "stroke" | "fill";
78
150
  };
79
- text?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
80
- textFill?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
81
- textStroke?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
82
- textStartOffset?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
83
- textStrokeWidth?: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
84
- lineClass?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
151
+ text?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
152
+ textFill?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
153
+ textStroke?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
154
+ textStartOffset?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
155
+ textStrokeWidth?: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/index.js").RawValue>>;
156
+ lineClass?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/index.js").RawValue>>;
85
157
  canvas?: boolean;
86
158
  }, "data" | "x"> & {
159
+ /** the input data array */
87
160
  data: Datum[];
88
161
  };
89
162
  exports: {};
@@ -2,24 +2,26 @@
2
2
  Creates connections between pairs of points with optional curve styling and markers
3
3
  -->
4
4
 
5
- <script lang="ts" generics="Datum extends DataRecord">
5
+ <script lang="ts" generics="Datum = DataRecord | GeoJSON.GeoJsonObject">
6
6
  interface LinkMarkProps extends BaseMarkProps<Datum>, MarkerOptions {
7
- data: Datum[];
8
- sort?: ConstantAccessor<RawValue> | { channel: 'stroke' | 'fill' };
7
+ /** the input data array; each element becomes one link */
8
+ data?: Datum[];
9
+ /** sort order for data points before rendering */
10
+ sort?: ConstantAccessor<RawValue, Datum> | { channel: 'stroke' | 'fill' };
9
11
  /**
10
12
  * the x1 channel accessor for the start of the link
11
13
  */
12
- x1: ChannelAccessor<Datum>;
14
+ x1?: ChannelAccessor<Datum>;
13
15
  /**
14
16
  * the y1 channel accessor for the start of the link
15
17
  */
16
- y1: ChannelAccessor<Datum>;
18
+ y1?: ChannelAccessor<Datum>;
17
19
  /**
18
20
  * the x2 channel accessor for the end of the link
19
21
  */
20
- x2: ChannelAccessor<Datum>;
21
-
22
- y2: ChannelAccessor<Datum>;
22
+ x2?: ChannelAccessor<Datum>;
23
+ /** the y2 channel accessor for the end of the link */
24
+ y2?: ChannelAccessor<Datum>;
23
25
  /**
24
26
  * the curve type, defaults to 'auto' which uses a linear curve for planar projections
25
27
  * and a spherical line for geographic projections
@@ -29,10 +31,20 @@
29
31
  * the tension of the curve, defaults to 0
30
32
  */
31
33
  tension?: number;
34
+ /** legacy alias for link curvature */
35
+ bend?: number | boolean;
32
36
  /**
33
37
  * the text label for the link, can be a constant or a function
34
38
  */
35
39
  text?: ConstantAccessor<string, Datum>;
40
+ /** the fill color for the text label rendered along the link */
41
+ textFill?: ConstantAccessor<string, Datum>;
42
+ /** the stroke color for the text label rendered along the link */
43
+ textStroke?: ConstantAccessor<string, Datum>;
44
+ /** the offset position for the text label along the link path */
45
+ textStartOffset?: ConstantAccessor<string, Datum>;
46
+ /** the stroke width for the text label rendered along the link */
47
+ textStrokeWidth?: ConstantAccessor<number, Datum>;
36
48
  }
37
49
  import type {
38
50
  DataRecord,
@@ -48,8 +60,8 @@
48
60
  import Mark from '../Mark.svelte';
49
61
  import MarkerPath from './helpers/MarkerPath.svelte';
50
62
  import { replaceChannels } from '../transforms/rename.js';
51
- import { line, type CurveFactory } from 'd3-shape';
52
- import callWithProps from '../helpers/callWithProps.js';
63
+ import { line, type CurveFactory, type Line as D3Line } from 'd3-shape';
64
+ import type { MarkerShape } from './helpers/Marker.svelte';
53
65
  import { maybeCurve } from '../helpers/curves.js';
54
66
  import { geoPath } from 'd3-geo';
55
67
  import { pick } from 'es-toolkit';
@@ -67,6 +79,7 @@
67
79
  data = [{} as Datum],
68
80
  curve = 'auto',
69
81
  tension = 0,
82
+ bend,
70
83
  text,
71
84
  class: className = '',
72
85
  ...options
@@ -80,9 +93,9 @@
80
93
  const args = $derived(
81
94
  replaceChannels(
82
95
  sort({
83
- data: indexData(data),
96
+ data: indexData(data as object[]) as DataRecord[],
84
97
  stroke: 'currentColor',
85
- ...options
98
+ ...(options as BaseMarkProps<DataRecord>)
86
99
  }),
87
100
  { y: ['y1', 'y2'], x: ['x1', 'x2'] }
88
101
  )
@@ -90,39 +103,44 @@
90
103
 
91
104
  const sphericalLine = $derived(plot.scales.projection && curve === 'auto');
92
105
 
93
- const linePath: (d: ScaledDataRecord, reversed: boolean) => string = $derived.by(() => {
94
- const fn = callWithProps(line, [], {
95
- curve: maybeCurve(curve === 'auto' ? 'linear' : curve, tension),
96
- x: (d) => d[0],
97
- y: (d) => d[1]
98
- });
106
+ const linePath: (d: ScaledDataRecord, reversed?: boolean) => string | null = $derived.by(() => {
107
+ const fn: D3Line<[number, number]> = line<[number, number]>()
108
+ .curve(
109
+ maybeCurve(
110
+ curve === 'auto' ? 'linear' : curve,
111
+ bend === true ? 0.6 : bend === false ? 0 : (bend ?? tension ?? 0)
112
+ )
113
+ )
114
+ .x((d) => d[0])
115
+ .y((d) => d[1]);
99
116
 
100
117
  return (d: ScaledDataRecord, reversed = false) =>
101
118
  fn(
102
119
  reversed
103
120
  ? [
104
- [d.x2, d.y2],
105
- [d.x1, d.y1]
121
+ [d.x2 as number, d.y2 as number],
122
+ [d.x1 as number, d.y1 as number]
106
123
  ]
107
124
  : [
108
- [d.x1, d.y1],
109
- [d.x2, d.y2]
125
+ [d.x1 as number, d.y1 as number],
126
+ [d.x2 as number, d.y2 as number]
110
127
  ]
111
128
  );
112
129
  });
113
130
 
114
- const sphericalLinePath: (d: ScaledDataRecord, reversed: boolean) => string = $derived.by(
115
- () => {
131
+ const sphericalLinePath: (d: ScaledDataRecord, reversed?: boolean) => string | null =
132
+ $derived.by(() => {
116
133
  const fn = sphereLine(plot.scales.projection);
117
134
  return (d: ScaledDataRecord, reversed = false) => {
118
135
  const x1 = resolveChannel('x1', d.datum, args);
119
136
  const y1 = resolveChannel('y1', d.datum, args);
120
137
  const x2 = resolveChannel('x2', d.datum, args);
121
138
  const y2 = resolveChannel('y2', d.datum, args);
122
- return reversed ? fn(x2, y2, x1, y1) : fn(x1, y1, x2, y2);
139
+ return reversed
140
+ ? fn(x2 as number, y2 as number, x1 as number, y1 as number)
141
+ : fn(x1 as number, y1 as number, x2 as number, y2 as number);
123
142
  };
124
- }
125
- );
143
+ });
126
144
  // sphericalLine
127
145
  // ?
128
146
 
@@ -130,7 +148,7 @@
130
148
  // :
131
149
  // );
132
150
 
133
- function sphereLine(projection) {
151
+ function sphereLine(projection: any) {
134
152
  const path = geoPath(projection);
135
153
  return (x1: number, y1: number, x2: number, y2: number) => {
136
154
  return path({
@@ -165,10 +183,10 @@
165
183
  d,
166
184
  {
167
185
  textAnchor: 'middle',
168
- ...pick(args, ['fontSize', 'fontWeight', 'fontStyle', 'textAnchor']),
169
- fill: args.textFill || args.stroke,
170
- stroke: args.textStroke,
171
- strokeWidth: args.textStrokeWidth
186
+ ...pick(args, ['fontSize', 'fontWeight', 'fontStyle']),
187
+ fill: options.textFill || args.stroke,
188
+ stroke: options.textStroke,
189
+ strokeWidth: options.textStrokeWidth
172
190
  },
173
191
  'fill',
174
192
  usedScales
@@ -176,21 +194,27 @@
176
194
 
177
195
  <MarkerPath
178
196
  mark={{ ...mark, options: args }}
197
+ transform=""
179
198
  scales={plot.scales}
180
- markerStart={args.markerStart}
181
- markerEnd={args.markerEnd}
182
- marker={args.marker}
183
- markerScale={args.markerScale}
184
- class={styleClass}
185
- strokeWidth={args.strokeWidth}
186
- datum={d.datum}
187
- color={d.stroke}
188
- d={sphericalLine ? sphericalLinePath(d) : linePath(d)}
189
- dInv={sphericalLine ? sphericalLinePath(d, true) : linePath(d, true)}
190
- {style}
191
- text={text ? resolveProp(text, d.datum) : null}
192
- startOffset={resolveProp(args.textStartOffset, d.datum, '50%')}
193
- {textStyle}
199
+ markerStart={options.markerStart as boolean | MarkerShape | undefined}
200
+ markerEnd={options.markerEnd as boolean | MarkerShape | undefined}
201
+ marker={options.marker as boolean | MarkerShape | undefined}
202
+ markerScale={options.markerScale}
203
+ class={styleClass ?? undefined}
204
+ strokeWidth={options.strokeWidth as ConstantAccessor<number>}
205
+ datum={d.datum as DataRecord}
206
+ color={d.stroke ?? 'currentColor'}
207
+ d={(sphericalLine ? sphericalLinePath(d) : linePath(d)) ?? ''}
208
+ dInv={(sphericalLine ? sphericalLinePath(d, true) : linePath(d, true)) ??
209
+ undefined}
210
+ style={style ?? ''}
211
+ text={text ? ((resolveProp(text, d.datum as Datum) as string) ?? '') : ''}
212
+ startOffset={(resolveProp(
213
+ options.textStartOffset,
214
+ d.datum as Datum,
215
+ '50%'
216
+ ) as string) ?? '50%'}
217
+ textStyle={textStyle ?? ''}
194
218
  {textStyleClass} />
195
219
  {/if}
196
220
  {/each}