svelteplot 0.5.1 → 0.5.2-pr-251.1

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 (80) hide show
  1. package/dist/Mark.svelte.d.ts +5 -4
  2. package/dist/constants.d.ts +2 -1
  3. package/dist/constants.js +22 -0
  4. package/dist/core/Plot.svelte +7 -2
  5. package/dist/helpers/autoScales.js +10 -1
  6. package/dist/helpers/colors.d.ts +1 -1
  7. package/dist/helpers/index.d.ts +2 -2
  8. package/dist/helpers/isRawValue.js +6 -1
  9. package/dist/helpers/reduce.js +3 -2
  10. package/dist/helpers/scales.d.ts +2 -1
  11. package/dist/helpers/scales.js +13 -10
  12. package/dist/helpers/typeChecks.d.ts +4 -4
  13. package/dist/marks/Area.svelte +9 -3
  14. package/dist/marks/Area.svelte.d.ts +6 -4
  15. package/dist/marks/AreaX.svelte.d.ts +7 -5
  16. package/dist/marks/Arrow.svelte.d.ts +5 -4
  17. package/dist/marks/AxisX.svelte.d.ts +6 -5
  18. package/dist/marks/AxisY.svelte.d.ts +6 -5
  19. package/dist/marks/BarX.svelte +1 -1
  20. package/dist/marks/BarX.svelte.d.ts +5 -4
  21. package/dist/marks/BarY.svelte +1 -1
  22. package/dist/marks/BarY.svelte.d.ts +5 -4
  23. package/dist/marks/BollingerX.svelte.d.ts +2 -76
  24. package/dist/marks/BollingerY.svelte.d.ts +2 -76
  25. package/dist/marks/BoxX.svelte +13 -1
  26. package/dist/marks/BoxY.svelte +12 -1
  27. package/dist/marks/BoxY.svelte.d.ts +6 -68
  28. package/dist/marks/Cell.svelte.d.ts +5 -4
  29. package/dist/marks/CustomMark.svelte +9 -3
  30. package/dist/marks/CustomMark.svelte.d.ts +2 -83
  31. package/dist/marks/CustomMarkHTML.svelte.d.ts +1 -1
  32. package/dist/marks/DifferenceY.svelte.d.ts +7 -69
  33. package/dist/marks/Dot.svelte +6 -1
  34. package/dist/marks/Dot.svelte.d.ts +5 -4
  35. package/dist/marks/DotX.svelte.d.ts +6 -5
  36. package/dist/marks/DotY.svelte.d.ts +6 -5
  37. package/dist/marks/Geo.svelte.d.ts +5 -4
  38. package/dist/marks/GridX.svelte.d.ts +5 -4
  39. package/dist/marks/GridY.svelte.d.ts +5 -4
  40. package/dist/marks/Image.svelte +76 -0
  41. package/dist/marks/Image.svelte.d.ts +19 -0
  42. package/dist/marks/Line.svelte.d.ts +6 -5
  43. package/dist/marks/LineX.svelte.d.ts +7 -6
  44. package/dist/marks/LineY.svelte.d.ts +7 -6
  45. package/dist/marks/Link.svelte.d.ts +5 -4
  46. package/dist/marks/Rect.svelte +2 -0
  47. package/dist/marks/Rect.svelte.d.ts +5 -4
  48. package/dist/marks/RuleX.svelte +5 -1
  49. package/dist/marks/RuleX.svelte.d.ts +5 -4
  50. package/dist/marks/RuleY.svelte +6 -1
  51. package/dist/marks/RuleY.svelte.d.ts +5 -4
  52. package/dist/marks/Spike.svelte.d.ts +6 -5
  53. package/dist/marks/Text.svelte.d.ts +7 -6
  54. package/dist/marks/TickX.svelte +5 -1
  55. package/dist/marks/TickX.svelte.d.ts +5 -4
  56. package/dist/marks/TickY.svelte +5 -1
  57. package/dist/marks/TickY.svelte.d.ts +5 -4
  58. package/dist/marks/Vector.svelte.d.ts +5 -4
  59. package/dist/marks/helpers/Anchor.svelte +16 -2
  60. package/dist/marks/helpers/Anchor.svelte.d.ts +28 -14
  61. package/dist/marks/helpers/MarkerPath.svelte.d.ts +2 -164
  62. package/dist/marks/helpers/RectPath.svelte +3 -1
  63. package/dist/marks/helpers/RectPath.svelte.d.ts +3 -65
  64. package/dist/marks/index.d.ts +1 -0
  65. package/dist/marks/index.js +1 -0
  66. package/dist/transforms/bin.js +46 -26
  67. package/dist/transforms/bollinger.d.ts +1 -69
  68. package/dist/transforms/group.d.ts +4 -12
  69. package/dist/transforms/interval.d.ts +2 -128
  70. package/dist/transforms/recordize.d.ts +1 -4
  71. package/dist/transforms/select.d.ts +7 -448
  72. package/dist/transforms/sort.d.ts +3 -254
  73. package/dist/transforms/stack.d.ts +4 -24
  74. package/dist/transforms/stack.js +9 -3
  75. package/dist/transforms/window.d.ts +2 -134
  76. package/dist/types/channel.d.ts +1 -1
  77. package/dist/types/data.d.ts +1 -1
  78. package/dist/types/mark.d.ts +1 -1
  79. package/dist/types/plot.d.ts +13 -1
  80. package/package.json +129 -128
