svelteplot 0.3.1 → 0.3.2-pr-113.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 (172) hide show
  1. package/dist/Mark.svelte +25 -27
  2. package/dist/Mark.svelte.d.ts +87 -17
  3. package/dist/Plot.svelte +1 -2
  4. package/dist/Plot.svelte.d.ts +1 -1
  5. package/dist/core/Facet.svelte +1 -1
  6. package/dist/core/Facet.svelte.d.ts +1 -1
  7. package/dist/core/FacetAxes.svelte +1 -1
  8. package/dist/core/FacetGrid.svelte +1 -1
  9. package/dist/core/FacetGrid.svelte.d.ts +1 -1
  10. package/dist/core/Plot.svelte +1 -1
  11. package/dist/core/Plot.svelte.d.ts +1 -1
  12. package/dist/helpers/autoTicks.js +1 -1
  13. package/dist/helpers/colors.d.ts +1 -1
  14. package/dist/helpers/getBaseStyles.d.ts +2 -0
  15. package/dist/helpers/getBaseStyles.js +8 -0
  16. package/dist/helpers/index.d.ts +2 -2
  17. package/dist/helpers/projection.d.ts +1 -1
  18. package/dist/helpers/resolve.d.ts +1 -1
  19. package/dist/helpers/scales.d.ts +1 -1
  20. package/dist/helpers/typeChecks.d.ts +4 -4
  21. package/dist/marks/Area.svelte +14 -17
  22. package/dist/marks/Area.svelte.d.ts +91 -19
  23. package/dist/marks/AreaX.svelte +15 -12
  24. package/dist/marks/AreaX.svelte.d.ts +94 -3
  25. package/dist/marks/AreaY.svelte +15 -15
  26. package/dist/marks/AreaY.svelte.d.ts +94 -3
  27. package/dist/marks/Arrow.svelte +16 -19
  28. package/dist/marks/Arrow.svelte.d.ts +110 -38
  29. package/dist/marks/AxisX.svelte +41 -41
  30. package/dist/marks/AxisX.svelte.d.ts +97 -25
  31. package/dist/marks/AxisY.svelte +40 -40
  32. package/dist/marks/AxisY.svelte.d.ts +98 -27
  33. package/dist/marks/BarX.svelte +28 -30
  34. package/dist/marks/BarX.svelte.d.ts +89 -17
  35. package/dist/marks/BarY.svelte +27 -27
  36. package/dist/marks/BarY.svelte.d.ts +88 -16
  37. package/dist/marks/BollingerX.svelte +21 -16
  38. package/dist/marks/BollingerX.svelte.d.ts +17 -16
  39. package/dist/marks/BollingerY.svelte +21 -16
  40. package/dist/marks/BollingerY.svelte.d.ts +17 -16
  41. package/dist/marks/BoxX.svelte +5 -7
  42. package/dist/marks/BoxX.svelte.d.ts +5 -3
  43. package/dist/marks/BoxY.svelte +13 -16
  44. package/dist/marks/BoxY.svelte.d.ts +41 -28
  45. package/dist/marks/Brush.svelte +27 -30
  46. package/dist/marks/Brush.svelte.d.ts +20 -15
  47. package/dist/marks/BrushX.svelte +9 -7
  48. package/dist/marks/BrushX.svelte.d.ts +5 -2
  49. package/dist/marks/BrushY.svelte +9 -7
  50. package/dist/marks/BrushY.svelte.d.ts +5 -2
  51. package/dist/marks/Cell.svelte +17 -18
  52. package/dist/marks/Cell.svelte.d.ts +80 -8
  53. package/dist/marks/CellX.svelte +12 -8
  54. package/dist/marks/CellX.svelte.d.ts +5 -2
  55. package/dist/marks/CellY.svelte +12 -8
  56. package/dist/marks/CellY.svelte.d.ts +5 -2
  57. package/dist/marks/ColorLegend.svelte +5 -8
  58. package/dist/marks/ColorLegend.svelte.d.ts +2 -2
  59. package/dist/marks/CustomMark.svelte +23 -16
  60. package/dist/marks/CustomMark.svelte.d.ts +17 -14
  61. package/dist/marks/CustomMarkHTML.svelte +20 -18
  62. package/dist/marks/CustomMarkHTML.svelte.d.ts +29 -15
  63. package/dist/marks/DifferenceY.svelte +54 -18
  64. package/dist/marks/DifferenceY.svelte.d.ts +59 -28
  65. package/dist/marks/Dot.svelte +13 -14
  66. package/dist/marks/Dot.svelte.d.ts +84 -12
  67. package/dist/marks/DotX.svelte +9 -9
  68. package/dist/marks/DotX.svelte.d.ts +86 -4
  69. package/dist/marks/DotY.svelte +10 -9
  70. package/dist/marks/DotY.svelte.d.ts +87 -5
  71. package/dist/marks/Frame.svelte +20 -27
  72. package/dist/marks/Frame.svelte.d.ts +24 -10
  73. package/dist/marks/Geo.svelte +22 -15
  74. package/dist/marks/Geo.svelte.d.ts +97 -13
  75. package/dist/marks/Graticule.svelte +16 -19
  76. package/dist/marks/Graticule.svelte.d.ts +3 -3
  77. package/dist/marks/GridX.svelte +5 -8
  78. package/dist/marks/GridX.svelte.d.ts +79 -7
  79. package/dist/marks/GridY.svelte +5 -8
  80. package/dist/marks/GridY.svelte.d.ts +79 -7
  81. package/dist/marks/HTMLTooltip.svelte +9 -14
  82. package/dist/marks/HTMLTooltip.svelte.d.ts +25 -12
  83. package/dist/marks/Line.svelte +24 -29
  84. package/dist/marks/Line.svelte.d.ts +97 -25
  85. package/dist/marks/LineX.svelte +9 -4
  86. package/dist/marks/LineX.svelte.d.ts +99 -3
  87. package/dist/marks/LineY.svelte +11 -5
  88. package/dist/marks/LineY.svelte.d.ts +100 -4
  89. package/dist/marks/Link.svelte +35 -19
  90. package/dist/marks/Link.svelte.d.ts +107 -18
  91. package/dist/marks/Pointer.svelte +13 -18
  92. package/dist/marks/Pointer.svelte.d.ts +34 -21
  93. package/dist/marks/Rect.svelte +19 -19
  94. package/dist/marks/Rect.svelte.d.ts +86 -13
  95. package/dist/marks/RectX.svelte +10 -9
  96. package/dist/marks/RectX.svelte.d.ts +22 -6
  97. package/dist/marks/RectY.svelte +9 -10
  98. package/dist/marks/RectY.svelte.d.ts +22 -6
  99. package/dist/marks/RegressionX.svelte +1 -1
  100. package/dist/marks/RegressionX.svelte.d.ts +1 -1
  101. package/dist/marks/RegressionY.svelte +1 -1
  102. package/dist/marks/RegressionY.svelte.d.ts +1 -1
  103. package/dist/marks/RuleX.svelte +14 -16
  104. package/dist/marks/RuleX.svelte.d.ts +84 -12
  105. package/dist/marks/RuleY.svelte +12 -15
  106. package/dist/marks/RuleY.svelte.d.ts +84 -12
  107. package/dist/marks/Sphere.svelte +6 -7
  108. package/dist/marks/Sphere.svelte.d.ts +3 -2
  109. package/dist/marks/Spike.svelte +17 -9
  110. package/dist/marks/Spike.svelte.d.ts +94 -4
  111. package/dist/marks/SymbolLegend.svelte +1 -1
  112. package/dist/marks/Text.svelte +36 -125
  113. package/dist/marks/Text.svelte.d.ts +101 -20
  114. package/dist/marks/TickX.svelte +12 -13
  115. package/dist/marks/TickX.svelte.d.ts +92 -20
  116. package/dist/marks/TickY.svelte +11 -14
  117. package/dist/marks/TickY.svelte.d.ts +92 -20
  118. package/dist/marks/Vector.svelte +19 -23
  119. package/dist/marks/Vector.svelte.d.ts +93 -21
  120. package/dist/marks/helpers/AreaCanvas.svelte +1 -1
  121. package/dist/marks/helpers/AreaCanvas.svelte.d.ts +1 -1
  122. package/dist/marks/helpers/BaseAxisX.svelte +1 -2
  123. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +1 -1
  124. package/dist/marks/helpers/BaseAxisY.svelte +2 -3
  125. package/dist/marks/helpers/BaseAxisY.svelte.d.ts +1 -1
  126. package/dist/marks/helpers/CanvasLayer.svelte +1 -1
  127. package/dist/marks/helpers/DotCanvas.svelte +1 -1
  128. package/dist/marks/helpers/DotCanvas.svelte.d.ts +1 -1
  129. package/dist/marks/helpers/GeoCanvas.svelte +1 -1
  130. package/dist/marks/helpers/GeoCanvas.svelte.d.ts +1 -1
  131. package/dist/marks/helpers/LineCanvas.svelte +1 -1
  132. package/dist/marks/helpers/LineCanvas.svelte.d.ts +1 -1
  133. package/dist/marks/helpers/LinearGradientX.svelte +1 -1
  134. package/dist/marks/helpers/LinearGradientX.svelte.d.ts +1 -1
  135. package/dist/marks/helpers/LinearGradientY.svelte +1 -1
  136. package/dist/marks/helpers/LinearGradientY.svelte.d.ts +1 -1
  137. package/dist/marks/helpers/MarkerPath.svelte +1 -1
  138. package/dist/marks/helpers/MarkerPath.svelte.d.ts +1 -41
  139. package/dist/marks/helpers/MultilineText.svelte +158 -0
  140. package/dist/marks/helpers/MultilineText.svelte.d.ts +12 -0
  141. package/dist/marks/helpers/RectPath.svelte +29 -26
  142. package/dist/marks/helpers/RectPath.svelte.d.ts +39 -26
  143. package/dist/marks/helpers/Regression.svelte +7 -2
  144. package/dist/marks/helpers/Regression.svelte.d.ts +2 -5
  145. package/dist/transforms/bollinger.d.ts +1 -66
  146. package/dist/transforms/centroid.d.ts +7 -65
  147. package/dist/transforms/centroid.js +10 -7
  148. package/dist/transforms/group.d.ts +4 -12
  149. package/dist/transforms/interval.d.ts +2 -122
  150. package/dist/transforms/map.d.ts +4 -184
  151. package/dist/transforms/normalize.d.ts +3 -123
  152. package/dist/transforms/select.d.ts +7 -427
  153. package/dist/transforms/sort.d.ts +3 -242
  154. package/dist/transforms/window.d.ts +2 -130
  155. package/dist/types/channel.d.ts +11 -0
  156. package/dist/types/channel.js +1 -0
  157. package/dist/types/colorScheme.d.ts +1 -0
  158. package/dist/types/colorScheme.js +1 -0
  159. package/dist/types/data.d.ts +13 -0
  160. package/dist/types/data.js +1 -0
  161. package/dist/types/facet.d.ts +50 -0
  162. package/dist/types/facet.js +1 -0
  163. package/dist/types/index.d.ts +58 -0
  164. package/dist/types/index.js +7 -0
  165. package/dist/types/mark.d.ts +123 -0
  166. package/dist/types/mark.js +1 -0
  167. package/dist/types/plot.d.ts +459 -0
  168. package/dist/types/plot.js +1 -0
  169. package/dist/types/scale.d.ts +143 -0
  170. package/dist/types/scale.js +1 -0
  171. package/dist/types.d.ts +120 -127
  172. package/package.json +125 -120
