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,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,76 @@
1
+ <!--
2
+ @component
3
+ For showing images positioned at x/y coordinates
4
+ -->
5
+ <script lang="ts" generics="Datum extends DataRecord">
6
+ interface ImageMarkProps extends BaseMarkProps<Datum>, LinkableMarkProps<Datum> {
7
+ data: Datum[];
8
+ x: ChannelAccessor<Datum>;
9
+ y: ChannelAccessor<Datum>;
10
+ r?: ChannelAccessor<Datum>;
11
+ width?: ConstantAccessor<number, Datum>;
12
+ height?: ConstantAccessor<number, Datum>;
13
+ src?: ConstantAccessor<string, Datum>;
14
+ title?: ConstantAccessor<string, Datum>;
15
+ preserveAspectRatio?: string;
16
+ // canvas?: boolean;
17
+ imageClass?: ConstantAccessor<string, Datum>;
18
+ }
19
+
20
+ import type {
21
+ BaseMarkProps,
22
+ ChannelAccessor,
23
+ ConstantAccessor,
24
+ DataRecord,
25
+ LinkableMarkProps
26
+ } from '../types';
27
+ import { resolveProp } from '../helpers/resolve';
28
+ import CustomMark from './CustomMark.svelte';
29
+ import { getPlotDefaults } from '../hooks/plotDefaults';
30
+ import { sort } from '../transforms';
31
+ import Anchor from './helpers/Anchor.svelte';
32
+
33
+ let markProps: ImageMarkProps = $props();
34
+
35
+ const DEFAULTS: Partial<ImageMarkProps> = {
36
+ width: 20,
37
+ preserveAspectRatio: 'xMidYMin slice',
38
+ ...getPlotDefaults().image
39
+ };
40
+
41
+ const {
42
+ data = [{} as Datum],
43
+ width,
44
+ height,
45
+ src,
46
+ title,
47
+ imageClass,
48
+ preserveAspectRatio,
49
+ ...options
50
+ }: ImageMarkProps = $derived({
51
+ ...DEFAULTS,
52
+ ...markProps
53
+ });
54
+
55
+ const args = $derived(sort({ data, ...options }));
56
+ </script>
57
+
58
+ <CustomMark type="image" {...args}>
59
+ {#snippet mark({ record, index, usedScales })}
60
+ {@const w = record.r !== undefined ? record.r * 2 : resolveProp(width, record.datum, 20)}
61
+ {@const h =
62
+ record.r !== undefined ? record.r * 2 : resolveProp(height || width, record.datum, 20)}
63
+ <Anchor {options} datum={record.datum}>
64
+ <image
65
+ class={resolveProp(imageClass, record.datum, null)}
66
+ href={resolveProp(src, record.datum, '')}
67
+ x={record.x - w * 0.5}
68
+ y={record.y - h * 0.5}
69
+ {preserveAspectRatio}
70
+ clip-path={record.r !== undefined ? `circle(${record.r}px)` : null}
71
+ width={w}
72
+ height={h}
73
+ >{#if title}<title>{resolveProp(title, record.datum, '')}</title>{/if}</image>
74
+ </Anchor>
75
+ {/snippet}
76
+ </CustomMark>
@@ -0,0 +1,19 @@
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
+ /** For showing images positioned at x/y coordinates */
17
+ declare const Image: $$IsomorphicComponent;
18
+ type Image<Datum extends DataRecord> = InstanceType<typeof Image<Datum>>;
19
+ 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>;