svelteplot 0.10.3 → 0.11.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 (222) 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 +41 -35
  8. package/dist/helpers/autoScales.d.ts +3 -3
  9. package/dist/helpers/autoScales.js +28 -18
  10. package/dist/helpers/autoTicks.js +2 -0
  11. package/dist/helpers/callWithProps.d.ts +1 -2
  12. package/dist/helpers/facets.js +0 -1
  13. package/dist/helpers/index.js +1 -1
  14. package/dist/helpers/mergeDeep.d.ts +1 -3
  15. package/dist/helpers/mergeDeep.js +15 -16
  16. package/dist/helpers/projection.d.ts +4 -3
  17. package/dist/helpers/projection.js +17 -5
  18. package/dist/helpers/reduce.d.ts +4 -4
  19. package/dist/helpers/reduce.js +6 -4
  20. package/dist/helpers/regressionLoess.js +2 -1
  21. package/dist/helpers/resolve.d.ts +6 -3
  22. package/dist/helpers/resolve.js +25 -16
  23. package/dist/helpers/scales.d.ts +10 -10
  24. package/dist/helpers/scales.js +43 -13
  25. package/dist/helpers/time.d.ts +10 -3
  26. package/dist/helpers/time.js +2 -1
  27. package/dist/hooks/index.d.ts +2 -0
  28. package/dist/hooks/index.js +2 -0
  29. package/dist/hooks/plotDefaults.d.ts +3 -1
  30. package/dist/hooks/plotDefaults.js +33 -1
  31. package/dist/hooks/usePlot.svelte.d.ts +10 -25
  32. package/dist/hooks/usePlot.svelte.js +8 -7
  33. package/dist/index.d.ts +1 -2
  34. package/dist/index.js +1 -3
  35. package/dist/marks/Area.svelte +24 -13
  36. package/dist/marks/Area.svelte.d.ts +118 -34
  37. package/dist/marks/AreaX.svelte +42 -8
  38. package/dist/marks/AreaX.svelte.d.ts +154 -71
  39. package/dist/marks/AreaY.svelte +42 -8
  40. package/dist/marks/AreaY.svelte.d.ts +154 -71
  41. package/dist/marks/Arrow.svelte +42 -23
  42. package/dist/marks/Arrow.svelte.d.ts +114 -35
  43. package/dist/marks/AxisX.svelte +43 -28
  44. package/dist/marks/AxisX.svelte.d.ts +125 -40
  45. package/dist/marks/AxisY.svelte +43 -26
  46. package/dist/marks/AxisY.svelte.d.ts +127 -40
  47. package/dist/marks/BarX.svelte +12 -10
  48. package/dist/marks/BarX.svelte.d.ts +104 -32
  49. package/dist/marks/BarY.svelte +11 -10
  50. package/dist/marks/BarY.svelte.d.ts +106 -34
  51. package/dist/marks/BollingerX.svelte +4 -7
  52. package/dist/marks/BollingerX.svelte.d.ts +105 -30
  53. package/dist/marks/BollingerY.svelte +3 -0
  54. package/dist/marks/BollingerY.svelte.d.ts +105 -30
  55. package/dist/marks/BoxX.svelte +3 -3
  56. package/dist/marks/BoxY.svelte +12 -9
  57. package/dist/marks/BoxY.svelte.d.ts +128 -53
  58. package/dist/marks/Brush.svelte +26 -21
  59. package/dist/marks/Brush.svelte.d.ts +119 -60
  60. package/dist/marks/Cell.svelte +13 -9
  61. package/dist/marks/Cell.svelte.d.ts +105 -30
  62. package/dist/marks/CellX.svelte +2 -1
  63. package/dist/marks/CellX.svelte.d.ts +105 -32
  64. package/dist/marks/CellY.svelte +2 -1
  65. package/dist/marks/CellY.svelte.d.ts +105 -32
  66. package/dist/marks/ColorLegend.svelte +24 -13
  67. package/dist/marks/ColorLegend.svelte.d.ts +1 -0
  68. package/dist/marks/CustomMark.svelte +16 -10
  69. package/dist/marks/CustomMark.svelte.d.ts +112 -31
  70. package/dist/marks/CustomMarkHTML.svelte +8 -2
  71. package/dist/marks/CustomMarkHTML.svelte.d.ts +8 -2
  72. package/dist/marks/DifferenceY.svelte +31 -20
  73. package/dist/marks/DifferenceY.svelte.d.ts +134 -55
  74. package/dist/marks/Dot.svelte +21 -11
  75. package/dist/marks/Dot.svelte.d.ts +117 -38
  76. package/dist/marks/DotX.svelte +2 -0
  77. package/dist/marks/DotX.svelte.d.ts +136 -62
  78. package/dist/marks/DotY.svelte +1 -0
  79. package/dist/marks/DotY.svelte.d.ts +135 -62
  80. package/dist/marks/Frame.svelte +47 -9
  81. package/dist/marks/Frame.svelte.d.ts +124 -41
  82. package/dist/marks/Geo.svelte +21 -12
  83. package/dist/marks/Geo.svelte.d.ts +105 -30
  84. package/dist/marks/Graticule.svelte +3 -0
  85. package/dist/marks/Graticule.svelte.d.ts +3 -0
  86. package/dist/marks/GridX.svelte +31 -16
  87. package/dist/marks/GridX.svelte.d.ts +108 -32
  88. package/dist/marks/GridY.svelte +30 -15
  89. package/dist/marks/GridY.svelte.d.ts +108 -32
  90. package/dist/marks/HTMLTooltip.svelte +14 -7
  91. package/dist/marks/HTMLTooltip.svelte.d.ts +7 -0
  92. package/dist/marks/Image.svelte +50 -25
  93. package/dist/marks/Image.svelte.d.ts +117 -35
  94. package/dist/marks/Line.svelte +67 -44
  95. package/dist/marks/Line.svelte.d.ts +119 -30
  96. package/dist/marks/LineX.svelte +2 -1
  97. package/dist/marks/LineX.svelte.d.ts +142 -69
  98. package/dist/marks/LineY.svelte +2 -1
  99. package/dist/marks/LineY.svelte.d.ts +142 -69
  100. package/dist/marks/Link.svelte +70 -46
  101. package/dist/marks/Link.svelte.d.ts +126 -41
  102. package/dist/marks/Pointer.svelte +24 -15
  103. package/dist/marks/Pointer.svelte.d.ts +7 -0
  104. package/dist/marks/Rect.svelte +13 -5
  105. package/dist/marks/Rect.svelte.d.ts +116 -35
  106. package/dist/marks/RectX.svelte +6 -3
  107. package/dist/marks/RectX.svelte.d.ts +158 -12
  108. package/dist/marks/RectY.svelte +6 -3
  109. package/dist/marks/RectY.svelte.d.ts +158 -12
  110. package/dist/marks/RegressionX.svelte +13 -6
  111. package/dist/marks/RegressionX.svelte.d.ts +8 -3
  112. package/dist/marks/RegressionY.svelte +13 -6
  113. package/dist/marks/RegressionY.svelte.d.ts +8 -3
  114. package/dist/marks/RuleX.svelte +18 -11
  115. package/dist/marks/RuleX.svelte.d.ts +112 -32
  116. package/dist/marks/RuleY.svelte +19 -12
  117. package/dist/marks/RuleY.svelte.d.ts +114 -34
  118. package/dist/marks/Spike.svelte +11 -5
  119. package/dist/marks/Spike.svelte.d.ts +146 -68
  120. package/dist/marks/Text.svelte +24 -7
  121. package/dist/marks/Text.svelte.d.ts +253 -75
  122. package/dist/marks/TickX.svelte +56 -48
  123. package/dist/marks/TickX.svelte.d.ts +114 -40
  124. package/dist/marks/TickY.svelte +59 -51
  125. package/dist/marks/TickY.svelte.d.ts +117 -43
  126. package/dist/marks/Trail.svelte +25 -13
  127. package/dist/marks/Trail.svelte.d.ts +116 -33
  128. package/dist/marks/Vector.svelte +20 -11
  129. package/dist/marks/Vector.svelte.d.ts +116 -35
  130. package/dist/marks/WaffleX.svelte +18 -16
  131. package/dist/marks/WaffleX.svelte.d.ts +131 -57
  132. package/dist/marks/WaffleY.svelte +16 -15
  133. package/dist/marks/WaffleY.svelte.d.ts +129 -56
  134. package/dist/marks/helpers/Anchor.svelte +17 -2
  135. package/dist/marks/helpers/Anchor.svelte.d.ts +16 -1
  136. package/dist/marks/helpers/AreaCanvas.svelte +8 -8
  137. package/dist/marks/helpers/BaseAxisX.svelte +38 -41
  138. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +11 -17
  139. package/dist/marks/helpers/BaseAxisY.svelte +35 -35
  140. package/dist/marks/helpers/BaseAxisY.svelte.d.ts +12 -15
  141. package/dist/marks/helpers/Box.svelte +35 -28
  142. package/dist/marks/helpers/Box.svelte.d.ts +122 -50
  143. package/dist/marks/helpers/DotCanvas.svelte +11 -9
  144. package/dist/marks/helpers/GeoCanvas.svelte +7 -6
  145. package/dist/marks/helpers/LineCanvas.svelte +7 -7
  146. package/dist/marks/helpers/LinearGradientX.svelte +2 -2
  147. package/dist/marks/helpers/LinearGradientX.svelte.d.ts +1 -1
  148. package/dist/marks/helpers/LinearGradientY.svelte +2 -2
  149. package/dist/marks/helpers/LinearGradientY.svelte.d.ts +1 -1
  150. package/dist/marks/helpers/Marker.svelte +2 -2
  151. package/dist/marks/helpers/MarkerPath.svelte +15 -12
  152. package/dist/marks/helpers/MarkerPath.svelte.d.ts +105 -32
  153. package/dist/marks/helpers/MultilineText.svelte +24 -17
  154. package/dist/marks/helpers/MultilineText.svelte.d.ts +1 -1
  155. package/dist/marks/helpers/RectCanvas.svelte +31 -26
  156. package/dist/marks/helpers/RectPath.svelte +2 -2
  157. package/dist/marks/helpers/Regression.svelte +176 -86
  158. package/dist/marks/helpers/Regression.svelte.d.ts +20 -8
  159. package/dist/marks/helpers/RuleCanvas.svelte +9 -6
  160. package/dist/marks/helpers/TextCanvas.svelte +13 -9
  161. package/dist/marks/helpers/TextCanvas.svelte.d.ts +6 -6
  162. package/dist/marks/helpers/TickCanvas.svelte +6 -5
  163. package/dist/marks/helpers/TrailCanvas.svelte +16 -18
  164. package/dist/marks/helpers/TrailCanvas.svelte.d.ts +3 -5
  165. package/dist/marks/helpers/canvas.js +16 -9
  166. package/dist/marks/helpers/events.d.ts +2 -2
  167. package/dist/marks/helpers/events.js +14 -7
  168. package/dist/marks/helpers/waffle.d.ts +3 -3
  169. package/dist/marks/helpers/waffle.js +6 -4
  170. package/dist/regression/polynomial.d.ts +1 -1
  171. package/dist/regression/polynomial.js +5 -5
  172. package/dist/regression/utils/determination.d.ts +1 -1
  173. package/dist/regression/utils/determination.js +1 -1
  174. package/dist/regression/utils/geometry.d.ts +1 -1
  175. package/dist/regression/utils/interpose.d.ts +1 -1
  176. package/dist/regression/utils/interpose.js +1 -1
  177. package/dist/regression/utils/points.d.ts +1 -1
  178. package/dist/transforms/bin.d.ts +3 -3
  179. package/dist/transforms/bin.js +29 -20
  180. package/dist/transforms/bollinger.d.ts +8 -0
  181. package/dist/transforms/bollinger.js +9 -1
  182. package/dist/transforms/centroid.d.ts +4 -0
  183. package/dist/transforms/centroid.js +4 -0
  184. package/dist/transforms/density.d.ts +4 -4
  185. package/dist/transforms/density.js +20 -13
  186. package/dist/transforms/dodge.d.ts +12 -1
  187. package/dist/transforms/dodge.js +15 -6
  188. package/dist/transforms/group.d.ts +141 -4
  189. package/dist/transforms/group.js +4 -1
  190. package/dist/transforms/interval.d.ts +204 -60
  191. package/dist/transforms/jitter.d.ts +421 -4
  192. package/dist/transforms/jitter.js +10 -1
  193. package/dist/transforms/map.d.ts +412 -4
  194. package/dist/transforms/map.js +3 -3
  195. package/dist/transforms/normalize.d.ts +276 -5
  196. package/dist/transforms/normalize.js +5 -3
  197. package/dist/transforms/recordize.d.ts +17 -5
  198. package/dist/transforms/recordize.js +13 -9
  199. package/dist/transforms/rename.d.ts +11 -4
  200. package/dist/transforms/rename.js +7 -2
  201. package/dist/transforms/select.d.ts +722 -210
  202. package/dist/transforms/select.js +13 -1
  203. package/dist/transforms/shift.d.ts +8 -0
  204. package/dist/transforms/shift.js +20 -6
  205. package/dist/transforms/sort.d.ts +13 -258
  206. package/dist/transforms/sort.js +13 -10
  207. package/dist/transforms/stack.d.ts +58 -9
  208. package/dist/transforms/stack.js +27 -11
  209. package/dist/transforms/window.d.ts +221 -66
  210. package/dist/transforms/window.js +8 -2
  211. package/dist/types/axes.d.ts +43 -0
  212. package/dist/types/axes.js +1 -0
  213. package/dist/types/channel.d.ts +30 -2
  214. package/dist/types/data.d.ts +14 -1
  215. package/dist/types/facet.d.ts +5 -0
  216. package/dist/types/index.d.ts +33 -8
  217. package/dist/types/index.js +11 -7
  218. package/dist/types/mark.d.ts +124 -35
  219. package/dist/types/plot.d.ts +118 -16
  220. package/dist/types/scale.d.ts +125 -8
  221. package/package.json +178 -175
  222. package/dist/helpers/autoTicks.d.ts +0 -12
