svelteplot 0.10.3 → 0.11.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.
- package/dist/Mark.svelte +42 -25
- package/dist/Mark.svelte.d.ts +111 -32
- package/dist/Plot.svelte +21 -15
- package/dist/core/Facet.svelte +1 -1
- package/dist/core/FacetAxes.svelte +13 -8
- package/dist/core/FacetGrid.svelte +4 -4
- package/dist/core/Plot.svelte +41 -35
- package/dist/helpers/autoScales.d.ts +3 -3
- package/dist/helpers/autoScales.js +28 -18
- package/dist/helpers/autoTicks.js +2 -0
- package/dist/helpers/callWithProps.d.ts +1 -2
- package/dist/helpers/facets.js +0 -1
- package/dist/helpers/index.js +1 -1
- package/dist/helpers/mergeDeep.d.ts +1 -3
- package/dist/helpers/mergeDeep.js +15 -16
- package/dist/helpers/projection.d.ts +4 -3
- package/dist/helpers/projection.js +17 -5
- package/dist/helpers/reduce.d.ts +4 -4
- package/dist/helpers/reduce.js +6 -4
- package/dist/helpers/regressionLoess.js +2 -1
- package/dist/helpers/resolve.d.ts +6 -3
- package/dist/helpers/resolve.js +25 -16
- package/dist/helpers/scales.d.ts +10 -10
- package/dist/helpers/scales.js +43 -13
- package/dist/helpers/time.d.ts +10 -3
- package/dist/helpers/time.js +2 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/plotDefaults.d.ts +3 -1
- package/dist/hooks/plotDefaults.js +33 -1
- package/dist/hooks/usePlot.svelte.d.ts +10 -25
- package/dist/hooks/usePlot.svelte.js +8 -7
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -3
- package/dist/marks/Area.svelte +24 -13
- package/dist/marks/Area.svelte.d.ts +118 -34
- package/dist/marks/AreaX.svelte +42 -8
- package/dist/marks/AreaX.svelte.d.ts +154 -71
- package/dist/marks/AreaY.svelte +42 -8
- package/dist/marks/AreaY.svelte.d.ts +154 -71
- package/dist/marks/Arrow.svelte +42 -23
- package/dist/marks/Arrow.svelte.d.ts +114 -35
- package/dist/marks/AxisX.svelte +43 -28
- package/dist/marks/AxisX.svelte.d.ts +125 -40
- package/dist/marks/AxisY.svelte +43 -26
- package/dist/marks/AxisY.svelte.d.ts +127 -40
- package/dist/marks/BarX.svelte +12 -10
- package/dist/marks/BarX.svelte.d.ts +104 -32
- package/dist/marks/BarY.svelte +11 -10
- package/dist/marks/BarY.svelte.d.ts +106 -34
- package/dist/marks/BollingerX.svelte +4 -7
- package/dist/marks/BollingerX.svelte.d.ts +105 -30
- package/dist/marks/BollingerY.svelte +3 -0
- package/dist/marks/BollingerY.svelte.d.ts +105 -30
- package/dist/marks/BoxX.svelte +3 -3
- package/dist/marks/BoxY.svelte +12 -9
- package/dist/marks/BoxY.svelte.d.ts +128 -53
- package/dist/marks/Brush.svelte +26 -21
- package/dist/marks/Brush.svelte.d.ts +119 -60
- package/dist/marks/Cell.svelte +13 -9
- package/dist/marks/Cell.svelte.d.ts +105 -30
- package/dist/marks/CellX.svelte +2 -1
- package/dist/marks/CellX.svelte.d.ts +105 -32
- package/dist/marks/CellY.svelte +2 -1
- package/dist/marks/CellY.svelte.d.ts +105 -32
- package/dist/marks/ColorLegend.svelte +24 -13
- package/dist/marks/ColorLegend.svelte.d.ts +1 -0
- package/dist/marks/CustomMark.svelte +16 -10
- package/dist/marks/CustomMark.svelte.d.ts +112 -31
- package/dist/marks/CustomMarkHTML.svelte +8 -2
- package/dist/marks/CustomMarkHTML.svelte.d.ts +8 -2
- package/dist/marks/DifferenceY.svelte +31 -20
- package/dist/marks/DifferenceY.svelte.d.ts +134 -55
- package/dist/marks/Dot.svelte +21 -11
- package/dist/marks/Dot.svelte.d.ts +117 -38
- package/dist/marks/DotX.svelte +2 -0
- package/dist/marks/DotX.svelte.d.ts +136 -62
- package/dist/marks/DotY.svelte +1 -0
- package/dist/marks/DotY.svelte.d.ts +135 -62
- package/dist/marks/Frame.svelte +47 -9
- package/dist/marks/Frame.svelte.d.ts +124 -41
- package/dist/marks/Geo.svelte +21 -12
- package/dist/marks/Geo.svelte.d.ts +105 -30
- package/dist/marks/Graticule.svelte +3 -0
- package/dist/marks/Graticule.svelte.d.ts +3 -0
- package/dist/marks/GridX.svelte +31 -16
- package/dist/marks/GridX.svelte.d.ts +108 -32
- package/dist/marks/GridY.svelte +30 -15
- package/dist/marks/GridY.svelte.d.ts +108 -32
- package/dist/marks/HTMLTooltip.svelte +14 -7
- package/dist/marks/HTMLTooltip.svelte.d.ts +7 -0
- package/dist/marks/Image.svelte +50 -25
- package/dist/marks/Image.svelte.d.ts +117 -35
- package/dist/marks/Line.svelte +67 -44
- package/dist/marks/Line.svelte.d.ts +119 -30
- package/dist/marks/LineX.svelte +2 -1
- package/dist/marks/LineX.svelte.d.ts +142 -69
- package/dist/marks/LineY.svelte +2 -1
- package/dist/marks/LineY.svelte.d.ts +142 -69
- package/dist/marks/Link.svelte +70 -46
- package/dist/marks/Link.svelte.d.ts +126 -41
- package/dist/marks/Pointer.svelte +24 -15
- package/dist/marks/Pointer.svelte.d.ts +7 -0
- package/dist/marks/Rect.svelte +13 -5
- package/dist/marks/Rect.svelte.d.ts +116 -35
- package/dist/marks/RectX.svelte +6 -3
- package/dist/marks/RectX.svelte.d.ts +158 -12
- package/dist/marks/RectY.svelte +6 -3
- package/dist/marks/RectY.svelte.d.ts +158 -12
- package/dist/marks/RegressionX.svelte +13 -6
- package/dist/marks/RegressionX.svelte.d.ts +8 -3
- package/dist/marks/RegressionY.svelte +13 -6
- package/dist/marks/RegressionY.svelte.d.ts +8 -3
- package/dist/marks/RuleX.svelte +18 -11
- package/dist/marks/RuleX.svelte.d.ts +112 -32
- package/dist/marks/RuleY.svelte +19 -12
- package/dist/marks/RuleY.svelte.d.ts +114 -34
- package/dist/marks/Spike.svelte +11 -5
- package/dist/marks/Spike.svelte.d.ts +146 -68
- package/dist/marks/Text.svelte +24 -7
- package/dist/marks/Text.svelte.d.ts +253 -75
- package/dist/marks/TickX.svelte +56 -48
- package/dist/marks/TickX.svelte.d.ts +114 -40
- package/dist/marks/TickY.svelte +59 -51
- package/dist/marks/TickY.svelte.d.ts +117 -43
- package/dist/marks/Trail.svelte +25 -13
- package/dist/marks/Trail.svelte.d.ts +116 -33
- package/dist/marks/Vector.svelte +20 -11
- package/dist/marks/Vector.svelte.d.ts +116 -35
- package/dist/marks/WaffleX.svelte +18 -16
- package/dist/marks/WaffleX.svelte.d.ts +131 -57
- package/dist/marks/WaffleY.svelte +16 -15
- package/dist/marks/WaffleY.svelte.d.ts +129 -56
- package/dist/marks/helpers/Anchor.svelte +17 -2
- package/dist/marks/helpers/Anchor.svelte.d.ts +16 -1
- package/dist/marks/helpers/AreaCanvas.svelte +8 -8
- package/dist/marks/helpers/BaseAxisX.svelte +38 -41
- package/dist/marks/helpers/BaseAxisX.svelte.d.ts +11 -17
- package/dist/marks/helpers/BaseAxisY.svelte +35 -35
- package/dist/marks/helpers/BaseAxisY.svelte.d.ts +12 -15
- package/dist/marks/helpers/Box.svelte +35 -28
- package/dist/marks/helpers/Box.svelte.d.ts +122 -50
- package/dist/marks/helpers/DotCanvas.svelte +11 -9
- package/dist/marks/helpers/GeoCanvas.svelte +7 -6
- package/dist/marks/helpers/LineCanvas.svelte +7 -7
- package/dist/marks/helpers/LinearGradientX.svelte +2 -2
- package/dist/marks/helpers/LinearGradientX.svelte.d.ts +1 -1
- package/dist/marks/helpers/LinearGradientY.svelte +2 -2
- package/dist/marks/helpers/LinearGradientY.svelte.d.ts +1 -1
- package/dist/marks/helpers/Marker.svelte +2 -2
- package/dist/marks/helpers/MarkerPath.svelte +15 -12
- package/dist/marks/helpers/MarkerPath.svelte.d.ts +105 -32
- package/dist/marks/helpers/MultilineText.svelte +24 -17
- package/dist/marks/helpers/MultilineText.svelte.d.ts +1 -1
- package/dist/marks/helpers/RectCanvas.svelte +31 -26
- package/dist/marks/helpers/RectPath.svelte +2 -2
- package/dist/marks/helpers/Regression.svelte +176 -86
- package/dist/marks/helpers/Regression.svelte.d.ts +20 -8
- package/dist/marks/helpers/RuleCanvas.svelte +9 -6
- package/dist/marks/helpers/TextCanvas.svelte +13 -9
- package/dist/marks/helpers/TextCanvas.svelte.d.ts +6 -6
- package/dist/marks/helpers/TickCanvas.svelte +6 -5
- package/dist/marks/helpers/TrailCanvas.svelte +16 -18
- package/dist/marks/helpers/TrailCanvas.svelte.d.ts +3 -5
- package/dist/marks/helpers/canvas.js +16 -9
- package/dist/marks/helpers/events.d.ts +2 -2
- package/dist/marks/helpers/events.js +14 -7
- package/dist/marks/helpers/waffle.d.ts +3 -3
- package/dist/marks/helpers/waffle.js +6 -4
- package/dist/regression/polynomial.d.ts +1 -1
- package/dist/regression/polynomial.js +5 -5
- package/dist/regression/utils/determination.d.ts +1 -1
- package/dist/regression/utils/determination.js +1 -1
- package/dist/regression/utils/geometry.d.ts +1 -1
- package/dist/regression/utils/interpose.d.ts +1 -1
- package/dist/regression/utils/interpose.js +1 -1
- package/dist/regression/utils/points.d.ts +1 -1
- package/dist/transforms/bin.d.ts +3 -3
- package/dist/transforms/bin.js +29 -20
- package/dist/transforms/bollinger.d.ts +8 -0
- package/dist/transforms/bollinger.js +9 -1
- package/dist/transforms/centroid.d.ts +4 -0
- package/dist/transforms/centroid.js +4 -0
- package/dist/transforms/density.d.ts +4 -4
- package/dist/transforms/density.js +20 -13
- package/dist/transforms/dodge.d.ts +12 -1
- package/dist/transforms/dodge.js +15 -6
- package/dist/transforms/group.d.ts +141 -4
- package/dist/transforms/group.js +4 -1
- package/dist/transforms/interval.d.ts +204 -60
- package/dist/transforms/jitter.d.ts +421 -4
- package/dist/transforms/jitter.js +10 -1
- package/dist/transforms/map.d.ts +412 -4
- package/dist/transforms/map.js +3 -3
- package/dist/transforms/normalize.d.ts +276 -5
- package/dist/transforms/normalize.js +5 -3
- package/dist/transforms/recordize.d.ts +17 -5
- package/dist/transforms/recordize.js +13 -9
- package/dist/transforms/rename.d.ts +11 -4
- package/dist/transforms/rename.js +7 -2
- package/dist/transforms/select.d.ts +722 -210
- package/dist/transforms/select.js +13 -1
- package/dist/transforms/shift.d.ts +8 -0
- package/dist/transforms/shift.js +20 -6
- package/dist/transforms/sort.d.ts +13 -258
- package/dist/transforms/sort.js +13 -10
- package/dist/transforms/stack.d.ts +58 -9
- package/dist/transforms/stack.js +27 -11
- package/dist/transforms/window.d.ts +221 -66
- package/dist/transforms/window.js +8 -2
- package/dist/types/axes.d.ts +43 -0
- package/dist/types/axes.js +1 -0
- package/dist/types/channel.d.ts +30 -2
- package/dist/types/data.d.ts +14 -1
- package/dist/types/facet.d.ts +5 -0
- package/dist/types/index.d.ts +33 -8
- package/dist/types/index.js +11 -7
- package/dist/types/mark.d.ts +124 -35
- package/dist/types/plot.d.ts +118 -16
- package/dist/types/scale.d.ts +125 -8
- package/package.json +178 -175
- package/dist/helpers/autoTicks.d.ts +0 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChannelAccessor, ConstantAccessor, DataRecord, LinkableMarkProps } from '../types';
|
|
1
|
+
import type { ChannelAccessor, ConstantAccessor, DataRecord, LinkableMarkProps } from '../types/index.js';
|
|
2
2
|
declare function $$render<Datum extends DataRecord>(): {
|
|
3
3
|
props: Partial<{
|
|
4
4
|
filter: ConstantAccessor<boolean, Datum>;
|
|
@@ -7,14 +7,24 @@ declare function $$render<Datum extends DataRecord>(): {
|
|
|
7
7
|
fy: ChannelAccessor<Datum>;
|
|
8
8
|
dx: ConstantAccessor<number, Datum>;
|
|
9
9
|
dy: ConstantAccessor<number, Datum>;
|
|
10
|
-
dodgeX: import("../transforms/dodge").DodgeXOptions;
|
|
11
|
-
dodgeY: import("../transforms/dodge").DodgeYOptions;
|
|
10
|
+
dodgeX: import("../transforms/dodge.js").DodgeXOptions;
|
|
11
|
+
dodgeY: import("../transforms/dodge.js").DodgeYOptions;
|
|
12
12
|
fill: ChannelAccessor<Datum>;
|
|
13
13
|
fillOpacity: ConstantAccessor<number, Datum>;
|
|
14
|
-
|
|
14
|
+
fontFamily: ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
|
|
15
|
+
fontSize: ConstantAccessor<number | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "math" | (string & {}) | "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large" | "larger" | "smaller", Datum>;
|
|
16
|
+
fontStyle: ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
|
|
17
|
+
fontVariant: ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
|
|
18
|
+
fontWeight: ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
|
|
19
|
+
letterSpacing: ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
|
|
20
|
+
wordSpacing: ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
|
|
21
|
+
textAnchor: ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
|
|
22
|
+
textTransform: ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
|
|
23
|
+
textDecoration: ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
|
|
24
|
+
sort: ((a: import("../types/index.js").RawValue, b: import("../types/index.js").RawValue) => number) | {
|
|
15
25
|
channel: string;
|
|
16
26
|
order?: "ascending" | "descending";
|
|
17
|
-
} | ConstantAccessor<import("../types").RawValue, Datum>;
|
|
27
|
+
} | ConstantAccessor<import("../types/index.js").RawValue, Datum>;
|
|
18
28
|
stroke: ChannelAccessor<Datum>;
|
|
19
29
|
strokeWidth: ConstantAccessor<number, Datum>;
|
|
20
30
|
strokeOpacity: ConstantAccessor<number, Datum>;
|
|
@@ -24,55 +34,127 @@ declare function $$render<Datum extends DataRecord>(): {
|
|
|
24
34
|
opacity: ChannelAccessor<Datum>;
|
|
25
35
|
strokeDasharray: ConstantAccessor<string, Datum>;
|
|
26
36
|
strokeDashoffset: ConstantAccessor<number, Datum>;
|
|
37
|
+
blend: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
|
|
27
38
|
mixBlendMode: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
|
|
28
39
|
clipPath: string;
|
|
29
40
|
mask: string;
|
|
30
41
|
imageFilter: ConstantAccessor<string, Datum>;
|
|
31
42
|
shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
|
|
32
43
|
paintOrder: ConstantAccessor<string, Datum>;
|
|
33
|
-
onclick:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
44
|
+
onclick: (event: Event & {
|
|
45
|
+
currentTarget: SVGPathElement;
|
|
46
|
+
}, datum: Datum, index: number) => void;
|
|
47
|
+
ondblclick: (event: Event & {
|
|
48
|
+
currentTarget: SVGPathElement;
|
|
49
|
+
}, datum: Datum, index: number) => void;
|
|
50
|
+
onmouseup: (event: Event & {
|
|
51
|
+
currentTarget: SVGPathElement;
|
|
52
|
+
}, datum: Datum, index: number) => void;
|
|
53
|
+
onmousedown: (event: Event & {
|
|
54
|
+
currentTarget: SVGPathElement;
|
|
55
|
+
}, datum: Datum, index: number) => void;
|
|
56
|
+
onmouseenter: (event: Event & {
|
|
57
|
+
currentTarget: SVGPathElement;
|
|
58
|
+
}, datum: Datum, index: number) => void;
|
|
59
|
+
onmousemove: (event: Event & {
|
|
60
|
+
currentTarget: SVGPathElement;
|
|
61
|
+
}, datum: Datum, index: number) => void;
|
|
62
|
+
onmouseleave: (event: Event & {
|
|
63
|
+
currentTarget: SVGPathElement;
|
|
64
|
+
}, datum: Datum, index: number) => void;
|
|
65
|
+
onmouseout: (event: Event & {
|
|
66
|
+
currentTarget: SVGPathElement;
|
|
67
|
+
}, datum: Datum, index: number) => void;
|
|
68
|
+
onmouseover: (event: Event & {
|
|
69
|
+
currentTarget: SVGPathElement;
|
|
70
|
+
}, datum: Datum, index: number) => void;
|
|
71
|
+
onpointercancel: (event: Event & {
|
|
72
|
+
currentTarget: SVGPathElement;
|
|
73
|
+
}, datum: Datum, index: number) => void;
|
|
74
|
+
onpointerdown: (event: Event & {
|
|
75
|
+
currentTarget: SVGPathElement;
|
|
76
|
+
}, datum: Datum, index: number) => void;
|
|
77
|
+
onpointerup: (event: Event & {
|
|
78
|
+
currentTarget: SVGPathElement;
|
|
79
|
+
}, datum: Datum, index: number) => void;
|
|
80
|
+
onpointerenter: (event: Event & {
|
|
81
|
+
currentTarget: SVGPathElement;
|
|
82
|
+
}, datum: Datum, index: number) => void;
|
|
83
|
+
onpointerleave: (event: Event & {
|
|
84
|
+
currentTarget: SVGPathElement;
|
|
85
|
+
}, datum: Datum, index: number) => void;
|
|
86
|
+
onpointermove: (event: Event & {
|
|
87
|
+
currentTarget: SVGPathElement;
|
|
88
|
+
}, datum: Datum, index: number) => void;
|
|
89
|
+
onpointerover: (event: Event & {
|
|
90
|
+
currentTarget: SVGPathElement;
|
|
91
|
+
}, datum: Datum, index: number) => void;
|
|
92
|
+
onpointerout: (event: Event & {
|
|
93
|
+
currentTarget: SVGPathElement;
|
|
94
|
+
}, datum: Datum, index: number) => void;
|
|
95
|
+
ondrag: (event: Event & {
|
|
96
|
+
currentTarget: SVGPathElement;
|
|
97
|
+
}, datum: Datum, index: number) => void;
|
|
98
|
+
ondrop: (event: Event & {
|
|
99
|
+
currentTarget: SVGPathElement;
|
|
100
|
+
}, datum: Datum, index: number) => void;
|
|
101
|
+
ondragstart: (event: Event & {
|
|
102
|
+
currentTarget: SVGPathElement;
|
|
103
|
+
}, datum: Datum, index: number) => void;
|
|
104
|
+
ondragenter: (event: Event & {
|
|
105
|
+
currentTarget: SVGPathElement;
|
|
106
|
+
}, datum: Datum, index: number) => void;
|
|
107
|
+
ondragleave: (event: Event & {
|
|
108
|
+
currentTarget: SVGPathElement;
|
|
109
|
+
}, datum: Datum, index: number) => void;
|
|
110
|
+
ondragover: (event: Event & {
|
|
111
|
+
currentTarget: SVGPathElement;
|
|
112
|
+
}, datum: Datum, index: number) => void;
|
|
113
|
+
ondragend: (event: Event & {
|
|
114
|
+
currentTarget: SVGPathElement;
|
|
115
|
+
}, datum: Datum, index: number) => void;
|
|
116
|
+
ontouchstart: (event: Event & {
|
|
117
|
+
currentTarget: SVGPathElement;
|
|
118
|
+
}, datum: Datum, index: number) => void;
|
|
119
|
+
ontouchmove: (event: Event & {
|
|
120
|
+
currentTarget: SVGPathElement;
|
|
121
|
+
}, datum: Datum, index: number) => void;
|
|
122
|
+
ontouchend: (event: Event & {
|
|
123
|
+
currentTarget: SVGPathElement;
|
|
124
|
+
}, datum: Datum, index: number) => void;
|
|
125
|
+
ontouchcancel: (event: Event & {
|
|
126
|
+
currentTarget: SVGPathElement;
|
|
127
|
+
}, datum: Datum, index: number) => void;
|
|
128
|
+
oncontextmenu: (event: Event & {
|
|
129
|
+
currentTarget: SVGPathElement;
|
|
130
|
+
}, datum: Datum, index: number) => void;
|
|
131
|
+
onwheel: (event: Event & {
|
|
132
|
+
currentTarget: SVGPathElement;
|
|
133
|
+
}, datum: Datum, index: number) => void;
|
|
63
134
|
class: string;
|
|
64
135
|
style: string;
|
|
65
136
|
cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
|
|
137
|
+
title: ConstantAccessor<string, Datum>;
|
|
66
138
|
}> & LinkableMarkProps<Datum> & {
|
|
139
|
+
/** the input data array; each element becomes one image */
|
|
67
140
|
data: Datum[];
|
|
141
|
+
/** the horizontal position channel */
|
|
68
142
|
x: ChannelAccessor<Datum>;
|
|
143
|
+
/** the vertical position channel */
|
|
69
144
|
y: ChannelAccessor<Datum>;
|
|
145
|
+
/** the clip radius for the image in pixels */
|
|
70
146
|
r?: ChannelAccessor<Datum>;
|
|
147
|
+
/** the width of the image in pixels */
|
|
71
148
|
width?: ConstantAccessor<number, Datum>;
|
|
149
|
+
/** the height of the image in pixels */
|
|
72
150
|
height?: ConstantAccessor<number, Datum>;
|
|
151
|
+
/** the image source URL */
|
|
73
152
|
src?: ConstantAccessor<string, Datum>;
|
|
153
|
+
/** the title attribute for the image element (shown as a browser tooltip) */
|
|
74
154
|
title?: ConstantAccessor<string, Datum>;
|
|
155
|
+
/** the SVG preserveAspectRatio attribute for the image (e.g. "xMidYMid meet") */
|
|
75
156
|
preserveAspectRatio?: string;
|
|
157
|
+
/** CSS class name(s) to apply to individual image elements */
|
|
76
158
|
imageClass?: ConstantAccessor<string, Datum>;
|
|
77
159
|
};
|
|
78
160
|
exports: {};
|
package/dist/marks/Line.svelte
CHANGED
|
@@ -3,22 +3,39 @@
|
|
|
3
3
|
-->
|
|
4
4
|
<script lang="ts" generics="Datum extends DataRecord">
|
|
5
5
|
interface LineMarkProps extends MarkerOptions, BaseMarkProps<Datum> {
|
|
6
|
+
/** the input data array; each element becomes one point in the line */
|
|
6
7
|
data?: Datum[];
|
|
8
|
+
/** the horizontal position channel */
|
|
7
9
|
x?: ChannelAccessor<Datum>;
|
|
10
|
+
/** the vertical position channel */
|
|
8
11
|
y?: ChannelAccessor<Datum>;
|
|
12
|
+
/** the series channel; data is grouped into separate lines by unique z values */
|
|
9
13
|
z?: ChannelAccessor<Datum>;
|
|
14
|
+
/** the stroke color for the line outline */
|
|
10
15
|
outlineStroke?: string;
|
|
16
|
+
/** the stroke width of the line outline in pixels */
|
|
11
17
|
outlineStrokeWidth?: number;
|
|
18
|
+
/** the stroke opacity for the line outline; a number between 0 and 1 */
|
|
12
19
|
outlineStrokeOpacity?: number;
|
|
20
|
+
/** the curve interpolation method for connecting data points (e.g. "basis", "catmull-rom") */
|
|
13
21
|
curve?: CurveName | CurveFactory | 'auto';
|
|
22
|
+
/** the tension parameter for cardinal or Catmull-Rom curve interpolation */
|
|
14
23
|
tension?: number;
|
|
24
|
+
/** controls the order of data points before rendering */
|
|
15
25
|
sort?: ConstantAccessor<RawValue, Datum> | { channel: 'stroke' | 'fill' };
|
|
26
|
+
/** text label to render along the line path using a textPath element */
|
|
16
27
|
text?: ConstantAccessor<string, Datum>;
|
|
28
|
+
/** the fill color for the text label rendered along the line */
|
|
17
29
|
textFill?: ConstantAccessor<string, Datum>;
|
|
30
|
+
/** the stroke color for the text label rendered along the line */
|
|
18
31
|
textStroke?: ConstantAccessor<string, Datum>;
|
|
32
|
+
/** the offset position for the text label along the line path (e.g. "50%") */
|
|
19
33
|
textStartOffset?: ConstantAccessor<string, Datum>;
|
|
34
|
+
/** the stroke width for the text label rendered along the line in pixels */
|
|
20
35
|
textStrokeWidth?: ConstantAccessor<number, Datum>;
|
|
36
|
+
/** CSS class name(s) to apply to individual line elements */
|
|
21
37
|
lineClass?: ConstantAccessor<string, Datum>;
|
|
38
|
+
/** if true, renders using Canvas instead of SVG */
|
|
22
39
|
canvas?: boolean;
|
|
23
40
|
}
|
|
24
41
|
import type {
|
|
@@ -32,10 +49,10 @@
|
|
|
32
49
|
} from '../types/index.js';
|
|
33
50
|
import Mark from '../Mark.svelte';
|
|
34
51
|
import MarkerPath from './helpers/MarkerPath.svelte';
|
|
52
|
+
import type { MarkerShape } from './helpers/Marker.svelte';
|
|
35
53
|
import { resolveProp, resolveStyles } from '../helpers/resolve.js';
|
|
36
54
|
import { line, type CurveFactory, type Line as D3Line } from 'd3-shape';
|
|
37
55
|
import { geoPath } from 'd3-geo';
|
|
38
|
-
import callWithProps from '../helpers/callWithProps.js';
|
|
39
56
|
import { maybeCurve } from '../helpers/curves.js';
|
|
40
57
|
import { pick } from 'es-toolkit';
|
|
41
58
|
import LineCanvas from './helpers/LineCanvas.svelte';
|
|
@@ -55,8 +72,8 @@
|
|
|
55
72
|
tension: 0,
|
|
56
73
|
canvas: false,
|
|
57
74
|
markerScale: 1,
|
|
58
|
-
class:
|
|
59
|
-
lineClass:
|
|
75
|
+
class: undefined,
|
|
76
|
+
lineClass: undefined,
|
|
60
77
|
...getPlotDefaults().line
|
|
61
78
|
};
|
|
62
79
|
|
|
@@ -81,8 +98,8 @@
|
|
|
81
98
|
*/
|
|
82
99
|
function groupIndex(data: ScaledDataRecord[], groupByKey: ChannelAccessor<Datum> | null) {
|
|
83
100
|
if (!groupByKey) return [data];
|
|
84
|
-
let group = [];
|
|
85
|
-
const groups = [group];
|
|
101
|
+
let group: ScaledDataRecord[] = [];
|
|
102
|
+
const groups: ScaledDataRecord[][] = [group];
|
|
86
103
|
let lastGroupValue;
|
|
87
104
|
for (const d of data) {
|
|
88
105
|
const groupValue = resolveProp(groupByKey, d.datum);
|
|
@@ -104,33 +121,30 @@
|
|
|
104
121
|
|
|
105
122
|
const linePath: D3Line<ScaledDataRecord> = $derived(
|
|
106
123
|
plot.scales.projection && curve === 'auto'
|
|
107
|
-
? sphereLine(plot.scales.projection)
|
|
108
|
-
:
|
|
109
|
-
curve
|
|
110
|
-
x
|
|
111
|
-
y
|
|
112
|
-
defined
|
|
113
|
-
})
|
|
124
|
+
? (sphereLine(plot.scales.projection) as unknown as D3Line<ScaledDataRecord>)
|
|
125
|
+
: line<ScaledDataRecord>()
|
|
126
|
+
.curve(maybeCurve(curve === 'auto' ? 'linear' : curve, tension ?? 0))
|
|
127
|
+
.x((d) => d.x as number)
|
|
128
|
+
.y((d) => d.y as number)
|
|
129
|
+
.defined((d) => isValid(d.x) && isValid(d.y))
|
|
114
130
|
);
|
|
115
131
|
|
|
116
|
-
function sphereLine(projection) {
|
|
132
|
+
function sphereLine(projection: any) {
|
|
117
133
|
const path = geoPath(projection);
|
|
118
|
-
|
|
119
|
-
let line = [];
|
|
120
|
-
const lines = [line];
|
|
134
|
+
return (lineData: ScaledDataRecord[]) => {
|
|
135
|
+
let line: [number, number][] = [];
|
|
136
|
+
const lines: [number, number][][] = [line];
|
|
121
137
|
for (const { x, y } of lineData) {
|
|
122
138
|
// if x or y is undefined, start a new line segment
|
|
123
139
|
if (!isValid(x) || !isValid(y)) {
|
|
124
140
|
line = [];
|
|
125
141
|
lines.push(line);
|
|
126
142
|
} else {
|
|
127
|
-
line.push([x, y]);
|
|
143
|
+
line.push([x as number, y as number]);
|
|
128
144
|
}
|
|
129
145
|
}
|
|
130
146
|
return path({ type: 'MultiLineString', coordinates: lines });
|
|
131
147
|
};
|
|
132
|
-
fn.context = path.context;
|
|
133
|
-
return fn;
|
|
134
148
|
}
|
|
135
149
|
</script>
|
|
136
150
|
|
|
@@ -149,7 +163,7 @@
|
|
|
149
163
|
{#each groupedLineData as lineData, i (i)}
|
|
150
164
|
{@const pathString = linePath(lineData)}
|
|
151
165
|
{#if pathString}
|
|
152
|
-
<GroupMultiple class={resolveProp(lineClass, lineData[0])}>
|
|
166
|
+
<GroupMultiple class={resolveProp(lineClass, lineData[0].datum)}>
|
|
153
167
|
{#if options.outlineStroke}
|
|
154
168
|
{@const [outlineStyle, outlineStyleClass] = resolveStyles(
|
|
155
169
|
plot,
|
|
@@ -161,11 +175,11 @@
|
|
|
161
175
|
strokeOpacity: options.outlineStrokeOpacity ?? 1,
|
|
162
176
|
strokeWidth:
|
|
163
177
|
options.outlineStrokeWidth ||
|
|
164
|
-
resolveProp(
|
|
178
|
+
((resolveProp(
|
|
165
179
|
options.strokeWidth,
|
|
166
180
|
lineData[0].datum,
|
|
167
181
|
1.4
|
|
168
|
-
) + 2
|
|
182
|
+
) as number) ?? 1.4) + 2
|
|
169
183
|
},
|
|
170
184
|
'stroke',
|
|
171
185
|
usedScales
|
|
@@ -191,13 +205,8 @@
|
|
|
191
205
|
plot,
|
|
192
206
|
lineData[0],
|
|
193
207
|
{
|
|
194
|
-
textAnchor: 'middle',
|
|
195
|
-
...pick(args, [
|
|
196
|
-
'fontSize',
|
|
197
|
-
'fontWeight',
|
|
198
|
-
'fontStyle',
|
|
199
|
-
'textAnchor'
|
|
200
|
-
]),
|
|
208
|
+
textAnchor: args.textAnchor || 'middle',
|
|
209
|
+
...pick(args, ['fontSize', 'fontWeight', 'fontStyle']),
|
|
201
210
|
strokeWidth: args.textStrokeWidth
|
|
202
211
|
? args.textStrokeWidth
|
|
203
212
|
: args.textStroke
|
|
@@ -212,26 +221,40 @@
|
|
|
212
221
|
)}
|
|
213
222
|
<MarkerPath
|
|
214
223
|
{mark}
|
|
224
|
+
transform=""
|
|
215
225
|
scales={plot.scales}
|
|
216
|
-
markerStart={
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
226
|
+
markerStart={options.markerStart as
|
|
227
|
+
| boolean
|
|
228
|
+
| MarkerShape
|
|
229
|
+
| undefined}
|
|
230
|
+
markerMid={options.markerMid as
|
|
231
|
+
| boolean
|
|
232
|
+
| MarkerShape
|
|
233
|
+
| undefined}
|
|
234
|
+
markerEnd={options.markerEnd as
|
|
235
|
+
| boolean
|
|
236
|
+
| MarkerShape
|
|
237
|
+
| undefined}
|
|
238
|
+
marker={options.marker as boolean | MarkerShape | undefined}
|
|
239
|
+
markerScale={options.markerScale}
|
|
240
|
+
strokeWidth={options.strokeWidth}
|
|
241
|
+
datum={lineData[0].datum as Datum}
|
|
223
242
|
d={pathString}
|
|
224
|
-
dInv={text
|
|
243
|
+
dInv={text
|
|
244
|
+
? (linePath(lineData.toReversed()) ?? undefined)
|
|
245
|
+
: undefined}
|
|
225
246
|
color={lineData[0].stroke || 'currentColor'}
|
|
226
|
-
{style}
|
|
227
|
-
class={styleClass}
|
|
228
|
-
text={text
|
|
229
|
-
|
|
230
|
-
|
|
247
|
+
style={style ?? ''}
|
|
248
|
+
class={styleClass ?? undefined}
|
|
249
|
+
text={text
|
|
250
|
+
? ((resolveProp(text, lineData[0].datum) as string) ?? '')
|
|
251
|
+
: ''}
|
|
252
|
+
startOffset={(resolveProp(
|
|
253
|
+
options.textStartOffset,
|
|
231
254
|
lineData[0].datum,
|
|
232
255
|
'50%'
|
|
233
|
-
)}
|
|
234
|
-
{textStyle}
|
|
256
|
+
) as string) ?? '50%'}
|
|
257
|
+
textStyle={textStyle ?? ''}
|
|
235
258
|
{textStyleClass} />
|
|
236
259
|
</GroupMultiple>
|
|
237
260
|
{/if}
|
|
@@ -13,6 +13,16 @@ declare function $$render<Datum extends DataRecord>(): {
|
|
|
13
13
|
dodgeY: import("../transforms/dodge.js").DodgeYOptions;
|
|
14
14
|
fill: ChannelAccessor<Datum>;
|
|
15
15
|
fillOpacity: ConstantAccessor<number, Datum>;
|
|
16
|
+
fontFamily: ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
|
|
17
|
+
fontSize: ConstantAccessor<number | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "math" | (string & {}) | "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large" | "larger" | "smaller", Datum>;
|
|
18
|
+
fontStyle: ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
|
|
19
|
+
fontVariant: ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
|
|
20
|
+
fontWeight: ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
|
|
21
|
+
letterSpacing: ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
|
|
22
|
+
wordSpacing: ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
|
|
23
|
+
textAnchor: ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
|
|
24
|
+
textTransform: ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
|
|
25
|
+
textDecoration: ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
|
|
16
26
|
sort: ((a: RawValue, b: RawValue) => number) | {
|
|
17
27
|
channel: string;
|
|
18
28
|
order?: "ascending" | "descending";
|
|
@@ -26,64 +36,143 @@ declare function $$render<Datum extends DataRecord>(): {
|
|
|
26
36
|
opacity: ChannelAccessor<Datum>;
|
|
27
37
|
strokeDasharray: ConstantAccessor<string, Datum>;
|
|
28
38
|
strokeDashoffset: ConstantAccessor<number, Datum>;
|
|
39
|
+
blend: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
|
|
29
40
|
mixBlendMode: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
|
|
30
41
|
clipPath: string;
|
|
31
42
|
mask: string;
|
|
32
43
|
imageFilter: ConstantAccessor<string, Datum>;
|
|
33
44
|
shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
|
|
34
45
|
paintOrder: ConstantAccessor<string, Datum>;
|
|
35
|
-
onclick:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
46
|
+
onclick: (event: Event & {
|
|
47
|
+
currentTarget: SVGPathElement;
|
|
48
|
+
}, datum: Datum, index: number) => void;
|
|
49
|
+
ondblclick: (event: Event & {
|
|
50
|
+
currentTarget: SVGPathElement;
|
|
51
|
+
}, datum: Datum, index: number) => void;
|
|
52
|
+
onmouseup: (event: Event & {
|
|
53
|
+
currentTarget: SVGPathElement;
|
|
54
|
+
}, datum: Datum, index: number) => void;
|
|
55
|
+
onmousedown: (event: Event & {
|
|
56
|
+
currentTarget: SVGPathElement;
|
|
57
|
+
}, datum: Datum, index: number) => void;
|
|
58
|
+
onmouseenter: (event: Event & {
|
|
59
|
+
currentTarget: SVGPathElement;
|
|
60
|
+
}, datum: Datum, index: number) => void;
|
|
61
|
+
onmousemove: (event: Event & {
|
|
62
|
+
currentTarget: SVGPathElement;
|
|
63
|
+
}, datum: Datum, index: number) => void;
|
|
64
|
+
onmouseleave: (event: Event & {
|
|
65
|
+
currentTarget: SVGPathElement;
|
|
66
|
+
}, datum: Datum, index: number) => void;
|
|
67
|
+
onmouseout: (event: Event & {
|
|
68
|
+
currentTarget: SVGPathElement;
|
|
69
|
+
}, datum: Datum, index: number) => void;
|
|
70
|
+
onmouseover: (event: Event & {
|
|
71
|
+
currentTarget: SVGPathElement;
|
|
72
|
+
}, datum: Datum, index: number) => void;
|
|
73
|
+
onpointercancel: (event: Event & {
|
|
74
|
+
currentTarget: SVGPathElement;
|
|
75
|
+
}, datum: Datum, index: number) => void;
|
|
76
|
+
onpointerdown: (event: Event & {
|
|
77
|
+
currentTarget: SVGPathElement;
|
|
78
|
+
}, datum: Datum, index: number) => void;
|
|
79
|
+
onpointerup: (event: Event & {
|
|
80
|
+
currentTarget: SVGPathElement;
|
|
81
|
+
}, datum: Datum, index: number) => void;
|
|
82
|
+
onpointerenter: (event: Event & {
|
|
83
|
+
currentTarget: SVGPathElement;
|
|
84
|
+
}, datum: Datum, index: number) => void;
|
|
85
|
+
onpointerleave: (event: Event & {
|
|
86
|
+
currentTarget: SVGPathElement;
|
|
87
|
+
}, datum: Datum, index: number) => void;
|
|
88
|
+
onpointermove: (event: Event & {
|
|
89
|
+
currentTarget: SVGPathElement;
|
|
90
|
+
}, datum: Datum, index: number) => void;
|
|
91
|
+
onpointerover: (event: Event & {
|
|
92
|
+
currentTarget: SVGPathElement;
|
|
93
|
+
}, datum: Datum, index: number) => void;
|
|
94
|
+
onpointerout: (event: Event & {
|
|
95
|
+
currentTarget: SVGPathElement;
|
|
96
|
+
}, datum: Datum, index: number) => void;
|
|
97
|
+
ondrag: (event: Event & {
|
|
98
|
+
currentTarget: SVGPathElement;
|
|
99
|
+
}, datum: Datum, index: number) => void;
|
|
100
|
+
ondrop: (event: Event & {
|
|
101
|
+
currentTarget: SVGPathElement;
|
|
102
|
+
}, datum: Datum, index: number) => void;
|
|
103
|
+
ondragstart: (event: Event & {
|
|
104
|
+
currentTarget: SVGPathElement;
|
|
105
|
+
}, datum: Datum, index: number) => void;
|
|
106
|
+
ondragenter: (event: Event & {
|
|
107
|
+
currentTarget: SVGPathElement;
|
|
108
|
+
}, datum: Datum, index: number) => void;
|
|
109
|
+
ondragleave: (event: Event & {
|
|
110
|
+
currentTarget: SVGPathElement;
|
|
111
|
+
}, datum: Datum, index: number) => void;
|
|
112
|
+
ondragover: (event: Event & {
|
|
113
|
+
currentTarget: SVGPathElement;
|
|
114
|
+
}, datum: Datum, index: number) => void;
|
|
115
|
+
ondragend: (event: Event & {
|
|
116
|
+
currentTarget: SVGPathElement;
|
|
117
|
+
}, datum: Datum, index: number) => void;
|
|
118
|
+
ontouchstart: (event: Event & {
|
|
119
|
+
currentTarget: SVGPathElement;
|
|
120
|
+
}, datum: Datum, index: number) => void;
|
|
121
|
+
ontouchmove: (event: Event & {
|
|
122
|
+
currentTarget: SVGPathElement;
|
|
123
|
+
}, datum: Datum, index: number) => void;
|
|
124
|
+
ontouchend: (event: Event & {
|
|
125
|
+
currentTarget: SVGPathElement;
|
|
126
|
+
}, datum: Datum, index: number) => void;
|
|
127
|
+
ontouchcancel: (event: Event & {
|
|
128
|
+
currentTarget: SVGPathElement;
|
|
129
|
+
}, datum: Datum, index: number) => void;
|
|
130
|
+
oncontextmenu: (event: Event & {
|
|
131
|
+
currentTarget: SVGPathElement;
|
|
132
|
+
}, datum: Datum, index: number) => void;
|
|
133
|
+
onwheel: (event: Event & {
|
|
134
|
+
currentTarget: SVGPathElement;
|
|
135
|
+
}, datum: Datum, index: number) => void;
|
|
65
136
|
class: string;
|
|
66
137
|
style: string;
|
|
67
138
|
cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
|
|
139
|
+
title: ConstantAccessor<string, Datum>;
|
|
68
140
|
}> & {
|
|
141
|
+
/** the input data array; each element becomes one point in the line */
|
|
69
142
|
data?: Datum[];
|
|
143
|
+
/** the horizontal position channel */
|
|
70
144
|
x?: ChannelAccessor<Datum>;
|
|
145
|
+
/** the vertical position channel */
|
|
71
146
|
y?: ChannelAccessor<Datum>;
|
|
147
|
+
/** the series channel; data is grouped into separate lines by unique z values */
|
|
72
148
|
z?: ChannelAccessor<Datum>;
|
|
149
|
+
/** the stroke color for the line outline */
|
|
73
150
|
outlineStroke?: string;
|
|
151
|
+
/** the stroke width of the line outline in pixels */
|
|
74
152
|
outlineStrokeWidth?: number;
|
|
153
|
+
/** the stroke opacity for the line outline; a number between 0 and 1 */
|
|
75
154
|
outlineStrokeOpacity?: number;
|
|
155
|
+
/** the curve interpolation method for connecting data points (e.g. "basis", "catmull-rom") */
|
|
76
156
|
curve?: CurveName | CurveFactory | "auto";
|
|
157
|
+
/** the tension parameter for cardinal or Catmull-Rom curve interpolation */
|
|
77
158
|
tension?: number;
|
|
159
|
+
/** controls the order of data points before rendering */
|
|
78
160
|
sort?: ConstantAccessor<RawValue, Datum> | {
|
|
79
161
|
channel: "stroke" | "fill";
|
|
80
162
|
};
|
|
163
|
+
/** text label to render along the line path using a textPath element */
|
|
81
164
|
text?: ConstantAccessor<string, Datum>;
|
|
165
|
+
/** the fill color for the text label rendered along the line */
|
|
82
166
|
textFill?: ConstantAccessor<string, Datum>;
|
|
167
|
+
/** the stroke color for the text label rendered along the line */
|
|
83
168
|
textStroke?: ConstantAccessor<string, Datum>;
|
|
169
|
+
/** the offset position for the text label along the line path (e.g. "50%") */
|
|
84
170
|
textStartOffset?: ConstantAccessor<string, Datum>;
|
|
171
|
+
/** the stroke width for the text label rendered along the line in pixels */
|
|
85
172
|
textStrokeWidth?: ConstantAccessor<number, Datum>;
|
|
173
|
+
/** CSS class name(s) to apply to individual line elements */
|
|
86
174
|
lineClass?: ConstantAccessor<string, Datum>;
|
|
175
|
+
/** if true, renders using Canvas instead of SVG */
|
|
87
176
|
canvas?: boolean;
|
|
88
177
|
};
|
|
89
178
|
exports: {};
|
package/dist/marks/LineX.svelte
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
-->
|
|
4
4
|
<script lang="ts" generics="Datum extends DataRow">
|
|
5
5
|
interface LineXMarkProps extends Omit<ComponentProps<typeof Line>, 'y' | 'data'> {
|
|
6
|
+
/** the input data array */
|
|
6
7
|
data: Datum[];
|
|
7
8
|
}
|
|
8
9
|
import Line from './Line.svelte';
|
|
9
10
|
import { recordizeX } from '../index.js';
|
|
10
11
|
import type { ComponentProps } from 'svelte';
|
|
11
|
-
import type { DataRow } from '../index.js';
|
|
12
|
+
import type { DataRow } from '../types/index.js';
|
|
12
13
|
|
|
13
14
|
let { data = [{} as Datum], ...rest }: LineXMarkProps = $props();
|
|
14
15
|
|