svelteplot 0.4.6 → 0.4.7-pr-219.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 (107) hide show
  1. package/dist/core/Plot.svelte +54 -31
  2. package/dist/helpers/colors.d.ts +1 -1
  3. package/dist/helpers/index.d.ts +2 -2
  4. package/dist/helpers/scales.d.ts +2 -2
  5. package/dist/helpers/scales.js +21 -10
  6. package/dist/helpers/typeChecks.d.ts +4 -4
  7. package/dist/hooks/plotDefaults.d.ts +3 -0
  8. package/dist/hooks/plotDefaults.js +16 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.js +2 -0
  11. package/dist/marks/Area.svelte +2 -1
  12. package/dist/marks/AreaX.svelte +4 -3
  13. package/dist/marks/AreaX.svelte.d.ts +2 -1
  14. package/dist/marks/AreaY.svelte +4 -5
  15. package/dist/marks/Arrow.svelte +3 -2
  16. package/dist/marks/AxisX.svelte +3 -4
  17. package/dist/marks/AxisX.svelte.d.ts +1 -1
  18. package/dist/marks/AxisY.svelte +3 -4
  19. package/dist/marks/AxisY.svelte.d.ts +6 -7
  20. package/dist/marks/BarX.svelte +4 -4
  21. package/dist/marks/BarX.svelte.d.ts +1 -1
  22. package/dist/marks/BarY.svelte +3 -3
  23. package/dist/marks/BollingerX.svelte.d.ts +2 -74
  24. package/dist/marks/BollingerY.svelte.d.ts +2 -74
  25. package/dist/marks/BoxX.svelte +4 -4
  26. package/dist/marks/BoxY.svelte +4 -4
  27. package/dist/marks/BoxY.svelte.d.ts +1 -0
  28. package/dist/marks/Brush.svelte +13 -7
  29. package/dist/marks/Brush.svelte.d.ts +10 -1
  30. package/dist/marks/BrushX.svelte +4 -4
  31. package/dist/marks/BrushY.svelte +4 -4
  32. package/dist/marks/Cell.svelte +3 -4
  33. package/dist/marks/ColorLegend.svelte +5 -4
  34. package/dist/marks/CustomMark.svelte.d.ts +2 -81
  35. package/dist/marks/DifferenceY.svelte +3 -3
  36. package/dist/marks/DifferenceY.svelte.d.ts +7 -67
  37. package/dist/marks/Dot.svelte +2 -2
  38. package/dist/marks/Frame.svelte +2 -2
  39. package/dist/marks/Geo.svelte +2 -2
  40. package/dist/marks/Graticule.svelte +3 -3
  41. package/dist/marks/GridX.svelte +3 -3
  42. package/dist/marks/GridY.svelte +4 -9
  43. package/dist/marks/Line.svelte +3 -2
  44. package/dist/marks/Line.svelte.d.ts +2 -2
  45. package/dist/marks/LineX.svelte.d.ts +2 -1
  46. package/dist/marks/LineY.svelte.d.ts +2 -1
  47. package/dist/marks/Link.svelte +3 -3
  48. package/dist/marks/Pointer.svelte +3 -3
  49. package/dist/marks/Rect.svelte +2 -3
  50. package/dist/marks/RectX.svelte +4 -3
  51. package/dist/marks/RectY.svelte +4 -3
  52. package/dist/marks/RuleX.svelte +3 -3
  53. package/dist/marks/RuleY.svelte +4 -4
  54. package/dist/marks/Sphere.svelte +2 -2
  55. package/dist/marks/Spike.svelte +4 -3
  56. package/dist/marks/Text.svelte +4 -4
  57. package/dist/marks/TickX.svelte +3 -3
  58. package/dist/marks/TickY.svelte +4 -4
  59. package/dist/marks/Vector.svelte +3 -3
  60. package/dist/marks/helpers/CanvasLayer.svelte +1 -1
  61. package/dist/marks/helpers/Marker.svelte +2 -1
  62. package/dist/marks/helpers/MarkerPath.svelte +4 -4
  63. package/dist/marks/helpers/MarkerPath.svelte.d.ts +17 -2
  64. package/dist/marks/helpers/RectPath.svelte.d.ts +3 -63
  65. package/dist/marks/helpers/Regression.svelte +1 -1
  66. package/dist/regression/exponential.d.ts +17 -0
  67. package/dist/regression/exponential.js +56 -0
  68. package/dist/regression/index.d.ts +10 -0
  69. package/dist/regression/index.js +10 -0
  70. package/dist/regression/linear.d.ts +17 -0
  71. package/dist/regression/linear.js +59 -0
  72. package/dist/regression/loess.d.ts +14 -0
  73. package/dist/regression/loess.js +122 -0
  74. package/dist/regression/logarithmic.d.ts +20 -0
  75. package/dist/regression/logarithmic.js +60 -0
  76. package/dist/regression/polynomial.d.ts +21 -0
  77. package/dist/regression/polynomial.js +160 -0
  78. package/dist/regression/power.d.ts +18 -0
  79. package/dist/regression/power.js +56 -0
  80. package/dist/regression/quadratic.d.ts +19 -0
  81. package/dist/regression/quadratic.js +70 -0
  82. package/dist/regression/types.d.ts +4 -0
  83. package/dist/regression/types.js +1 -0
  84. package/dist/regression/utils/determination.d.ts +6 -0
  85. package/dist/regression/utils/determination.js +16 -0
  86. package/dist/regression/utils/geometry.d.ts +9 -0
  87. package/dist/regression/utils/geometry.js +12 -0
  88. package/dist/regression/utils/interpose.d.ts +6 -0
  89. package/dist/regression/utils/interpose.js +37 -0
  90. package/dist/regression/utils/median.d.ts +4 -0
  91. package/dist/regression/utils/median.js +8 -0
  92. package/dist/regression/utils/ols.d.ts +6 -0
  93. package/dist/regression/utils/ols.js +9 -0
  94. package/dist/regression/utils/points.d.ts +11 -0
  95. package/dist/regression/utils/points.js +45 -0
  96. package/dist/transforms/bollinger.d.ts +1 -67
  97. package/dist/transforms/group.d.ts +4 -12
  98. package/dist/transforms/interval.d.ts +2 -124
  99. package/dist/transforms/recordize.d.ts +1 -4
  100. package/dist/transforms/select.d.ts +7 -434
  101. package/dist/transforms/sort.d.ts +3 -246
  102. package/dist/transforms/stack.d.ts +3 -23
  103. package/dist/transforms/window.d.ts +2 -130
  104. package/dist/types/plot.d.ts +15 -8
  105. package/dist/types/scale.d.ts +6 -0
  106. package/package.json +128 -128
  107. package/dist/marks/AreaY.svelte.d.ts +0 -99