@@ -1,8 +1,99 @@
1
- import { type AreaMarkProps } from './Area.svelte';
1
+ import { renameChannels } from '../transforms/rename.js';
2
+ import type { ChannelAccessor, DataRow } from '../types/index.js';
3
+ declare class __sveltets_Render<Datum extends DataRow> {
4
+ props(): Omit<Partial<{
5
+ filter?: import("../types/index.js").ConstantAccessor<boolean, import("../types/data").DataRecord>;
6
+ facet?: "auto" | "include" | "exclude";
7
+ fx: ChannelAccessor<import("../types/data").DataRecord>;
8
+ fy: ChannelAccessor<import("../types/data").DataRecord>;
9
+ dx: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
10
+ dy: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
11
+ fill: ChannelAccessor<import("../types/data").DataRecord>;
12
+ fillOpacity: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
13
+ sort: {
14
+ channel: string;
15
+ order?: "ascending" | "descending";
16
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, import("../types/data").DataRecord>;
17
+ stroke: ChannelAccessor<import("../types/data").DataRecord>;
18
+ strokeWidth: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
19
+ strokeOpacity: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
20
+ strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, import("../types/data").DataRecord>;
21
+ strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, import("../types/data").DataRecord>;
22
+ strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
23
+ opacity: ChannelAccessor<import("../types/data").DataRecord>;
24
+ strokeDasharray: import("../types/index.js").ConstantAccessor<string, import("../types/data").DataRecord>;
25
+ strokeDashoffset: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
26
+ mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, import("../types/data").DataRecord>;
27
+ clipPath: string;
28
+ imageFilter: import("../types/index.js").ConstantAccessor<string, import("../types/data").DataRecord>;
29
+ shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, import("../types/data").DataRecord>;
30
+ paintOrder: import("../types/index.js").ConstantAccessor<string, import("../types/data").DataRecord>;
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 | null;
62
+ cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, import("../types/data").DataRecord>;
63
+ }> & import("../types/mark").LinkableMarkProps<import("../types/data").DataRecord> & {
64
+ data: import("../types/data").DataRecord[];
65
+ x1?: ChannelAccessor<import("../types/data").DataRecord>;
66
+ x2?: ChannelAccessor<import("../types/data").DataRecord>;
67
+ y1?: ChannelAccessor<import("../types/data").DataRecord>;
68
+ y2?: ChannelAccessor<import("../types/data").DataRecord>;
69
+ z?: ChannelAccessor<import("../types/data").DataRecord>;
70
+ curve?: import("../types/index.js").CurveName | import("d3-shape").CurveFactory;
71
+ tension?: number;
72
+ sort?: import("../types/index.js").ConstantAccessor<renameChannels> | {
73
+ channel: "stroke" | "fill";
74
+ };
75
+ stack?: Partial<renameChannels>;
76
+ canvas?: boolean;
77
+ }, "y1" | "y2"> & {
78
+ x?: ChannelAccessor<Datum>;
79
+ y?: ChannelAccessor<Datum>;
80
+ };
81
+ events(): {};
82
+ slots(): {};
83
+ bindings(): "";
84
+ exports(): {};
85
+ }
86
+ interface $$IsomorphicComponent {
87
+ new <Datum extends DataRow>(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']>> & {
88
+ $$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
89
+ } & ReturnType<__sveltets_Render<Datum>['exports']>;
90
+ <Datum extends DataRow>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
91
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
92
+ }
2
93
  /**
3
94
  * Creates a horizontal area chart with x value and baseline. Areas are implicitly
4
95
  * stacked horizontally if just the x channel is defined.
5
96
  */
6
- declare const AreaX: import("svelte").Component<AreaMarkProps, {}, "">;
7
- type AreaX = ReturnType<typeof AreaX>;
97
+ declare const AreaX: $$IsomorphicComponent;
98
+ type AreaX<Datum extends DataRow> = InstanceType<typeof AreaX<Datum>>;
8
99
  export default AreaX;
@@ -2,30 +2,30 @@
2
2
  Creates a vertical area chart with y value and baseline. Areas are implicitly
3
3
  stacked vertically if just the y channel is defined.
4
4
  -->
5
- <script lang="ts">
6
- import Area, { type AreaMarkProps } from './Area.svelte';
5
+ <script lang="ts" generics="Datum extends DataRow">
6
+ interface AreaYMarkProps extends Omit<ComponentProps<typeof Area>, 'x1' | 'x2'> {
7
+ x?: ChannelAccessor<Datum>;
8
+ y?: ChannelAccessor<Datum>;
9
+ }
10
+ import Area from './Area.svelte';
7
11
  import { renameChannels } from '../transforms/rename.js';
8
12
  import { stackY } from '../transforms/stack.js';
9
13
  import { recordizeY } from '../transforms/recordize.js';
10
- import type { ChannelAccessor, PlotDefaults } from '../types.js';
11
- import { getContext } from 'svelte';
14
+ import type { ChannelAccessor, DataRow, PlotDefaults } from '../types/index.js';
15
+ import { getContext, type Component, type ComponentProps } from 'svelte';
12
16
 
13
- /**
14
- * AreaY mark foo
15
- */
16
- type AreaYProps = Omit<AreaMarkProps, 'x1' | 'x2'> & {
17
- x?: ChannelAccessor;
18
- y?: ChannelAccessor;
19
- };
20
-
21
- let markProps: AreaMarkProps = $props();
17
+ let markProps: AreaYMarkProps = $props();
22
18
 
23
19
  const DEFAULTS = getContext<PlotDefaults>('svelteplot/_defaults').areaY;
24
20
 
25
- const { data, stack, ...options }: AreaMarkProps = $derived({ ...DEFAULTS, ...markProps });
21
+ const { data, stack, ...options }: AreaYMarkProps = $derived({
22
+ ...(markProps.y == undefined ? { y1: 0, y2: 0 } : {}),
23
+ ...DEFAULTS,
24
+ ...markProps
25
+ });
26
26
 
27
27
  const args = $derived(
28
- renameChannels<AreaYProps>(
28
+ renameChannels<AreaYMarkProps>(
29
29
  stackY(recordizeY({ data, ...options, x1: null, x2: null }), stack),
30
30
  { x: 'x1' }
31
31
  )
@@ -1,8 +1,99 @@
1
- import { type AreaMarkProps } from './Area.svelte';
1
+ import { renameChannels } from '../transforms/rename.js';
2
+ import type { ChannelAccessor, DataRow } from '../types/index.js';
3
+ declare class __sveltets_Render<Datum extends DataRow> {
4
+ props(): Omit<Partial<{
5
+ filter?: import("../types/index.js").ConstantAccessor<boolean, import("../types/data").DataRecord>;
6
+ facet?: "auto" | "include" | "exclude";
7
+ fx: ChannelAccessor<import("../types/data").DataRecord>;
8
+ fy: ChannelAccessor<import("../types/data").DataRecord>;
9
+ dx: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
10
+ dy: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
11
+ fill: ChannelAccessor<import("../types/data").DataRecord>;
12
+ fillOpacity: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
13
+ sort: {
14
+ channel: string;
15
+ order?: "ascending" | "descending";
16
+ } | ((a: import("../types/data").RawValue, b: import("../types/data").RawValue) => number) | import("../types/index.js").ConstantAccessor<import("../types/data").RawValue, import("../types/data").DataRecord>;
17
+ stroke: ChannelAccessor<import("../types/data").DataRecord>;
18
+ strokeWidth: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
19
+ strokeOpacity: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
20
+ strokeLinejoin: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinejoin, import("../types/data").DataRecord>;
21
+ strokeLinecap: import("../types/index.js").ConstantAccessor<import("csstype").Property.StrokeLinecap, import("../types/data").DataRecord>;
22
+ strokeMiterlimit: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
23
+ opacity: ChannelAccessor<import("../types/data").DataRecord>;
24
+ strokeDasharray: import("../types/index.js").ConstantAccessor<string, import("../types/data").DataRecord>;
25
+ strokeDashoffset: import("../types/index.js").ConstantAccessor<number, import("../types/data").DataRecord>;
26
+ mixBlendMode: import("../types/index.js").ConstantAccessor<import("csstype").Property.MixBlendMode, import("../types/data").DataRecord>;
27
+ clipPath: string;
28
+ imageFilter: import("../types/index.js").ConstantAccessor<string, import("../types/data").DataRecord>;
29
+ shapeRendering: import("../types/index.js").ConstantAccessor<import("csstype").Property.ShapeRendering, import("../types/data").DataRecord>;
30
+ paintOrder: import("../types/index.js").ConstantAccessor<string, import("../types/data").DataRecord>;
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 | null;
62
+ cursor: import("../types/index.js").ConstantAccessor<import("csstype").Property.Cursor, import("../types/data").DataRecord>;
63
+ }> & import("../types/mark").LinkableMarkProps<import("../types/data").DataRecord> & {
64
+ data: import("../types/data").DataRecord[];
65
+ x1?: ChannelAccessor<import("../types/data").DataRecord>;
66
+ x2?: ChannelAccessor<import("../types/data").DataRecord>;
67
+ y1?: ChannelAccessor<import("../types/data").DataRecord>;
68
+ y2?: ChannelAccessor<import("../types/data").DataRecord>;
69
+ z?: ChannelAccessor<import("../types/data").DataRecord>;
70
+ curve?: import("../types/index.js").CurveName | import("d3-shape").CurveFactory;
71
+ tension?: number;
72
+ sort?: import("../types/index.js").ConstantAccessor<renameChannels> | {
73
+ channel: "stroke" | "fill";
74
+ };
75
+ stack?: Partial<renameChannels>;
76
+ canvas?: boolean;
77
+ }, "x1" | "x2"> & {
78
+ x?: ChannelAccessor<Datum>;
79
+ y?: ChannelAccessor<Datum>;
80
+ };
81
+ events(): {};
82
+ slots(): {};
83
+ bindings(): "";
84
+ exports(): {};
85
+ }
86
+ interface $$IsomorphicComponent {
87
+ new <Datum extends DataRow>(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']>> & {
88
+ $$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
89
+ } & ReturnType<__sveltets_Render<Datum>['exports']>;
90
+ <Datum extends DataRow>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
91
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
92
+ }
2
93
  /**
3
94
  * Creates a vertical area chart with y value and baseline. Areas are implicitly
4
95
  * stacked vertically if just the y channel is defined.
5
96
  */
6
- declare const AreaY: import("svelte").Component<AreaMarkProps, {}, "">;
7
- type AreaY = ReturnType<typeof AreaY>;
97
+ declare const AreaY: $$IsomorphicComponent;
98
+ type AreaY<Datum extends DataRow> = InstanceType<typeof AreaY<Datum>>;
8
99
  export default AreaY;
@@ -1,43 +1,40 @@
1
1
  <!-- @component
2
2
  Creates arrows with customizable heads, angles, and bending
3
3
  -->
4
- <script module lang="ts">
5
- export type ArrowMarkProps = Omit<BaseMarkProps, 'fill' | 'fillOpacity'> & {
6
- data: DataRecord[];
4
+ <script lang="ts" generics="Datum extends DataRecord">
5
+ interface ArrowMarkProps extends Omit<BaseMarkProps<Datum>, 'fill' | 'fillOpacity'> {
6
+ data: Datum[];
7
7
  sort?: ConstantAccessor<RawValue> | { channel: 'stroke' | 'fill' };
8
- x1: ChannelAccessor;
9
- y1: ChannelAccessor;
10
- x2: ChannelAccessor;
11
- y2: ChannelAccessor;
8
+ x1: ChannelAccessor<Datum>;
9
+ y1: ChannelAccessor<Datum>;
10
+ x2: ChannelAccessor<Datum>;
11
+ y2: ChannelAccessor<Datum>;
12
12
  /**
13
13
  * the bend angle, in degrees; defaults to 0°; true for 22.5°
14
14
  */
15
- bend?: ConstantAccessor<number> | true;
15
+ bend?: ConstantAccessor<number, Datum> | true;
16
16
  /**
17
17
  * the arrowhead angle, in degrees; defaults to 60°
18
18
  */
19
- headAngle?: ConstantAccessor<number>;
19
+ headAngle?: ConstantAccessor<number, Datum>;
20
20
  /**
21
21
  * the arrowhead scale; defaults to 8
22
22
  */
23
- headLength?: ConstantAccessor<number>;
23
+ headLength?: ConstantAccessor<number, Datum>;
24
24
  /**
25
25
  * inset at the end of the arrow (useful if the arrow points to a dot)
26
26
  */
27
- insetEnd?: ConstantAccessor<number>;
27
+ insetEnd?: ConstantAccessor<number, Datum>;
28
28
  /**
29
29
  * inset at the start of the arrow
30
30
  */
31
- insetStart?: ConstantAccessor<number>;
31
+ insetStart?: ConstantAccessor<number, Datum>;
32
32
  /**
33
33
  * shorthand for the two insets
34
34
  */
35
- inset?: ConstantAccessor<number>;
35
+ inset?: ConstantAccessor<number, Datum>;
36
36
  sweep?: SweepOption;
37
- };
38
- </script>
39
-
40
- <script lang="ts">
37
+ }
41
38
  import { getContext } from 'svelte';
42
39
  import type {
43
40
  PlotContext,
@@ -47,7 +44,7 @@
47
44
  ChannelAccessor,
48
45
  RawValue,
49
46
  PlotDefaults
50
- } from '../types.js';
47
+ } from '../types/index.js';
51
48
  import { resolveChannel, resolveProp, resolveStyles } from '../helpers/resolve.js';
52
49
  import { coalesce, maybeData, maybeNumber } from '../helpers/index.js';
53
50
  import Mark from '../Mark.svelte';
@@ -66,7 +63,7 @@
66
63
  };
67
64
 
68
65
  const {
69
- data = [{}],
66
+ data = [{} as Datum],
70
67
  class: className = '',
71
68
  ...options
72
69
  }: ArrowMarkProps = $derived({
@@ -1,41 +1,113 @@
1
- export type ArrowMarkProps = Omit<BaseMarkProps, 'fill' | 'fillOpacity'> & {
2
- data: DataRecord[];
3
- sort?: ConstantAccessor<RawValue> | {
4
- channel: 'stroke' | 'fill';
5
- };
6
- x1: ChannelAccessor;
7
- y1: ChannelAccessor;
8
- x2: ChannelAccessor;
9
- y2: ChannelAccessor;
10
- /**
11
- * the bend angle, in degrees; defaults to 0°; true for 22.5°
12
- */
13
- bend?: ConstantAccessor<number> | true;
14
- /**
15
- * the arrowhead angle, in degrees; defaults to 60°
16
- */
17
- headAngle?: ConstantAccessor<number>;
18
- /**
19
- * the arrowhead scale; defaults to 8
20
- */
21
- headLength?: ConstantAccessor<number>;
22
- /**
23
- * inset at the end of the arrow (useful if the arrow points to a dot)
24
- */
25
- insetEnd?: ConstantAccessor<number>;
26
- /**
27
- * inset at the start of the arrow
28
- */
29
- insetStart?: ConstantAccessor<number>;
30
- /**
31
- * shorthand for the two insets
32
- */
33
- inset?: ConstantAccessor<number>;
34
- sweep?: SweepOption;
35
- };
36
- import type { DataRecord, BaseMarkProps, ConstantAccessor, ChannelAccessor, RawValue } from '../types.js';
1
+ import type { DataRecord, ConstantAccessor, ChannelAccessor, RawValue } from '../types/index.js';
37
2
  import { type SweepOption } from '../helpers/arrowPath.js';
3
+ declare class __sveltets_Render<Datum extends DataRecord> {
4
+ props(): Omit<Partial<{
5
+ filter?: ConstantAccessor<boolean, Datum>;
6
+ facet?: "auto" | "include" | "exclude";
7
+ fx: ChannelAccessor<Datum>;
8
+ fy: ChannelAccessor<Datum>;
9
+ dx: ConstantAccessor<number, Datum>;
10
+ dy: ConstantAccessor<number, Datum>;
11
+ fill: ChannelAccessor<Datum>;
12
+ fillOpacity: ConstantAccessor<number, Datum>;
13
+ sort: {
14
+ channel: string;
15
+ order?: "ascending" | "descending";
16
+ } | ((a: RawValue, b: RawValue) => number) | ConstantAccessor<RawValue, Datum>;
17
+ stroke: ChannelAccessor<Datum>;
18
+ strokeWidth: ConstantAccessor<number, Datum>;
19
+ strokeOpacity: ConstantAccessor<number, Datum>;
20
+ strokeLinejoin: ConstantAccessor<import("csstype").Property.StrokeLinejoin, Datum>;
21
+ strokeLinecap: ConstantAccessor<import("csstype").Property.StrokeLinecap, Datum>;
22
+ strokeMiterlimit: ConstantAccessor<number, Datum>;
23
+ opacity: ChannelAccessor<Datum>;
24
+ strokeDasharray: ConstantAccessor<string, Datum>;
25
+ strokeDashoffset: ConstantAccessor<number, Datum>;
26
+ mixBlendMode: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
27
+ clipPath: string;
28
+ imageFilter: ConstantAccessor<string, Datum>;
29
+ shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
30
+ paintOrder: ConstantAccessor<string, Datum>;
31
+ onclick?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
32
+ ondblclick?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
33
+ onmouseup?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
34
+ onmousedown?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
35
+ onmouseenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
36
+ onmousemove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
37
+ onmouseleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
38
+ onmouseout?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
39
+ onmouseover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
40
+ onpointercancel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
41
+ onpointerdown?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
42
+ onpointerup?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
43
+ onpointerenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
44
+ onpointerleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
45
+ onpointermove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
46
+ onpointerover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
47
+ onpointerout?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
48
+ ondrag?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
49
+ ondrop?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
50
+ ondragstart?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
51
+ ondragenter?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
52
+ ondragleave?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
53
+ ondragover?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
54
+ ondragend?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
55
+ ontouchstart?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
56
+ ontouchmove?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
57
+ ontouchend?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
58
+ ontouchcancel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
59
+ oncontextmenu?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
60
+ onwheel?: import("svelte/elements.js").MouseEventHandler<SVGPathElement>;
61
+ class: string | null;
62
+ cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
63
+ }>, "fill" | "fillOpacity"> & {
64
+ data: Datum[];
65
+ sort?: ConstantAccessor<RawValue> | {
66
+ channel: "stroke" | "fill";
67
+ };
68
+ x1: ChannelAccessor<Datum>;
69
+ y1: ChannelAccessor<Datum>;
70
+ x2: ChannelAccessor<Datum>;
71
+ y2: ChannelAccessor<Datum>;
72
+ /**
73
+ * the bend angle, in degrees; defaults to 0°; true for 22.5°
74
+ */
75
+ bend?: true | ConstantAccessor<number, Datum>;
76
+ /**
77
+ * the arrowhead angle, in degrees; defaults to 60°
78
+ */
79
+ headAngle?: ConstantAccessor<number, Datum>;
80
+ /**
81
+ * the arrowhead scale; defaults to 8
82
+ */
83
+ headLength?: ConstantAccessor<number, Datum>;
84
+ /**
85
+ * inset at the end of the arrow (useful if the arrow points to a dot)
86
+ */
87
+ insetEnd?: ConstantAccessor<number, Datum>;
88
+ /**
89
+ * inset at the start of the arrow
90
+ */
91
+ insetStart?: ConstantAccessor<number, Datum>;
92
+ /**
93
+ * shorthand for the two insets
94
+ */
95
+ inset?: ConstantAccessor<number, Datum>;
96
+ sweep?: SweepOption;
97
+ };
98
+ events(): {};
99
+ slots(): {};
100
+ bindings(): "";
101
+ exports(): {};
102
+ }
103
+ interface $$IsomorphicComponent {
104
+ 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']>> & {
105
+ $$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
106
+ } & ReturnType<__sveltets_Render<Datum>['exports']>;
107
+ <Datum extends DataRecord>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
108
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
109
+ }
38
110
  /** Creates arrows with customizable heads, angles, and bending */
39
- declare const Arrow: import("svelte").Component<ArrowMarkProps, {}, "">;
40
- type Arrow = ReturnType<typeof Arrow>;
111
+ declare const Arrow: $$IsomorphicComponent;
112
+ type Arrow<Datum extends DataRecord> = InstanceType<typeof Arrow<Datum>>;
41
113
  export default Arrow;
@@ -1,13 +1,30 @@
1
1
  <!-- @component
2
2
  Renders a horizontal axis with labels and tick marks
3
3
  -->
4
- <script module lang="ts">
5
- import type { XOR } from 'ts-essentials';
6
- export type AxisXMarkProps = Omit<
4
+ <script lang="ts" generics="Datum extends RawValue">
5
+ import { getContext } from 'svelte';
6
+ import Mark from '../Mark.svelte';
7
+ import BaseAxisX from './helpers/BaseAxisX.svelte';
8
+ import type {
9
+ PlotContext,
7
10
  BaseMarkProps,
8
- 'fill' | 'fillOpacity' | 'paintOrder' | 'title' | 'href' | 'target'
9
- > & {
10
- data?: RawValue[];
11
+ RawValue,
12
+ ConstantAccessor,
13
+ FacetContext,
14
+ PlotDefaults,
15
+ ChannelName
16
+ } from '../types/index.js';
17
+ import autoTimeFormat from '../helpers/autoTimeFormat.js';
18
+ import { derived } from 'svelte/store';
19
+ import { autoTicks } from '../helpers/autoTicks.js';
20
+ import { resolveScaledStyles } from '../helpers/resolve.js';
21
+
22
+ interface AxisXMarkProps
23
+ extends Omit<
24
+ BaseMarkProps<Datum>,
25
+ 'fill' | 'fillOpacity' | 'paintOrder' | 'title' | 'href' | 'target'
26
+ > {
27
+ data?: Datum[];
11
28
  automatic?: boolean;
12
29
  title?: string;
13
30
  anchor?: 'top' | 'bottom';
@@ -15,42 +32,23 @@
15
32
  facetAnchor?: 'auto' | 'top-empty' | 'bottom-empty' | 'top' | 'bottom';
16
33
  labelAnchor?: 'auto' | 'left' | 'center' | 'right';
17
34
  tickSize?: number;
18
- tickFontSize?: ConstantAccessor<number>;
35
+ tickFontSize?: ConstantAccessor<number, Datum>;
19
36
  tickPadding?: number;
20
37
  tickFormat?:
21
38
  | 'auto'
22
39
  | Intl.DateTimeFormatOptions
23
40
  | Intl.NumberFormatOptions
24
41
  | ((d: RawValue) => string);
25
- tickClass?: ConstantAccessor<string>;
42
+ tickClass?: ConstantAccessor<string, Datum>;
26
43
  /** ticks is a shorthand for defining data, tickCount or interval */
27
- ticks?: number | string | RawValue[];
44
+ ticks?: number | string | Datum[];
28
45
  /** set to false or null to disable tick labels */
29
46
  text: boolean | null;
30
47
  /** approximate number of ticks to be generated */
31
48
  tickCount?: number;
32
49
  /** approximate number of pixels between generated ticks */
33
50
  tickSpacing?: number;
34
- };
35
- </script>
36
-
37
- <script lang="ts">
38
- import { getContext } from 'svelte';
39
- import Mark from '../Mark.svelte';
40
- import BaseAxisX from './helpers/BaseAxisX.svelte';
41
- import type {
42
- PlotContext,
43
- BaseMarkProps,
44
- RawValue,
45
- ConstantAccessor,
46
- FacetContext,
47
- PlotDefaults,
48
- ChannelName
49
- } from '../types.js';
50
- import autoTimeFormat from '../helpers/autoTimeFormat.js';
51
- import { derived } from 'svelte/store';
52
- import { autoTicks } from '../helpers/autoTicks.js';
53
- import { resolveScaledStyles } from '../helpers/resolve.js';
51
+ }
54
52
 
55
53
  let markProps: AxisXMarkProps = $props();
56
54
 
@@ -211,21 +209,23 @@
211
209
  {/if}
212
210
  {#if showAxis}
213
211
  <BaseAxisX
212
+ {anchor}
213
+ {className}
214
+ {labelAnchor}
215
+ {options}
216
+ {plot}
217
+ {text}
218
+ {tickClass}
219
+ {tickFontSize}
220
+ {tickPadding}
221
+ {ticks}
222
+ {tickSize}
223
+ height={plot.facetHeight}
224
+ marginTop={plot.options.marginTop}
214
225
  scaleFn={plot.scales.x.fn}
215
226
  scaleType={plot.scales.x.type}
216
227
  tickFormat={useTickFormat}
217
- {ticks}
218
- marginTop={plot.options.marginTop}
219
- height={plot.facetHeight}
220
- {anchor}
221
- {tickSize}
222
- {tickPadding}
223
- {tickFontSize}
224
- {tickClass}
225
- {text}
226
- {options}
227
- title={useTitle}
228
- {plot} />
228
+ title={useTitle} />
229
229
  {/if}
230
230
  </Mark>
231
231