svelteplot 0.6.0 → 0.7.0-pr-274.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 (87) hide show
  1. package/LICENSE.md +19 -1
  2. package/dist/Mark.svelte +7 -0
  3. package/dist/Mark.svelte.d.ts +5 -4
  4. package/dist/Plot.svelte +10 -2
  5. package/dist/constants.d.ts +1 -1
  6. package/dist/core/FacetAxes.svelte +2 -2
  7. package/dist/core/Plot.svelte +7 -11
  8. package/dist/helpers/colors.d.ts +9 -12
  9. package/dist/helpers/facets.d.ts +1 -1
  10. package/dist/helpers/getBaseStyles.d.ts +4 -4
  11. package/dist/helpers/getBaseStyles.js +8 -0
  12. package/dist/helpers/index.d.ts +3 -3
  13. package/dist/helpers/reduce.d.ts +1 -1
  14. package/dist/helpers/removeIdenticalLines.js +3 -2
  15. package/dist/helpers/scales.d.ts +7 -7
  16. package/dist/helpers/scales.js +2 -2
  17. package/dist/helpers/symbols.d.ts +2 -2
  18. package/dist/helpers/time.d.ts +3 -3
  19. package/dist/helpers/typeChecks.d.ts +8 -8
  20. package/dist/helpers/wordwrap.d.ts +14 -0
  21. package/dist/helpers/wordwrap.js +129 -0
  22. package/dist/marks/Area.svelte.d.ts +5 -4
  23. package/dist/marks/AreaX.svelte.d.ts +6 -5
  24. package/dist/marks/Arrow.svelte.d.ts +5 -4
  25. package/dist/marks/AxisX.svelte +2 -1
  26. package/dist/marks/AxisX.svelte.d.ts +7 -5
  27. package/dist/marks/AxisY.svelte.d.ts +6 -5
  28. package/dist/marks/BarX.svelte.d.ts +5 -4
  29. package/dist/marks/BarY.svelte.d.ts +5 -4
  30. package/dist/marks/BollingerX.svelte.d.ts +2 -76
  31. package/dist/marks/BollingerY.svelte.d.ts +2 -76
  32. package/dist/marks/BoxY.svelte.d.ts +6 -68
  33. package/dist/marks/Brush.svelte +44 -4
  34. package/dist/marks/Cell.svelte.d.ts +5 -4
  35. package/dist/marks/CustomMark.svelte.d.ts +2 -84
  36. package/dist/marks/CustomMarkHTML.svelte.d.ts +1 -1
  37. package/dist/marks/DifferenceY.svelte.d.ts +7 -69
  38. package/dist/marks/Dot.svelte.d.ts +5 -4
  39. package/dist/marks/DotX.svelte.d.ts +6 -5
  40. package/dist/marks/DotY.svelte.d.ts +6 -5
  41. package/dist/marks/Geo.svelte.d.ts +5 -4
  42. package/dist/marks/GridX.svelte.d.ts +5 -4
  43. package/dist/marks/GridY.svelte.d.ts +5 -4
  44. package/dist/marks/Image.svelte.d.ts +2 -75
  45. package/dist/marks/Line.svelte +1 -1
  46. package/dist/marks/Line.svelte.d.ts +6 -5
  47. package/dist/marks/LineX.svelte.d.ts +7 -6
  48. package/dist/marks/LineY.svelte.d.ts +7 -6
  49. package/dist/marks/Link.svelte.d.ts +5 -4
  50. package/dist/marks/Rect.svelte.d.ts +5 -4
  51. package/dist/marks/RuleX.svelte.d.ts +5 -4
  52. package/dist/marks/RuleY.svelte.d.ts +5 -4
  53. package/dist/marks/Spike.svelte.d.ts +6 -5
  54. package/dist/marks/Text.svelte.d.ts +7 -6
  55. package/dist/marks/TickX.svelte.d.ts +5 -4
  56. package/dist/marks/TickY.svelte.d.ts +5 -4
  57. package/dist/marks/Vector.svelte.d.ts +5 -4
  58. package/dist/marks/WaffleX.svelte +115 -0
  59. package/dist/marks/WaffleX.svelte.d.ts +19 -0
  60. package/dist/marks/WaffleY.svelte +119 -0
  61. package/dist/marks/WaffleY.svelte.d.ts +19 -0
  62. package/dist/marks/helpers/Anchor.svelte.d.ts +5 -5
  63. package/dist/marks/helpers/BaseAxisX.svelte +31 -3
  64. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +2 -0
  65. package/dist/marks/helpers/MarkerPath.svelte.d.ts +2 -164
  66. package/dist/marks/helpers/RectPath.svelte.d.ts +3 -65
  67. package/dist/marks/helpers/waffle.d.ts +64 -0
  68. package/dist/marks/helpers/waffle.js +162 -0
  69. package/dist/marks/index.d.ts +3 -1
  70. package/dist/marks/index.js +3 -1
  71. package/dist/transforms/bollinger.d.ts +1 -69
  72. package/dist/transforms/centroid.d.ts +1 -4
  73. package/dist/transforms/group.d.ts +4 -12
  74. package/dist/transforms/group.js +11 -5
  75. package/dist/transforms/interval.d.ts +2 -128
  76. package/dist/transforms/recordize.d.ts +4 -7
  77. package/dist/transforms/select.d.ts +7 -448
  78. package/dist/transforms/sort.d.ts +5 -253
  79. package/dist/transforms/stack.d.ts +3 -23
  80. package/dist/transforms/window.d.ts +2 -134
  81. package/dist/types/data.d.ts +1 -0
  82. package/dist/types/mark.d.ts +1 -1
  83. package/dist/types/plot.d.ts +19 -5
  84. package/dist/types/scale.d.ts +8 -0
  85. package/dist/ui/ExamplesPagePreview.svelte +148 -0
  86. package/dist/ui/ExamplesPagePreview.svelte.d.ts +13 -0
  87. package/package.json +130 -128
