svelteplot 0.4.10 → 0.5.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 (46) hide show
  1. package/dist/Mark.svelte +87 -73
  2. package/dist/Mark.svelte.d.ts +36 -34
  3. package/dist/marks/Area.svelte.d.ts +36 -34
  4. package/dist/marks/AreaX.svelte.d.ts +36 -34
  5. package/dist/marks/Arrow.svelte.d.ts +36 -34
  6. package/dist/marks/AxisX.svelte.d.ts +36 -34
  7. package/dist/marks/AxisY.svelte.d.ts +36 -34
  8. package/dist/marks/BarX.svelte.d.ts +36 -34
  9. package/dist/marks/BarY.svelte.d.ts +36 -34
  10. package/dist/marks/BollingerX.svelte.d.ts +36 -34
  11. package/dist/marks/BollingerY.svelte.d.ts +36 -34
  12. package/dist/marks/BoxY.svelte.d.ts +36 -34
  13. package/dist/marks/Cell.svelte.d.ts +36 -34
  14. package/dist/marks/CustomMark.svelte.d.ts +36 -34
  15. package/dist/marks/CustomMarkHTML.svelte.d.ts +1 -1
  16. package/dist/marks/DifferenceY.svelte.d.ts +36 -34
  17. package/dist/marks/Dot.svelte +1 -1
  18. package/dist/marks/Dot.svelte.d.ts +36 -34
  19. package/dist/marks/DotX.svelte.d.ts +36 -34
  20. package/dist/marks/DotY.svelte.d.ts +36 -34
  21. package/dist/marks/Geo.svelte.d.ts +36 -34
  22. package/dist/marks/GridX.svelte.d.ts +36 -34
  23. package/dist/marks/GridY.svelte.d.ts +36 -34
  24. package/dist/marks/Line.svelte.d.ts +36 -34
  25. package/dist/marks/LineX.svelte.d.ts +36 -34
  26. package/dist/marks/LineY.svelte.d.ts +36 -34
  27. package/dist/marks/Link.svelte.d.ts +36 -34
  28. package/dist/marks/Rect.svelte.d.ts +36 -34
  29. package/dist/marks/RuleX.svelte.d.ts +36 -34
  30. package/dist/marks/RuleY.svelte.d.ts +36 -34
  31. package/dist/marks/Spike.svelte.d.ts +36 -34
  32. package/dist/marks/Text.svelte.d.ts +37 -35
  33. package/dist/marks/TickX.svelte.d.ts +36 -34
  34. package/dist/marks/TickY.svelte.d.ts +36 -34
  35. package/dist/marks/Vector.svelte.d.ts +36 -34
  36. package/dist/marks/helpers/MarkerPath.svelte.d.ts +72 -68
  37. package/dist/marks/helpers/RectPath.svelte.d.ts +36 -34
  38. package/dist/transforms/bollinger.d.ts +2 -0
  39. package/dist/transforms/dodge.d.ts +17 -0
  40. package/dist/transforms/dodge.js +128 -0
  41. package/dist/transforms/interval.d.ts +4 -0
  42. package/dist/transforms/select.d.ts +14 -0
  43. package/dist/transforms/sort.d.ts +8 -0
  44. package/dist/transforms/window.d.ts +4 -0
  45. package/dist/types/mark.d.ts +37 -34
  46. package/package.json +2 -1
package/dist/Mark.svelte CHANGED
@@ -41,6 +41,7 @@
41
41
  import { testFilter, isValid } from './helpers/index.js';
42
42
  import { resolveChannel, resolveProp } from './helpers/resolve.js';
43
43
  import { RENAME } from './transforms/rename.js';
44
+ import { dodgeX, dodgeY } from './transforms/dodge.js';
44
45
 
