svelteplot 0.3.3 → 0.3.5-pr-121.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 (191) hide show
  1. package/dist/Mark.svelte +25 -27
  2. package/dist/Mark.svelte.d.ts +87 -17
  3. package/dist/Plot.svelte +1 -2
  4. package/dist/Plot.svelte.d.ts +1 -1
  5. package/dist/constants.d.ts +1 -1
  6. package/dist/core/Facet.svelte +1 -1
  7. package/dist/core/Facet.svelte.d.ts +1 -1
  8. package/dist/core/FacetAxes.svelte +3 -1
  9. package/dist/core/FacetGrid.svelte +1 -1
  10. package/dist/core/FacetGrid.svelte.d.ts +1 -1
  11. package/dist/core/Plot.svelte +1 -1
  12. package/dist/core/Plot.svelte.d.ts +1 -1
  13. package/dist/helpers/autoScales.d.ts +1 -1
  14. package/dist/helpers/autoTicks.d.ts +1 -1
  15. package/dist/helpers/autoTicks.js +1 -1
  16. package/dist/helpers/callWithProps.d.ts +1 -1
  17. package/dist/helpers/colors.d.ts +2 -2
  18. package/dist/helpers/curves.d.ts +1 -1
  19. package/dist/helpers/facets.d.ts +1 -1
  20. package/dist/helpers/getBaseStyles.d.ts +4 -2
  21. package/dist/helpers/getBaseStyles.js +8 -0
  22. package/dist/helpers/group.d.ts +1 -1
  23. package/dist/helpers/index.d.ts +3 -3
  24. package/dist/helpers/isDataRecord.d.ts +1 -1
  25. package/dist/helpers/isRawValue.d.ts +1 -1
  26. package/dist/helpers/projection.d.ts +1 -1
  27. package/dist/helpers/reduce.d.ts +1 -1
  28. package/dist/helpers/regressionLoess.d.ts +1 -1
  29. package/dist/helpers/resolve.d.ts +3 -3
  30. package/dist/helpers/scales.d.ts +2 -2
  31. package/dist/helpers/typeChecks.d.ts +5 -5
  32. package/dist/marks/Area.svelte +14 -17
  33. package/dist/marks/Area.svelte.d.ts +91 -19
  34. package/dist/marks/AreaX.svelte +15 -12
  35. package/dist/marks/AreaX.svelte.d.ts +94 -3
  36. package/dist/marks/AreaY.svelte +15 -15
  37. package/dist/marks/AreaY.svelte.d.ts +94 -3
  38. package/dist/marks/Arrow.svelte +16 -19
  39. package/dist/marks/Arrow.svelte.d.ts +110 -38
  40. package/dist/marks/AxisX.svelte +60 -56
  41. package/dist/marks/AxisX.svelte.d.ts +98 -25
  42. package/dist/marks/AxisY.svelte +73 -54
  43. package/dist/marks/AxisY.svelte.d.ts +100 -27
  44. package/dist/marks/BarX.svelte +28 -30
  45. package/dist/marks/BarX.svelte.d.ts +89 -17
  46. package/dist/marks/BarY.svelte +27 -27
  47. package/dist/marks/BarY.svelte.d.ts +88 -16
  48. package/dist/marks/BollingerX.svelte +21 -16
  49. package/dist/marks/BollingerX.svelte.d.ts +17 -16
  50. package/dist/marks/BollingerY.svelte +21 -16
  51. package/dist/marks/BollingerY.svelte.d.ts +17 -16
  52. package/dist/marks/BoxX.svelte +5 -7
  53. package/dist/marks/BoxX.svelte.d.ts +5 -3
  54. package/dist/marks/BoxY.svelte +13 -16
  55. package/dist/marks/BoxY.svelte.d.ts +41 -28
  56. package/dist/marks/Brush.svelte +27 -30
  57. package/dist/marks/Brush.svelte.d.ts +20 -15
  58. package/dist/marks/BrushX.svelte +9 -7
  59. package/dist/marks/BrushX.svelte.d.ts +5 -2
  60. package/dist/marks/BrushY.svelte +9 -7
  61. package/dist/marks/BrushY.svelte.d.ts +5 -2
  62. package/dist/marks/Cell.svelte +17 -18
  63. package/dist/marks/Cell.svelte.d.ts +80 -8
  64. package/dist/marks/CellX.svelte +12 -8
  65. package/dist/marks/CellX.svelte.d.ts +5 -2
  66. package/dist/marks/CellY.svelte +12 -8
  67. package/dist/marks/CellY.svelte.d.ts +5 -2
  68. package/dist/marks/ColorLegend.svelte +5 -8
  69. package/dist/marks/ColorLegend.svelte.d.ts +2 -2
  70. package/dist/marks/CustomMark.svelte +23 -16
  71. package/dist/marks/CustomMark.svelte.d.ts +17 -14
  72. package/dist/marks/CustomMarkHTML.svelte +20 -18
  73. package/dist/marks/CustomMarkHTML.svelte.d.ts +29 -15
  74. package/dist/marks/DifferenceY.svelte +54 -18
  75. package/dist/marks/DifferenceY.svelte.d.ts +59 -28
  76. package/dist/marks/Dot.svelte +13 -14
  77. package/dist/marks/Dot.svelte.d.ts +84 -12
  78. package/dist/marks/DotX.svelte +9 -9
  79. package/dist/marks/DotX.svelte.d.ts +86 -4
  80. package/dist/marks/DotY.svelte +10 -9
  81. package/dist/marks/DotY.svelte.d.ts +87 -5
  82. package/dist/marks/Frame.svelte +20 -27
  83. package/dist/marks/Frame.svelte.d.ts +24 -10
  84. package/dist/marks/Geo.svelte +22 -15
  85. package/dist/marks/Geo.svelte.d.ts +97 -13
  86. package/dist/marks/Graticule.svelte +16 -19
  87. package/dist/marks/Graticule.svelte.d.ts +3 -3
  88. package/dist/marks/GridX.svelte +5 -8
  89. package/dist/marks/GridX.svelte.d.ts +79 -7
  90. package/dist/marks/GridY.svelte +5 -8
  91. package/dist/marks/GridY.svelte.d.ts +79 -7
  92. package/dist/marks/HTMLTooltip.svelte +9 -14
  93. package/dist/marks/HTMLTooltip.svelte.d.ts +25 -12
  94. package/dist/marks/Line.svelte +24 -29
  95. package/dist/marks/Line.svelte.d.ts +97 -25
  96. package/dist/marks/LineX.svelte +9 -4
  97. package/dist/marks/LineX.svelte.d.ts +99 -3
  98. package/dist/marks/LineY.svelte +11 -5
  99. package/dist/marks/LineY.svelte.d.ts +100 -4
  100. package/dist/marks/Link.svelte +35 -19
  101. package/dist/marks/Link.svelte.d.ts +107 -18
  102. package/dist/marks/Pointer.svelte +13 -18
  103. package/dist/marks/Pointer.svelte.d.ts +34 -21
  104. package/dist/marks/Rect.svelte +19 -19
  105. package/dist/marks/Rect.svelte.d.ts +86 -13
  106. package/dist/marks/RectX.svelte +10 -9
  107. package/dist/marks/RectX.svelte.d.ts +22 -6
  108. package/dist/marks/RectY.svelte +9 -10
  109. package/dist/marks/RectY.svelte.d.ts +22 -6
  110. package/dist/marks/RegressionX.svelte +1 -1
  111. package/dist/marks/RegressionX.svelte.d.ts +1 -1
  112. package/dist/marks/RegressionY.svelte +1 -1
  113. package/dist/marks/RegressionY.svelte.d.ts +1 -1
  114. package/dist/marks/RuleX.svelte +14 -16
  115. package/dist/marks/RuleX.svelte.d.ts +84 -12
  116. package/dist/marks/RuleY.svelte +12 -15
  117. package/dist/marks/RuleY.svelte.d.ts +84 -12
  118. package/dist/marks/Sphere.svelte +6 -7
  119. package/dist/marks/Sphere.svelte.d.ts +3 -2
  120. package/dist/marks/Spike.svelte +17 -9
  121. package/dist/marks/Spike.svelte.d.ts +94 -4
  122. package/dist/marks/SymbolLegend.svelte +1 -1
  123. package/dist/marks/Text.svelte +34 -124
  124. package/dist/marks/Text.svelte.d.ts +101 -20
  125. package/dist/marks/TickX.svelte +12 -13
  126. package/dist/marks/TickX.svelte.d.ts +92 -20
  127. package/dist/marks/TickY.svelte +11 -14
  128. package/dist/marks/TickY.svelte.d.ts +92 -20
  129. package/dist/marks/Vector.svelte +19 -23
  130. package/dist/marks/Vector.svelte.d.ts +93 -21
  131. package/dist/marks/helpers/AreaCanvas.svelte +1 -1
  132. package/dist/marks/helpers/AreaCanvas.svelte.d.ts +1 -1
  133. package/dist/marks/helpers/BaseAxisX.svelte +5 -3
  134. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +1 -1
  135. package/dist/marks/helpers/BaseAxisY.svelte +10 -8
  136. package/dist/marks/helpers/BaseAxisY.svelte.d.ts +3 -1
  137. package/dist/marks/helpers/CanvasLayer.svelte +1 -1
  138. package/dist/marks/helpers/DotCanvas.svelte +1 -1
  139. package/dist/marks/helpers/DotCanvas.svelte.d.ts +1 -1
  140. package/dist/marks/helpers/GeoCanvas.svelte +1 -1
  141. package/dist/marks/helpers/GeoCanvas.svelte.d.ts +1 -1
  142. package/dist/marks/helpers/LineCanvas.svelte +1 -1
  143. package/dist/marks/helpers/LineCanvas.svelte.d.ts +1 -1
  144. package/dist/marks/helpers/LinearGradientX.svelte +1 -1
  145. package/dist/marks/helpers/LinearGradientX.svelte.d.ts +1 -1
  146. package/dist/marks/helpers/LinearGradientY.svelte +1 -1
  147. package/dist/marks/helpers/LinearGradientY.svelte.d.ts +1 -1
  148. package/dist/marks/helpers/MarkerPath.svelte +1 -1
  149. package/dist/marks/helpers/MarkerPath.svelte.d.ts +1 -41
  150. package/dist/marks/helpers/MultilineText.svelte +158 -0
  151. package/dist/marks/helpers/MultilineText.svelte.d.ts +12 -0
  152. package/dist/marks/helpers/RectPath.svelte +29 -26
  153. package/dist/marks/helpers/RectPath.svelte.d.ts +39 -26
  154. package/dist/marks/helpers/Regression.svelte +7 -2
  155. package/dist/marks/helpers/Regression.svelte.d.ts +2 -5
  156. package/dist/marks/helpers/events.d.ts +1 -1
  157. package/dist/transforms/bin.d.ts +2 -2
  158. package/dist/transforms/bollinger.d.ts +2 -67
  159. package/dist/transforms/centroid.d.ts +8 -66
  160. package/dist/transforms/centroid.js +10 -7
  161. package/dist/transforms/filter.d.ts +1 -1
  162. package/dist/transforms/group.d.ts +5 -13
  163. package/dist/transforms/interval.d.ts +3 -123
  164. package/dist/transforms/jitter.d.ts +1 -1
  165. package/dist/transforms/map.d.ts +4 -184
  166. package/dist/transforms/normalize.d.ts +3 -123
  167. package/dist/transforms/recordize.d.ts +1 -1
  168. package/dist/transforms/rename.d.ts +2 -2
  169. package/dist/transforms/select.d.ts +8 -428
  170. package/dist/transforms/shift.d.ts +1 -1
  171. package/dist/transforms/sort.d.ts +4 -243
  172. package/dist/transforms/stack.d.ts +1 -1
  173. package/dist/transforms/window.d.ts +3 -131
  174. package/dist/types/channel.d.ts +11 -0
  175. package/dist/types/channel.js +1 -0
  176. package/dist/types/colorScheme.d.ts +1 -0
  177. package/dist/types/colorScheme.js +1 -0
  178. package/dist/types/data.d.ts +13 -0
  179. package/dist/types/data.js +1 -0
  180. package/dist/types/facet.d.ts +50 -0
  181. package/dist/types/facet.js +1 -0
  182. package/dist/types/index.d.ts +58 -0
  183. package/dist/types/index.js +7 -0
  184. package/dist/types/mark.d.ts +123 -0
  185. package/dist/types/mark.js +1 -0
  186. package/dist/types/plot.d.ts +459 -0
  187. package/dist/types/plot.js +1 -0
  188. package/dist/types/scale.d.ts +143 -0
  189. package/dist/types/scale.js +1 -0
  190. package/dist/types.d.ts +120 -127
  191. package/package.json +125 -120
