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,5 +1,5 @@
|
|
|
1
|
-
import type { ChannelAccessor,
|
|
2
|
-
declare function $$render<Datum
|
|
1
|
+
import type { ChannelAccessor, ConstantAccessor, DataRecord, RawValue } from '../types/index.js';
|
|
2
|
+
declare function $$render<Datum = DataRecord | RawValue>(): {
|
|
3
3
|
props: Omit<Partial<{
|
|
4
4
|
filter: ConstantAccessor<boolean, Datum>;
|
|
5
5
|
facet: "auto" | "include" | "exclude";
|
|
@@ -7,14 +7,24 @@ declare function $$render<Datum extends DataRow>(): {
|
|
|
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: RawValue, b: RawValue) => number) | {
|
|
15
25
|
channel: string;
|
|
16
26
|
order?: "ascending" | "descending";
|
|
17
|
-
} | ConstantAccessor<
|
|
27
|
+
} | ConstantAccessor<RawValue, Datum>;
|
|
18
28
|
stroke: ChannelAccessor<Datum>;
|
|
19
29
|
strokeWidth: ConstantAccessor<number, Datum>;
|
|
20
30
|
strokeOpacity: ConstantAccessor<number, Datum>;
|
|
@@ -24,54 +34,117 @@ declare function $$render<Datum extends DataRow>(): {
|
|
|
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
|
}>, "fill" | "fillOpacity"> & {
|
|
139
|
+
/** the input data array; each element becomes one horizontal tick */
|
|
67
140
|
data: Datum[];
|
|
68
141
|
/**
|
|
69
|
-
* the vertical position; bound to the
|
|
142
|
+
* the vertical position; bound to the y scale
|
|
70
143
|
*/
|
|
71
144
|
y?: ChannelAccessor<Datum>;
|
|
72
145
|
/**
|
|
73
|
-
* the horizontal position; bound to the
|
|
74
|
-
* is not specified, the tick will span the full
|
|
146
|
+
* the horizontal position; bound to the x scale, which must be band. If the x channel
|
|
147
|
+
* is not specified, the tick will span the full horizontal extent of the frame.
|
|
75
148
|
*/
|
|
76
149
|
x?: ChannelAccessor<Datum>;
|
|
77
150
|
/**
|
|
@@ -79,6 +152,7 @@ declare function $$render<Datum extends DataRow>(): {
|
|
|
79
152
|
* length of the tick. Defaults to 10 pixel
|
|
80
153
|
*/
|
|
81
154
|
tickLength?: ConstantAccessor<number, Datum>;
|
|
155
|
+
/** if true, renders using Canvas instead of SVG */
|
|
82
156
|
canvas?: boolean;
|
|
83
157
|
};
|
|
84
158
|
exports: {};
|
|
@@ -86,7 +160,7 @@ declare function $$render<Datum extends DataRow>(): {
|
|
|
86
160
|
slots: {};
|
|
87
161
|
events: {};
|
|
88
162
|
};
|
|
89
|
-
declare class __sveltets_Render<Datum
|
|
163
|
+
declare class __sveltets_Render<Datum = DataRecord | RawValue> {
|
|
90
164
|
props(): ReturnType<typeof $$render<Datum>>['props'];
|
|
91
165
|
events(): ReturnType<typeof $$render<Datum>>['events'];
|
|
92
166
|
slots(): ReturnType<typeof $$render<Datum>>['slots'];
|
|
@@ -94,13 +168,13 @@ declare class __sveltets_Render<Datum extends DataRow> {
|
|
|
94
168
|
exports(): {};
|
|
95
169
|
}
|
|
96
170
|
interface $$IsomorphicComponent {
|
|
97
|
-
new <Datum
|
|
171
|
+
new <Datum = DataRecord | RawValue>(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']>> & {
|
|
98
172
|
$$bindings?: ReturnType<__sveltets_Render<Datum>['bindings']>;
|
|
99
173
|
} & ReturnType<__sveltets_Render<Datum>['exports']>;
|
|
100
|
-
<Datum
|
|
174
|
+
<Datum = DataRecord | RawValue>(internal: unknown, props: ReturnType<__sveltets_Render<Datum>['props']> & {}): ReturnType<__sveltets_Render<Datum>['exports']>;
|
|
101
175
|
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
102
176
|
}
|
|
103
177
|
/** The TickY mark is useful for showing one-dimensional distributions along the y axis. The x axis must be a band scale. */
|
|
104
178
|
declare const TickY: $$IsomorphicComponent;
|
|
105
|
-
type TickY<Datum
|
|
179
|
+
type TickY<Datum = DataRecord | RawValue> = InstanceType<typeof TickY<Datum>>;
|
|
106
180
|
export default TickY;
|
package/dist/marks/Trail.svelte
CHANGED
|
@@ -3,16 +3,27 @@
|
|
|
3
3
|
BaseMarkProps<Datum>,
|
|
4
4
|
'stroke' | 'strokeWidth' | 'strokeDasharray'
|
|
5
5
|
> {
|
|
6
|
+
/** the input data array */
|
|
6
7
|
data?: Datum[];
|
|
8
|
+
/** the horizontal position channel; bound to the x scale */
|
|
7
9
|
x?: ChannelAccessor<Datum>;
|
|
10
|
+
/** the vertical position channel; bound to the y scale */
|
|
8
11
|
y?: ChannelAccessor<Datum>;
|
|
12
|
+
/** grouping channel for splitting data into separate trails */
|
|
9
13
|
z?: ChannelAccessor<Datum>;
|
|
14
|
+
/** the radius (width) of the trail at each data point */
|
|
10
15
|
r?: ChannelAccessor<Datum>;
|
|
16
|
+
/** the curve interpolation type for connecting data points */
|
|
11
17
|
curve?: CurveName | CurveFactory;
|
|
18
|
+
/** tension parameter for the curve interpolation */
|
|
12
19
|
tension?: number;
|
|
20
|
+
/** sort order for data points before rendering */
|
|
13
21
|
sort?: ConstantAccessor<RawValue, Datum> | { channel: 'stroke' | 'fill' };
|
|
22
|
+
/** accessor that returns false for data points that should create gaps in the trail */
|
|
14
23
|
defined?: ConstantAccessor<boolean, Datum>;
|
|
24
|
+
/** if true, renders using Canvas instead of SVG */
|
|
15
25
|
canvas?: boolean;
|
|
26
|
+
/** the cap style for trail endpoints */
|
|
16
27
|
cap?: 'butt' | 'round';
|
|
17
28
|
/**
|
|
18
29
|
* Samples per segment for curve interpolation
|
|
@@ -27,15 +38,15 @@
|
|
|
27
38
|
RawValue,
|
|
28
39
|
ScaledDataRecord,
|
|
29
40
|
CurveName
|
|
30
|
-
} from '../types';
|
|
41
|
+
} from '../types/index.js';
|
|
31
42
|
import Mark from '../Mark.svelte';
|
|
32
43
|
import { path as d3Path } from 'd3-path';
|
|
33
44
|
import { resolveProp, resolveStyles } from '../helpers/resolve.js';
|
|
34
|
-
import { getPlotDefaults } from '../hooks/plotDefaults';
|
|
35
|
-
import { sort } from '../transforms';
|
|
45
|
+
import { getPlotDefaults } from '../hooks/plotDefaults.js';
|
|
46
|
+
import { sort } from '../transforms/index.js';
|
|
36
47
|
import trailPath, { type TrailSample } from './helpers/trail.js';
|
|
37
48
|
import TrailCanvas from './helpers/TrailCanvas.svelte';
|
|
38
|
-
import { addEventHandlers } from './helpers/events';
|
|
49
|
+
import { addEventHandlers } from './helpers/events.js';
|
|
39
50
|
import type { CurveFactory } from 'd3-shape';
|
|
40
51
|
import { usePlot } from '../hooks/usePlot.svelte.js';
|
|
41
52
|
|
|
@@ -124,17 +135,18 @@
|
|
|
124
135
|
{@const defined = trailData.map(
|
|
125
136
|
(d) =>
|
|
126
137
|
d.valid &&
|
|
127
|
-
d.r >= 0 &&
|
|
138
|
+
(d.r ?? 0) >= 0 &&
|
|
128
139
|
(resolveProp(options.defined, d.datum, true) ?? true)
|
|
129
140
|
)}
|
|
130
|
-
{@const pathString =
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
141
|
+
{@const pathString =
|
|
142
|
+
trailPath(samples, defined, d3Path(), {
|
|
143
|
+
curve,
|
|
144
|
+
cap,
|
|
145
|
+
tension,
|
|
146
|
+
...(typeof resolution === 'number'
|
|
147
|
+
? { samplesPerSegment: resolution }
|
|
148
|
+
: {})
|
|
149
|
+
}) || ''}
|
|
138
150
|
{@const [style, styleClass] = resolveStyles(
|
|
139
151
|
plot,
|
|
140
152
|
trailData[0],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataRecord, ChannelAccessor, ConstantAccessor, RawValue, CurveName } from '../types';
|
|
1
|
+
import type { DataRecord, ChannelAccessor, ConstantAccessor, RawValue, CurveName } from '../types/index.js';
|
|
2
2
|
import type { CurveFactory } from 'd3-shape';
|
|
3
3
|
declare function $$render<Datum extends DataRecord>(): {
|
|
4
4
|
props: Omit<Partial<{
|
|
@@ -8,10 +8,20 @@ declare function $$render<Datum extends DataRecord>(): {
|
|
|
8
8
|
fy: ChannelAccessor<Datum>;
|
|
9
9
|
dx: ConstantAccessor<number, Datum>;
|
|
10
10
|
dy: ConstantAccessor<number, Datum>;
|
|
11
|
-
dodgeX: import("../transforms/dodge").DodgeXOptions;
|
|
12
|
-
dodgeY: import("../transforms/dodge").DodgeYOptions;
|
|
11
|
+
dodgeX: import("../transforms/dodge.js").DodgeXOptions;
|
|
12
|
+
dodgeY: import("../transforms/dodge.js").DodgeYOptions;
|
|
13
13
|
fill: ChannelAccessor<Datum>;
|
|
14
14
|
fillOpacity: ConstantAccessor<number, Datum>;
|
|
15
|
+
fontFamily: ConstantAccessor<import("csstype").Property.FontFamily, Datum>;
|
|
16
|
+
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>;
|
|
17
|
+
fontStyle: ConstantAccessor<import("csstype").Property.FontStyle, Datum>;
|
|
18
|
+
fontVariant: ConstantAccessor<import("csstype").Property.FontVariant, Datum>;
|
|
19
|
+
fontWeight: ConstantAccessor<import("csstype").Property.FontWeight, Datum>;
|
|
20
|
+
letterSpacing: ConstantAccessor<import("csstype").Property.LetterSpacing<0 | (string & {})>, Datum>;
|
|
21
|
+
wordSpacing: ConstantAccessor<import("csstype").Property.WordSpacing<0 | (string & {})>, Datum>;
|
|
22
|
+
textAnchor: ConstantAccessor<import("csstype").Property.TextAnchor, Datum>;
|
|
23
|
+
textTransform: ConstantAccessor<import("csstype").Property.TextTransform, Datum>;
|
|
24
|
+
textDecoration: ConstantAccessor<import("csstype").Property.TextDecoration<0 | (string & {})>, Datum>;
|
|
15
25
|
sort: ((a: RawValue, b: RawValue) => number) | {
|
|
16
26
|
channel: string;
|
|
17
27
|
order?: "ascending" | "descending";
|
|
@@ -25,58 +35,131 @@ declare function $$render<Datum extends DataRecord>(): {
|
|
|
25
35
|
opacity: ChannelAccessor<Datum>;
|
|
26
36
|
strokeDasharray: ConstantAccessor<string, Datum>;
|
|
27
37
|
strokeDashoffset: ConstantAccessor<number, Datum>;
|
|
38
|
+
blend: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
|
|
28
39
|
mixBlendMode: ConstantAccessor<import("csstype").Property.MixBlendMode, Datum>;
|
|
29
40
|
clipPath: string;
|
|
30
41
|
mask: string;
|
|
31
42
|
imageFilter: ConstantAccessor<string, Datum>;
|
|
32
43
|
shapeRendering: ConstantAccessor<import("csstype").Property.ShapeRendering, Datum>;
|
|
33
44
|
paintOrder: ConstantAccessor<string, Datum>;
|
|
34
|
-
onclick:
|
|
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
|
-
|
|
63
|
-
|
|
45
|
+
onclick: (event: Event & {
|
|
46
|
+
currentTarget: SVGPathElement;
|
|
47
|
+
}, datum: Datum, index: number) => void;
|
|
48
|
+
ondblclick: (event: Event & {
|
|
49
|
+
currentTarget: SVGPathElement;
|
|
50
|
+
}, datum: Datum, index: number) => void;
|
|
51
|
+
onmouseup: (event: Event & {
|
|
52
|
+
currentTarget: SVGPathElement;
|
|
53
|
+
}, datum: Datum, index: number) => void;
|
|
54
|
+
onmousedown: (event: Event & {
|
|
55
|
+
currentTarget: SVGPathElement;
|
|
56
|
+
}, datum: Datum, index: number) => void;
|
|
57
|
+
onmouseenter: (event: Event & {
|
|
58
|
+
currentTarget: SVGPathElement;
|
|
59
|
+
}, datum: Datum, index: number) => void;
|
|
60
|
+
onmousemove: (event: Event & {
|
|
61
|
+
currentTarget: SVGPathElement;
|
|
62
|
+
}, datum: Datum, index: number) => void;
|
|
63
|
+
onmouseleave: (event: Event & {
|
|
64
|
+
currentTarget: SVGPathElement;
|
|
65
|
+
}, datum: Datum, index: number) => void;
|
|
66
|
+
onmouseout: (event: Event & {
|
|
67
|
+
currentTarget: SVGPathElement;
|
|
68
|
+
}, datum: Datum, index: number) => void;
|
|
69
|
+
onmouseover: (event: Event & {
|
|
70
|
+
currentTarget: SVGPathElement;
|
|
71
|
+
}, datum: Datum, index: number) => void;
|
|
72
|
+
onpointercancel: (event: Event & {
|
|
73
|
+
currentTarget: SVGPathElement;
|
|
74
|
+
}, datum: Datum, index: number) => void;
|
|
75
|
+
onpointerdown: (event: Event & {
|
|
76
|
+
currentTarget: SVGPathElement;
|
|
77
|
+
}, datum: Datum, index: number) => void;
|
|
78
|
+
onpointerup: (event: Event & {
|
|
79
|
+
currentTarget: SVGPathElement;
|
|
80
|
+
}, datum: Datum, index: number) => void;
|
|
81
|
+
onpointerenter: (event: Event & {
|
|
82
|
+
currentTarget: SVGPathElement;
|
|
83
|
+
}, datum: Datum, index: number) => void;
|
|
84
|
+
onpointerleave: (event: Event & {
|
|
85
|
+
currentTarget: SVGPathElement;
|
|
86
|
+
}, datum: Datum, index: number) => void;
|
|
87
|
+
onpointermove: (event: Event & {
|
|
88
|
+
currentTarget: SVGPathElement;
|
|
89
|
+
}, datum: Datum, index: number) => void;
|
|
90
|
+
onpointerover: (event: Event & {
|
|
91
|
+
currentTarget: SVGPathElement;
|
|
92
|
+
}, datum: Datum, index: number) => void;
|
|
93
|
+
onpointerout: (event: Event & {
|
|
94
|
+
currentTarget: SVGPathElement;
|
|
95
|
+
}, datum: Datum, index: number) => void;
|
|
96
|
+
ondrag: (event: Event & {
|
|
97
|
+
currentTarget: SVGPathElement;
|
|
98
|
+
}, datum: Datum, index: number) => void;
|
|
99
|
+
ondrop: (event: Event & {
|
|
100
|
+
currentTarget: SVGPathElement;
|
|
101
|
+
}, datum: Datum, index: number) => void;
|
|
102
|
+
ondragstart: (event: Event & {
|
|
103
|
+
currentTarget: SVGPathElement;
|
|
104
|
+
}, datum: Datum, index: number) => void;
|
|
105
|
+
ondragenter: (event: Event & {
|
|
106
|
+
currentTarget: SVGPathElement;
|
|
107
|
+
}, datum: Datum, index: number) => void;
|
|
108
|
+
ondragleave: (event: Event & {
|
|
109
|
+
currentTarget: SVGPathElement;
|
|
110
|
+
}, datum: Datum, index: number) => void;
|
|
111
|
+
ondragover: (event: Event & {
|
|
112
|
+
currentTarget: SVGPathElement;
|
|
113
|
+
}, datum: Datum, index: number) => void;
|
|
114
|
+
ondragend: (event: Event & {
|
|
115
|
+
currentTarget: SVGPathElement;
|
|
116
|
+
}, datum: Datum, index: number) => void;
|
|
117
|
+
ontouchstart: (event: Event & {
|
|
118
|
+
currentTarget: SVGPathElement;
|
|
119
|
+
}, datum: Datum, index: number) => void;
|
|
120
|
+
ontouchmove: (event: Event & {
|
|
121
|
+
currentTarget: SVGPathElement;
|
|
122
|
+
}, datum: Datum, index: number) => void;
|
|
123
|
+
ontouchend: (event: Event & {
|
|
124
|
+
currentTarget: SVGPathElement;
|
|
125
|
+
}, datum: Datum, index: number) => void;
|
|
126
|
+
ontouchcancel: (event: Event & {
|
|
127
|
+
currentTarget: SVGPathElement;
|
|
128
|
+
}, datum: Datum, index: number) => void;
|
|
129
|
+
oncontextmenu: (event: Event & {
|
|
130
|
+
currentTarget: SVGPathElement;
|
|
131
|
+
}, datum: Datum, index: number) => void;
|
|
132
|
+
onwheel: (event: Event & {
|
|
133
|
+
currentTarget: SVGPathElement;
|
|
134
|
+
}, datum: Datum, index: number) => void;
|
|
64
135
|
class: string;
|
|
65
136
|
style: string;
|
|
66
137
|
cursor: ConstantAccessor<import("csstype").Property.Cursor, Datum>;
|
|
138
|
+
title: ConstantAccessor<string, Datum>;
|
|
67
139
|
}>, "stroke" | "strokeWidth" | "strokeDasharray"> & {
|
|
140
|
+
/** the input data array */
|
|
68
141
|
data?: Datum[];
|
|
142
|
+
/** the horizontal position channel; bound to the x scale */
|
|
69
143
|
x?: ChannelAccessor<Datum>;
|
|
144
|
+
/** the vertical position channel; bound to the y scale */
|
|
70
145
|
y?: ChannelAccessor<Datum>;
|
|
146
|
+
/** grouping channel for splitting data into separate trails */
|
|
71
147
|
z?: ChannelAccessor<Datum>;
|
|
148
|
+
/** the radius (width) of the trail at each data point */
|
|
72
149
|
r?: ChannelAccessor<Datum>;
|
|
150
|
+
/** the curve interpolation type for connecting data points */
|
|
73
151
|
curve?: CurveName | CurveFactory;
|
|
152
|
+
/** tension parameter for the curve interpolation */
|
|
74
153
|
tension?: number;
|
|
154
|
+
/** sort order for data points before rendering */
|
|
75
155
|
sort?: ConstantAccessor<RawValue, Datum> | {
|
|
76
156
|
channel: "stroke" | "fill";
|
|
77
157
|
};
|
|
158
|
+
/** accessor that returns false for data points that should create gaps in the trail */
|
|
78
159
|
defined?: ConstantAccessor<boolean, Datum>;
|
|
160
|
+
/** if true, renders using Canvas instead of SVG */
|
|
79
161
|
canvas?: boolean;
|
|
162
|
+
/** the cap style for trail endpoints */
|
|
80
163
|
cap?: "butt" | "round";
|
|
81
164
|
/**
|
|
82
165
|
* Samples per segment for curve interpolation
|
package/dist/marks/Vector.svelte
CHANGED
|
@@ -9,13 +9,19 @@
|
|
|
9
9
|
};
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
|
-
<script lang="ts" generics="Datum
|
|
12
|
+
<script lang="ts" generics="Datum = DataRecord | GeoJSON.GeoJsonObject">
|
|
13
13
|
interface VectorMarkProps extends BaseMarkProps<Datum> {
|
|
14
|
+
/** the input data array; each element becomes one vector */
|
|
14
15
|
data: Datum[];
|
|
16
|
+
/** the horizontal position channel; bound to the x scale */
|
|
15
17
|
x: ChannelAccessor<Datum>;
|
|
18
|
+
/** the vertical position channel; bound to the y scale */
|
|
16
19
|
y: ChannelAccessor<Datum>;
|
|
20
|
+
/** the radius (width) of the vector shape in pixels */
|
|
17
21
|
r?: number;
|
|
22
|
+
/** the length of the vector in pixels */
|
|
18
23
|
length?: ChannelAccessor<Datum>;
|
|
24
|
+
/** rotation angle of the vector in degrees */
|
|
19
25
|
rotate?: ChannelAccessor<Datum>;
|
|
20
26
|
/**
|
|
21
27
|
* Controls where the vector is anchored in relation to the x, y position.
|
|
@@ -24,8 +30,11 @@
|
|
|
24
30
|
* 'end', the arrow will end at the x, y position.
|
|
25
31
|
*/
|
|
26
32
|
anchor?: 'start' | 'middle' | 'end';
|
|
33
|
+
/** the shape of the vector; can be a preset name or a custom ShapeRenderer */
|
|
27
34
|
shape?: 'arrow' | 'spike' | 'arrow-filled' | ShapeRenderer;
|
|
35
|
+
/** snippet for custom rendering inside the vector mark group */
|
|
28
36
|
children?: Snippet;
|
|
37
|
+
/** if true, renders using Canvas instead of SVG */
|
|
29
38
|
canvas?: boolean;
|
|
30
39
|
}
|
|
31
40
|
import type {
|
|
@@ -62,7 +71,7 @@
|
|
|
62
71
|
r: defaultRadius
|
|
63
72
|
};
|
|
64
73
|
const {
|
|
65
|
-
data = [{}],
|
|
74
|
+
data = [{} as Datum],
|
|
66
75
|
canvas,
|
|
67
76
|
shape = 'arrow',
|
|
68
77
|
anchor = 'middle',
|
|
@@ -142,7 +151,7 @@
|
|
|
142
151
|
|
|
143
152
|
const args = $derived(
|
|
144
153
|
sort({
|
|
145
|
-
data: indexData(data),
|
|
154
|
+
data: indexData(data as object[]) as unknown as Datum[],
|
|
146
155
|
// sort by descending radius by default
|
|
147
156
|
...options
|
|
148
157
|
})
|
|
@@ -164,7 +173,7 @@
|
|
|
164
173
|
'fillOpacity',
|
|
165
174
|
'strokeOpacity'
|
|
166
175
|
]}
|
|
167
|
-
{...args}>
|
|
176
|
+
{...args as any}>
|
|
168
177
|
{#snippet children({ scaledData, usedScales })}
|
|
169
178
|
<g class="vector" data-l={usedScales.length}>
|
|
170
179
|
{#if canvas}
|
|
@@ -181,25 +190,25 @@
|
|
|
181
190
|
strokeLinejoin: 'round',
|
|
182
191
|
strokeLinecap: 'round',
|
|
183
192
|
...args
|
|
184
|
-
},
|
|
193
|
+
} as any,
|
|
185
194
|
shape === 'arrow-filled' ? 'fill' : 'stroke',
|
|
186
195
|
usedScales
|
|
187
196
|
)}
|
|
188
197
|
<path
|
|
189
|
-
d={shapePath(shape, d.length, d.r)}
|
|
198
|
+
d={shapePath(shape, d.length as number, d.r as number)}
|
|
190
199
|
transform="translate({d.x}, {d.y}) rotate({resolveProp(
|
|
191
200
|
args.rotate,
|
|
192
|
-
d.datum,
|
|
201
|
+
d.datum as any,
|
|
193
202
|
0
|
|
194
|
-
)}) {anchor === 'start'
|
|
203
|
+
) as number}) {anchor === 'start'
|
|
195
204
|
? ''
|
|
196
205
|
: anchor === 'end'
|
|
197
|
-
? `translate(0, ${d.length})`
|
|
198
|
-
: `translate(0, ${d.length / 2})`}"
|
|
206
|
+
? `translate(0, ${d.length as number})`
|
|
207
|
+
: `translate(0, ${(d.length as number) / 2})`}"
|
|
199
208
|
{style}
|
|
200
209
|
{@attach addEventHandlers({
|
|
201
210
|
plot,
|
|
202
|
-
options: args,
|
|
211
|
+
options: args as any,
|
|
203
212
|
datum: d?.datum
|
|
204
213
|
})}
|
|
205
214
|
class={[styleClass]} />
|