45
46
  let {
46
47
  data = [],
@@ -207,85 +208,98 @@
207
208
  * elements to the scales
208
209
  */
209
210
  const scaledData = $derived(
210
- resolvedData.flatMap((row) => {
211
- const out: ScaledDataRecord<Datum> = {
212
- datum: row.datum,
213
- index: row[INDEX],
214
- valid: true
215
- };
216
- // compute dx/dy
217
- out.dx = Number(resolveProp<number>(options.dx, out.datum, 0));
218
- out.dy = Number(resolveProp<number>(options.dy, out.datum, 0));
219
-
220
- // special handling if there's a projection, e.g. a line mark
221
- if (plot.scales.projection && mark.type !== 'geo') {
222
- for (const suffix of ['', '1', '2']) {
223
- if (
224
- options?.[`x${suffix}`] !== undefined &&
225
- options?.[`y${suffix}`] !== undefined
226
- ) {
227
- // we have two-dimensional accessors
228
- // for the x and y channels
229
- const [x, y] =
230
- mark.type === 'line'
231
- ? [row.x, row.y] // line paths are projected later
232
- : projectXY(
233
- plot.scales,
234
- row.x,
235
- row.y,
236
- usedScales.x,
237
- usedScales.y,
238
- suffix
239
- );
240
-
241
- out[`x${suffix}`] = x;
242
- out[`y${suffix}`] = y;
243
- out.valid =
244
- out.valid &&
245
- isValid(row.x) &&
246
- isValid(row.y) &&
247
- isValid(x) &&
248
- isValid(y);
211
+ dodge(
212
+ resolvedData.flatMap((row) => {
213
+ const out: ScaledDataRecord<Datum> = {
214
+ datum: row.datum,
215
+ index: row[INDEX],
216
+ valid: true
217
+ };
218
+ // compute dx/dy
219
+ out.dx = Number(resolveProp<number>(options.dx, out.datum, 0));
220
+ out.dy = Number(resolveProp<number>(options.dy, out.datum, 0));
221
+
222
+ // special handling if there's a projection, e.g. a line mark
223
+ if (plot.scales.projection && mark.type !== 'geo') {
224
+ for (const suffix of ['', '1', '2']) {
225
+ if (
226
+ options?.[`x${suffix}`] !== undefined &&
227
+ options?.[`y${suffix}`] !== undefined
228
+ ) {
229
+ // we have two-dimensional accessors
230
+ // for the x and y channels
231
+ const [x, y] =
232
+ mark.type === 'line'
233
+ ? [row.x, row.y] // line paths are projected later
234
+ : projectXY(
235
+ plot.scales,
236
+ row.x,
237
+ row.y,
238
+ usedScales.x,
239
+ usedScales.y,
240
+ suffix
241
+ );
242
+
243
+ out[`x${suffix}`] = x;
244
+ out[`y${suffix}`] = y;
245
+ out.valid =
246
+ out.valid &&
247
+ isValid(row.x) &&
248
+ isValid(row.y) &&
249
+ isValid(x) &&
250
+ isValid(y);
251
+ }
249
252
  }
250
253
  }
251
- }
252
254
 
253
- // iterate over all scaled channels
254
- for (const [channel, scale] of Object.entries(CHANNEL_SCALE) as [
255
- ScaledChannelName,
256
- ScaleName
257
- ][]) {
258
- // check if the mark has defined an accessor for this channel
259
- if (options?.[channel] != null && out[channel] === undefined) {
260
- // resolve value
261
- const value = row[channel];
262
- // if this channel was renamed, use the original channel for scaling
263
- const origChannel = options?.[RENAME]?.[channel] || channel;
264
- const scaled = usedScales[channel]
265
- ? scale === 'x'
266
- ? projectX(origChannel as 'x' | 'x1' | 'x2', plot.scales, value)
267
- : scale === 'y'
268
- ? projectY(origChannel as 'y' | 'y1' | 'y2', plot.scales, value)
269
- : scale === 'color' && !isValid(value)
270
- ? plot.options.color.unknown
271
- : plot.scales[scale].fn(value)
272
- : value;
273
-
274
- out.valid = out.valid && (scale === 'color' || isValid(value));
275
-
276
- // apply dx/dy transform
277
- out[channel] =
278
- Number.isFinite(scaled) && (scale === 'x' || scale === 'y')
279
- ? scaled + (scale === 'x' ? out.dx : out.dy)
280
- : scaled;
281
- } else if (defaults[channel]) {
282
- out[channel] = defaults[channel];
255
+ // iterate over all scaled channels
256
+ for (const [channel, scale] of Object.entries(CHANNEL_SCALE) as [
257
+ ScaledChannelName,
258
+ ScaleName
259
+ ][]) {
260
+ // check if the mark has defined an accessor for this channel
261
+ if (options?.[channel] != null && out[channel] === undefined) {
262
+ // resolve value
263
+ const value = row[channel];
264
+ // if this channel was renamed, use the original channel for scaling
265
+ const origChannel = options?.[RENAME]?.[channel] || channel;
266
+ const scaled = usedScales[channel]
267
+ ? scale === 'x'
268
+ ? projectX(origChannel as 'x' | 'x1' | 'x2', plot.scales, value)
269
+ : scale === 'y'
270
+ ? projectY(origChannel as 'y' | 'y1' | 'y2', plot.scales, value)
271
+ : scale === 'color' && !isValid(value)
272
+ ? plot.options.color.unknown
273
+ : plot.scales[scale].fn(value)
274
+ : value;
275
+
276
+ out.valid = out.valid && (scale === 'color' || isValid(value));
277
+
278
+ // apply dx/dy transform
279
+ out[channel] =
280
+ Number.isFinite(scaled) && (scale === 'x' || scale === 'y')
281
+ ? scaled + (scale === 'x' ? out.dx : out.dy)
282
+ : scaled;
283
+ } else if (defaults[channel]) {
284
+ out[channel] = defaults[channel];
285
+ }
283
286
  }
284
- }
285
287
 
286
- return [out];
287
- })
288
+ return [out];
289
+ }),
290
+ options
291
+ )
288
292
  );
293
+
294
+ function dodge<T>(data: ScaledDataRecord<Datum>[], options: BaseMarkProps<T>) {
295
+ if (options.dodgeX) {
296
+ return dodgeX({ data, ...options }, plot);
297
+ }
298
+ if (options.dodgeY) {
299
+ return dodgeY({ data, ...options }, plot);
300
+ }
301
+ return data;
302
+ }
289
303
  </script>
290
304
 
291
305
  {#if errors.length}
@@ -3,12 +3,14 @@ import type { ScaledChannelName, MarkType, DataRecord, ChannelAccessor, ScaleNam
3
3
  import { getUsedScales } from './helpers/scales.js';
4
4
  declare class __sveltets_Render<Datum extends DataRecord> {
5
5
  props(): Partial<Partial<{
6
- filter?: import("./types/index.js").ConstantAccessor<boolean, Datum>;
7
- facet?: "auto" | "include" | "exclude";
6
+ filter: import("./types/index.js").ConstantAccessor<boolean, Datum>;
7
+ facet: "auto" | "include" | "exclude";
8
8
  fx: ChannelAccessor<Datum>;
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.js").DodgeXOptions;
13
+ dodgeY: import("./transforms/dodge.js").DodgeYOptions;
12
14
  fill: ChannelAccessor<Datum>;
13
15
  fillOpacity: import("./types/index.js").ConstantAccessor<number, Datum>;
14
16
  sort: ((a: RawValue, b: RawValue) => number) | {
@@ -29,38 +31,38 @@ declare class __sveltets_Render<Datum extends DataRecord> {
29
31
  imageFilter: import("./types/index.js").ConstantAccessor<string, Datum>;
30
32
  shapeRendering: import("./types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
31
33
  paintOrder: import("./types/index.js").ConstantAccessor<string, Datum>;
32
- onclick?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
33
- ondblclick?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
34
- onmouseup?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
35
- onmousedown?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
36
- onmouseenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
37
- onmousemove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
38
- onmouseleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
39
- onmouseout?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
40
- onmouseover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
41
- onpointercancel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
42
- onpointerdown?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
43
- onpointerup?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
44
- onpointerenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
45
- onpointerleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
46
- onpointermove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
47
- onpointerover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
48
- onpointerout?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
49
- ondrag?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
50
- ondrop?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
51
- ondragstart?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
52
- ondragenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
53
- ondragleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
54
- ondragover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
55
- ondragend?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
56
- ontouchstart?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
57
- ontouchmove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
58
- ontouchend?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
59
- ontouchcancel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
60
- oncontextmenu?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
61
- onwheel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
62
- class?: string;
63
- style?: string;
34
+ onclick: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
35
+ ondblclick: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
36
+ onmouseup: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
37
+ onmousedown: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
38
+ onmouseenter: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
39
+ onmousemove: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
40
+ onmouseleave: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
41
+ onmouseout: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
42
+ onmouseover: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
43
+ onpointercancel: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
44
+ onpointerdown: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
45
+ onpointerup: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
46
+ onpointerenter: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
47
+ onpointerleave: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
48
+ onpointermove: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
49
+ onpointerover: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
50
+ onpointerout: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
51
+ ondrag: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
52
+ ondrop: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
53
+ ondragstart: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
54
+ ondragenter: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
55
+ ondragleave: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
56
+ ondragover: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
57
+ ondragend: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
58
+ ontouchstart: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
59
+ ontouchmove: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
60
+ ontouchend: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
61
+ ontouchcancel: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
62
+ oncontextmenu: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
63
+ onwheel: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
64
+ class: string;
65
+ style: string;
64
66
  cursor: import("./types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
65
67
  }>> & {
66
68
  data?: Datum[] | undefined;
@@ -3,12 +3,14 @@ import type { CurveName, DataRecord, ConstantAccessor, ChannelAccessor, Linkable
3
3
  import type { StackOptions } from '../transforms/stack.js';
4
4
  declare class __sveltets_Render<Datum extends DataRecord> {
5
5
  props(): Partial<{
6
- filter?: ConstantAccessor<boolean, Datum>;
7
- facet?: "auto" | "include" | "exclude";
6
+ filter: ConstantAccessor<boolean, Datum>;
7
+ facet: "auto" | "include" | "exclude";
8
8
  fx: ChannelAccessor<Datum>;
9
9
  fy: ChannelAccessor<Datum>;
10
10
  dx: ConstantAccessor<number, Datum>;
11
11
  dy: ConstantAccessor<number, Datum>;
12
+ dodgeX: import("../transforms/dodge").DodgeXOptions;
13
+ dodgeY: import("../transforms/dodge").DodgeYOptions;
12
14
  fill: ChannelAccessor<Datum>;
13
15
  fillOpacity: ConstantAccessor<number, Datum>;
14
16
  sort: ((a: RawValue, b: RawValue) => number) | {
@@ -29,38 +31,38 @@ declare class __sveltets_Render<Datum extends DataRecord> {
29
31
  imageFilter: ConstantAccessor<string, Datum>;
30
32
  shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
31
33
  paintOrder: ConstantAccessor<string, Datum>;
32
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
62
- class?: string;
63
- style?: string;
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>;
64
+ class: string;
65
+ style: string;
64
66
  cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
65
67
  }> & LinkableMarkProps<Datum> & {
66
68
  data: Datum[];
@@ -1,12 +1,14 @@
1
1
  import type { ChannelAccessor, DataRow } from '../types/index.js';
2
2
  declare class __sveltets_Render<Datum extends DataRow> {
3
3
  props(): Omit<Partial<{
4
- filter?: import("../types/index.js").ConstantAccessor<boolean, Record<string | symbol, import("../types/data").RawValue>>;
5
- facet?: "auto" | "include" | "exclude";
4
+ filter: import("../types/index.js").ConstantAccessor<boolean, Record<string | symbol, import("../types/data").RawValue>>;
5
+ facet: "auto" | "include" | "exclude";
6
6
  fx: ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
7
7
  fy: ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
8
8
  dx: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
9
9
  dy: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
10
+ dodgeX: import("../transforms/dodge").DodgeXOptions;
11
+ dodgeY: import("../transforms/dodge").DodgeYOptions;
10
12
  fill: ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
11
13
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
12
14
  sort: ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | {
@@ -27,38 +29,38 @@ declare class __sveltets_Render<Datum extends DataRow> {
27
29
  imageFilter: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/data").RawValue>>;
28
30
  shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Record<string | symbol, import("../types/data").RawValue>>;
29
31
  paintOrder: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/data").RawValue>>;
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;
61
- style?: string;
32
+ onclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
+ ondblclick: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
+ onmouseup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
+ onmousedown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
+ onmouseenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
+ onmousemove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
+ onmouseleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
+ onmouseout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
+ onmouseover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
+ onpointercancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
+ onpointerdown: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
+ onpointerup: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
+ onpointerenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
+ onpointerleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
+ onpointermove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
+ onpointerover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
+ onpointerout: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
+ ondrag: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
+ ondrop: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
+ ondragstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
+ ondragenter: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
+ ondragleave: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
+ ondragover: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
+ ondragend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
+ ontouchstart: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
+ ontouchmove: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
+ ontouchend: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
+ ontouchcancel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
+ oncontextmenu: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
+ onwheel: import("svelte/elements").MouseEventHandler<SVGPathElement>;
62
+ class: string;
63
+ style: string;
62
64
  cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Record<string | symbol, import("../types/data").RawValue>>;
63
65
  }> & import("../types/mark").LinkableMarkProps<Record<string | symbol, import("../types/data").RawValue>> & {
64
66
  data: Record<string | symbol, import("../types/data").RawValue>[];
@@ -2,12 +2,14 @@ import type { DataRecord, ConstantAccessor, ChannelAccessor, RawValue } from '..
2
2
  import { type SweepOption } from '../helpers/arrowPath.js';
3
3
  declare class __sveltets_Render<Datum extends DataRecord> {
4
4
  props(): Omit<Partial<{
5
- filter?: ConstantAccessor<boolean, Datum>;
6
- facet?: "auto" | "include" | "exclude";
5
+ filter: ConstantAccessor<boolean, Datum>;
6
+ facet: "auto" | "include" | "exclude";
7
7
  fx: ChannelAccessor<Datum>;
8
8
  fy: ChannelAccessor<Datum>;
9
9
  dx: ConstantAccessor<number, Datum>;
10
10
  dy: ConstantAccessor<number, Datum>;
11
+ dodgeX: import("../transforms/dodge.js").DodgeXOptions;
12
+ dodgeY: import("../transforms/dodge.js").DodgeYOptions;
11
13
  fill: ChannelAccessor<Datum>;
12
14
  fillOpacity: ConstantAccessor<number, Datum>;
13
15
  sort: ((a: RawValue, b: RawValue) => number) | {
@@ -28,38 +30,38 @@ declare class __sveltets_Render<Datum extends DataRecord> {
28
30
  imageFilter: ConstantAccessor<string, Datum>;
29
31
  shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
32
  paintOrder: ConstantAccessor<string, Datum>;
31
- onclick?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
32
- ondblclick?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
33
- onmouseup?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
34
- onmousedown?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
35
- onmouseenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
36
- onmousemove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
37
- onmouseleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
38
- onmouseout?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
39
- onmouseover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
40
- onpointercancel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
41
- onpointerdown?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
42
- onpointerup?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
43
- onpointerenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
44
- onpointerleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
45
- onpointermove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
46
- onpointerover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
47
- onpointerout?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
48
- ondrag?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
49
- ondrop?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
50
- ondragstart?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
51
- ondragenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
52
- ondragleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
53
- ondragover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
54
- ondragend?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
55
- ontouchstart?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
56
- ontouchmove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
57
- ontouchend?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
58
- ontouchcancel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
59
- oncontextmenu?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
60
- onwheel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
61
- class?: string;
62
- style?: string;
33
+ onclick: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
34
+ ondblclick: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
35
+ onmouseup: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
36
+ onmousedown: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
37
+ onmouseenter: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
38
+ onmousemove: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
39
+ onmouseleave: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
40
+ onmouseout: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
41
+ onmouseover: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
42
+ onpointercancel: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
43
+ onpointerdown: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
44
+ onpointerup: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
45
+ onpointerenter: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
46
+ onpointerleave: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
47
+ onpointermove: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
48
+ onpointerover: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
49
+ onpointerout: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
50
+ ondrag: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
51
+ ondrop: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
52
+ ondragstart: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
53
+ ondragenter: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
54
+ ondragleave: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
55
+ ondragover: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
56
+ ondragend: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
57
+ ontouchstart: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
58
+ ontouchmove: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
59
+ ontouchend: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
60
+ ontouchcancel: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
61
+ oncontextmenu: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
62
+ onwheel: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
63
+ class: string;
64
+ style: string;
63
65
  cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
64
66
  }>, "fill" | "fillOpacity"> & {
65
67
  data: Datum[];