@@ -1,71 +1,146 @@
1
- import type { ChannelAccessor, DataRecord, RawValue } from '../types';
1
+ import type { ChannelAccessor, DataRecord, RawValue } from '../types/index.js';
2
2
  declare function $$render<Datum extends DataRecord>(): {
3
3
  props: Pick<Partial<{
4
- filter: import("../types").ConstantAccessor<boolean, Datum>;
4
+ filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
5
5
  facet: "auto" | "include" | "exclude";
6
6
  fx: ChannelAccessor<Datum>;
7
7
  fy: ChannelAccessor<Datum>;
8
- dx: import("../types").ConstantAccessor<number, Datum>;
9
- dy: import("../types").ConstantAccessor<number, Datum>;
8
+ dx: import("../types/index.js").ConstantAccessor<number, Datum>;
9
+ dy: import("../types/index.js").ConstantAccessor<number, Datum>;
10
10
  dodgeX: import("../transforms/dodge.js").DodgeXOptions;
11
11
  dodgeY: import("../transforms/dodge.js").DodgeYOptions;
12
12
  fill: ChannelAccessor<Datum>;
13
- fillOpacity: import("../types").ConstantAccessor<number, Datum>;
13
+ fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
14
+ fontFamily: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
15
+ fontSize: import("../types/index.js").ConstantAccessor<number | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "math" | (string & {}) | "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large" | "larger" | "smaller", Datum>;
16
+ fontStyle: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
17
+ fontVariant: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
18
+ fontWeight: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
19
+ letterSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
20
+ wordSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
21
+ textAnchor: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
22
+ textTransform: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
23
+ textDecoration: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
14
24
  sort: ((a: RawValue, b: RawValue) => number) | {
15
25
  channel: string;
16
26
  order?: "ascending" | "descending";
17
- } | import("../types").ConstantAccessor<RawValue, Datum>;
27
+ } | import("../types/index.js").ConstantAccessor<RawValue, Datum>;
18
28
  stroke: ChannelAccessor<Datum>;
19
- strokeWidth: import("../types").ConstantAccessor<number, Datum>;
20
- strokeOpacity: import("../types").ConstantAccessor<number, Datum>;
21
- strokeLinejoin: import("../types").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
22
- strokeLinecap: import("../types").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
23
- strokeMiterlimit: import("../types").ConstantAccessor<number, Datum>;
29
+ strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
30
+ strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
31
+ strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
32
+ strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
33
+ strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
24
34
  opacity: ChannelAccessor<Datum>;
25
- strokeDasharray: import("../types").ConstantAccessor<string, Datum>;
26
- strokeDashoffset: import("../types").ConstantAccessor<number, Datum>;
27
- mixBlendMode: import("../types").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
35
+ strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
36
+ strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
37
+ blend: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
38
+ mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
28
39
  clipPath: string;
29
40
  mask: string;
30
- imageFilter: import("../types").ConstantAccessor<string, Datum>;
31
- shapeRendering: import("../types").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
32
- paintOrder: import("../types").ConstantAccessor<string, Datum>;
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, Datum>;
42
+ shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
43
+ paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
44
+ onclick: (event: Event & {
45
+ currentTarget: SVGPathElement;
46
+ }, datum: Datum, index: number) => void;
47
+ ondblclick: (event: Event & {
48
+ currentTarget: SVGPathElement;
49
+ }, datum: Datum, index: number) => void;
50
+ onmouseup: (event: Event & {
51
+ currentTarget: SVGPathElement;
52
+ }, datum: Datum, index: number) => void;
53
+ onmousedown: (event: Event & {
54
+ currentTarget: SVGPathElement;
55
+ }, datum: Datum, index: number) => void;
56
+ onmouseenter: (event: Event & {
57
+ currentTarget: SVGPathElement;
58
+ }, datum: Datum, index: number) => void;
59
+ onmousemove: (event: Event & {
60
+ currentTarget: SVGPathElement;
61
+ }, datum: Datum, index: number) => void;
62
+ onmouseleave: (event: Event & {
63
+ currentTarget: SVGPathElement;
64
+ }, datum: Datum, index: number) => void;
65
+ onmouseout: (event: Event & {
66
+ currentTarget: SVGPathElement;
67
+ }, datum: Datum, index: number) => void;
68
+ onmouseover: (event: Event & {
69
+ currentTarget: SVGPathElement;
70
+ }, datum: Datum, index: number) => void;
71
+ onpointercancel: (event: Event & {
72
+ currentTarget: SVGPathElement;
73
+ }, datum: Datum, index: number) => void;
74
+ onpointerdown: (event: Event & {
75
+ currentTarget: SVGPathElement;
76
+ }, datum: Datum, index: number) => void;
77
+ onpointerup: (event: Event & {
78
+ currentTarget: SVGPathElement;
79
+ }, datum: Datum, index: number) => void;
80
+ onpointerenter: (event: Event & {
81
+ currentTarget: SVGPathElement;
82
+ }, datum: Datum, index: number) => void;
83
+ onpointerleave: (event: Event & {
84
+ currentTarget: SVGPathElement;
85
+ }, datum: Datum, index: number) => void;
86
+ onpointermove: (event: Event & {
87
+ currentTarget: SVGPathElement;
88
+ }, datum: Datum, index: number) => void;
89
+ onpointerover: (event: Event & {
90
+ currentTarget: SVGPathElement;
91
+ }, datum: Datum, index: number) => void;
92
+ onpointerout: (event: Event & {
93
+ currentTarget: SVGPathElement;
94
+ }, datum: Datum, index: number) => void;
95
+ ondrag: (event: Event & {
96
+ currentTarget: SVGPathElement;
97
+ }, datum: Datum, index: number) => void;
98
+ ondrop: (event: Event & {
99
+ currentTarget: SVGPathElement;
100
+ }, datum: Datum, index: number) => void;
101
+ ondragstart: (event: Event & {
102
+ currentTarget: SVGPathElement;
103
+ }, datum: Datum, index: number) => void;
104
+ ondragenter: (event: Event & {
105
+ currentTarget: SVGPathElement;
106
+ }, datum: Datum, index: number) => void;
107
+ ondragleave: (event: Event & {
108
+ currentTarget: SVGPathElement;
109
+ }, datum: Datum, index: number) => void;
110
+ ondragover: (event: Event & {
111
+ currentTarget: SVGPathElement;
112
+ }, datum: Datum, index: number) => void;
113
+ ondragend: (event: Event & {
114
+ currentTarget: SVGPathElement;
115
+ }, datum: Datum, index: number) => void;
116
+ ontouchstart: (event: Event & {
117
+ currentTarget: SVGPathElement;
118
+ }, datum: Datum, index: number) => void;
119
+ ontouchmove: (event: Event & {
120
+ currentTarget: SVGPathElement;
121
+ }, datum: Datum, index: number) => void;
122
+ ontouchend: (event: Event & {
123
+ currentTarget: SVGPathElement;
124
+ }, datum: Datum, index: number) => void;
125
+ ontouchcancel: (event: Event & {
126
+ currentTarget: SVGPathElement;
127
+ }, datum: Datum, index: number) => void;
128
+ oncontextmenu: (event: Event & {
129
+ currentTarget: SVGPathElement;
130
+ }, datum: Datum, index: number) => void;
131
+ onwheel: (event: Event & {
132
+ currentTarget: SVGPathElement;
133
+ }, datum: Datum, index: number) => void;
63
134
  class: string;
64
135
  style: string;
65
- cursor: import("../types").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
136
+ cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
137
+ title: import("../types/index.js").ConstantAccessor<string, Datum>;
66
138
  }>, "fx" | "fy" | "fill" | "stroke" | "class"> & {
139
+ /** the input data array */
67
140
  data: Datum[];
141
+ /** the horizontal position channel; bound to a band scale for grouping */
68
142
  x: ChannelAccessor;
143
+ /** the vertical position channel; the quantitative values to summarize */
69
144
  y: ChannelAccessor;
70
145
  /**
71
146
  * Custom sort order for grouped box plot data
@@ -74,23 +149,23 @@ declare function $$render<Datum extends DataRecord>(): {
74
149
  /**
75
150
  * Options for the rule marks that represent the min/max range
76
151
  */
77
- rule: Record<string, ChannelAccessor<Datum>>;
152
+ rule?: Record<string, ChannelAccessor<Datum>>;
78
153
  /**
79
154
  * Options for the bar marks that represent the IQR range
80
155
  */
81
- bar: Record<string, ChannelAccessor<Datum>>;
156
+ bar?: Record<string, ChannelAccessor<Datum>>;
82
157
  /**
83
158
  * Options for the tick marks that represent the median
84
159
  */
85
- tickMedian: Record<string, ChannelAccessor<Datum>> | boolean;
160
+ tickMedian?: Record<string, ChannelAccessor<Datum>> | boolean;
86
161
  /**
87
162
  * Options for the tick marks that represent the min/max range
88
163
  */
89
- tickMinMax: Record<string, ChannelAccessor<Datum>> | boolean;
164
+ tickMinMax?: Record<string, ChannelAccessor<Datum>> | boolean;
90
165
  /**
91
166
  * Options for the dot marks that represent the outliers
92
167
  */
93
- dot: Record<string, ChannelAccessor<Datum>>;
168
+ dot?: Record<string, ChannelAccessor<Datum>>;
94
169
  };