@@ -1,80 +1,6 @@
1
- import type { ChannelAccessor, DataRecord } from '../types/index.js';
1
+ import type { DataRecord } from '../types/index.js';
2
2
  declare class __sveltets_Render<Datum extends DataRecord> {
3
- props(): Partial<{
4
- filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
5
- facet: "auto" | "include" | "exclude";
6
- fx: ChannelAccessor<Datum>;
7
- fy: ChannelAccessor<Datum>;
8
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
9
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
12
- fill: ChannelAccessor<Datum>;
13
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
14
- sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
15
- channel: string;
16
- order?: "ascending" | "descending";
17
- } | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
18
- stroke: ChannelAccessor<Datum>;
19
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
20
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
21
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
22
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
23
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
24
- opacity: ChannelAccessor<Datum>;
25
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
26
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
27
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
28
- clipPath: string;
29
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
30
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
31
- paintOrder: import("../types/index.js").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;
64
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
65
- }> & {
66
- data: Datum[];
67
- x?: ChannelAccessor<Datum>;
68
- y?: ChannelAccessor<Datum>;
69
- /**
70
- * the window size (the window transform's k option), an integer; defaults to 20
71
- */
72
- n?: number;
73
- /**
74
- * the band radius, a number representing a multiple of standard deviations; defaults to 2
75
- */
76
- k?: number;
77
- };
3
+ props(): any;
78
4
  events(): {};
79
5
  slots(): {};
80
6
  bindings(): "";
@@ -10,6 +10,8 @@
10
10
  import { type ComponentProps } from 'svelte';
11
11
  import type BoxY from './BoxY.svelte';
12
12
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
13
+ import { IS_SORTED } from '../transforms/sort';
14
+ import { sort } from 'd3-array';
13
15
 
14
16
  let markProps: BoxXMarkProps = $props();
15
17
 
@@ -70,6 +72,8 @@
70
72
  ...(fy != null && { fy: FY })
71
73
  });
72
74
 