@@ -1,5 +1,6 @@
1
1
  import type { RawValue, ConstantAccessor } from '../types/index.js';
2
2
  import type * as CSS from 'csstype';
3
+ import autoTimeFormat from '../helpers/autoTimeFormat.js';
3
4
  declare class __sveltets_Render<Datum extends RawValue> {
4
5
  props(): Omit<Partial<{
5
6
  filter: ConstantAccessor<boolean, Datum>;
@@ -8,14 +9,14 @@ declare class __sveltets_Render<Datum extends RawValue> {
8
9
  fy: import("../types/channel").ChannelAccessor<Datum>;
9
10
  dx: ConstantAccessor<number, Datum>;
10
11
  dy: ConstantAccessor<number, Datum>;
11
- dodgeX: import("../transforms/dodge").DodgeXOptions;
12
- dodgeY: import("../transforms/dodge").DodgeYOptions;
12
+ dodgeX: autoTimeFormat;
13
+ dodgeY: autoTimeFormat;
13
14
  fill: import("../types/channel").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: import("../types/channel").ChannelAccessor<Datum>;
20
21
  strokeWidth: ConstantAccessor<number, Datum>;
21
22
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -63,7 +64,7 @@ declare class __sveltets_Render<Datum extends RawValue> {
63
64
  class: string;
64
65
  style: string;
65
66
  cursor: ConstantAccessor<CSS.Property.Cursor, Datum>;
66
- }>, "fillOpacity" | "paintOrder" | "href" | "target" | "title"> & {
67
+ }>, "fillOpacity" | "href" | "target" | "title" | "paintOrder"> & {
67
68
  data?: Datum[] | undefined;
68
69
  automatic?: boolean;
69
70
  title?: string | false | null;
@@ -87,6 +88,7 @@ declare class __sveltets_Render<Datum extends RawValue> {
87
88
  tickSpacing?: number;
88
89
  /** text anchor for axis labels */
89
90
  textAnchor?: ConstantAccessor<"auto" | CSS.Property.TextAnchor, Datum>;
91
+ removeDuplicateTicks: boolean;
90
92
  };
91
93
  events(): {};
92
94
  slots(): {};
@@ -1,4 +1,5 @@
1
1
  import type { RawValue, ConstantAccessor } from '../types/index.js';
2
+ import autoTimeFormat from '../helpers/autoTimeFormat.js';
2
3
  declare class __sveltets_Render<Datum extends RawValue> {
3
4
  props(): Omit<Partial<{
4
5
  filter: ConstantAccessor<boolean, Datum>;
@@ -7,14 +8,14 @@ declare class __sveltets_Render<Datum extends RawValue> {
7
8
  fy: import("../types/channel").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: autoTimeFormat;
12
+ dodgeY: autoTimeFormat;
12
13
  fill: import("../types/channel").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: import("../types/channel").ChannelAccessor<Datum>;
19
20
  strokeWidth: ConstantAccessor<number, Datum>;
20
21
  strokeOpacity: ConstantAccessor<number, Datum>;
@@ -62,7 +63,7 @@ declare class __sveltets_Render<Datum extends RawValue> {
62
63
  class: string;
63
64
  style: string;
64
65
  cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
65
- }>, "fillOpacity" | "paintOrder" | "href" | "target" | "title"> & {
66
+ }>, "fillOpacity" | "href" | "target" | "title" | "paintOrder"> & {
66
67
  data?: Datum[] | undefined;
67
68
  automatic?: boolean;
68
69
  title?: string | false | null;
@@ -1,3 +1,4 @@
1
+ import { stackX } from '../index.js';
1
2
  import type { StackOptions } from '../transforms/stack.js';
2
3
  import type { DataRow } from '../types/index.js';
3
4
  import type { BaseRectMarkProps, ChannelAccessor, LinkableMarkProps } from '../types/index.js';
@@ -9,14 +10,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
9
10
  fy: ChannelAccessor<Datum>;
10
11
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
11
12
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
12
- dodgeX: import("../transforms/dodge").DodgeXOptions;
13
- dodgeY: import("../transforms/dodge").DodgeYOptions;
13
+ dodgeX: stackX;
14
+ dodgeY: stackX;
14
15
  fill: ChannelAccessor<Datum>;
15
16
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
16
- sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
17
+ sort: {
17
18
  channel: string;
18
19
  order?: "ascending" | "descending";
19
- } | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
20
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Datum>;
20
21
  stroke: ChannelAccessor<Datum>;
21
22
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
22
23
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
@@ -1,3 +1,4 @@
1
+ import { intervalY } from '../index.js';
1
2
  import type { StackOptions } from '../transforms/stack.js';
2
3
  import type { BaseRectMarkProps, ChannelAccessor, DataRow, LinkableMarkProps } from '../types/index.js';
3
4
  declare class __sveltets_Render<Datum extends DataRow> {
@@ -8,14 +9,14 @@ declare class __sveltets_Render<Datum extends DataRow> {
8
9
  fy: ChannelAccessor<Datum>;
9
10
  dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
11
  dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- dodgeX: import("../transforms/dodge").DodgeXOptions;
12
- dodgeY: import("../transforms/dodge").DodgeYOptions;
12
+ dodgeX: intervalY;
13
+ dodgeY: intervalY;
13
14
  fill: ChannelAccessor<Datum>;
14
15
  fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
15
- sort: ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | {
16
+ sort: {
16
17
  channel: string;
17
18
  order?: "ascending" | "descending";
18
- } | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Datum>;
19
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, Datum>;
19
20
  stroke: ChannelAccessor<Datum>;
20
21
  strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
21
22
  strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
@@ -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(): "";
@@ -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(): "";
@@ -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(): {};
@@ -33,14 +33,17 @@
33
33
  onbrushend?: (evt: BrushEvent) => void;
34
34
  onbrush?: (evt: BrushEvent) => void;
35
35
  }
36
- import { getContext } from 'svelte';
36
+ import { getContext, untrack } from 'svelte';
37
37
  import Rect from './Rect.svelte';
38
38
  import type { BaseMarkProps, DataRecord, PlotContext } from '../types/index.js';
39
39
  import { clientToLayerCoordinates } from './helpers/events.js';
40
40
  import Frame from './Frame.svelte';
41
41
  import { getPlotDefaults } from '../hooks/plotDefaults.js';
42
42
 
43
- let { brush = $bindable({ enabled: false }), ...markProps }: BrushMarkProps = $props();
43
+ let { brush: brushExternal = $bindable({ enabled: false }), ...markProps }: BrushMarkProps =
44
+ $props();
45
+
46
+ let brush = $state<Brush>(brushExternal);
44
47
 
45
48
  const DEFAULTS = {
46
49
  stroke: 'currentColor',
@@ -179,6 +182,7 @@
179
182
  );
180
183
 
181
184
  $effect(() => {
185
+ // update brush prop when internal state changes
182
186
  brush.x1 =
183
187
  !brush.enabled || limitDimension === 'y'
184
188
  ? undefined
@@ -197,6 +201,38 @@
197
201
  : constrain(y1 > y2 ? y1 : y2, yDomain);
198
202
  });
199
203
 
204
+ // update internal state when external brush prop changes
205
+ $effect(() => {
206
+ const brushInt = untrack(() => brush);
207
+ if (!brushIdentical(brushInt, brushExternal)) {
208
+ brush = brushExternal;
209
+ // also keep internal x1,x2,y1,y2 in sync
210
+ x1 = brush.x1 as Date | number;
211
+ x2 = brush.x2 as Date | number;
212
+ y1 = brush.y1 as Date | number;
213
+ y2 = brush.y2 as Date | number;
214
+ }
215
+ });
216
+
217
+ // update external brush when internal state changes
218
+ $effect(() => {
219
+ const brushExt = untrack(() => brushExternal);
220
+ if (!brushIdentical(brush, brushExt)) {
221
+ // avoid cycles
222
+ brushExternal = brush;
223
+ }
224
+ });
225
+
226
+ function brushIdentical(b1: Brush, b2: Brush) {
227
+ return (
228
+ b1.enabled === b2.enabled &&
229
+ b1.x1 === b2.x1 &&
230
+ b1.x2 === b2.x2 &&
231
+ b1.y1 === b2.y1 &&
232
+ b1.y2 === b2.y2
233
+ );
234
+ }
235
+
200
236
  function constrain<T extends number | Date>(x: T, extent: [typeof x, typeof x]) {
201
237
  const minE = extent[0] < extent[1] ? extent[0] : extent[1];
202
238
  const maxE = extent[0] > extent[1] ? extent[0] : extent[1];
@@ -242,8 +278,12 @@
242
278
  } else {
243
279
  // draw new brush selection
244
280
  action = 'draw';
245
- x1 = x2 = xScaleFn.invert(dragStart[0]);
246
- y1 = y2 = yScaleFn.invert(dragStart[1]);
281
+ if (typeof xScaleFn.invert === 'function' && limitDimension !== 'y') {
282
+ x1 = x2 = xScaleFn.invert(dragStart[0]);
283
+ }
284
+ if (typeof yScaleFn.invert === 'function' && limitDimension !== 'x') {
285
+ y1 = y2 = yScaleFn.invert(dragStart[1]);
286
+ }
247
287
  }
248
288
  onbrushstart?.({ ...e, brush });
249
289
  }
@@ -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>;
@@ -1,88 +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
- type?: string;
69
- x?: ChannelAccessor<Datum>;
70
- x1?: ChannelAccessor<Datum>;
71
- x2?: ChannelAccessor<Datum>;
72
- y?: ChannelAccessor<Datum>;
73
- y1?: ChannelAccessor<Datum>;
74
- y2?: ChannelAccessor<Datum>;
75
- r?: ChannelAccessor<Datum>;
76
- mark?: Snippet<[{
77
- record: ScaledDataRecord<Datum>;
78
- index: number;
79
- usedScales: UsedScales;
80
- }]> | undefined;
81
- marks?: Snippet<[{
82
- records: ScaledDataRecord<Datum>[];
83
- usedScales: UsedScales;
84
- }]> | undefined;
85
- };
3
+ props(): any;
86
4
  events(): {};
87
5
  slots(): {};
88
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;