@@ -2,22 +2,32 @@
2
2
  @component
3
3
  Useful for adding SVG text labels to your plot.
4
4
  -->
5
- <script module lang="ts">
6
- export type TextMarkProps = BaseMarkProps & {
7
- data: DataRecord[];
8
- x: ChannelAccessor;
9
- y: ChannelAccessor;
5
+
6
+ <script lang="ts" generics="Datum extends DataRecord">
7
+ interface TextMarkProps extends BaseMarkProps<Datum>, LinkableMarkProps<Datum> {
8
+ data: Datum[];
9
+ x: ChannelAccessor<Datum>;
10
+ y: ChannelAccessor<Datum>;
10
11
  children?: Snippet;
11
- text: ConstantAccessor<string>;
12
- title?: ConstantAccessor<string>;
12
+ text: ConstantAccessor<string | null | false | undefined, Datum>;
13
+ title?: ConstantAccessor<string, Datum>;
14
+ /**
15
+ * the font size of the text
16
+ */
17
+ fontSize?: ConstantAccessor<number, Datum>;
13
18
  /**
14
19
  * if you want to apply class names to individual text elements
15
20
  */
16
- textClass?: ConstantAccessor<string>;
21
+ textClass?: ConstantAccessor<string, Datum>;
17
22
  /**
18
23
  * the line anchor for vertical position; top, bottom, or middle
19
24
  */
20
25
  lineAnchor?: ConstantAccessor<'bottom' | 'top' | 'middle'>;
26
+ /**
27
+ * line height as multiplier of font size
28
+ * @default 1.2
29
+ */
30
+ lineHeight?: ConstantAccessor<number, Datum>;
21
31
  frameAnchor?: ConstantAccessor<
22
32
  | 'bottom'
23
33
  | 'top'
@@ -26,38 +36,43 @@
26
36
  | 'top-left'
27
37
  | 'bottom-left'
28
38
  | 'top-right'
29
- | 'bottom-right'
39
+ | 'bottom-right',
40
+ Datum
30
41
  >;
31
- };
32
- </script>
42
+ }
33
43
 