95
170
  exports: {};
96
171
  bindings: "";
@@ -2,6 +2,16 @@
2
2
  @component
3
3
  For creating a two-dimensional brush selection
4
4
  -->
5
+ <script module lang="ts">
6
+ export type Brush = {
7
+ x1?: number | Date;
8
+ x2?: number | Date;
9
+ y1?: number | Date;
10
+ y2?: number | Date;
11
+ enabled: boolean;
12
+ };
13
+ </script>
14
+
5
15
  <script lang="ts" generics="Datum extends DataRecord">
6
16
  interface BrushMarkProps extends Pick<
7
17
  BaseMarkProps<Datum>,
@@ -15,6 +25,7 @@
15
25
  | 'strokeLinejoin'
16
26
  | 'strokeMiterlimit'
17
27
  > {
28
+ /** the brush state object (bindable); contains x1, x2, y1, y2, and enabled */
18
29
  brush: Brush;
19
30
  /**
20
31
  * limit brushing to x or y dimension
@@ -28,8 +39,11 @@
28
39
  * size of the (invisible) drag resize area around the edges of the brush selection
29
40
  */
30
41
  resizeHandleSize?: number;
42
+ /** called when the user starts dragging to create or move a brush */
31
43
  onbrushstart?: (evt: BrushEvent) => void;
44
+ /** called when the user finishes dragging the brush */
32
45
  onbrushend?: (evt: BrushEvent) => void;
46
+ /** called continuously while the user is dragging the brush */
33
47
  onbrush?: (evt: BrushEvent) => void;
34
48
  }
