svelteplot 0.5.1 → 0.5.2-pr-251.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 (78) 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 +67 -0
  41. package/dist/marks/Image.svelte.d.ts +18 -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/MarkerPath.svelte.d.ts +2 -164
  60. package/dist/marks/helpers/RectPath.svelte +3 -1
  61. package/dist/marks/helpers/RectPath.svelte.d.ts +3 -65
  62. package/dist/marks/index.d.ts +1 -0
  63. package/dist/marks/index.js +1 -0
  64. package/dist/transforms/bin.js +46 -26
  65. package/dist/transforms/bollinger.d.ts +1 -69
  66. package/dist/transforms/group.d.ts +4 -12
  67. package/dist/transforms/interval.d.ts +2 -128
  68. package/dist/transforms/recordize.d.ts +1 -4
  69. package/dist/transforms/select.d.ts +7 -448
  70. package/dist/transforms/sort.d.ts +3 -254
  71. package/dist/transforms/stack.d.ts +4 -24
  72. package/dist/transforms/stack.js +9 -3
  73. package/dist/transforms/window.d.ts +2 -134
  74. package/dist/types/channel.d.ts +1 -1
  75. package/dist/types/data.d.ts +1 -1
  76. package/dist/types/mark.d.ts +1 -1
  77. package/dist/types/plot.d.ts +13 -1
  78. package/package.json +129 -128
@@ -1,4 +1,5 @@
1
1
  import type { DataRecord, ConstantAccessor, LinkableMarkProps, ChannelAccessor } from '../types/index.js';
2
+ import { resolveChannel } from '../helpers/resolve.js';
2
3
  declare class __sveltets_Render<Datum = DataRecord | GeoJSON.GeoJsonObject> {
3
4
  props(): Partial<{
4
5
  filter: ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum = DataRecord | GeoJSON.GeoJsonObject> {
7
8
  fy: ChannelAccessor<Datum>;
8
9
  dx: ConstantAccessor<number, Datum>;
9
10
  dy: ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge.js").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge.js").DodgeYOptions;
11
+ dodgeX: resolveChannel;
12
+ dodgeY: resolveChannel;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: 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
- } | ConstantAccessor<import("../types/data.js").RawValue, Datum>;
18
+ } | ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | ConstantAccessor<import("../types/data.js").RawValue, Datum>;
18
19
  stroke: ChannelAccessor<Datum>;
19
20
  strokeWidth: ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -1,4 +1,5 @@
1
1
  import type { RawValue, ChannelAccessor } from '../types/index.js';