34
- <script lang="ts">
35
44
  import { getContext, type Snippet } from 'svelte';
36
45
  import GroupMultiple from './helpers/GroupMultiple.svelte';
37
46
  import type {
38
- PlotContext,
39
47
  DataRecord,
40
48
  BaseMarkProps,
41
49
  ConstantAccessor,
42
50
  ChannelAccessor,
43
- PlotDefaults
44
- } from '../types.js';
51
+ PlotDefaults,
52
+ TransformArg,
53
+ RawValue,
54
+ LinkableMarkProps
55
+ } from '../types/index.js';
45
56
  import { resolveProp, resolveStyles } from '../helpers/resolve.js';
46
57
  import Mark from '../Mark.svelte';
47
- import { sort } from '../index.js';
58
+ import { sort } from '..';
59
+ import Anchor from './helpers/Anchor.svelte';
60
+
61
+ import MultilineText from './helpers/MultilineText.svelte';
48
62
 
49
63
  const DEFAULTS = {
50
64
  fontSize: 12,
51
65
  fontWeight: 500,
52
66
  strokeWidth: 1.6,
53
67
  frameAnchor: 'center',
68
+ lineHeight: 1.1,
54
69
  ...getContext<PlotDefaults>('svelteplot/_defaults').text
55
70
  };