35
49
  import { getContext, untrack } from 'svelte';
@@ -54,18 +68,9 @@
54
68
  ...getPlotDefaults().brush
55
69
  };
56
70
 
57
- type Brush = {
58
- x1?: number | Date;
59
- x2?: number | Date;
60
- y1?: number | Date;
61
- y2?: number | Date;
62
- enabled: boolean;
63
- };
64
-
65
71
  type BrushEvent = MouseEvent & { brush: Brush };
66
72
 
67
73
  const {
68
- data = [{} as Datum],
69
74
  stroke,
70
75
  strokeWidth,
71
76
  strokeDasharray,
@@ -81,7 +86,7 @@
81
86
  onbrushstart,
82
87
  onbrushend,
83
88
  onbrush
84
- }: BrushMarkProps = $derived({
89
+ }: Omit<BrushMarkProps, 'brush'> = $derived({
85
90
  ...DEFAULTS,
86
91
  ...markProps
87
92
  });
@@ -278,10 +283,10 @@
278
283
  // draw new brush selection
279
284
  action = 'draw';
280
285
  if (typeof xScaleFn.invert === 'function' && limitDimension !== 'y') {
281
- x1 = x2 = xScaleFn.invert(dragStart[0]);
286
+ x1 = x2 = xScaleFn.invert(dragStart[0]) as number | Date;
282
287
  }
283
288
  if (typeof yScaleFn.invert === 'function' && limitDimension !== 'x') {
284
- y1 = y2 = yScaleFn.invert(dragStart[1]);
289
+ y1 = y2 = yScaleFn.invert(dragStart[1]) as number | Date;
285
290
  }
286
291
  }