2
+ import { autoTicks } from '../helpers/autoTicks.js';
2
3
  declare class __sveltets_Render<Datum = RawValue> {
3
4
  props(): Omit<Partial<{
4
5
  filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum = RawValue> {
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").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: autoTicks;
12
+ dodgeY: autoTicks;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
14
- sort: ((a: RawValue, b: RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types/index.js").ConstantAccessor<RawValue, Datum>;
18
+ } | ((a: RawValue, b: RawValue) => number) | import("../types/index.js").ConstantAccessor<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>;
@@ -1,4 +1,5 @@
1
1
  import type { RawValue, ChannelAccessor } from '../types/index.js';
2
+ import { autoTicks } from '../helpers/autoTicks.js';
2
3
  declare class __sveltets_Render<Datum = RawValue> {
3
4
  props(): Omit<Partial<{
4
5
  filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum = RawValue> {
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").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: autoTicks;
12
+ dodgeY: autoTicks;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
14
- sort: ((a: RawValue, b: RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types/index.js").ConstantAccessor<RawValue, Datum>;
18
+ } | ((a: RawValue, b: RawValue) => number) | import("../types/index.js").ConstantAccessor<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>;
@@ -0,0 +1,67 @@
1
+ <script lang="ts" generics="Datum extends DataRecord">
2
+ interface ImageMarkProps extends BaseMarkProps<Datum>, LinkableMarkProps<Datum> {
3
+ data: Datum[];
4
+ x: ChannelAccessor<Datum>;
5
+ y: ChannelAccessor<Datum>;
6
+ r?: ChannelAccessor<Datum>;
7
+ width?: ConstantAccessor<number, Datum>;
8
+ height?: ConstantAccessor<number, Datum>;
9
+ src?: ConstantAccessor<string, Datum>;
10
+ title?: ConstantAccessor<string, Datum>;
11
+ preserveAspectRatio?: string;
12
+ // canvas?: boolean;
13
+ imageClass?: ConstantAccessor<string, Datum>;
14
+ }
15
+
16
+ import type {
17
+ BaseMarkProps,
18
+ ChannelAccessor,
19
+ ConstantAccessor,
20
+ DataRecord,
21
+ LinkableMarkProps
22
+ } from '../types';
23
+ import { resolveProp } from '../helpers/resolve';
24
+ import CustomMark from './CustomMark.svelte';
25
+ import { getPlotDefaults } from '../hooks/plotDefaults';
26
+ import { sort } from '../transforms';
27
+
28
+ let markProps: ImageMarkProps = $props();
29
+
30
+ const DEFAULTS: Partial<ImageMarkProps> = {
31
+ width: 20,
32
+ preserveAspectRatio: 'xMidYMin slice',
33
+ ...getPlotDefaults().image
34
+ };
35
+
36
+ const {
37
+ data = [{} as Datum],
38
+ width,
39
+ height,
40
+ src,
41
+ title,
42
+ preserveAspectRatio,
43
+ ...options
44
+ }: ImageMarkProps = $derived({
45
+ ...DEFAULTS,
46
+ ...markProps
47
+ });
48
+
49
+ const args = $derived(sort({ data, ...options }));
50
+ </script>
51
+
52
+ <CustomMark type="image" {...args}>
53
+ {#snippet mark({ record, index, usedScales })}
54
+ {@const w = record.r !== undefined ? record.r * 2 : resolveProp(width, record.datum, 20)}
55
+ {@const h =
56
+ record.r !== undefined ? record.r * 2 : resolveProp(height || width, record.datum, 20)}
57
+ <image
58
+ href={resolveProp(src, record.datum, '')}
59
+ x={record.x - w * 0.5}
60
+ y={record.y - h * 0.5}
61
+ {preserveAspectRatio}
62
+ clip-path={record.r !== undefined ? `circle(${record.r}px)` : null}
63
+ width={w}
64
+ height={h}
65
+ >{#if title}<title>{resolveProp(title, record.datum, '')}</title>{/if}</image>
66
+ {/snippet}
67
+ </CustomMark>
@@ -0,0 +1,18 @@
1
+ import type { DataRecord } from '../types';
2
+ declare class __sveltets_Render<Datum extends DataRecord> {
3
+ props(): any;
4
+ events(): {};
5
+ slots(): {};
6
+ bindings(): "";
7
+ exports(): {};
8
+ }
9
+ interface $$IsomorphicComponent {
10
+ 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']>> & {
11
+ $$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
12
+ } & ReturnType<__sveltets_Render<Datum>['exports']>;
13
+ <Datum extends DataRecord>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
14
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
15
+ }
16
+ declare const Image: $$IsomorphicComponent;
17
+ type Image<Datum extends DataRecord> = InstanceType<typeof Image<Datum>>;
18
+ export default Image;
@@ -1,5 +1,6 @@
1
1
  import type { CurveName, DataRecord, ConstantAccessor, ChannelAccessor, MarkerOptions } from '../types/index.js';
2
2
  import { type CurveFactory } from 'd3-shape';
3
+ import callWithProps from '../helpers/callWithProps.js';
3
4
  import type { RawValue } from '../types/index.js';
4
5
  declare class __sveltets_Render<Datum extends DataRecord> {
5
6
  props(): MarkerOptions & Partial<{
@@ -9,14 +10,14 @@ declare class __sveltets_Render<Datum extends DataRecord> {
9
10
  fy: ChannelAccessor<Datum>;
10
11
  dx: ConstantAccessor<number, Datum>;
11
12
  dy: ConstantAccessor<number, Datum>;
12
- dodgeX: import("../transforms/dodge.js").DodgeXOptions;
13
- dodgeY: import("../transforms/dodge.js").DodgeYOptions;
13
+ dodgeX: callWithProps;
14
+ dodgeY: callWithProps;
14
15
  fill: ChannelAccessor<Datum>;
15
16
  fillOpacity: ConstantAccessor<number, Datum>;
16
- sort: ((a: RawValue, b: RawValue) => number) | {
17
+ sort: {
17
18
  channel: string;
18
19
  order?: "ascending" | "descending";
19
- } | ConstantAccessor<RawValue, Datum>;
20
+ } | ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | ConstantAccessor<import("../types/data.js").RawValue, Datum>;
20
21
  stroke: ChannelAccessor<Datum>;
21
22
  strokeWidth: ConstantAccessor<number, Datum>;
22
23
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -74,7 +75,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
74
75
  outlineStrokeOpacity?: number;
75
76
  curve?: CurveName | CurveFactory | "auto";
76
77
  tension?: number;
77
- sort?: ConstantAccessor<RawValue, Datum> | {
78
+ sort?: ConstantAccessor<RawValue, Datum_1> | {
78
79
  channel: "stroke" | "fill";
79
80
  };
80
81
  text?: ConstantAccessor<string, Datum>;
@@ -1,3 +1,4 @@
1
+ import { recordizeX } from '../index.js';
1
2
  import type { DataRow } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<import("../types").MarkerOptions & Partial<{
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
7
8
  fy: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
8
9
  dx: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
9
10
  dy: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: recordizeX;
12
+ dodgeY: recordizeX;
12
13
  fill: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
13
14
  fillOpacity: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
14
- sort: ((a: import("../types").RawValue, b: import("../types").RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>>;
18
+ } | ((a: import("../types").RawValue, b: import("../types").RawValue) => number) | import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>>;
18
19
  stroke: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
19
20
  strokeWidth: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
20
21
  strokeOpacity: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
@@ -72,7 +73,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
72
73
  outlineStrokeOpacity?: number;
73
74
  curve?: import("../types").CurveName | import("d3-shape").CurveFactory | "auto";
74
75
  tension?: number;
75
- sort?: import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>> | {
76
+ sort?: import("../types").ConstantAccessor<recordizeX, Datum_1> | {
76
77
  channel: "stroke" | "fill";
77
78
  };
78
79
  text?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
@@ -82,7 +83,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
82
83
  textStrokeWidth?: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
83
84
  lineClass?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
84
85
  canvas?: boolean;
85
- }, "data" | "y"> & {
86
+ }, "y" | "data"> & {
86
87
  data: Datum[];
87
88
  };
88
89
  events(): {};
@@ -1,3 +1,4 @@
1
+ import { recordizeY } from '../index.js';
1
2
  import type { DataRow } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<import("../types").MarkerOptions & Partial<{
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
7
8
  fy: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
8
9
  dx: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
9
10
  dy: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: recordizeY;
12
+ dodgeY: recordizeY;
12
13
  fill: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
13
14
  fillOpacity: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
14
- sort: ((a: import("../types").RawValue, b: import("../types").RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>>;
18
+ } | ((a: import("../types").RawValue, b: import("../types").RawValue) => number) | import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>>;
18
19
  stroke: import("../types").ChannelAccessor<Record<string | symbol, import("../types").RawValue>>;
19
20
  strokeWidth: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
20
21
  strokeOpacity: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
@@ -72,7 +73,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
72
73
  outlineStrokeOpacity?: number;
73
74
  curve?: import("../types").CurveName | import("d3-shape").CurveFactory | "auto";
74
75
  tension?: number;
75
- sort?: import("../types").ConstantAccessor<import("../types").RawValue, Record<string | symbol, import("../types").RawValue>> | {
76
+ sort?: import("../types").ConstantAccessor<recordizeY, Datum_1> | {
76
77
  channel: "stroke" | "fill";
77
78
  };
78
79
  text?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
@@ -82,7 +83,7 @@ declare class __sveltets_Render<Datum extends DataRow> {
82
83
  textStrokeWidth?: import("../types").ConstantAccessor<number, Record<string | symbol, import("../types").RawValue>>;
83
84
  lineClass?: import("../types").ConstantAccessor<string, Record<string | symbol, import("../types").RawValue>>;
84
85
  canvas?: boolean;
85
- }, "data" | "x"> & {
86
+ }, "x" | "data"> & {
86
87
  data: Datum[];
87
88
  };
88
89
  events(): {};
@@ -1,4 +1,5 @@
1
1
  import type { DataRecord, ConstantAccessor, ChannelAccessor, CurveName, MarkerOptions, RawValue } from '../types/index.js';
2
+ import { replaceChannels } from '../transforms/rename.js';
2
3
  import { type CurveFactory } from 'd3-shape';
3
4
  declare class __sveltets_Render<Datum extends DataRecord> {
4
5
  props(): Partial<{
@@ -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: replaceChannels;
13
+ dodgeY: replaceChannels;
13
14
  fill: ChannelAccessor<Datum>;
14
15
  fillOpacity: ConstantAccessor<number, Datum>;
15
- sort: ((a: RawValue, b: RawValue) => number) | {
16
+ sort: {
16
17
  channel: string;
17
18
  order?: "ascending" | "descending";
18
- } | ConstantAccessor<RawValue, Datum>;
19
+ } | ((a: RawValue, b: RawValue) => number) | ConstantAccessor<RawValue, Datum>;
19
20
  stroke: ChannelAccessor<Datum>;
20
21
  strokeWidth: ConstantAccessor<number, Datum>;
21
22
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -31,6 +31,7 @@
31
31
  import GroupMultiple from './helpers/GroupMultiple.svelte';
32
32
  import RectPath from './helpers/RectPath.svelte';
33
33
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
34
+ import { IS_SORTED } from '../transforms/sort';
34
35
 
35
36
  let markProps: RectMarkProps = $props();
36
37
 
@@ -59,6 +60,7 @@
59
60
  type="rect"
60
61
  required={[]}
61
62
  channels={['x1', 'x2', 'y1', 'y2', 'fill', 'stroke', 'opacity', 'fillOpacity', 'strokeOpacity']}
63
+ {...markProps}
62
64
  {...args}>
63
65
  {#snippet children({ usedScales, scaledData })}
64
66
  <GroupMultiple class={scaledData.length > 1 ? className : null} length={scaledData.length}>
@@ -1,3 +1,4 @@
1
+ import { intervalX } from '../index.js';
1
2
  import type { DataRecord, BaseRectMarkProps, ChannelAccessor, LinkableMarkProps } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRecord> {
3
4
  props(): Partial<{
@@ -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").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: intervalX;
12
+ dodgeY: intervalX;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
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, Datum>;
18
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").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>;
@@ -45,7 +45,11 @@
45
45
  const args = $derived(recordizeX({ data, ...options }, { withIndex: false }));
46
46
  </script>
47
47
 
48
- <Mark type="ruleX" channels={['x', 'y1', 'y2', 'stroke', 'opacity', 'strokeOpacity']} {...args}>
48
+ <Mark
49
+ type="ruleX"
50
+ channels={['x', 'y1', 'y2', 'stroke', 'opacity', 'strokeOpacity']}
51
+ {...markProps}
52
+ {...args}>
49
53
  {#snippet children({ mark, scaledData, usedScales })}
50
54
  <GroupMultiple class="rule-x {className || ''}" length={className ? 2 : scaledData.length}>
51
55
  {#each scaledData as d, i (i)}
@@ -1,3 +1,4 @@
1
+ import { recordizeX } from '../transforms/recordize.js';
1
2
  import type { DataRecord, ConstantAccessor, ChannelAccessor, RawValue } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum = DataRecord | RawValue> {
3
4
  props(): Omit<Partial<{
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum = DataRecord | RawValue> {
7
8
  fy: ChannelAccessor<Datum>;
8
9
  dx: ConstantAccessor<number, Datum>;
9
10
  dy: ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: recordizeX;
12
+ dodgeY: recordizeX;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: ConstantAccessor<number, Datum>;
14
- sort: ((a: RawValue, b: RawValue) => number) | {
15
+ sort: {
15
16
  channel: string;
16
17
  order?: "ascending" | "descending";
17
- } | ConstantAccessor<RawValue, Datum>;
18
+ } | ((a: RawValue, b: RawValue) => number) | ConstantAccessor<RawValue, Datum>;
18
19
  stroke: ChannelAccessor<Datum>;
19
20
  strokeWidth: ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -24,6 +24,7 @@
24
24
  ChannelAccessor
25
25
  } from '../types/index.js';
26
26
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
27
+ import { IS_SORTED } from '../transforms/sort';
27
28
 
28
29
  let markProps: RuleYMarkProps = $props();
29
30
  const DEFAULTS = {
@@ -44,7 +45,11 @@
44
45
  const args = $derived(recordizeY({ data, ...options }, { withIndex: false }));
45
46
  </script>
46
47
 
47
- <Mark type="ruleY" channels={['y', 'x1', 'x2', 'stroke', 'opacity', 'strokeOpacity']} {...args}>
48
+ <Mark
49
+ type="ruleY"
50
+ channels={['y', 'x1', 'x2', 'stroke', 'opacity', 'strokeOpacity']}
51
+ {...markProps}
52
+ {...args}>
48
53
  {#snippet children({ scaledData, usedScales })}
49
54
  <GroupMultiple class="rule-y {className || ''}" length={className ? 2 : args.data.length}>
50
55
  {#each scaledData as d, i (i)}
@@ -1,3 +1,4 @@
1
+ import { recordizeY } from '../transforms/recordize.js';
1
2
  import type { DataRecord, ConstantAccessor, ChannelAccessor } from '../types/index.js';
2
3
  declare class __sveltets_Render<Datum = DataRecord> {
3
4
  props(): Omit<Partial<{
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum = DataRecord> {
7
8
  fy: ChannelAccessor<Datum>;
8
9
  dx: ConstantAccessor<number, Datum>;
9
10
  dy: ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: recordizeY;
12
+ dodgeY: recordizeY;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: ConstantAccessor<number, Datum>;
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
- } | ConstantAccessor<import("../types/data").RawValue, Datum>;
18
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | ConstantAccessor<import("../types/data").RawValue, Datum>;
18
19
  stroke: ChannelAccessor<Datum>;
19
20
  strokeWidth: ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -1,4 +1,5 @@
1
1
  import type { ChannelAccessor, DataRecord } from '../types/index.js';
2
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
2
3
  declare class __sveltets_Render<Datum extends DataRecord> {
3
4
  props(): Omit<Partial<{
4
5
  filter: import("../types/index.js").ConstantAccessor<boolean, Record<string | symbol, import("../types/data").RawValue>>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRecord> {
7
8
  fy: 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: getPlotDefaults;
12
+ dodgeY: getPlotDefaults;
12
13
  fill: 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: 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>>;
@@ -73,7 +74,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
73
74
  shape?: "arrow" | "spike" | "arrow-filled" | import("./Vector.svelte").ShapeRenderer;
74
75
  children?: import("svelte").Snippet;
75
76
  canvas?: boolean;
76
- }, "data" | "r" | "length" | "x" | "y" | "rotate"> & {
77
+ }, "r" | "length" | "x" | "y" | "data" | "rotate"> & {
77
78
  data: Datum[];
78
79
  x: ChannelAccessor<Datum>;
79
80
  y: ChannelAccessor<Datum>;
@@ -1,6 +1,7 @@
1
1
  import type * as CSS from 'csstype';
2
2
  import { type Snippet } from 'svelte';
3
3
  import type { DataRecord, ConstantAccessor, ChannelAccessor, LinkableMarkProps } from '../types/index.js';
4
+ import { sort } from '../index.js';
4
5
  declare class __sveltets_Render<Datum extends DataRecord> {
5
6
  props(): Partial<{
6
7
  filter: ConstantAccessor<boolean, Datum>;
@@ -9,14 +10,14 @@ declare class __sveltets_Render<Datum extends DataRecord> {
9
10
  fy: ChannelAccessor<Datum>;
10
11
  dx: ConstantAccessor<number, Datum>;
11
12
  dy: ConstantAccessor<number, Datum>;
12
- dodgeX: import("../transforms/dodge").DodgeXOptions;
13
- dodgeY: import("../transforms/dodge").DodgeYOptions;
13
+ dodgeX: sort;
14
+ dodgeY: sort;
14
15
  fill: ChannelAccessor<Datum>;
15
16
  fillOpacity: ConstantAccessor<number, Datum>;
16
- sort: ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | {
17
+ sort: {
17
18
  channel: string;
18
19
  order?: "ascending" | "descending";
19
- } | ConstantAccessor<import("../types/data").RawValue, Datum>;
20
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | ConstantAccessor<import("../types/data").RawValue, Datum>;
20
21
  stroke: ChannelAccessor<Datum>;
21
22
  strokeWidth: ConstantAccessor<number, Datum>;
22
23
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -75,7 +76,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
75
76
  * the font size of the text
76
77
  */
77
78
  fontFamily?: ConstantAccessor<CSS.Property.FontFamily, Datum>;
78
- fontSize?: ConstantAccessor<number | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | (string & {}) | "small" | "large" | "medium" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large" | "larger" | "smaller", Datum>;
79
+ fontSize?: ConstantAccessor<number | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | (string & {}) | "small" | "medium" | "large" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large" | "larger" | "smaller", Datum>;
79
80
  fontWeight?: ConstantAccessor<CSS.Property.FontWeight, Datum>;
80
81
  fontStyle?: ConstantAccessor<CSS.Property.FontStyle, Datum>;
81
82
  fontVariant?: ConstantAccessor<CSS.Property.FontVariant, Datum>;
@@ -100,7 +101,7 @@ declare class __sveltets_Render<Datum extends DataRecord> {
100
101
  * @default 1.2
101
102
  */
102
103
  lineHeight?: ConstantAccessor<number, Datum>;
103
- frameAnchor?: ConstantAccessor<"left" | "right" | "middle" | "top" | "bottom" | "top-left" | "bottom-left" | "top-right" | "bottom-right", Datum>;
104
+ frameAnchor?: ConstantAccessor<"bottom" | "top" | "left" | "right" | "middle" | "top-left" | "bottom-left" | "top-right" | "bottom-right", Datum>;
104
105
  /**
105
106
  * rotate text by angle in degrees
106
107
  */
@@ -61,7 +61,11 @@
61
61
  let testFacet = $derived(getTestFacet());
62
62
  </script>
63
63
 
64
- <Mark type="tickX" channels={['x', 'y', 'stroke', 'opacity', 'strokeOpacity']} {...args}>
64
+ <Mark
65
+ type="tickX"
66
+ channels={['x', 'y', 'stroke', 'opacity', 'strokeOpacity']}
67
+ {...markProps}
68
+ {...args}>
65
69
  {#snippet children({ mark, usedScales })}
66
70
  <g class="tick-x">
67
71
  {#each args.data as datum, i (i)}
@@ -1,4 +1,5 @@
1
1
  import type { ChannelAccessor, DataRow, ConstantAccessor } from '../types/index.js';
2
+ import { recordizeX } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<Partial<{
4
5
  filter: ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
7
8
  fy: ChannelAccessor<Datum>;
8
9
  dx: ConstantAccessor<number, Datum>;
9
10
  dy: ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: recordizeX;
12
+ dodgeY: recordizeX;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: ConstantAccessor<number, Datum>;
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
- } | ConstantAccessor<import("../types/data").RawValue, Datum>;
18
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | ConstantAccessor<import("../types/data").RawValue, Datum>;
18
19
  stroke: ChannelAccessor<Datum>;
19
20
  strokeWidth: ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -60,7 +60,11 @@
60
60
  let testFacet = $derived(getTestFacet());
61
61
  </script>
62
62
 
63
- <Mark type="tickY" channels={['x', 'y', 'stroke', 'opacity', 'strokeOpacity']} {...args}>
63
+ <Mark
64
+ type="tickY"
65
+ channels={['x', 'y', 'stroke', 'opacity', 'strokeOpacity']}
66
+ {...markProps}
67
+ {...args}>
64
68
  {#snippet children({ mark, usedScales })}
65
69
  <g class="tick-y">
66
70
  {#each args.data as datum, i (i)}
@@ -1,4 +1,5 @@
1
1
  import type { ChannelAccessor, DataRow, ConstantAccessor } from '../types/index.js';
2
+ import { recordizeY } from '../index.js';
2
3
  declare class __sveltets_Render<Datum extends DataRow> {
3
4
  props(): Omit<Partial<{
4
5
  filter: ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
7
8
  fy: ChannelAccessor<Datum>;
8
9
  dx: ConstantAccessor<number, Datum>;
9
10
  dy: ConstantAccessor<number, Datum>;
10
- dodgeX: import("../transforms/dodge").DodgeXOptions;
11
- dodgeY: import("../transforms/dodge").DodgeYOptions;
11
+ dodgeX: recordizeY;
12
+ dodgeY: recordizeY;
12
13
  fill: ChannelAccessor<Datum>;
13
14
  fillOpacity: ConstantAccessor<number, Datum>;
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
- } | ConstantAccessor<import("../types/data").RawValue, Datum>;
18
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | ConstantAccessor<import("../types/data").RawValue, Datum>;
18
19
  stroke: ChannelAccessor<Datum>;
19
20
  strokeWidth: ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -4,6 +4,7 @@ export type ShapeRenderer = {
4
4
  };
5
5
  import type { DataRecord, ChannelAccessor } from '../types/index.js';
6
6
  import { type Snippet } from 'svelte';
7
+ import { sort } from '../index.js';
7
8
  declare class __sveltets_Render<Datum extends DataRecord> {
8
9
  props(): Partial<{
9
10
  filter: import("../types/index.js").ConstantAccessor<boolean, Datum>;
@@ -12,14 +13,14 @@ declare class __sveltets_Render<Datum extends DataRecord> {
12
13
  fy: ChannelAccessor<Datum>;
13
14
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
14
15
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
15
- dodgeX: import("../transforms/dodge.js").DodgeXOptions;
16
- dodgeY: import("../transforms/dodge.js").DodgeYOptions;
16
+ dodgeX: sort;
17
+ dodgeY: sort;
17
18
  fill: ChannelAccessor<Datum>;
18
19
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- sort: ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | {
20
+ sort: {
20
21
  channel: string;
21
22
  order?: "ascending" | "descending";
22
- } | import("../types/index.js").ConstantAccessor<import("../types/data.js").RawValue, Datum>;
23
+ } | ((a: import("../types/data.js").RawValue, b: import("../types/data.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data.js").RawValue, Datum>;
23
24
  stroke: ChannelAccessor<Datum>;
24
25
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
25
26
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;