75
+ const sortProps = { [IS_SORTED]: true };
76
+
73
77
  const boxData = $derived(
74
78
  grouped
75
79
  .map((row) => {
@@ -107,7 +111,15 @@
107
111
  </script>
108
112
 
109
113
  <GroupMultiple class="box-x {className || ''}" length={className ? 2 : grouped.length}>
110
- <RuleY data={boxData} y={Y} x1={MIN} x2={P25} {stroke} {...rule || {}} {...facets} />
114
+ <RuleY
115
+ data={boxData}
116
+ y={Y}
117
+ x1={MIN}
118
+ x2={P25}
119
+ {stroke}
120
+ {...rule || {}}
121
+ {...facets}
122
+ {...sortProps} />
111
123
  <RuleY data={boxData} y={Y} x1={P75} x2={MAX} {stroke} {...rule || {}} {...facets} />
112
124
  <BarX data={boxData} y={Y} x1={P25} x2={P75} {fill} {stroke} {...facets} {...bar || {}} />
113
125
  {#if tickMedian}
@@ -33,6 +33,7 @@
33
33
  import { resolveChannel } from '../helpers/resolve.js';
34
34
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
35
35
  import type { BaseMarkProps, ChannelAccessor, DataRecord } from '../types';
36
+ import { IS_SORTED } from '../transforms/sort';
36
37
 
37
38
  let markProps: BoxYMarkProps = $props();
38
39
 
@@ -93,6 +94,8 @@
93
94
  ...(fy != null && { fy: FY })
94
95
  });
95
96
 
97
+ const sortProps = { [IS_SORTED]: true };
98
+
96
99
  const boxData = $derived(
97
100
  grouped
98
101
  .map((row) => {
@@ -129,7 +132,15 @@
129
132
  </script>
130
133
 
131
134
  <GroupMultiple class="box-y {className || ''}" length={className ? 2 : grouped.length}>
132
- <RuleX data={boxData} x={X} y1={MIN} y2={P25} {stroke} {...rule || {}} {...facets} />
135
+ <RuleX
136
+ data={boxData}
137
+ x={X}
138
+ y1={MIN}
139
+ y2={P25}
140
+ {stroke}
141
+ {...sortProps}
142
+ {...rule || {}}
143
+ {...facets} />
133
144
  <RuleX data={boxData} x={X} y1={P75} y2={MAX} {stroke} {...rule || {}} {...facets} />
134
145
  <BarY data={boxData} x={X} y1={P25} y2={P75} {fill} {stroke} {...facets} {...bar || {}} />
135
146
  {#if tickMedian}
@@ -1,91 +1,29 @@
1
1
  import type { ChannelAccessor, DataRecord } from '../types';
2
2
  declare class __sveltets_Render<Datum extends DataRecord> {
3
- props(): Pick<Partial<{
4
- filter: import("../types").ConstantAccessor<boolean, Datum>;
5
- facet: "auto" | "include" | "exclude";
6
- fx: ChannelAccessor<Datum>;
7
- fy: ChannelAccessor<Datum>;
8
- dx: import("../types").ConstantAccessor<number, Datum>;
9
- dy: import("../types").ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
12
- fill: ChannelAccessor<Datum>;
13
- fillOpacity: import("../types").ConstantAccessor<number, Datum>;
14
- sort: ((a: import("../types").RawValue, b: import("../types").RawValue) => number) | {
15
- channel: string;
16
- order?: "ascending" | "descending";
17
- } | import("../types").ConstantAccessor<import("../types").RawValue, Datum>;
18
- 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>;
24
- 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>;
28
- clipPath: string;
29
- imageFilter: import("../types").ConstantAccessor<string, Datum>;
30
- shapeRendering: import("../types").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
31
- paintOrder: import("../types").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;
64
- cursor: import("../types").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
65
- }>, "fx" | "fy" | "fill" | "stroke" | "class"> & {
3
+ props(): Pick<BaseMarkProps<Datum_1>, "fill" | "stroke" | "fx" | "fy" | "class"> & {
66
4
  data: Datum[];
67
5
  x: ChannelAccessor;
68
6
  y: ChannelAccessor;
69
7
  /**
70
8
  * Options for the rule marks that represent the min/max range
71
9
  */
72
- rule: Record<string, ChannelAccessor<Datum>>;
10
+ rule: Record<string, ChannelAccessor<Datum_1>>;
73
11
  /**
74
12
  * Options for the bar marks that represent the IQR range
75
13
  */
76
- bar: Record<string, ChannelAccessor<Datum>>;
14
+ bar: Record<string, ChannelAccessor<Datum_1>>;
77
15
  /**
78
16
  * Options for the tick marks that represent the median
79
17
  */
80
- tickMedian: boolean | Record<string, ChannelAccessor<Datum>>;
18
+ tickMedian: Record<string, ChannelAccessor<Datum_1>> | boolean;
81
19
  /**
82
20
  * Options for the tick marks that represent the min/max range
83
21
  */
84
- tickMinMax: boolean | Record<string, ChannelAccessor<Datum>>;
22
+ tickMinMax: Record<string, ChannelAccessor<Datum_1>> | boolean;
85
23
  /**
86
24
  * Options for the dot marks that represent the outliers
87
25
  */
88
- dot: Record<string, ChannelAccessor<Datum>>;
26
+ dot: Record<string, ChannelAccessor<Datum_1>>;
89
27
  };
90
28
  events(): {};
91
29
  slots(): {};
@@ -1,4 +1,5 @@
1
1
  import type { DataRecord, BaseRectMarkProps, ChannelAccessor, LinkableMarkProps } from '../types/index.js';
2
+ import { recordizeY } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRecord> {
3
4
  props(): Partial<{
4
5
  filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRecord> {
7
8
  fy: ChannelAccessor<Datum>;
8
9
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
9
10
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge.js").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge.js").DodgeYOptions;
11
+ dodgeX: recordizeY;
12
+ dodgeY: recordizeY;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
14
- sort: ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types/index.js").ConstantAccessor<import("../types/data.js").RawValue, Datum>;
18
+ } | ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data.js").RawValue, Datum>;
18
19
  stroke: ChannelAccessor<Datum>;
19
20
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
@@ -5,6 +5,7 @@
5
5
  <script lang="ts" generics="Datum extends DataRecord">
6
6
  interface CustomMarkProps extends BaseMarkProps<Datum> {
7
7
  data?: Datum[];
8
+ type?: string;
8
9
  x?: ChannelAccessor<Datum>;
9
10
  x1?: ChannelAccessor<Datum>;
10
11
  x2?: ChannelAccessor<Datum>;
@@ -18,7 +19,6 @@
18
19
  marks?: Snippet<[{ records: ScaledDataRecord<Datum>[]; usedScales: UsedScales }]>;
19
20
  }
20
21
 
21
- import { getContext } from 'svelte';
22
22
  import type {
23
23
  PlotContext,
24
24
  DataRecord,
@@ -33,7 +33,13 @@
33
33
 
34
34
  import Mark from '../Mark.svelte';
35
35
 
36
- let { data = [{} as Datum], mark, marks, ...options }: CustomMarkProps = $props();
36
+ let {
37
+ data = [{} as Datum],
38
+ mark,
39
+ type = 'custom',
40
+ marks,
41
+ ...options
42
+ }: CustomMarkProps = $props();
37
43
 
38
44
  const args = $derived(sort({ data, ...options })) as CustomMarkProps;
39
45
 
@@ -53,7 +59,7 @@
53
59
  ];
54
60
  </script>
55
61
 
56
- <Mark type="custom" required={[]} channels={channels.filter((d) => !!options[d])} {...args}>
62
+ <Mark {type} required={[]} channels={channels.filter((d) => !!options[d])} {...args}>
57
63
  {#snippet children({ scaledData, usedScales })}
58
64
  {#if marks}
59
65
  {@render marks({ records: scaledData.filter((d) => d.valid), usedScales })}
@@ -1,87 +1,6 @@
1
- import type { DataRecord, ChannelAccessor, ScaledDataRecord, UsedScales } from '../types/index.js';
2
- import type { Snippet } from 'svelte';
1
+ import type { DataRecord } from '../types/index.js';
3
2
  declare class __sveltets_Render<Datum extends DataRecord> {
4
- props(): Partial<{
5
- filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
6
- facet: "auto" | "include" | "exclude";
7
- fx: ChannelAccessor<Datum>;
8
- fy: ChannelAccessor<Datum>;
9
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- dodgeX: import("../transforms/dodge").DodgeXOptions;
12
- dodgeY: import("../transforms/dodge").DodgeYOptions;
13
- fill: ChannelAccessor<Datum>;
14
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
15
- sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
16
- channel: string;
17
- order?: "ascending" | "descending";
18
- } | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
19
- stroke: ChannelAccessor<Datum>;
20
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
21
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
22
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
23
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
24
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
25
- opacity: ChannelAccessor<Datum>;
26
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
27
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
28
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
29
- clipPath: string;
30
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
31
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
32
- 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>;
63
- class: string;
64
- style: string;
65
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
66
- }> & {
67
- data?: Datum[] | undefined;
68
- x?: ChannelAccessor<Datum>;
69
- x1?: ChannelAccessor<Datum>;
70
- x2?: ChannelAccessor<Datum>;
71
- y?: ChannelAccessor<Datum>;
72
- y1?: ChannelAccessor<Datum>;
73
- y2?: ChannelAccessor<Datum>;
74
- r?: ChannelAccessor<Datum>;
75
- mark?: Snippet<[{
76
- record: ScaledDataRecord<Datum>;
77
- index: number;
78
- usedScales: UsedScales;
79
- }]> | undefined;
80
- marks?: Snippet<[{
81
- records: ScaledDataRecord<Datum>[];
82
- usedScales: UsedScales;
83
- }]> | undefined;
84
- };
3
+ props(): any;
85
4
  events(): {};
86
5
  slots(): {};
87
6
  bindings(): "";
@@ -5,7 +5,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
5
5
  data: Datum[];
6
6
  x?: ChannelAccessor<Datum>;
7
7
  y?: ChannelAccessor<Datum>;
8
- frameAnchor?: ConstantAccessor<"left" | "right" | "top" | "bottom" | "center" | "top-left" | "bottom-left" | "top-right" | "bottom-right", Datum>;
8
+ frameAnchor?: ConstantAccessor<"bottom" | "top" | "left" | "right" | "center" | "top-left" | "bottom-left" | "top-right" | "bottom-right", Datum>;
9
9
  class: string | null;
10
10
  children: Snippet<{
11
11
  datum: Datum;
@@ -1,85 +1,23 @@
1
1
  import type { ChannelAccessor, CurveName, DataRecord } from '../types/index.js';
2
2
  import type { CurveFactory } from 'd3-shape';
3
3
  declare class __sveltets_Render<Datum extends DataRecord> {
4
- props(): Omit<Partial<{
5
- filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
6
- facet: "auto" | "include" | "exclude";
7
- fx: ChannelAccessor<Datum>;
8
- fy: ChannelAccessor<Datum>;
9
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- dodgeX: import("../transforms/dodge").DodgeXOptions;
12
- dodgeY: import("../transforms/dodge").DodgeYOptions;
13
- fill: ChannelAccessor<Datum>;
14
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
15
- sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
16
- channel: string;
17
- order?: "ascending" | "descending";
18
- } | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
19
- stroke: ChannelAccessor<Datum>;
20
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
21
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
22
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
23
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
24
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
25
- opacity: ChannelAccessor<Datum>;
26
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
27
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
28
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
29
- clipPath: string;
30
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
31
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
32
- 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>;
63
- class: string;
64
- style: string;
65
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
66
- }>, "fill" | "fillOpacity"> & {
4
+ props(): Omit<BaseMarkProps<Datum_1>, "fill" | "fillOpacity"> & {
67
5
  data: Datum[];
68
- x1: ChannelAccessor<Datum>;
6
+ x1: ChannelAccessor<Datum_1>;
69
7
  /**
70
8
  * the horizontal position of the metric; bound to the x scale
71
9
  */
72
- x2: ChannelAccessor<Datum>;
73
- x: ChannelAccessor<Datum>;
10
+ x2: ChannelAccessor<Datum_1>;
11
+ x: ChannelAccessor<Datum_1>;
74
12
  /**
75
13
  * the vertical position of the comparison; bound to the y scale
76
14
  */
77
- y1: ChannelAccessor<Datum>;
15
+ y1: ChannelAccessor<Datum_1>;
78
16
  /**
79
17
  * the vertical position of the metric; bound to the y scale
80
18
  */
81
- y2: ChannelAccessor<Datum>;
82
- y: ChannelAccessor<Datum>;
19
+ y2: ChannelAccessor<Datum_1>;
20
+ y: ChannelAccessor<Datum_1>;
83
21
  fillOpacity?: number;
84
22
  /**
85
23
  * the stroke color of the "positive" area; defaults to 'blue'
@@ -32,6 +32,7 @@
32
32
  import { addEventHandlers } from './helpers/events.js';
33
33
  import Anchor from './helpers/Anchor.svelte';
34
34
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
35
+ import { isOrdinalScale } from '../helpers/scales.js';
35
36
 
36
37
  const DEFAULTS = {
37
38
  ...getPlotDefaults().dot
@@ -60,7 +61,11 @@
60
61
  recordizeXY({
61
62
  data,
62
63
  // sort by descending radius by default
63
- ...(options.r ? { sort: { channel: '-r' } } : {}),
64
+ ...(options.r &&
65
+ !isOrdinalScale(plot.scales.x.type) &&
66
+ !isOrdinalScale(plot.scales.y.type)
67
+ ? { sort: { channel: '-r' } }
68
+ : {}),
64
69
  ...options,
65
70
  ...(options.fill === true ? { fill: 'currentColor' } : {})
66
71
  })
@@ -1,5 +1,6 @@
1
1
  import { type Snippet } from 'svelte';
2
2
  import type { DataRecord, ConstantAccessor, ChannelAccessor, LinkableMarkProps } from '../types/index.js';
3
+ import { maybeSymbol } from '../helpers/symbols.js';
3
4
  declare class __sveltets_Render<Datum extends DataRecord> {
4
5
  props(): Partial<{
5
6
  filter: ConstantAccessor<boolean, Datum>;
@@ -8,14 +9,14 @@ declare class __sveltets_Render<Datum extends DataRecord> {
8
9
  fy: ChannelAccessor<Datum>;
9
10
  dx: ConstantAccessor<number, Datum>;
10
11
  dy: ConstantAccessor<number, Datum>;
11
- dodgeX: import("../transforms/dodge.js").DodgeXOptions;
12
- dodgeY: import("../transforms/dodge.js").DodgeYOptions;
12
+ dodgeX: maybeSymbol;
13
+ dodgeY: maybeSymbol;
13
14
  fill: ChannelAccessor<Datum>;
14
15
  fillOpacity: ConstantAccessor<number, Datum>;
15
- sort: ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | {
16
+ sort: {
16
17
  channel: string;
17
18
  order?: "ascending" | "descending";
18
- } | ConstantAccessor<import("../types/data.js").RawValue, Datum>;
19
+ } | ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | ConstantAccessor<import("../types/data.js").RawValue, Datum>;
19
20
  stroke: ChannelAccessor<Datum>;
20
21
  strokeWidth: ConstantAccessor<number, Datum>;
21
22
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -1,3 +1,4 @@
1
+ import { recordizeX } from '../index.js';
1
2
  import type { DataRow } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<Partial<{
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
7
8
  fy: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
8
9
  dx: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
9
10
  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;
11
+ dodgeX: recordizeX;
12
+ dodgeY: recordizeX;
12
13
  fill: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
13
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
14
- sort: ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Record<string | symbol, import("../types/data").RawValue>>;
18
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Record<string | symbol, import("../types/data").RawValue>>;
18
19
  stroke: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
19
20
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
20
21
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
@@ -70,7 +71,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
70
71
  symbol?: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>> | import("svelte").Snippet<[number, string]>;
71
72
  canvas?: boolean;
72
73
  dotClass?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/data").RawValue>>;
73
- }, "data" | "y"> & {
74
+ }, "y" | "data"> & {
74
75
  data: Datum[];
75
76
  };
76
77
  events(): {};
@@ -1,3 +1,4 @@
1
+ import { recordizeY } from '../index.js';
1
2
  import type { DataRow } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<Partial<{
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
7
8
  fy: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
8
9
  dx: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
9
10
  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;
11
+ dodgeX: recordizeY;
12
+ dodgeY: recordizeY;
12
13
  fill: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
13
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
14
- sort: ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Record<string | symbol, import("../types/data").RawValue>>;
18
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Record<string | symbol, import("../types/data").RawValue>>;
18
19
  stroke: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>>;
19
20
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
20
21
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Record<string | symbol, import("../types/data").RawValue>>;
@@ -70,7 +71,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
70
71
  symbol?: import("../types/channel").ChannelAccessor<Record<string | symbol, import("../types/data").RawValue>> | import("svelte").Snippet<[number, string]>;
71
72
  canvas?: boolean;
72
73
  dotClass?: import("../types/index.js").ConstantAccessor<string, Record<string | symbol, import("../types/data").RawValue>>;
73
- }, "data" | "x"> & {
74
+ }, "x" | "data"> & {
74
75
  data: Datum[];
75
76
  };
76
77
  events(): {};