@@ -1,78 +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
- fill: ChannelAccessor<Datum>;
11
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
12
- sort: {
13
- channel: string;
14
- order?: "ascending" | "descending";
15
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
16
- stroke: ChannelAccessor<Datum>;
17
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
18
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
20
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
21
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
22
- opacity: ChannelAccessor<Datum>;
23
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
24
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
25
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
26
- clipPath: string;
27
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
28
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
29
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
30
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
31
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- class?: string;
61
- style?: string;
62
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
63
- }> & {
64
- data: Datum[];
65
- x?: ChannelAccessor<Datum>;
66
- y?: ChannelAccessor<Datum>;
67
- /**
68
- * the window size (the window transform's k option), an integer; defaults to 20
69
- */
70
- n?: number;
71
- /**
72
- * the band radius, a number representing a multiple of standard deviations; defaults to 2
73
- */
74
- k?: number;
75
- };
3
+ props(): any;
76
4
  events(): {};
77
5
  slots(): {};
78
6
  bindings(): "";
@@ -1,78 +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
- fill: ChannelAccessor<Datum>;
11
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
12
- sort: {
13
- channel: string;
14
- order?: "ascending" | "descending";
15
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
16
- stroke: ChannelAccessor<Datum>;
17
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
18
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
20
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
21
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
22
- opacity: ChannelAccessor<Datum>;
23
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
24
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
25
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
26
- clipPath: string;
27
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
28
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
29
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
30
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
31
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- class?: string;
61
- style?: string;
62
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
63
- }> & {
64
- data: Datum[];
65
- x?: ChannelAccessor<Datum>;
66
- y?: ChannelAccessor<Datum>;
67
- /**
68
- * the window size (the window transform's k option), an integer; defaults to 20
69
- */
70
- n?: number;
71
- /**
72
- * the band radius, a number representing a multiple of standard deviations; defaults to 2
73
- */
74
- k?: number;
75
- };
3
+ props(): any;
76
4
  events(): {};
