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
@@ -35,6 +35,7 @@
35
35
  BaseMarkProps,
36
36
  BaseRectMarkProps,
37
37
  ChannelAccessor,
38
+ DataRecord,
38
39
  LinkableMarkProps
39
40
  } from '../types/index.js';
40
41
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
@@ -50,7 +51,7 @@
50
51
 
51
52
  const {
52
53
  data = [{} as Datum],
53
- class: className = null,
54
+ class: className = '',
54
55
  stack,
55
56
  canvas = false,
56
57
  ...options
@@ -81,20 +82,20 @@
81
82
  {@const rectCanvasData = scaledData
82
83
  .filter((d) => d.valid)
83
84
  .map((d) => {
84
- const minx = Math.min(d.x1, d.x2);
85
- const maxx = Math.max(d.x1, d.x2);
85
+ const minx = Math.min(d.x1 as number, d.x2 as number);
86
+ const maxx = Math.max(d.x1 as number, d.x2 as number);
86
87
 
87
88
  return {
88
89
  ...d,
89
90
  x1: minx,
90
91
  x2: maxx,
91
- y1: d.y - bw * 0.5,
92
- y2: d.y + bw * 0.5
92
+ y1: (d.y as number) - bw * 0.5,
93
+ y2: (d.y as number) + bw * 0.5
93
94
  };
94
95
  })}
95
96
  <GroupMultiple class={barGroupClass} length={scaledData.length}>
96
97
  <RectCanvas
97
- {options}
98
+ options={options as BaseMarkProps<DataRecord> & BaseRectMarkProps<DataRecord>}
98
99
  data={rectCanvasData}
99
100
  {usedScales}
100
101
  useInsetAsFallbackHorizontally={false} />
@@ -102,17 +103,18 @@
102
103
  {:else}
103
104
  <GroupMultiple class="bar-x" length={scaledData.length}>
104
105
  {#each scaledData as d, i (i)}
105
- {@const minx = Math.min(d.x1, d.x2)}
106
- {@const maxx = Math.max(d.x1, d.x2)}
106
+ {@const minx = Math.min(d.x1 as number, d.x2 as number)}
107
+ {@const maxx = Math.max(d.x1 as number, d.x2 as number)}
107
108
  {#if d.valid}
108
109
  <RectPath
109
110
  {usedScales}
110
111
  class={className}
111
- {options}
112
+ options={options as BaseRectMarkProps<DataRecord> &
113
+ BaseMarkProps<DataRecord>}
112
114
  datum={d}
113
115
  x={minx}
114
116
  useInsetAsFallbackHorizontally={false}
115
- y={d.y - bw * 0.5}
117
+ y={(d.y as number) - bw * 0.5}
116
118
  width={maxx - minx}
117
119
  height={bw} />
118
120
  {/if}
@@ -9,10 +9,20 @@ declare function $$render<Datum extends DataRow>(): {
9
9
  fy: ChannelAccessor<Datum>;
10
10
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
11
11
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
12
- dodgeX: import("../transforms/dodge").DodgeXOptions;
13
- dodgeY: import("../transforms/dodge").DodgeYOptions;
12
+ dodgeX: import("../transforms/dodge.js").DodgeXOptions;
13
+ dodgeY: import("../transforms/dodge.js").DodgeYOptions;
14
14
  fill: ChannelAccessor<Datum>;
15
15
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
16
+ fontFamily: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
17
+ fontSize: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontSize<number>, Datum>;
18
+ fontStyle: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
19
+ fontVariant: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
20
+ fontWeight: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
21
+ letterSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
22
+ wordSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
23
+ textAnchor: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
24
+ textTransform: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
25
+ textDecoration: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
16
26
  sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
17
27
  channel: string;
18
28
  order?: "ascending" | "descending";
@@ -26,45 +36,107 @@ declare function $$render<Datum extends DataRow>(): {
26
36
  opacity: ChannelAccessor<Datum>;
27
37
  strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
28
38
  strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
39
+ blend: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
29
40
  mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
30
41
  clipPath: string;
31
42
  mask: string;
32
43
  imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
33
44
  shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
34
45
  paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
35
- onclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- ondblclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmousedown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onmousemove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onmouseleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onmouseout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onmouseover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointercancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerdown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- onpointerleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- onpointermove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- onpointerover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- onpointerout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondrag: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondrop: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ondragenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ondragleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ondragover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ondragend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- ontouchstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- ontouchmove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- ontouchend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
62
- ontouchcancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
63
- oncontextmenu: import("svelte/elements").MouseEventHandler<SVGPathElement>;
64
- onwheel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
+ onclick: (event: Event & {
47
+ currentTarget: SVGPathElement;
48
+ }, datum: Datum, index: number) => void;
49
+ ondblclick: (event: Event & {
50
+ currentTarget: SVGPathElement;
51
+ }, datum: Datum, index: number) => void;
52
+ onmouseup: (event: Event & {
53
+ currentTarget: SVGPathElement;
54
+ }, datum: Datum, index: number) => void;
55
+ onmousedown: (event: Event & {
56
+ currentTarget: SVGPathElement;
57
+ }, datum: Datum, index: number) => void;
58
+ onmouseenter: (event: Event & {
59
+ currentTarget: SVGPathElement;
60
+ }, datum: Datum, index: number) => void;
61
+ onmousemove: (event: Event & {
62
+ currentTarget: SVGPathElement;
63
+ }, datum: Datum, index: number) => void;
64
+ onmouseleave: (event: Event & {
65
+ currentTarget: SVGPathElement;
66
+ }, datum: Datum, index: number) => void;
67
+ onmouseout: (event: Event & {
68
+ currentTarget: SVGPathElement;
69
+ }, datum: Datum, index: number) => void;
70
+ onmouseover: (event: Event & {
71
+ currentTarget: SVGPathElement;
72
+ }, datum: Datum, index: number) => void;
73
+ onpointercancel: (event: Event & {
74
+ currentTarget: SVGPathElement;
75
+ }, datum: Datum, index: number) => void;
76
+ onpointerdown: (event: Event & {
77
+ currentTarget: SVGPathElement;
78
+ }, datum: Datum, index: number) => void;
79
+ onpointerup: (event: Event & {
80
+ currentTarget: SVGPathElement;
81
+ }, datum: Datum, index: number) => void;
82
+ onpointerenter: (event: Event & {
83
+ currentTarget: SVGPathElement;
84
+ }, datum: Datum, index: number) => void;
85
+ onpointerleave: (event: Event & {
86
+ currentTarget: SVGPathElement;
87
+ }, datum: Datum, index: number) => void;
88
+ onpointermove: (event: Event & {
89
+ currentTarget: SVGPathElement;
90
+ }, datum: Datum, index: number) => void;
91
+ onpointerover: (event: Event & {
92
+ currentTarget: SVGPathElement;
93
+ }, datum: Datum, index: number) => void;
94
+ onpointerout: (event: Event & {
95
+ currentTarget: SVGPathElement;
96
+ }, datum: Datum, index: number) => void;
97
+ ondrag: (event: Event & {
98
+ currentTarget: SVGPathElement;
99
+ }, datum: Datum, index: number) => void;
100
+ ondrop: (event: Event & {
101
+ currentTarget: SVGPathElement;
102
+ }, datum: Datum, index: number) => void;
103
+ ondragstart: (event: Event & {
104
+ currentTarget: SVGPathElement;
105
+ }, datum: Datum, index: number) => void;
106
+ ondragenter: (event: Event & {
107
+ currentTarget: SVGPathElement;
108
+ }, datum: Datum, index: number) => void;
109
+ ondragleave: (event: Event & {
110
+ currentTarget: SVGPathElement;
111
+ }, datum: Datum, index: number) => void;
112
+ ondragover: (event: Event & {
113
+ currentTarget: SVGPathElement;
114
+ }, datum: Datum, index: number) => void;
115
+ ondragend: (event: Event & {
116
+ currentTarget: SVGPathElement;
117
+ }, datum: Datum, index: number) => void;
118
+ ontouchstart: (event: Event & {
119
+ currentTarget: SVGPathElement;
120
+ }, datum: Datum, index: number) => void;
121
+ ontouchmove: (event: Event & {
122
+ currentTarget: SVGPathElement;
123
+ }, datum: Datum, index: number) => void;
124
+ ontouchend: (event: Event & {
125
+ currentTarget: SVGPathElement;
126
+ }, datum: Datum, index: number) => void;
127
+ ontouchcancel: (event: Event & {
128
+ currentTarget: SVGPathElement;
129
+ }, datum: Datum, index: number) => void;
130
+ oncontextmenu: (event: Event & {
131
+ currentTarget: SVGPathElement;
132
+ }, datum: Datum, index: number) => void;
133
+ onwheel: (event: Event & {
134
+ currentTarget: SVGPathElement;
135
+ }, datum: Datum, index: number) => void;
65
136
  class: string;
66
137
  style: string;
67
138
  cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
139
+ title: import("../types/index.js").ConstantAccessor<string, Datum>;
68
140
  }> & LinkableMarkProps<Datum> & BaseRectMarkProps<Datum> & {
69
141
  data: Datum[];
70
142
  x?: ChannelAccessor<Datum>;
@@ -34,6 +34,7 @@
34
34
  BaseMarkProps,
35
35
  BaseRectMarkProps,
36
36
  ChannelAccessor,
37
+ DataRecord,
37
38
  DataRow,
38
39
  LinkableMarkProps
39
40
  } from '../types/index.js';
@@ -50,8 +51,8 @@
50
51
  let markProps: BarYMarkProps = $props();
51
52
 
52
53
  const {
53
- data = [{}],
54
- class: className = null,
54
+ data = [{} as Datum],
55
+ class: className = '',
55
56
  stack,
56
57
  canvas = false,
57
58
  ...options
@@ -80,20 +81,20 @@
80
81
  {@const rectCanvasData = scaledData
81
82
  .filter((d) => d.valid)
82
83
  .map((d) => {
83
- const miny = Math.min(d.y1, d.y2);
84
- const maxy = Math.max(d.y1, d.y2);
84
+ const miny = Math.min(d.y1 as number, d.y2 as number);
85
+ const maxy = Math.max(d.y1 as number, d.y2 as number);
85
86
 
86
87
  return {
87
88
  ...d,
88
- x1: d.x - bw * 0.5,
89
- x2: d.x + bw * 0.5,
89
+ x1: (d.x as number) - bw * 0.5,
90
+ x2: (d.x as number) + bw * 0.5,
90
91
  y1: miny,
91
92
  y2: maxy
92
93
  };
93
94
  })}
94
95
  <GroupMultiple class={barGroupClass} length={scaledData.length}>
95
96
  <RectCanvas
96
- {options}
97
+ options={options as BaseMarkProps<DataRecord> & BaseRectMarkProps<DataRecord>}
97
98
  data={rectCanvasData}
98
99
  {usedScales}
99
100
  useInsetAsFallbackVertically={false} />
@@ -101,11 +102,11 @@
101
102
  {:else}
102
103
  <GroupMultiple class="bar-y" length={scaledData.length}>
103
104
  {#each scaledData as d, i (i)}
104
- {@const miny = Math.min(d.y1, d.y2)}
105
- {@const maxy = Math.max(d.y1, d.y2)}
105
+ {@const miny = Math.min(d.y1 as number, d.y2 as number)}
106
+ {@const maxy = Math.max(d.y1 as number, d.y2 as number)}
106
107
  {#if d.valid}
107
108
  <RectPath
108
- x={d.x - bw * 0.5}
109
+ x={(d.x as number) - bw * 0.5}
109
110
  y={miny}
110
111
  options={args}
111
112
  class={className}
@@ -8,14 +8,24 @@ declare function $$render<Datum extends DataRow>(): {
8
8
  fy: ChannelAccessor<Datum>;
9
9
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
10
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- dodgeX: import("../transforms/dodge").DodgeXOptions;
12
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: import("../transforms/dodge.js").DodgeXOptions;
12
+ dodgeY: import("../transforms/dodge.js").DodgeYOptions;
13
13
  fill: ChannelAccessor<Datum>;
14
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
15
- sort: ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | {
15
+ fontFamily: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
16
+ fontSize: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontSize<number>, Datum>;
17
+ fontStyle: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
18
+ fontVariant: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
19
+ fontWeight: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
20
+ letterSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
21
+ wordSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
22
+ textAnchor: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
23
+ textTransform: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
24
+ textDecoration: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
25
+ sort: ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | {
16
26
  channel: string;
17
27
  order?: "ascending" | "descending";
18
- } | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Datum>;
28
+ } | import("../types/index.js").ConstantAccessor<import("../types/data.js").RawValue, Datum>;
19
29
  stroke: ChannelAccessor<Datum>;
20
30
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
21
31
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
@@ -25,45 +35,107 @@ declare function $$render<Datum extends DataRow>(): {
25
35
  opacity: ChannelAccessor<Datum>;
26
36
  strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
27
37
  strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
38
+ blend: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
28
39
  mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
29
40
  clipPath: string;
30
41
  mask: string;
31
42
  imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
32
43
  shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
33
44
  paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
34
- onclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- ondblclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmouseup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmousedown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmousemove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onmouseleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onmouseout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onmouseover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointercancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerdown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- onpointermove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- onpointerover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- onpointerout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondrag: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondrop: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ondragleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ondragover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ondragend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- ontouchmove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- ontouchend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- ontouchcancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
62
- oncontextmenu: import("svelte/elements").MouseEventHandler<SVGPathElement>;
63
- onwheel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
+ onclick: (event: Event & {
46
+ currentTarget: SVGPathElement;
47
+ }, datum: Datum, index: number) => void;
48
+ ondblclick: (event: Event & {
49
+ currentTarget: SVGPathElement;
50
+ }, datum: Datum, index: number) => void;
51
+ onmouseup: (event: Event & {
52
+ currentTarget: SVGPathElement;
53
+ }, datum: Datum, index: number) => void;
54
+ onmousedown: (event: Event & {
55
+ currentTarget: SVGPathElement;
56
+ }, datum: Datum, index: number) => void;
57
+ onmouseenter: (event: Event & {
58
+ currentTarget: SVGPathElement;
59
+ }, datum: Datum, index: number) => void;
60
+ onmousemove: (event: Event & {
61
+ currentTarget: SVGPathElement;
62
+ }, datum: Datum, index: number) => void;
63
+ onmouseleave: (event: Event & {
64
+ currentTarget: SVGPathElement;
65
+ }, datum: Datum, index: number) => void;
66
+ onmouseout: (event: Event & {
67
+ currentTarget: SVGPathElement;
68
+ }, datum: Datum, index: number) => void;
69
+ onmouseover: (event: Event & {
70
+ currentTarget: SVGPathElement;
71
+ }, datum: Datum, index: number) => void;
72
+ onpointercancel: (event: Event & {
73
+ currentTarget: SVGPathElement;
74
+ }, datum: Datum, index: number) => void;
75
+ onpointerdown: (event: Event & {
76
+ currentTarget: SVGPathElement;
77
+ }, datum: Datum, index: number) => void;
78
+ onpointerup: (event: Event & {
79
+ currentTarget: SVGPathElement;
80
+ }, datum: Datum, index: number) => void;
81
+ onpointerenter: (event: Event & {
82
+ currentTarget: SVGPathElement;
83
+ }, datum: Datum, index: number) => void;
84
+ onpointerleave: (event: Event & {
85
+ currentTarget: SVGPathElement;
86
+ }, datum: Datum, index: number) => void;
87
+ onpointermove: (event: Event & {
88
+ currentTarget: SVGPathElement;
89
+ }, datum: Datum, index: number) => void;
90
+ onpointerover: (event: Event & {
91
+ currentTarget: SVGPathElement;
92
+ }, datum: Datum, index: number) => void;
93
+ onpointerout: (event: Event & {
94
+ currentTarget: SVGPathElement;
95
+ }, datum: Datum, index: number) => void;
96
+ ondrag: (event: Event & {
97
+ currentTarget: SVGPathElement;
98
+ }, datum: Datum, index: number) => void;
99
+ ondrop: (event: Event & {
100
+ currentTarget: SVGPathElement;
101
+ }, datum: Datum, index: number) => void;
102
+ ondragstart: (event: Event & {
103
+ currentTarget: SVGPathElement;
104
+ }, datum: Datum, index: number) => void;
105
+ ondragenter: (event: Event & {
106
+ currentTarget: SVGPathElement;
107
+ }, datum: Datum, index: number) => void;
108
+ ondragleave: (event: Event & {
109
+ currentTarget: SVGPathElement;
110
+ }, datum: Datum, index: number) => void;
111
+ ondragover: (event: Event & {
112
+ currentTarget: SVGPathElement;
113
+ }, datum: Datum, index: number) => void;
114
+ ondragend: (event: Event & {
115
+ currentTarget: SVGPathElement;
116
+ }, datum: Datum, index: number) => void;
117
+ ontouchstart: (event: Event & {
118
+ currentTarget: SVGPathElement;
119
+ }, datum: Datum, index: number) => void;
120
+ ontouchmove: (event: Event & {
121
+ currentTarget: SVGPathElement;
122
+ }, datum: Datum, index: number) => void;
123
+ ontouchend: (event: Event & {
124
+ currentTarget: SVGPathElement;
125
+ }, datum: Datum, index: number) => void;
126
+ ontouchcancel: (event: Event & {
127
+ currentTarget: SVGPathElement;
128
+ }, datum: Datum, index: number) => void;
129
+ oncontextmenu: (event: Event & {
130
+ currentTarget: SVGPathElement;
131
+ }, datum: Datum, index: number) => void;
132
+ onwheel: (event: Event & {
133
+ currentTarget: SVGPathElement;
134
+ }, datum: Datum, index: number) => void;
64
135
  class: string;
65
136
  style: string;
66
137
  cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
138
+ title: import("../types/index.js").ConstantAccessor<string, Datum>;
67
139
  }> & LinkableMarkProps<Datum> & BaseRectMarkProps<Datum> & {
68
140
  data: Datum[];
69
141
  x?: ChannelAccessor<Datum>;
@@ -13,8 +13,11 @@
13
13
  import { pick } from 'es-toolkit';
14
14
 
15
15
  interface BollingerXMarkProps extends BaseMarkProps<Datum> {
16
+ /** the input data array */
16
17
  data: Datum[];
18
+ /** the horizontal position channel; the dependent variable for the moving average */
17
19
  x?: ChannelAccessor<Datum>;
20
+ /** the vertical position channel; used for grouping */
18
21
  y?: ChannelAccessor<Datum>;
19
22
  /**
20
23
  * the window size (the window transform's k option), an integer; defaults to 20
@@ -26,13 +29,7 @@
26
29
  k?: number;
27
30
  }
28
31
 
29
- let {
30
- data,
31
- class: className = null,
32
- n = 20,
33
- k = 2,
34
- ...options
35
- }: BollingerXMarkProps = $props();
32
+ let { data, class: className = '', n = 20, k = 2, ...options }: BollingerXMarkProps = $props();
36
33
 
37
34
  let args = $derived(
38
35
  bollingerX(recordizeX({ data, ...options } as TransformArg<DataRecord>), { n, k })