287
292
  onbrushstart?.({ ...e, brush });
@@ -323,10 +328,10 @@
323
328
  const hasX = limitDimension !== 'y';
324
329
  const hasY = limitDimension !== 'x';
325
330
 
326
- const dx1 = !hasX ? 0 : xScaleFn.invert(xScaleFn(x1) + px);
327
- const dx2 = !hasX ? 0 : xScaleFn.invert(xScaleFn(x2) + px);
328
- const dy1 = !hasY ? 0 : yScaleFn.invert(yScaleFn(y1) + py);
329
- const dy2 = !hasY ? 0 : yScaleFn.invert(yScaleFn(y2) + py);
331
+ const dx1 = (!hasX ? 0 : xScaleFn.invert(xScaleFn(x1) + px)) as number | Date;
332
+ const dx2 = (!hasX ? 0 : xScaleFn.invert(xScaleFn(x2) + px)) as number | Date;
333
+ const dy1 = (!hasY ? 0 : yScaleFn.invert(yScaleFn(y1) + py)) as number | Date;
334
+ const dy2 = (!hasY ? 0 : yScaleFn.invert(yScaleFn(y2) + py)) as number | Date;
330
335
 
331
336
  if (action === 'move') {
332
337
  // move edges
@@ -335,8 +340,8 @@
335
340
  y1 = dy1;
336
341
  y2 = dy2;
337
342
  } else if (action === 'draw') {
338
- x2 = !hasX ? 0 : xScaleFn.invert(newPos[0]);
339
- y2 = !hasY ? 0 : yScaleFn.invert(newPos[1]);
343
+ x2 = (!hasX ? 0 : xScaleFn.invert(newPos[0])) as number | Date;
344
+ y2 = (!hasY ? 0 : yScaleFn.invert(newPos[1])) as number | Date;
340
345
 
341
346
  if (constrainToDomain) {
342
347
  x2 = constrain(x2, xDomain as [typeof x2, typeof x2]);
@@ -379,7 +384,7 @@
379
384
  action: ActionType,
380
385
  swapDir1: string,
381
386
  swapDir2: string
382
- ) {
387
+ ): [number | Date, number | Date, ActionType] {
383
388
  if (action && v2 < v1) {
384
389
  return [
385
390
  v2,
@@ -422,5 +427,5 @@
422
427
  stroke="transparent"
423
428
  inset={-20}
424
429
  {cursor}
425
- {onpointerdown}
426
- {onpointermove} />
430
+ onpointerdown={onpointerdown as any}
431
+ onpointermove={onpointermove as any} />
@@ -1,3 +1,10 @@
1
+ export type Brush = {
2
+ x1?: number | Date;
3
+ x2?: number | Date;
4
+ y1?: number | Date;
5
+ y2?: number | Date;
6
+ enabled: boolean;
7
+ };
1
8
  import type { DataRecord } from '../types/index.js';
2
9
  declare function $$render<Datum extends DataRecord>(): {
3
10
  props: Pick<Partial<{
@@ -7,10 +14,20 @@ declare function $$render<Datum extends DataRecord>(): {
7
14
  fy: import("../types/index.js").ChannelAccessor<Datum>;
8
15
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
9
16
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
17
+ dodgeX: import("../transforms/dodge.js").DodgeXOptions;
18
+ dodgeY: import("../transforms/dodge.js").DodgeYOptions;
12
19
  fill: import("../types/index.js").ChannelAccessor<Datum>;
13
20
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
21
+ fontFamily: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
22
+ fontSize: import("../types/index.js").ConstantAccessor<number | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "math" | (string & {}) | "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large" | "larger" | "smaller", Datum>;
23
+ fontStyle: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
24
+ fontVariant: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
25
+ fontWeight: import("../types/index.js").ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
26
+ letterSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
27
+ wordSpacing: import("../types/index.js").ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
28
+ textAnchor: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
29
+ textTransform: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
30
+ textDecoration: import("../types/index.js").ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
14
31
  sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
15
32
  channel: string;
16
33
  order?: "ascending" | "descending";
@@ -24,53 +41,110 @@ declare function $$render<Datum extends DataRecord>(): {
24
41
  opacity: import("../types/index.js").ChannelAccessor<Datum>;
25
42
  strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
26
43
  strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
44
+ blend: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
45
  mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
28
46
  clipPath: string;
29
47
  mask: string;
30
48
  imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
31
49
  shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
32
50
  paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
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>;
51
+ onclick: (event: Event & {
52
+ currentTarget: SVGPathElement;
53
+ }, datum: Datum, index: number) => void;
54
+ ondblclick: (event: Event & {
55
+ currentTarget: SVGPathElement;
56
+ }, datum: Datum, index: number) => void;
57
+ onmouseup: (event: Event & {
58
+ currentTarget: SVGPathElement;
59
+ }, datum: Datum, index: number) => void;
60
+ onmousedown: (event: Event & {
61
+ currentTarget: SVGPathElement;
62
+ }, datum: Datum, index: number) => void;
63
+ onmouseenter: (event: Event & {
64
+ currentTarget: SVGPathElement;
65
+ }, datum: Datum, index: number) => void;
66
+ onmousemove: (event: Event & {
67
+ currentTarget: SVGPathElement;
68
+ }, datum: Datum, index: number) => void;
69
+ onmouseleave: (event: Event & {
70
+ currentTarget: SVGPathElement;
71
+ }, datum: Datum, index: number) => void;
72
+ onmouseout: (event: Event & {
73
+ currentTarget: SVGPathElement;
74
+ }, datum: Datum, index: number) => void;
75
+ onmouseover: (event: Event & {
76
+ currentTarget: SVGPathElement;
77
+ }, datum: Datum, index: number) => void;
78
+ onpointercancel: (event: Event & {
79
+ currentTarget: SVGPathElement;
80
+ }, datum: Datum, index: number) => void;
81
+ onpointerdown: (event: Event & {
82
+ currentTarget: SVGPathElement;
83
+ }, datum: Datum, index: number) => void;
84
+ onpointerup: (event: Event & {
85
+ currentTarget: SVGPathElement;
86
+ }, datum: Datum, index: number) => void;
87
+ onpointerenter: (event: Event & {
88
+ currentTarget: SVGPathElement;
89
+ }, datum: Datum, index: number) => void;
90
+ onpointerleave: (event: Event & {
91
+ currentTarget: SVGPathElement;
92
+ }, datum: Datum, index: number) => void;
93
+ onpointermove: (event: Event & {
94
+ currentTarget: SVGPathElement;
95
+ }, datum: Datum, index: number) => void;
96
+ onpointerover: (event: Event & {
97
+ currentTarget: SVGPathElement;
98
+ }, datum: Datum, index: number) => void;
99
+ onpointerout: (event: Event & {
100
+ currentTarget: SVGPathElement;
101
+ }, datum: Datum, index: number) => void;
102
+ ondrag: (event: Event & {
103
+ currentTarget: SVGPathElement;
104
+ }, datum: Datum, index: number) => void;
105
+ ondrop: (event: Event & {
106
+ currentTarget: SVGPathElement;
107
+ }, datum: Datum, index: number) => void;
108
+ ondragstart: (event: Event & {
109
+ currentTarget: SVGPathElement;
110
+ }, datum: Datum, index: number) => void;
111
+ ondragenter: (event: Event & {
112
+ currentTarget: SVGPathElement;
113
+ }, datum: Datum, index: number) => void;
114
+ ondragleave: (event: Event & {
115
+ currentTarget: SVGPathElement;
116
+ }, datum: Datum, index: number) => void;
117
+ ondragover: (event: Event & {
118
+ currentTarget: SVGPathElement;
119
+ }, datum: Datum, index: number) => void;
120
+ ondragend: (event: Event & {
121
+ currentTarget: SVGPathElement;
122
+ }, datum: Datum, index: number) => void;
123
+ ontouchstart: (event: Event & {
124
+ currentTarget: SVGPathElement;
125
+ }, datum: Datum, index: number) => void;
126
+ ontouchmove: (event: Event & {
127
+ currentTarget: SVGPathElement;
128
+ }, datum: Datum, index: number) => void;
129
+ ontouchend: (event: Event & {
130
+ currentTarget: SVGPathElement;
131
+ }, datum: Datum, index: number) => void;
132
+ ontouchcancel: (event: Event & {
133
+ currentTarget: SVGPathElement;
134
+ }, datum: Datum, index: number) => void;
135
+ oncontextmenu: (event: Event & {
136
+ currentTarget: SVGPathElement;
137
+ }, datum: Datum, index: number) => void;
138
+ onwheel: (event: Event & {
139
+ currentTarget: SVGPathElement;
140
+ }, datum: Datum, index: number) => void;
63
141
  class: string;
64
142
  style: string;
65
143
  cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
144
+ title: import("../types/index.js").ConstantAccessor<string, Datum>;
66
145
  }>, "stroke" | "strokeWidth" | "strokeOpacity" | "strokeLinejoin" | "strokeLinecap" | "strokeMiterlimit" | "strokeDasharray" | "strokeDashoffset" | "cursor"> & {
67
- brush: {
68
- x1?: number | Date;
69
- x2?: number | Date;
70
- y1?: number | Date;
71
- y2?: number | Date;
72
- enabled: boolean;
73
- };
146
+ /** the brush state object (bindable); contains x1, x2, y1, y2, and enabled */
147
+ brush: Brush;
74
148
  /**
75
149
  * limit brushing to x or y dimension
76
150
  */
@@ -83,32 +157,17 @@ declare function $$render<Datum extends DataRecord>(): {
83
157
  * size of the (invisible) drag resize area around the edges of the brush selection
84
158
  */
85
159
  resizeHandleSize?: number;
160
+ /** called when the user starts dragging to create or move a brush */
86
161
  onbrushstart?: (evt: MouseEvent & {
87
- brush: {
88
- x1?: number | Date;
89
- x2?: number | Date;
90
- y1?: number | Date;
91
- y2?: number | Date;
92
- enabled: boolean;
93
- };
162
+ brush: Brush;
94
163
  }) => void;
164
+ /** called when the user finishes dragging the brush */
95
165
  onbrushend?: (evt: MouseEvent & {
96
- brush: {
97
- x1?: number | Date;
98
- x2?: number | Date;
99
- y1?: number | Date;
100
- y2?: number | Date;
101
- enabled: boolean;
102
- };
166
+ brush: Brush;
103
167
  }) => void;
168
+ /** called continuously while the user is dragging the brush */
104
169
  onbrush?: (evt: MouseEvent & {
105
- brush: {
106
- x1?: number | Date;
107
- x2?: number | Date;
108
- y1?: number | Date;
109
- y2?: number | Date;
110
- enabled: boolean;
111
- };
170
+ brush: Brush;
112
171
  }) => void;
113
172
  };
114
173
  exports: {};
@@ -5,8 +5,11 @@
5
5
  <script lang="ts" generics="Datum extends DataRecord">
6
6
  interface CellMarkProps
7
7
  extends BaseMarkProps<Datum>, LinkableMarkProps<Datum>, BaseRectMarkProps<Datum> {
8
+ /** the input data array; each element becomes one cell */
8
9
  data: Datum[];
10
+ /** the horizontal position channel; typically an ordinal value */
9
11
  x?: ChannelAccessor<Datum>;
12
+ /** the vertical position channel; typically an ordinal value */
10
13
  y?: ChannelAccessor<Datum>;
11
14
  /**
12
15
  * Renders using Canvas instead of SVG.
@@ -18,7 +21,8 @@
18
21
  BaseMarkProps,
19
22
  BaseRectMarkProps,
20
23
  ChannelAccessor,
21
- LinkableMarkProps
24
+ LinkableMarkProps,
25
+ MarkType
22
26
  } from '../types/index.js';
23
27
  import Mark from '../Mark.svelte';
24
28
  import { recordizeY, sort } from '../index.js';
@@ -64,11 +68,11 @@
64
68
  </script>
65
69
 
66
70
  <Mark
67
- type="cell"
68
71
  required={['x', 'y']}
69
72
  requiredScales={{ x: ['band'], y: ['band'] }}
70
73
  channels={['x', 'y', 'fill', 'stroke', 'opacity', 'fillOpacity', 'strokeOpacity']}
71
- {...args}>
74
+ {...args}
75
+ type={'cell' as MarkType}>
72
76
  {#snippet children({ scaledData, usedScales })}
73
77
  {@const bwx = plot.scales.x.fn.bandwidth()}
74
78
  {@const bwy = plot.scales.y.fn.bandwidth()}
@@ -82,10 +86,10 @@
82
86
  )
83
87
  .map((d) => ({
84
88
  ...d,
85
- x1: d.x - bwx * 0.5,
86
- x2: d.x + bwx * 0.5,
87
- y1: d.y - bwy * 0.5,
88
- y2: d.y + bwy * 0.5
89
+ x1: (d.x as number) - bwx * 0.5,
90
+ x2: (d.x as number) + bwx * 0.5,
91
+ y1: (d.y as number) - bwy * 0.5,
92
+ y2: (d.y as number) + bwy * 0.5
89
93
  }))}
90
94
  <RectCanvas options={args} data={rectCanvasData} {usedScales} />
91
95
  {:else}
@@ -96,8 +100,8 @@
96
100
  class={className}
97
101
  {usedScales}
98
102
  options={args}
99
- x={d.x - bwx * 0.5}
100
- y={d.y - bwy * 0.5}
103
+ x={(d.x as number) - bwx * 0.5}
104
+ y={(d.y as number) - bwy * 0.5}
101
105
  width={bwx}
102
106
  height={bwy} />
103
107
  {/if}