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
package/dist/types/scale.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { ChannelAccessor, RawValue, ScaledChannelName } from './index.js';
|
|
1
|
+
import type { ChannelAccessor, ColorScheme, RawValue, ScaledChannelName } from './index.js';
|
|
3
2
|
export type AxisXAnchor = 'bottom' | 'top' | 'both';
|
|
4
3
|
export type AxisYAnchor = 'left' | 'right' | 'both';
|
|
4
|
+
export type TickFormatFunction = (d: RawValue, index: number, ticks: RawValue[]) => string | string[];
|
|
5
5
|
export type ScaleName = 'x' | 'y' | 'r' | 'color' | 'opacity' | 'length' | 'symbol' | 'fx' | 'fy' | 'projection';
|
|
6
6
|
export type ScaleOptions = {
|
|
7
7
|
/**
|
|
@@ -21,8 +21,18 @@ export type ScaleOptions = {
|
|
|
21
21
|
* Reverse the scale.
|
|
22
22
|
*/
|
|
23
23
|
reverse: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* the axis label for this scale, or false to disable the automatic label
|
|
26
|
+
*/
|
|
24
27
|
label: string | false;
|
|
28
|
+
/**
|
|
29
|
+
* the interval for ordinal/temporal scales, e.g. 'day', 'month', or a numeric step
|
|
30
|
+
*/
|
|
25
31
|
interval: string | number;
|
|
32
|
+
/**
|
|
33
|
+
* clamp values outside the domain to the nearest domain boundary
|
|
34
|
+
* (applicable to quantitative scales only)
|
|
35
|
+
*/
|
|
26
36
|
clamp: boolean;
|
|
27
37
|
/**
|
|
28
38
|
* Extend the domain to nice round numbers (applicable to quantitative scales only)
|
|
@@ -32,8 +42,18 @@ export type ScaleOptions = {
|
|
|
32
42
|
* Include zero in the scale domain (applicable to quantitative scales only)
|
|
33
43
|
*/
|
|
34
44
|
zero: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* round interpolated values to integers (applicable to quantitative scales only)
|
|
47
|
+
*/
|
|
35
48
|
round: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* format values as percentages and append (%) to the axis label
|
|
51
|
+
* (applicable to quantitative scales only)
|
|
52
|
+
*/
|
|
36
53
|
percent: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* custom transformation function applied to values before scaling
|
|
56
|
+
*/
|
|
37
57
|
transform?: (d: RawValue) => RawValue;
|
|
38
58
|
/**
|
|
39
59
|
* set the padding for band scales
|
|
@@ -51,23 +71,62 @@ export type ScaleOptions = {
|
|
|
51
71
|
* set the outer padding for band scales
|
|
52
72
|
*/
|
|
53
73
|
paddingOuter: number;
|
|
74
|
+
/**
|
|
75
|
+
* reduce the scale range by this many pixels on the left side
|
|
76
|
+
*/
|
|
54
77
|
insetLeft: number;
|
|
78
|
+
/**
|
|
79
|
+
* reduce the scale range by this many pixels on the right side
|
|
80
|
+
*/
|
|
55
81
|
insetRight: number;
|
|
82
|
+
/**
|
|
83
|
+
* reduce the scale range by this many pixels on the top side
|
|
84
|
+
*/
|
|
56
85
|
insetTop: number;
|
|
86
|
+
/**
|
|
87
|
+
* reduce the scale range by this many pixels on the bottom side
|
|
88
|
+
*/
|
|
57
89
|
insetBottom: number;
|
|
58
|
-
|
|
90
|
+
/**
|
|
91
|
+
* explicit tick values to use instead of automatic tick generation
|
|
92
|
+
*/
|
|
93
|
+
ticks: RawValue[];
|
|
94
|
+
/**
|
|
95
|
+
* desired pixel distance between ticks for automatic tick generation
|
|
96
|
+
*/
|
|
59
97
|
tickSpacing: number;
|
|
98
|
+
/**
|
|
99
|
+
* the logarithm base for log scales (default 10)
|
|
100
|
+
*/
|
|
60
101
|
base: number;
|
|
102
|
+
/**
|
|
103
|
+
* controls domain ordering for band and point scales; can be a channel
|
|
104
|
+
* accessor, a comparator function, or an object with channel and order
|
|
105
|
+
*/
|
|
61
106
|
sort: ChannelAccessor | ((a: RawValue, b: RawValue) => number) | {
|
|
62
107
|
channel: string;
|
|
63
108
|
order: 'ascending' | 'descending';
|
|
64
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* the constant parameter for symlog scales, controlling the transition
|
|
112
|
+
* between linear and logarithmic behavior near zero (default 1)
|
|
113
|
+
*/
|
|
65
114
|
constant: number;
|
|
66
115
|
};
|
|
67
116
|
export type ColorScaleOptions = ScaleOptions & {
|
|
117
|
+
/**
|
|
118
|
+
* if true, show a color legend for this scale
|
|
119
|
+
*/
|
|
68
120
|
legend: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* the color scale type; extends the base scale types with color-specific
|
|
123
|
+
* types like categorical, sequential, diverging, etc.
|
|
124
|
+
*/
|
|
69
125
|
type: ScaleType | 'categorical' | 'sequential' | 'cyclical' | 'threshold' | 'quantile' | 'quantize' | 'diverging' | 'diverging-log' | 'diverging-pow' | 'diverging-sqrt' | 'diverging-symlog';
|
|
70
|
-
|
|
126
|
+
/**
|
|
127
|
+
* the name of the color scheme to use, e.g. 'blues', 'turbo', 'rdylbu'
|
|
128
|
+
*/
|
|
129
|
+
scheme: ColorScheme | string[];
|
|
71
130
|
/**
|
|
72
131
|
* fallback color used for null/undefined
|
|
73
132
|
*/
|
|
@@ -80,11 +139,14 @@ export type ColorScaleOptions = ScaleOptions & {
|
|
|
80
139
|
* number of colors for quantize and quantile-threshold scales
|
|
81
140
|
*/
|
|
82
141
|
n: number;
|
|
142
|
+
/**
|
|
143
|
+
* custom interpolation function for the color scale output
|
|
144
|
+
*/
|
|
83
145
|
interpolate: (d: any) => typeof d;
|
|
84
146
|
/**
|
|
85
147
|
* The tick format for the color scale legend.
|
|
86
148
|
*/
|
|
87
|
-
tickFormat: false | Intl.NumberFormatOptions |
|
|
149
|
+
tickFormat: false | Intl.NumberFormatOptions | TickFormatFunction;
|
|
88
150
|
};
|
|
89
151
|
export type ScaleType = 'linear' | 'pow' | 'sqrt' | 'log' | 'symlog' | 'time' | 'point' | 'ordinal' | 'sequential' | 'band' | 'categorical' | 'cyclical' | 'threshold' | 'quantile-cont' | 'quantile' | 'quantize' | 'diverging' | 'diverging-log' | 'diverging-pow' | 'diverging-sqrt' | 'diverging-symlog';
|
|
90
152
|
export type XScaleOptions = ScaleOptions & {
|
|
@@ -104,8 +166,15 @@ export type XScaleOptions = ScaleOptions & {
|
|
|
104
166
|
* rotate the axis ticks
|
|
105
167
|
*/
|
|
106
168
|
tickRotate: number;
|
|
169
|
+
/**
|
|
170
|
+
* horizontal position of the axis label
|
|
171
|
+
*/
|
|
107
172
|
labelAnchor: 'auto' | 'left' | 'center' | 'right';
|
|
108
|
-
|
|
173
|
+
/**
|
|
174
|
+
* custom tick format; false to hide tick labels, an Intl.NumberFormatOptions
|
|
175
|
+
* object, or a function mapping values to strings
|
|
176
|
+
*/
|
|
177
|
+
tickFormat: 'auto' | false | Intl.NumberFormatOptions | Intl.DateTimeFormatOptions | TickFormatFunction;
|
|
109
178
|
/**
|
|
110
179
|
* Enable word wrapping for axis tick labels, default true
|
|
111
180
|
*/
|
|
@@ -128,20 +197,55 @@ export type YScaleOptions = ScaleOptions & {
|
|
|
128
197
|
* add an explicit AxisY mark to your plot instead of using the implicit axes.
|
|
129
198
|
*/
|
|
130
199
|
axis: AxisYAnchor | false;
|
|
131
|
-
|
|
200
|
+
/**
|
|
201
|
+
* custom tick format; false to hide tick labels, an Intl.NumberFormatOptions
|
|
202
|
+
* object, or a function mapping values to strings
|
|
203
|
+
*/
|
|
204
|
+
tickFormat: 'auto' | false | Intl.NumberFormatOptions | Intl.DateTimeFormatOptions | TickFormatFunction;
|
|
132
205
|
/**
|
|
133
206
|
* rotate the axis ticks
|
|
134
207
|
*/
|
|
135
208
|
tickRotate: number;
|
|
209
|
+
/**
|
|
210
|
+
* vertical position of the axis label
|
|
211
|
+
*/
|
|
136
212
|
labelAnchor: 'auto' | 'bottom' | 'middle' | 'top';
|
|
137
213
|
};
|
|
138
214
|
export type LegendScaleOptions = ScaleOptions & {
|
|
215
|
+
/**
|
|
216
|
+
* if true, show a legend for this scale
|
|
217
|
+
*/
|
|
139
218
|
legend: boolean;
|
|
140
219
|
};
|
|
220
|
+
/**
|
|
221
|
+
* Broad callable shape for resolved d3 scale functions used internally by marks.
|
|
222
|
+
* Specific methods only exist for certain scale types and may be undefined.
|
|
223
|
+
*/
|
|
224
|
+
export type PlotScaleFunction = ((value: any) => any) & {
|
|
225
|
+
range: () => RawValue[];
|
|
226
|
+
invert: (value: number) => RawValue;
|
|
227
|
+
bandwidth: () => number;
|
|
228
|
+
ticks: (count: number) => RawValue[];
|
|
229
|
+
quantiles: () => number[];
|
|
230
|
+
thresholds: () => number[];
|
|
231
|
+
domain: () => RawValue[];
|
|
232
|
+
};
|
|
141
233
|
export type PlotScale = {
|
|
234
|
+
/**
|
|
235
|
+
* the resolved scale type
|
|
236
|
+
*/
|
|
142
237
|
type: ScaleType;
|
|
238
|
+
/**
|
|
239
|
+
* the resolved domain of the scale
|
|
240
|
+
*/
|
|
143
241
|
domain: RawValue[];
|
|
242
|
+
/**
|
|
243
|
+
* the resolved range of the scale
|
|
244
|
+
*/
|
|
144
245
|
range: RawValue[];
|
|
246
|
+
/**
|
|
247
|
+
* automatically computed axis label based on data channel names
|
|
248
|
+
*/
|
|
145
249
|
autoTitle?: string;
|
|
146
250
|
/**
|
|
147
251
|
* The number of marks that are using this scale.
|
|
@@ -151,7 +255,20 @@ export type PlotScale = {
|
|
|
151
255
|
* Set of accessors used in channels that are bound to this scale.
|
|
152
256
|
*/
|
|
153
257
|
uniqueScaleProps: Set<ChannelAccessor>;
|
|
258
|
+
/**
|
|
259
|
+
* tracks which marks should skip this scale for specific channels,
|
|
260
|
+
* e.g. when channel values are already in output space
|
|
261
|
+
*/
|
|
154
262
|
skip: Map<ScaledChannelName, Set<symbol>>;
|
|
155
|
-
|
|
263
|
+
/**
|
|
264
|
+
* the underlying d3 scale function that maps domain values to range values.
|
|
265
|
+
* Typed as a broad callable since the actual type depends on the scale type
|
|
266
|
+
* (linear, band, ordinal, etc.) and may be augmented with custom methods.
|
|
267
|
+
*/
|
|
268
|
+
fn: PlotScaleFunction;
|
|
269
|
+
/**
|
|
270
|
+
* whether this is a dummy scale (created when no scale was defined)
|
|
271
|
+
*/
|
|
272
|
+
isDummy?: boolean;
|
|
156
273
|
};
|
|
157
274
|
export type PlotScales = Record<ScaleName, PlotScale>;
|
package/package.json
CHANGED
|
@@ -1,182 +1,185 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
"name": "svelteplot",
|
|
3
|
+
"version": "0.11.0",
|
|
4
|
+
"description": "A Svelte-native data visualization framework based on the layered grammar of graphics principles.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"svelte",
|
|
7
|
+
"data visualization",
|
|
8
|
+
"plotting",
|
|
9
|
+
"data analysis",
|
|
10
|
+
"datavis",
|
|
11
|
+
"dataviz",
|
|
12
|
+
"grammar of graphics",
|
|
13
|
+
"interactive visualization"
|
|
14
|
+
],
|
|
15
|
+
"homepage": "https://svelteplot.dev",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/svelteplot/svelteplot/issues"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/svelteplot/svelteplot.git"
|
|
22
|
+
},
|
|
23
|
+
"license": "ISC",
|
|
24
|
+
"author": {
|
|
25
|
+
"name": "Gregor Aisch",
|
|
26
|
+
"email": "gka@users.noreply.github.com"
|
|
27
|
+
},
|
|
28
|
+
"type": "module",
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"svelte": "./dist/index.js"
|
|
18
33
|
},
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
"url": "git+https://github.com/svelteplot/svelteplot.git"
|
|
34
|
+
"./*.js": {
|
|
35
|
+
"import": "./dist/*.js"
|
|
22
36
|
},
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
"name": "Gregor Aisch",
|
|
26
|
-
"email": "gka@users.noreply.github.com"
|
|
37
|
+
"./*.svelte": {
|
|
38
|
+
"import": "./dist/*.svelte"
|
|
27
39
|
},
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
"exports": {
|
|
31
|
-
".": {
|
|
32
|
-
"types": "./dist/index.d.ts",
|
|
33
|
-
"svelte": "./dist/index.js"
|
|
34
|
-
},
|
|
35
|
-
"./*.js": {
|
|
36
|
-
"import": "./dist/*.js"
|
|
37
|
-
},
|
|
38
|
-
"./*.svelte": {
|
|
39
|
-
"import": "./dist/*.svelte"
|
|
40
|
-
},
|
|
41
|
-
"./core/*.svelte": {
|
|
42
|
-
"import": "./dist/core/*.svelte"
|
|
43
|
-
},
|
|
44
|
-
"./marks/*.svelte": {
|
|
45
|
-
"import": "./dist/marks/*.svelte"
|
|
46
|
-
},
|
|
47
|
-
"./transforms": {
|
|
48
|
-
"import": "./dist/transforms/index.js"
|
|
49
|
-
}
|
|
40
|
+
"./core/*.svelte": {
|
|
41
|
+
"import": "./dist/core/*.svelte"
|
|
50
42
|
},
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
"files": [
|
|
54
|
-
"dist",
|
|
55
|
-
"!dist/**/*.test.*",
|
|
56
|
-
"!dist/**/*.spec.*"
|
|
57
|
-
],
|
|
58
|
-
"scripts": {
|
|
59
|
-
"build": "vite build",
|
|
60
|
-
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
61
|
-
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
62
|
-
"check-js-extensions": "node scripts/check-js-extensions.js src",
|
|
63
|
-
"dev": "vite dev",
|
|
64
|
-
"docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/",
|
|
65
|
-
"docs:api": "node scripts/generate-api.js --marks --plot --transforms && prettier --write .",
|
|
66
|
-
"docs:api:marks": "node scripts/generate-api.js --marks && prettier --write .",
|
|
67
|
-
"docs:api:plot": "node scripts/generate-api.js --plot && prettier --write .",
|
|
68
|
-
"docs:api:transforms": "node scripts/generate-api.js --transforms && prettier --write .",
|
|
69
|
-
"format": "prettier --write . && eslint --fix package.json",
|
|
70
|
-
"lint": "prettier --check src && eslint src package.json",
|
|
71
|
-
"lint:types": "tsc --noEmit",
|
|
72
|
-
"prepack": "npx svelte-package",
|
|
73
|
-
"preview": "vite preview",
|
|
74
|
-
"release-next": "npm version prerelease --preid next && npm publish && git push && git push --tags && sleep 1 && npm dist-tag add svelteplot@$(npm view . version) next",
|
|
75
|
-
"screenshots": "node screenshot-examples.js",
|
|
76
|
-
"test": "npm run test:unit",
|
|
77
|
-
"test:unit": "vitest",
|
|
78
|
-
"test:visual": "node scripts/visual-regression.js",
|
|
79
|
-
"vr:report": "node scripts/vr-report.js"
|
|
43
|
+
"./marks/*.svelte": {
|
|
44
|
+
"import": "./dist/marks/*.svelte"
|
|
80
45
|
},
|
|
81
|
-
"
|
|
82
|
-
|
|
83
|
-
"d3-color": "^3.1.0",
|
|
84
|
-
"d3-format": "^3.1.2",
|
|
85
|
-
"d3-geo": "^3.1.1",
|
|
86
|
-
"d3-interpolate": "^3.0.1",
|
|
87
|
-
"d3-path": "^3.1.0",
|
|
88
|
-
"d3-quadtree": "^3.0.1",
|
|
89
|
-
"d3-random": "^3.0.1",
|
|
90
|
-
"d3-scale": "^4.0.2",
|
|
91
|
-
"d3-scale-chromatic": "^3.1.0",
|
|
92
|
-
"d3-shape": "^3.2.0",
|
|
93
|
-
"d3-time": "^3.1.0",
|
|
94
|
-
"es-toolkit": "^1.44.0",
|
|
95
|
-
"fast-equals": "^6.0.0",
|
|
96
|
-
"interval-tree-1d": "^1.0.4",
|
|
97
|
-
"merge-deep": "^3.0.3"
|
|
98
|
-
},
|
|
99
|
-
"peerDependencies": {
|
|
100
|
-
"svelte": "^5.43.0"
|
|
101
|
-
},
|
|
102
|
-
"devDependencies": {
|
|
103
|
-
"@aitodotai/json-stringify-pretty-compact": "^1.3.0",
|
|
104
|
-
"@emotion/css": "^11.13.5",
|
|
105
|
-
"@shikijs/twoslash": "^3.21.0",
|
|
106
|
-
"@sveltejs/adapter-auto": "^7.0.0",
|
|
107
|
-
"@sveltejs/adapter-static": "^3.0.10",
|
|
108
|
-
"@sveltejs/enhanced-img": "^0.9.3",
|
|
109
|
-
"@sveltejs/eslint-config": "^8.3.4",
|
|
110
|
-
"@sveltejs/kit": "^2.50.1",
|
|
111
|
-
"@sveltejs/package": "^2.5.7",
|
|
112
|
-
"@sveltejs/vite-plugin-svelte": "6.2.4",
|
|
113
|
-
"@sveltepress/twoslash": "^1.3.6",
|
|
114
|
-
"@sveltepress/vite": "^1.3.6",
|
|
115
|
-
"@testing-library/svelte": "^5.3.1",
|
|
116
|
-
"@testing-library/user-event": "^14.6.1",
|
|
117
|
-
"@types/d3-array": "^3.2.2",
|
|
118
|
-
"@types/d3-color": "^3.1.3",
|
|
119
|
-
"@types/d3-dsv": "^3.0.7",
|
|
120
|
-
"@types/d3-geo": "^3.1.0",
|
|
121
|
-
"@types/d3-interpolate": "^3.0.4",
|
|
122
|
-
"@types/d3-path": "^3.1.1",
|
|
123
|
-
"@types/d3-quadtree": "^3.0.6",
|
|
124
|
-
"@types/d3-random": "^3.0.3",
|
|
125
|
-
"@types/d3-scale": "^4.0.9",
|
|
126
|
-
"@types/d3-scale-chromatic": "^3.1.0",
|
|
127
|
-
"@types/d3-shape": "^3.1.8",
|
|
128
|
-
"@types/geojson": "^7946.0.16",
|
|
129
|
-
"@types/topojson": "^3.2.6",
|
|
130
|
-
"@types/topojson-client": "^3.1.5",
|
|
131
|
-
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
132
|
-
"@typescript-eslint/parser": "^8.54.0",
|
|
133
|
-
"@unocss/extractor-svelte": "^66.6.0",
|
|
134
|
-
"@vite-pwa/sveltekit": "^1.1.0",
|
|
135
|
-
"csstype": "^3.2.3",
|
|
136
|
-
"d3-dsv": "^3.0.1",
|
|
137
|
-
"d3-fetch": "^3.0.1",
|
|
138
|
-
"d3-force": "^3.0.0",
|
|
139
|
-
"eslint": "^9.39.2",
|
|
140
|
-
"eslint-config-prettier": "^10.1.8",
|
|
141
|
-
"eslint-plugin-package-json": "^0.88.2",
|
|
142
|
-
"eslint-plugin-regexp": "^2.10.0",
|
|
143
|
-
"eslint-plugin-svelte": "3.14.0",
|
|
144
|
-
"jqmath": "^0.4.9",
|
|
145
|
-
"jsdom": "^27.4.0",
|
|
146
|
-
"log-update": "^7.0.2",
|
|
147
|
-
"lru-cache": "^11.2.5",
|
|
148
|
-
"mdast-util-from-markdown": "^2.0.2",
|
|
149
|
-
"mdast-util-gfm": "^3.1.0",
|
|
150
|
-
"pixelmatch": "^7.1.0",
|
|
151
|
-
"pngjs": "^7.0.0",
|
|
152
|
-
"prettier": "^3.8.1",
|
|
153
|
-
"prettier-plugin-svelte": "^3.4.1",
|
|
154
|
-
"puppeteer": "^24.36.1",
|
|
155
|
-
"remark-code-extra": "^1.0.1",
|
|
156
|
-
"remark-code-frontmatter": "^1.0.0",
|
|
157
|
-
"remark-math": "^6.0.0",
|
|
158
|
-
"resize-observer-polyfill": "^1.5.1",
|
|
159
|
-
"sass": "^1.97.3",
|
|
160
|
-
"shiki": "^3.21.0",
|
|
161
|
-
"svelte-check": "^4.3.5",
|
|
162
|
-
"svelte-eslint-parser": "1.4.1",
|
|
163
|
-
"svelte-highlight": "^7.9.0",
|
|
164
|
-
"svelte": "5",
|
|
165
|
-
"svg-path-parser": "^1.1.0",
|
|
166
|
-
"temml": "^0.13.1",
|
|
167
|
-
"topojson-client": "^3.1.0",
|
|
168
|
-
"ts-essentials": "^10.1.1",
|
|
169
|
-
"tslib": "^2.8.1",
|
|
170
|
-
"typedoc": "^0.28.16",
|
|
171
|
-
"typedoc-plugin-markdown": "^4.9.0",
|
|
172
|
-
"typescript": "^5.9.3",
|
|
173
|
-
"uid": "^2.0.2",
|
|
174
|
-
"unist-util-visit": "^5.1.0",
|
|
175
|
-
"unocss": "^66.6.0",
|
|
176
|
-
"vite": "^7.3.1",
|
|
177
|
-
"vitest": "^4.0.18",
|
|
178
|
-
"vitest-matchmedia-mock": "^2.0.3",
|
|
179
|
-
"wx-svelte-grid": "^2.5.0",
|
|
180
|
-
"yoctocolors": "^2.1.2"
|
|
46
|
+
"./transforms": {
|
|
47
|
+
"import": "./dist/transforms/index.js"
|
|
181
48
|
}
|
|
182
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"main": "./dist/index.js",
|
|
51
|
+
"types": "./dist/index.d.ts",
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"!dist/**/*.test.*",
|
|
55
|
+
"!dist/**/*.spec.*"
|
|
56
|
+
],
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"d3-array": "^3.2.4",
|
|
59
|
+
"d3-color": "^3.1.0",
|
|
60
|
+
"d3-format": "^3.1.2",
|
|
61
|
+
"d3-geo": "^3.1.1",
|
|
62
|
+
"d3-interpolate": "^3.0.1",
|
|
63
|
+
"d3-path": "^3.1.0",
|
|
64
|
+
"d3-quadtree": "^3.0.1",
|
|
65
|
+
"d3-random": "^3.0.1",
|
|
66
|
+
"d3-scale": "^4.0.2",
|
|
67
|
+
"d3-scale-chromatic": "^3.1.0",
|
|
68
|
+
"d3-shape": "^3.2.0",
|
|
69
|
+
"d3-time": "^3.1.0",
|
|
70
|
+
"es-toolkit": "^1.44.0",
|
|
71
|
+
"fast-equals": "^6.0.0",
|
|
72
|
+
"interval-tree-1d": "^1.0.4",
|
|
73
|
+
"merge-deep": "^3.0.3"
|
|
74
|
+
},
|
|
75
|
+
"devDependencies": {
|
|
76
|
+
"@aitodotai/json-stringify-pretty-compact": "^1.3.0",
|
|
77
|
+
"@emotion/css": "^11.13.5",
|
|
78
|
+
"@shikijs/twoslash": "^3.22.0",
|
|
79
|
+
"@sveltejs/adapter-auto": "^7.0.1",
|
|
80
|
+
"@sveltejs/adapter-static": "^3.0.10",
|
|
81
|
+
"@sveltejs/enhanced-img": "^0.10.2",
|
|
82
|
+
"@sveltejs/eslint-config": "^8.3.5",
|
|
83
|
+
"@sveltejs/kit": "^2.52.2",
|
|
84
|
+
"@sveltejs/package": "^2.5.7",
|
|
85
|
+
"@sveltejs/vite-plugin-svelte": "6.2.4",
|
|
86
|
+
"@sveltepress/twoslash": "^1.3.6",
|
|
87
|
+
"@sveltepress/vite": "^1.3.6",
|
|
88
|
+
"@testing-library/svelte": "^5.3.1",
|
|
89
|
+
"@testing-library/user-event": "^14.6.1",
|
|
90
|
+
"@types/d3-array": "^3.2.2",
|
|
91
|
+
"@types/d3-color": "^3.1.3",
|
|
92
|
+
"@types/d3-dsv": "^3.0.7",
|
|
93
|
+
"@types/d3-geo": "^3.1.0",
|
|
94
|
+
"@types/d3-interpolate": "^3.0.4",
|
|
95
|
+
"@types/d3-path": "^3.1.1",
|
|
96
|
+
"@types/d3-quadtree": "^3.0.6",
|
|
97
|
+
"@types/d3-random": "^3.0.3",
|
|
98
|
+
"@types/d3-scale": "^4.0.9",
|
|
99
|
+
"@types/d3-scale-chromatic": "^3.1.0",
|
|
100
|
+
"@types/d3-shape": "^3.1.8",
|
|
101
|
+
"@types/geojson": "^7946.0.16",
|
|
102
|
+
"@types/topojson": "^3.2.6",
|
|
103
|
+
"@types/topojson-client": "^3.1.5",
|
|
104
|
+
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
105
|
+
"@typescript-eslint/parser": "^8.56.0",
|
|
106
|
+
"@unocss/extractor-svelte": "^66.6.0",
|
|
107
|
+
"@vite-pwa/sveltekit": "^1.1.0",
|
|
108
|
+
"csstype": "^3.2.3",
|
|
109
|
+
"d3-dsv": "^3.0.1",
|
|
110
|
+
"d3-fetch": "^3.0.1",
|
|
111
|
+
"d3-force": "^3.0.0",
|
|
112
|
+
"eslint": "^9.39.2",
|
|
113
|
+
"eslint-config-prettier": "^10.1.8",
|
|
114
|
+
"eslint-plugin-package-json": "^0.88.3",
|
|
115
|
+
"eslint-plugin-regexp": "^2.10.0",
|
|
116
|
+
"eslint-plugin-svelte": "3.15.0",
|
|
117
|
+
"jqmath": "^0.4.9",
|
|
118
|
+
"jsdom": "^27.4.0",
|
|
119
|
+
"log-update": "^7.1.0",
|
|
120
|
+
"lru-cache": "^11.2.6",
|
|
121
|
+
"magic-string": "^0.30.21",
|
|
122
|
+
"mdast-util-from-markdown": "^2.0.2",
|
|
123
|
+
"mdast-util-gfm": "^3.1.0",
|
|
124
|
+
"oxlint": "^1.48.0",
|
|
125
|
+
"oxlint-tsgolint": "^0.14.0",
|
|
126
|
+
"pixelmatch": "^7.1.0",
|
|
127
|
+
"pngjs": "^7.0.0",
|
|
128
|
+
"prettier": "^3.8.1",
|
|
129
|
+
"prettier-plugin-svelte": "^3.5.0",
|
|
130
|
+
"puppeteer": "^24.37.4",
|
|
131
|
+
"remark-code-extra": "^1.0.1",
|
|
132
|
+
"remark-code-frontmatter": "^1.0.0",
|
|
133
|
+
"remark-math": "^6.0.0",
|
|
134
|
+
"resize-observer-polyfill": "^1.5.1",
|
|
135
|
+
"sass": "^1.97.3",
|
|
136
|
+
"shiki": "^3.22.0",
|
|
137
|
+
"svelte": "5",
|
|
138
|
+
"svelte-check": "^4.4.1",
|
|
139
|
+
"svelte-eslint-parser": "1.4.1",
|
|
140
|
+
"svelte-highlight": "^7.9.0",
|
|
141
|
+
"svg-path-parser": "^1.1.0",
|
|
142
|
+
"temml": "^0.13.1",
|
|
143
|
+
"topojson-client": "^3.1.0",
|
|
144
|
+
"ts-essentials": "^10.1.1",
|
|
145
|
+
"tslib": "^2.8.1",
|
|
146
|
+
"typedoc": "^0.28.17",
|
|
147
|
+
"typedoc-plugin-markdown": "^4.10.0",
|
|
148
|
+
"typescript": "^5.9.3",
|
|
149
|
+
"uid": "^2.0.2",
|
|
150
|
+
"unist-util-visit": "^5.1.0",
|
|
151
|
+
"unocss": "^66.6.0",
|
|
152
|
+
"vite": "^7.3.1",
|
|
153
|
+
"vitest": "^4.0.18",
|
|
154
|
+
"vitest-matchmedia-mock": "^2.0.3",
|
|
155
|
+
"wx-svelte-grid": "^2.5.0",
|
|
156
|
+
"yoctocolors": "^2.1.2"
|
|
157
|
+
},
|
|
158
|
+
"peerDependencies": {
|
|
159
|
+
"svelte": "^5.43.0"
|
|
160
|
+
},
|
|
161
|
+
"scripts": {
|
|
162
|
+
"build": "vite build",
|
|
163
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
164
|
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
165
|
+
"check-js-extensions": "node scripts/check-js-extensions.js src",
|
|
166
|
+
"dev": "vite dev",
|
|
167
|
+
"docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/",
|
|
168
|
+
"docs:api": "node scripts/generate-api.js --marks --plot --transforms && prettier --write .",
|
|
169
|
+
"docs:api:marks": "node scripts/generate-api.js --marks && prettier --write .",
|
|
170
|
+
"docs:api:plot": "node scripts/generate-api.js --plot && prettier --write .",
|
|
171
|
+
"docs:api:transforms": "node scripts/generate-api.js --transforms && prettier --write .",
|
|
172
|
+
"format": "eslint --fix package.json && prettier --write .",
|
|
173
|
+
"lint": "pnpm run lint:oxlint && pnpm run lint:eslint && pnpm run lint:types",
|
|
174
|
+
"lint:eslint": "prettier --check src && eslint src package.json",
|
|
175
|
+
"lint:oxlint": "oxlint --type-aware",
|
|
176
|
+
"lint:types": "svelte-kit sync && tsc --noEmit -p tsconfig.lint-types.json",
|
|
177
|
+
"preview": "vite preview",
|
|
178
|
+
"release-next": "npm version prerelease --preid next && npm publish && git push && git push --tags && sleep 1 && npm dist-tag add svelteplot@$(npm view . version) next",
|
|
179
|
+
"screenshots": "node screenshot-examples.js",
|
|
180
|
+
"test": "npm run test:unit",
|
|
181
|
+
"test:unit": "vitest",
|
|
182
|
+
"test:visual": "node scripts/visual-regression.js",
|
|
183
|
+
"vr:report": "node scripts/vr-report.js"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { RawValue, ScaleType } from '../types/index.js';
|
|
2
|
-
type IntervalLike = {
|
|
3
|
-
floor: (d: number) => number;
|
|
4
|
-
round?: (d: number) => number;
|
|
5
|
-
offset: (d: number, step?: number) => number;
|
|
6
|
-
range: (lo: number, hi: number) => number[];
|
|
7
|
-
};
|
|
8
|
-
export declare function maybeInterval(interval: null | number | string | IntervalLike): any;
|
|
9
|
-
export declare function autoTicks(type: ScaleType, ticks: RawValue[], interval: string | number | null, domain: RawValue[], scaleFn: {
|
|
10
|
-
ticks?: (count: number) => RawValue[];
|
|
11
|
-
}, count: number): any;
|
|
12
|
-
export {};
|