77
5
  slots(): {};
78
6
  bindings(): "";
@@ -7,17 +7,17 @@
7
7
  import GroupMultiple from './helpers/GroupMultiple.svelte';
8
8
  import { BarX, TickX, RuleY, Dot, groupY } from '../index.js';
9
9
  import { resolveChannel } from '../helpers/resolve.js';
10
- import { getContext, type ComponentProps } from 'svelte';
11
- import type { PlotDefaults } from '../types/index.js';
10
+ import { type ComponentProps } from 'svelte';
12
11
  import type BoxY from './BoxY.svelte';
12
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
13
13
 
14
14
  let markProps: BoxXMarkProps = $props();
15
15
 
16
16
  const DEFAULTS = {
17
17
  tickMedian: true,
18
18
  tickMinMax: false,
19
- ...getContext<PlotDefaults>('svelteplot/_defaults').box,
20
- ...getContext<PlotDefaults>('svelteplot/_defaults').boxX
19
+ ...getPlotDefaults().box,
20
+ ...getPlotDefaults().boxX
21
21
  };
22
22
 
23
23
  const {
@@ -31,16 +31,16 @@
31
31
  import GroupMultiple from './helpers/GroupMultiple.svelte';
32
32
  import { groupX, BarY, TickY, RuleX, Dot } from '../index.js';
33
33
  import { resolveChannel } from '../helpers/resolve.js';
34
- import { getContext, type ComponentProps } from 'svelte';
35
- import type { PlotDefaults } from '../types/index.js';
34
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
35
+ import type { BaseMarkProps, ChannelAccessor, DataRecord } from '../types';
36
36
 
37
37
  let markProps: BoxYMarkProps = $props();
38
38
 
39
39
  const DEFAULTS = {
40
40
  tickMedian: true,
41
41
  tickMinMax: false,
42
- ...getContext<PlotDefaults>('svelteplot/_defaults').box,
43
- ...getContext<PlotDefaults>('svelteplot/_defaults').boxY
42
+ ...getPlotDefaults().box,
43
+ ...getPlotDefaults().boxY
44
44
  };
45
45
 
46
46
  const {
@@ -1,3 +1,4 @@
1
+ import type { ChannelAccessor, DataRecord } from '../types';
1
2
  declare class __sveltets_Render<Datum extends DataRecord> {
2
3
  props(): Pick<BaseMarkProps<Datum_1>, "fill" | "stroke" | "fx" | "fy" | "class"> & {
3
4
  data: Datum[];
@@ -35,14 +35,10 @@
35
35
  }
36
36
  import { getContext } from 'svelte';
37
37
  import Rect from './Rect.svelte';
38
- import type {
39
- BaseMarkProps,
40
- DataRecord,
41
- PlotContext,
42
- PlotDefaults
43
- } from '../types/index.js';
38
+ import type { BaseMarkProps, DataRecord, PlotContext } from '../types/index.js';
44
39
  import { clientToLayerCoordinates } from './helpers/events.js';
45
40
  import Frame from './Frame.svelte';
41
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
46
42
 
47
43
  let { brush = $bindable({ enabled: false }), ...markProps }: BrushMarkProps = $props();
48
44
 
@@ -52,9 +48,19 @@
52
48
  strokeOpacity: 0.6,
53
49
  resizeHandleSize: 10,
54
50
  constrainToDomain: false,
55
- ...getContext<PlotDefaults>('svelteplot/_defaults').brush
51
+ ...getPlotDefaults().brush
56
52
  };
57
53
 
54
+ type Brush = {
55
+ x1?: number | Date;
56
+ x2?: number | Date;
57
+ y1?: number | Date;
58
+ y2?: number | Date;
59
+ enabled: boolean;
60
+ };
61
+
62
+ type BrushEvent = MouseEvent & { brush: Brush };
63
+
58
64
  const {
59
65
  data = [{} as Datum],
60
66
  stroke,
@@ -1,4 +1,14 @@
1
1
  import type { BaseMarkProps, DataRecord } from '../types/index.js';
2
+ type Brush = {
3
+ x1?: number | Date;
4
+ x2?: number | Date;
5
+ y1?: number | Date;
6
+ y2?: number | Date;
7
+ enabled: boolean;
8
+ };
9
+ type BrushEvent = MouseEvent & {
10
+ brush: Brush;
11
+ };
2
12
  interface BrushMarkProps extends Pick<BaseMarkProps<Datum>, 'cursor' | 'stroke' | 'strokeDasharray' | 'strokeOpacity' | 'strokeWidth' | 'strokeLinecap' | 'strokeDashoffset' | 'strokeLinejoin' | 'strokeMiterlimit'> {
3
13
  brush: Brush;
4
14
  /**
@@ -33,5 +43,4 @@ interface $$IsomorphicComponent {
33
43
  }
34
44
  /** For creating a two-dimensional brush selection */
35
45
  declare const Brush: $$IsomorphicComponent;
36
- type Brush<Datum extends DataRecord> = InstanceType<typeof Brush<Datum>>;
37
46
  export default Brush;
@@ -6,13 +6,13 @@
6
6
  interface BrushXMarkProps extends Omit<ComponentProps<typeof Brush>, 'limitDimension'> {}
7
7
 
8
8
  import Brush from './Brush.svelte';
9
- import type { PlotDefaults } from '../types/index.js';
10
- import { getContext, type ComponentProps } from 'svelte';
9
+ import { type ComponentProps } from 'svelte';
10
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
11
11
 
12
12
  let { brush = $bindable({ enabled: false }), ...options }: BrushXMarkProps = $props();
13
13
  const DEFAULTS = {
14
- ...getContext<PlotDefaults>('svelteplot/_defaults').brush,
15
- ...getContext<PlotDefaults>('svelteplot/_defaults').brushX
14
+ ...getPlotDefaults().brush,
15
+ ...getPlotDefaults().brushX
16
16
  };
17
17
  </script>
18
18
 
@@ -4,15 +4,15 @@
4
4
  -->
5
5
  <script lang="ts">
6
6
  import Brush from './Brush.svelte';
7
- import type { PlotDefaults } from '../types/index.js';
8
- import { getContext, type ComponentProps } from 'svelte';
7
+ import { type ComponentProps } from 'svelte';
8
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
9
9
 
10
10
  interface BrushYMarkProps extends Omit<ComponentProps<typeof Brush>, 'limitDimension'> {}
11
11
 
12
12
  let { brush = $bindable({ enabled: false }), ...options }: BrushYMarkProps = $props();
13
13
  const DEFAULTS = {
14
- ...getContext<PlotDefaults>('svelteplot/_defaults').brush,
15
- ...getContext<PlotDefaults>('svelteplot/_defaults').brushY
14
+ ...getPlotDefaults().brush,
15
+ ...getPlotDefaults().brushY
16
16
  };
17
17
  </script>
18
18
 
@@ -17,9 +17,7 @@
17
17
  BaseMarkProps,
18
18
  BaseRectMarkProps,
19
19
  ChannelAccessor,
20
- PlotDefaults,
21
- LinkableMarkProps,
22
- MarkType
20
+ LinkableMarkProps
23
21
  } from '../types/index.js';
24
22
  import Mark from '../Mark.svelte';
25
23
  import { getContext } from 'svelte';
@@ -28,11 +26,12 @@
28
26
 
29
27
  import { isValid } from '../helpers/index.js';
30
28
  import RectPath from './helpers/RectPath.svelte';
29
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
31
30
 
32
31
  let markProps: CellMarkProps = $props();
33
32
 
34
33
  const DEFAULTS = {
35
- ...getContext<PlotDefaults>('svelteplot/_defaults').cell
34
+ ...getPlotDefaults().cell
36
35
  };
37
36
 
38
37
  const {
@@ -10,14 +10,15 @@
10
10
  import { range as d3Range, extent } from 'd3-array';
11
11
  import { maybeSymbol } from '../helpers/symbols.js';
12
12
 
13
- import type { PlotDefaults, PlotContext } from '../types/plot.js';
13
+ import type { PlotContext } from '../types/plot.js';
14
+ import { getPlotDefaults } from '../hooks/plotDefaults';
14
15
 
15
16
  let { class: className = null }: ColorLegendMarkProps = $props();
16
17
 
17
18
  const { getPlotState } = getContext<PlotContext>('svelteplot');
18
19
  const plot = $derived(getPlotState());
19
20
 
20
- const DEFAULTS = getContext<Partial<PlotDefaults>>('svelteplot/_defaults');
21
+ const DEFAULTS = getPlotDefaults();
21
22
 
22
23
  const legendTitle = $derived(plot.options.color.label);
23
24
  const scaleType = $derived(plot.scales.color.type);
@@ -88,7 +89,7 @@
88
89
  ).slice(1)}
89
90
  <Plot
90
91
  maxWidth="240px"
91
- margins={1}
92
+ margin={1}
92
93
  marginLeft={1}
93
94
  marginRight={1}
94
95
  marginTop={6}
@@ -121,7 +122,7 @@
121
122
 
122
123
  <Plot
123
124
  maxWidth="240px"
124
- margins={1}
125
+ margin={1}
125
126
  marginLeft={10}
126
127
  marginRight={10}
127
128
  marginTop={6}
@@ -1,85 +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
- fill: ChannelAccessor<Datum>;
12
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
13
- sort: {
14
- channel: string;
15
- order?: "ascending" | "descending";
16
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
17
- stroke: ChannelAccessor<Datum>;
18
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
20
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
21
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
22
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
23
- opacity: ChannelAccessor<Datum>;
24
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
25
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
26
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
- clipPath: string;
28
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
29
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
31
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- class?: string;
62
- style?: string;
63
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
64
- }> & {
65
- data?: Datum[] | undefined;
66
- x?: ChannelAccessor<Datum>;
67
- x1?: ChannelAccessor<Datum>;
68
- x2?: ChannelAccessor<Datum>;
69
- y?: ChannelAccessor<Datum>;
70
- y1?: ChannelAccessor<Datum>;
71
- y2?: ChannelAccessor<Datum>;
72
- r?: ChannelAccessor<Datum>;
73
- mark?: Snippet<[{
74
- record: ScaledDataRecord<Datum>;
75
- index: number;
76
- usedScales: UsedScales;
77
- }]> | undefined;
78
- marks?: Snippet<[{
79
- records: ScaledDataRecord<Datum>[];
80
- usedScales: UsedScales;
81
- }]> | undefined;
82
- };
3
+ props(): any;
83
4
  events(): {};
84
5
  slots(): {};
85
6
  bindings(): "";
@@ -50,8 +50,7 @@
50
50
  ChannelAccessor,
51
51
  CurveName,
52
52
  DataRecord,
53
- PlotContext,
54
- PlotDefaults
53
+ PlotContext
55
54
  } from '../types/index.js';
56
55
  import { Line, Area } from './index.js';
57
56
  import { randomId, coalesce } from '../helpers/index.js';
@@ -59,6 +58,7 @@
59
58
  import { extent, max, min } from 'd3-array';
60
59
  import { resolveChannel } from '../helpers/resolve.js';
61
60
  import type { CurveFactory } from 'd3-shape';
61
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
62
62
 
63
63
  const { getPlotState } = getContext<PlotContext>('svelteplot');
64
64
  let plot = $derived(getPlotState());
@@ -72,7 +72,7 @@
72
72
  negativeFillOpacity: 1,
73
73
  curve: 'linear' as CurveName,
74
74
  tension: 0,
75
- ...getContext<PlotDefaults>('svelteplot/_defaults').differenceY
75
+ ...getPlotDefaults().differenceY
76
76
  };