56
71
 
57
72
  let markProps: TextMarkProps = $props();
58
73
 
59
74
  const {
60
- data = [{}],
75
+ data = [{} as Datum],
61
76
  class: className = '',
62
77
  ...options
63
78
  }: TextMarkProps = $derived({
@@ -65,21 +80,12 @@
65
80
  ...markProps
66
81
  });
67
82
 
68
- const { getPlotState } = getContext<PlotContext>('svelteplot');
69
- let plot = $derived(getPlotState());
70
-
71
- const LINE_ANCHOR = {
72
- bottom: 'auto',
73
- middle: 'central',
74
- top: 'hanging'
75
- } as const;
76
-
77
83
  const args = $derived(
78
84
  sort({
79
85
  data,
80
86
  ...options
81
87
  })
82
- );
88
+ ) as TextMarkProps;
83
89
  </script>
84
90
 
85
91
  <Mark
@@ -101,107 +107,11 @@
101
107
  <GroupMultiple class="text {className}" length={className ? 2 : args.data.length}>
102
108
  {#each scaledData as d, i (i)}
103
109
  {#if d.valid}
104
- {@const title = resolveProp(args.title, d.datum, '')}
105
- {@const frameAnchor = resolveProp(args.frameAnchor, d.datum)}
106
- {@const isLeft =
107
- frameAnchor === 'left' ||
108
- frameAnchor === 'top-left' ||
109
- frameAnchor === 'bottom-left'}
110
- {@const isRight =
111
- frameAnchor === 'right' ||
112
- frameAnchor === 'top-right' ||
113
- frameAnchor === 'bottom-right'}
114
- {@const isTop =
115
- frameAnchor === 'top' ||
116
- frameAnchor === 'top-left' ||
117
- frameAnchor === 'top-right'}
118
- {@const isBottom =
119
- frameAnchor === 'bottom' ||
120
- frameAnchor === 'bottom-left' ||
121
- frameAnchor === 'bottom-right'}
122
- {@const [x, y] =
123
- args.x != null && args.y != null
124
- ? [d.x, d.y]
125
- : [
126
- args.x != null
127
- ? d.x
128
- : isLeft
129
- ? plot.options.marginLeft
130
- : isRight
131
- ? plot.options.marginLeft + plot.facetWidth
132
- : plot.options.marginLeft + plot.facetWidth * 0.5,
133
- args.y != null
134
- ? d.y
135
- : isTop
136
- ? plot.options.marginTop
137
- : isBottom
138
- ? plot.options.marginTop + plot.facetHeight
139
- : plot.options.marginTop + plot.facetHeight * 0.5
140
- ]}
141
-
142
- {@const dx = +resolveProp(args.dx, d.datum, 0)}
143
- {@const dy = +resolveProp(args.dy, d.datum, 0)}
144
110
  {@const textLines = String(resolveProp(args.text, d.datum, '')).split('\n')}
145
- {@const lineAnchor = resolveProp(
146
- args.lineAnchor,
147
- d.datum,
148
- args.y != null ? 'middle' : isTop ? 'top' : isBottom ? 'bottom' : 'middle'
149
- )}
150
- {@const textClassName = resolveProp(args.textClass, d.datum, null)}
151
111
 
152
- {@const [style, styleClass] = resolveStyles(
153
- plot,
154
- { ...d, __tspanIndex: 0 },
155
- {
156
- fontSize: 12,
157
- fontWeight: 500,
158
- strokeWidth: 1.6,
159
- textAnchor: isLeft ? 'start' : isRight ? 'end' : 'middle',
160
- ...args
161
- },
162
- 'fill',
163
- usedScales
164
- )}
165
-
166
- {#if textLines.length > 1}
167
- <!-- multiline text-->
168
- {@const fontSize = resolveProp(args.fontSize, d.datum) || 12}
169
- <text
170
- class={[textClassName]}
171
- dominant-baseline={LINE_ANCHOR[lineAnchor]}
172
- transform="translate({Math.round(x + dx)},{Math.round(
173
- y +
174
- dy -
175
- (lineAnchor === 'bottom'
176
- ? textLines.length - 1
177
- : lineAnchor === 'middle'
178
- ? (textLines.length - 1) * 0.5
179
- : 0) *
180
- fontSize
181
- )})"
182
- >{#each textLines as line, l (l)}<tspan
183
- x="0"
184
- dy={l ? fontSize : 0}
185
- class={styleClass}
186
- {style}>{line}</tspan
187
- >{/each}{#if title}<title>{title}</title>{/if}</text>
188
- {:else}
189
- <!-- singleline text-->
190
- <text
191
- class={[textClassName, styleClass]}
192
- dominant-baseline={LINE_ANCHOR[lineAnchor]}
193
- transform="translate({Math.round(x + dx)},{Math.round(y + dy)})"
194
- {style}
195
- >{textLines[0]}{#if title}<title>{title}</title>{/if}</text>
196
- {/if}
112
+ <MultilineText {textLines} {d} {args} {usedScales} />
197
113
  {/if}
198
114
  {/each}
199
115
  </GroupMultiple>
200
116
  {/snippet}
201
117
  </Mark>
202
-
203
- <style>
204
- text {
205
- paint-order: stroke fill;
206
- }
207
- </style>
@@ -1,23 +1,104 @@
1
- export type TextMarkProps = BaseMarkProps & {
2
- data: DataRecord[];
3
- x: ChannelAccessor;
4
- y: ChannelAccessor;
5
- children?: Snippet;
6
- text: ConstantAccessor<string>;
7
- title?: ConstantAccessor<string>;
8
- /**
9
- * if you want to apply class names to individual text elements
10
- */
11
- textClass?: ConstantAccessor<string>;
12
- /**
13
- * the line anchor for vertical position; top, bottom, or middle
14
- */
15
- lineAnchor?: ConstantAccessor<'bottom' | 'top' | 'middle'>;
16
- frameAnchor?: ConstantAccessor<'bottom' | 'top' | 'left' | 'right' | 'top-left' | 'bottom-left' | 'top-right' | 'bottom-right'>;
17
- };
18
1
  import { type Snippet } from 'svelte';
19
- import type { DataRecord, BaseMarkProps, ConstantAccessor, ChannelAccessor } from '../types.js';
2
+ import type { DataRecord, ConstantAccessor, ChannelAccessor, RawValue, LinkableMarkProps } from '../types/index.js';
3
+ declare class __sveltets_Render<Datum extends DataRecord> {
4
+ props(): Partial<{
5
+ filter?: ConstantAccessor<boolean, Datum>;
6
+ facet?: "auto" | "include" | "exclude";
7
+ fx: ChannelAccessor<Datum>;
8
+ fy: ChannelAccessor<Datum>;
9
+ dx: ConstantAccessor<number, Datum>;
10
+ dy: ConstantAccessor<number, Datum>;
11
+ fill: ChannelAccessor<Datum>;
12
+ fillOpacity: ConstantAccessor<number, Datum>;
13
+ sort: {
14
+ channel: string;
15
+ order?: "ascending" | "descending";
16
+ } | ((a: RawValue, b: RawValue) => number) | ConstantAccessor<RawValue, Datum>;
17
+ stroke: ChannelAccessor<Datum>;
18
+ strokeWidth: ConstantAccessor<number, Datum>;
19
+ strokeOpacity: ConstantAccessor<number, Datum>;
20
+ strokeLinejoin: ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
21
+ strokeLinecap: ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
22
+ strokeMiterlimit: ConstantAccessor<number, Datum>;
23
+ opacity: ChannelAccessor<Datum>;
24
+ strokeDasharray: ConstantAccessor<string, Datum>;
25
+ strokeDashoffset: ConstantAccessor<number, Datum>;
26
+ mixBlendMode: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
+ clipPath: string;
28
+ imageFilter: ConstantAccessor<string, Datum>;
29
+ shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
+ paintOrder: ConstantAccessor<string, Datum>;
31
+ onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
+ ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
+ onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
+ onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
+ onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
+ onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
+ onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
+ onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
+ onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
+ onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
+ onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
+ onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
+ onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
+ onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
+ onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
+ onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
+ onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
+ ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
+ ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
+ ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
+ ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
+ ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
+ ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
+ ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
+ ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
+ ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
+ ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
+ ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
+ oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
+ onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
+ class: string | null;
62
+ cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
63
+ }> & LinkableMarkProps<Datum> & {
64
+ data: Datum[];
65
+ x: ChannelAccessor<Datum>;
66
+ y: ChannelAccessor<Datum>;
67
+ children?: Snippet;
68
+ text: ConstantAccessor<string | false | null | undefined, Datum>;
69
+ title?: ConstantAccessor<string, Datum>;
70
+ /**
71
+ * the font size of the text
72
+ */
73
+ fontSize?: ConstantAccessor<number, Datum>;
74
+ /**
75
+ * if you want to apply class names to individual text elements
76
+ */
77
+ textClass?: ConstantAccessor<string, Datum>;
78
+ /**
79
+ * the line anchor for vertical position; top, bottom, or middle
80
+ */
81
+ lineAnchor?: ConstantAccessor<"bottom" | "top" | "middle">;
82
+ /**
83
+ * line height as multiplier of font size
84
+ * @default 1.2
85
+ */
86
+ lineHeight?: ConstantAccessor<number, Datum>;
87
+ frameAnchor?: ConstantAccessor<"bottom" | "top" | "left" | "right" | "top-left" | "bottom-left" | "top-right" | "bottom-right", Datum>;
88
+ };
89
+ events(): {};
90
+ slots(): {};
91
+ bindings(): "";
92
+ exports(): {};
93
+ }
94
+ interface $$IsomorphicComponent {
95
+ new <Datum extends DataRecord>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Datum>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Datum>['props']>, ReturnType<__sveltets_Render<Datum>['events']>, ReturnType<__sveltets_Render<Datum>['slots']>> & {
96
+ $$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
97
+ } & ReturnType<__sveltets_Render<Datum>['exports']>;
98
+ <Datum extends DataRecord>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
99
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
100
+ }
20
101
  /** Useful for adding SVG text labels to your plot. */
21
- declare const Text: import("svelte").Component<TextMarkProps, {}, "">;
22
- type Text = ReturnType<typeof Text>;
102
+ declare const Text: $$IsomorphicComponent;
103
+ type Text<Datum extends DataRecord> = InstanceType<typeof Text<Datum>>;
23
104
  export default Text;
@@ -2,27 +2,25 @@
2
2
  @component
3
3
  The TickX mark is useful for showing one-dimensional distributions along the x axis. The y axis must be a band scale.
4
4
  -->
5
- <script module lang="ts">
6
- export type TickXMarkProps = Omit<BaseMarkProps, 'fill' | 'fillOpacity'> & {
7
- data: DataRow[];
5
+
6
+ <script lang="ts" generics="Datum extends DataRow">
7
+ interface TickXMarkProps extends Omit<BaseMarkProps<Datum>, 'fill' | 'fillOpacity'> {
8
+ data: Datum[];
8
9
  /**
9
10
  * the horizontal position; bound to the x scale
10
11
  */
11
- x?: ChannelAccessor;
12
+ x?: ChannelAccessor<Datum>;
12
13
  /**
13
14
  * the vertical position; bound to the y scale, which must be band. If the y channel
14
15
  * is not specified, the tick will span the full vertical extent of the frame.
15
16
  */
16
- y?: ChannelAccessor;
17
+ y?: ChannelAccessor<Datum>;
17
18
  /**
18
19
  * if ticks are used on a non-bandwidth scale, this will determine the
19
20
  * length of the tick. Defaults to 10 pixel
20
21
  */
21
- tickLength?: ConstantAccessor<number>;
22
- };
23
- </script>
24
-
25
- <script lang="ts">
22
+ tickLength?: ConstantAccessor<number, Datum>;
23
+ }
26
24
  import Mark from '../Mark.svelte';
27
25
  import { getContext } from 'svelte';
28
26
  import { resolveChannel, resolveProp, resolveScaledStyles } from '../helpers/resolve.js';
@@ -32,9 +30,10 @@
32
30
  ChannelAccessor,
33
31
  DataRow,
34
32
  FacetContext,
35
- PlotDefaults
36
- } from '../types.js';
37
- import { recordizeX } from '../index.js';
33
+ PlotDefaults,
34
+ ConstantAccessor
35
+ } from '../types/index.js';
36
+ import { recordizeX } from '..';
38
37
  import { projectX, projectY } from '../helpers/scales.js';
39
38
  import { isValid } from '../helpers/isValid.js';
40
39
  import { testFilter, parseInset } from '../helpers/index.js';
@@ -1,22 +1,94 @@
1
- export type TickXMarkProps = Omit<BaseMarkProps, 'fill' | 'fillOpacity'> & {
2
- data: DataRow[];
3
- /**
4
- * the horizontal position; bound to the x scale
5
- */
6
- x?: ChannelAccessor;
7
- /**
8
- * the vertical position; bound to the y scale, which must be band. If the y channel
9
- * is not specified, the tick will span the full vertical extent of the frame.
10
- */
11
- y?: ChannelAccessor;
12
- /**
13
- * if ticks are used on a non-bandwidth scale, this will determine the
14
- * length of the tick. Defaults to 10 pixel
15
- */
16
- tickLength?: ConstantAccessor<number>;
17
- };
18
- import type { BaseMarkProps, ChannelAccessor, DataRow } from '../types.js';
1
+ import type { ChannelAccessor, DataRow, ConstantAccessor } from '../types/index.js';
2
+ declare class __sveltets_Render<Datum extends DataRow> {
3
+ props(): Omit<Partial<{
4
+ filter?: ConstantAccessor<boolean, Datum>;
5
+ facet?: "auto" | "include" | "exclude";
6
+ fx: ChannelAccessor<Datum>;
7
+ fy: ChannelAccessor<Datum>;
8
+ dx: ConstantAccessor<number, Datum>;
9
+ dy: ConstantAccessor<number, Datum>;
10
+ fill: ChannelAccessor<Datum>;
11
+ fillOpacity: ConstantAccessor<number, Datum>;
12
+ sort: {
13
+ channel: string;
14
+ order?: "ascending" | "descending";
15
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | ConstantAccessor<import("../types/data").RawValue, Datum>;
16
+ stroke: ChannelAccessor<Datum>;
17
+ strokeWidth: ConstantAccessor<number, Datum>;
18
+ strokeOpacity: ConstantAccessor<number, Datum>;
19
+ strokeLinejoin: ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
20
+ strokeLinecap: ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
21
+ strokeMiterlimit: ConstantAccessor<number, Datum>;
22
+ opacity: ChannelAccessor<Datum>;
23
+ strokeDasharray: ConstantAccessor<string, Datum>;
24
+ strokeDashoffset: ConstantAccessor<number, Datum>;
25
+ mixBlendMode: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
26
+ clipPath: string;
27
+ imageFilter: ConstantAccessor<string, Datum>;
28
+ shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
29
+ paintOrder: ConstantAccessor<string, Datum>;
30
+ onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
31
+ ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
+ onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
+ onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
+ onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
+ onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
+ onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
+ onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
+ onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
+ onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
+ onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
+ onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
+ onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
+ onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
+ onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
+ onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
+ onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
+ ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
+ ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
+ ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
+ ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
+ ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
+ ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
+ ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
+ ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
+ ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
+ ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
+ ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
+ oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
+ onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
+ class: string | null;
61
+ cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
62
+ }>, "fill" | "fillOpacity"> & {
63
+ data: Datum[];
64
+ /**
65
+ * the horizontal position; bound to the x scale
66
+ */
67
+ x?: ChannelAccessor<Datum>;
68
+ /**
69
+ * the vertical position; bound to the y scale, which must be band. If the y channel
70
+ * is not specified, the tick will span the full vertical extent of the frame.
71
+ */
72
+ y?: ChannelAccessor<Datum>;
73
+ /**
74
+ * if ticks are used on a non-bandwidth scale, this will determine the
75
+ * length of the tick. Defaults to 10 pixel
76
+ */
77
+ tickLength?: ConstantAccessor<number, Datum>;
78
+ };
79
+ events(): {};
80
+ slots(): {};
81
+ bindings(): "";
82
+ exports(): {};
83
+ }
84
+ interface $$IsomorphicComponent {
85
+ new <Datum extends DataRow>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Datum>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Datum>['props']>, ReturnType<__sveltets_Render<Datum>['events']>, ReturnType<__sveltets_Render<Datum>['slots']>> & {
86
+ $$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
87
+ } & ReturnType<__sveltets_Render<Datum>['exports']>;
88
+ <Datum extends DataRow>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
89
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
90
+ }
19
91
  /** The TickX mark is useful for showing one-dimensional distributions along the x axis. The y axis must be a band scale. */
20
- declare const TickX: import("svelte").Component<TickXMarkProps, {}, "">;
21
- type TickX = ReturnType<typeof TickX>;
92
+ declare const TickX: $$IsomorphicComponent;
93
+ type TickX<Datum extends DataRow> = InstanceType<typeof TickX<Datum>>;
22
94
  export default TickX;
@@ -2,27 +2,24 @@
2
2
  @component
3
3
  The TickY mark is useful for showing one-dimensional distributions along the y axis. The x axis must be a band scale.
4
4
  -->
5
- <script module lang="ts">
6
- export type TickYMarkProps = Omit<BaseMarkProps, 'fill' | 'fillOpacity'> & {
7
- data: DataRow[];
5
+ <script lang="ts" generics="Datum extends DataRow">
6
+ interface TickYMarkProps extends Omit<BaseMarkProps<Datum>, 'fill' | 'fillOpacity'> {
7
+ data: Datum[];
8
8
  /**
9
9
  * the vertical position; bound to the x scale
10
10
  */
11
- y?: ChannelAccessor;
11
+ y?: ChannelAccessor<Datum>;
12
12
  /**
13
- * the horizontal position; bound to the x scale, which must be band. If the x channel
14
- * is not specified, the tick will span the full horizontal extent of the frame.
13
+ * the horizontal position; bound to the y scale, which must be band. If the y channel
14
+ * is not specified, the tick will span the full vertical extent of the frame.
15
15
  */
16
- x?: ChannelAccessor;
16
+ x?: ChannelAccessor<Datum>;
17
17
  /**
18
18
  * if ticks are used on a non-bandwidth scale, this will determine the
19
19
  * length of the tick. Defaults to 10 pixel
20
20
  */
21
- tickLength?: ConstantAccessor<number>;
22
- };
23
- </script>
24
-
25
- <script lang="ts">
21
+ tickLength?: ConstantAccessor<number, Datum>;
22
+ }
26
23
  import Mark from '../Mark.svelte';
27
24
  import { getContext } from 'svelte';
28
25
  import { resolveChannel, resolveProp, resolveScaledStyles } from '../helpers/resolve.js';
@@ -34,8 +31,8 @@
34
31
  FacetContext,
35
32
  ConstantAccessor,
36
33
  PlotDefaults
37
- } from '../types.js';
38
- import { recordizeY } from '../index.js';
34
+ } from '../types/index.js';
35
+ import { recordizeY } from '..';
39
36
  import { projectX, projectY } from '../helpers/scales.js';
40
37
  import { isValid } from '../helpers/isValid.js';
41
38
  import { testFilter, parseInset } from '../helpers/index.js';