77
77
 
78
78
  const {
@@ -1,83 +1,23 @@
1
1
  import type { ChannelAccessor, CurveName, DataRecord } from '../types/index.js';
2
2
  import type { CurveFactory } from 'd3-shape';
3
3
  declare class __sveltets_Render<Datum extends DataRecord> {
4
- props(): Omit<Partial<{
5
- filter?: import("../types/index.js").ConstantAccessor<boolean, Datum>;
6
- facet?: "auto" | "include" | "exclude";
7
- fx: ChannelAccessor<Datum>;
8
- fy: ChannelAccessor<Datum>;
9
- dx: import("../types/index.js").ConstantAccessor<number, Datum>;
10
- dy: import("../types/index.js").ConstantAccessor<number, Datum>;
11
- fill: ChannelAccessor<Datum>;
12
- fillOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
13
- sort: {
14
- channel: string;
15
- order?: "ascending" | "descending";
16
- } | ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/index.js").RawValue, Datum>;
17
- stroke: ChannelAccessor<Datum>;
18
- strokeWidth: import("../types/index.js").ConstantAccessor<number, Datum>;
19
- strokeOpacity: import("../types/index.js").ConstantAccessor<number, Datum>;
20
- strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
21
- strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
22
- strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, Datum>;
23
- opacity: ChannelAccessor<Datum>;
24
- strokeDasharray: import("../types/index.js").ConstantAccessor<string, Datum>;
25
- strokeDashoffset: import("../types/index.js").ConstantAccessor<number, Datum>;
26
- mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
- clipPath: string;
28
- imageFilter: import("../types/index.js").ConstantAccessor<string, Datum>;
29
- shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
- paintOrder: import("../types/index.js").ConstantAccessor<string, Datum>;
31
- onclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
32
- ondblclick?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
33
- onmouseup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
34
- onmousedown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
35
- onmouseenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
36
- onmousemove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
37
- onmouseleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
38
- onmouseout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
39
- onmouseover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
40
- onpointercancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
41
- onpointerdown?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
42
- onpointerup?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
43
- onpointerenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
44
- onpointerleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
45
- onpointermove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
46
- onpointerover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
47
- onpointerout?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
48
- ondrag?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
49
- ondrop?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
50
- ondragstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
51
- ondragenter?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
52
- ondragleave?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
53
- ondragover?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
54
- ondragend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
55
- ontouchstart?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
56
- ontouchmove?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
57
- ontouchend?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
58
- ontouchcancel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
59
- oncontextmenu?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
60
- onwheel?: import("svelte/elements").MouseEventHandler<SVGPathElement>;
61
- class?: string;
62
- style?: string;
63
- cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, Datum>;
64
- }>, "fill" | "fillOpacity"> & {
4
+ props(): Omit<BaseMarkProps<Datum_1>, "fill" | "fillOpacity"> & {
65
5
  data: Datum[];
66
- x1: ChannelAccessor<Datum>;
6
+ x1: ChannelAccessor<Datum_1>;
67
7
  /**
68
8
  * the horizontal position of the metric; bound to the x scale
69
9
  */
70
- x2: ChannelAccessor<Datum>;
71
- x: ChannelAccessor<Datum>;
10
+ x2: ChannelAccessor<Datum_1>;
11
+ x: ChannelAccessor<Datum_1>;
72
12
  /**
73
13
  * the vertical position of the comparison; bound to the y scale
74
14
  */
75
- y1: ChannelAccessor<Datum>;
15
+ y1: ChannelAccessor<Datum_1>;
76
16
  /**
77
17
  * the vertical position of the metric; bound to the y scale
78
18
  */
79
- y2: ChannelAccessor<Datum>;
80
- y: ChannelAccessor<Datum>;
19
+ y2: ChannelAccessor<Datum_1>;
20
+ y: ChannelAccessor<Datum_1>;
81
21
  fillOpacity?: number;
82
22
  /**
83
23
  * the stroke color of the "positive" area; defaults to 'blue'
@@ -19,7 +19,6 @@
19
19
  BaseMarkProps,
20
20
  ConstantAccessor,
21
21
  ChannelAccessor,
22
- PlotDefaults,
23
22
  LinkableMarkProps
24
23
  } from '../types/index.js';
25
24
  import { resolveProp, resolveStyles } from '../helpers/resolve.js';
@@ -32,9 +31,10 @@
32
31
  import { recordizeXY } from '../transforms/recordize.js';
33
32
  import { addEventHandlers } from './helpers/events.js';
34
33
  import Anchor from './helpers/Anchor.svelte';
34
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
35
35
 
36
36
  const DEFAULTS = {
37
- ...getContext<PlotDefaults>('svelteplot/_defaults').dot
37
+ ...getPlotDefaults().dot
38
38
  };
39
39
 
40
40
  let markProps: DotMarkProps = $props();
@@ -25,12 +25,12 @@
25
25
  PlotContext,
26
26
  BaseRectMarkProps,
27
27
  LinkableMarkProps,
28
- PlotDefaults,
29
28
  DataRecord
30
29
  } from '../types/index.js';
31
30
  import type { BaseMarkProps } from '../types/index.js';
32
31
  import RectPath from './helpers/RectPath.svelte';
33
32
  import { resolveProp } from '../helpers/resolve';
33
+ import { getPlotDefaults } from '../hooks/plotDefaults.js';
34
34
 
35
35
  let markProps: FrameMarkProps = $props();
36
36
 
@@ -40,7 +40,7 @@
40
40
  stroke: undefined,
41
41
  fillOpacity: 1,
42
42
  strokeOpacity: 1,
43
- ...getContext<PlotDefaults>('svelteplot/_defaults').frame
43
+ ...getPlotDefaults().frame
44
44
  };
45
45
 
46
46
  const {