layerchart 0.54.0 → 0.55.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/components/Arc.svelte +170 -144
- package/dist/components/Area.svelte +96 -67
- package/dist/components/Area.svelte.d.ts +1 -0
- package/dist/components/Axis.svelte +205 -155
- package/dist/components/Bar.svelte +72 -45
- package/dist/components/Bars.svelte +45 -34
- package/dist/components/Blur.svelte +5 -3
- package/dist/components/Bounds.svelte +37 -21
- package/dist/components/Brush.svelte +269 -112
- package/dist/components/Brush.svelte.d.ts +7 -0
- package/dist/components/Calendar.svelte +51 -38
- package/dist/components/Chart.svelte +295 -74
- package/dist/components/Chart.svelte.d.ts +17 -17
- package/dist/components/ChartClipPath.svelte +8 -5
- package/dist/components/ChartContext.svelte +243 -93
- package/dist/components/ChartContext.svelte.d.ts +15 -23
- package/dist/components/Circle.svelte +25 -16
- package/dist/components/CircleClipPath.svelte +16 -10
- package/dist/components/ClipPath.svelte +11 -7
- package/dist/components/ColorRamp.svelte +12 -10
- package/dist/components/ForceSimulation.svelte +185 -116
- package/dist/components/Frame.svelte +10 -6
- package/dist/components/GeoCircle.svelte +15 -9
- package/dist/components/GeoContext.svelte +109 -62
- package/dist/components/GeoEdgeFade.svelte +20 -14
- package/dist/components/GeoPath.svelte +107 -69
- package/dist/components/GeoPoint.svelte +32 -18
- package/dist/components/GeoSpline.svelte +30 -22
- package/dist/components/GeoTile.svelte +40 -30
- package/dist/components/GeoVisible.svelte +10 -7
- package/dist/components/Graticule.svelte +14 -8
- package/dist/components/Grid.svelte +75 -48
- package/dist/components/Group.svelte +43 -31
- package/dist/components/Highlight.svelte +284 -243
- package/dist/components/HitCanvas.svelte +75 -42
- package/dist/components/Hull.svelte +40 -20
- package/dist/components/Labels.svelte +81 -70
- package/dist/components/Legend.svelte +105 -74
- package/dist/components/Legend.svelte.d.ts +1 -1
- package/dist/components/Line.svelte +65 -19
- package/dist/components/Line.svelte.d.ts +13 -1
- package/dist/components/LinearGradient.svelte +21 -15
- package/dist/components/Link.svelte +94 -22
- package/dist/components/Link.svelte.d.ts +17 -1
- package/dist/components/Marker.svelte +81 -0
- package/dist/components/Marker.svelte.d.ts +28 -0
- package/dist/components/MonthPath.svelte +23 -16
- package/dist/components/MotionPath.svelte +34 -25
- package/dist/components/Pack.svelte +21 -14
- package/dist/components/Partition.svelte +35 -20
- package/dist/components/Pattern.svelte +8 -6
- package/dist/components/Pie.svelte +76 -57
- package/dist/components/Point.svelte +11 -7
- package/dist/components/Points.svelte +178 -143
- package/dist/components/RadialGradient.svelte +25 -18
- package/dist/components/Rect.svelte +33 -19
- package/dist/components/RectClipPath.svelte +16 -11
- package/dist/components/Rule.svelte +50 -42
- package/dist/components/Sankey.svelte +55 -30
- package/dist/components/Spline.svelte +167 -96
- package/dist/components/Spline.svelte.d.ts +15 -0
- package/dist/components/Text.svelte +137 -104
- package/dist/components/Threshold.svelte +18 -7
- package/dist/components/TileImage.svelte +56 -50
- package/dist/components/TransformContext.svelte +235 -135
- package/dist/components/TransformControls.svelte +57 -29
- package/dist/components/TransformControls.svelte.d.ts +1 -1
- package/dist/components/Tree.svelte +33 -23
- package/dist/components/Treemap.svelte +69 -41
- package/dist/components/Voronoi.svelte +55 -28
- package/dist/components/charts/AreaChart.svelte +138 -87
- package/dist/components/charts/AreaChart.svelte.d.ts +4 -4
- package/dist/components/charts/BarChart.svelte +179 -114
- package/dist/components/charts/BarChart.svelte.d.ts +4 -4
- package/dist/components/charts/LineChart.svelte +97 -53
- package/dist/components/charts/LineChart.svelte.d.ts +4 -4
- package/dist/components/charts/PieChart.svelte +104 -54
- package/dist/components/charts/PieChart.svelte.d.ts +3 -3
- package/dist/components/charts/ScatterChart.svelte +83 -48
- package/dist/components/charts/ScatterChart.svelte.d.ts +4 -4
- package/dist/components/layout/Canvas.svelte +63 -43
- package/dist/components/layout/Html.svelte +28 -18
- package/dist/components/layout/Svg.svelte +47 -32
- package/dist/components/tooltip/Tooltip.svelte +137 -91
- package/dist/components/tooltip/Tooltip.svelte.d.ts +1 -1
- package/dist/components/tooltip/TooltipContext.svelte +315 -249
- package/dist/components/tooltip/TooltipHeader.svelte +9 -3
- package/dist/components/tooltip/TooltipItem.svelte +17 -9
- package/dist/components/tooltip/TooltipList.svelte +2 -1
- package/dist/components/tooltip/TooltipSeparator.svelte +3 -2
- package/dist/docs/Blockquote.svelte +4 -3
- package/dist/docs/Code.svelte +15 -8
- package/dist/docs/CurveMenuField.svelte +17 -12
- package/dist/docs/GeoDebug.svelte +13 -9
- package/dist/docs/Header1.svelte +2 -1
- package/dist/docs/Json.svelte +6 -4
- package/dist/docs/Layout.svelte +6 -6
- package/dist/docs/PathDataMenuField.svelte +52 -44
- package/dist/docs/Preview.svelte +39 -33
- package/dist/docs/TilesetField.svelte +80 -62
- package/dist/docs/TransformDebug.svelte +8 -5
- package/dist/docs/ViewSourceButton.svelte +13 -9
- package/dist/stores/motionStore.d.ts +1 -1
- package/dist/utils/scales.d.ts +3 -3
- package/package.json +29 -30
|
@@ -1,139 +1,289 @@
|
|
|
1
1
|
<!-- Wrapper to allow getting LayerCake context from <Chart> and exposing with a strongly type context getter -->
|
|
2
|
-
<script context="module">
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
<script lang="ts" context="module">
|
|
3
|
+
import { createScale, type AnyScale } from '../utils/scales.js';
|
|
4
|
+
|
|
5
|
+
import type { HierarchyNode } from 'd3-hierarchy';
|
|
6
|
+
import {
|
|
7
|
+
createEventDispatcher,
|
|
8
|
+
getContext,
|
|
9
|
+
onMount,
|
|
10
|
+
setContext,
|
|
11
|
+
type ComponentProps,
|
|
12
|
+
} from 'svelte';
|
|
13
|
+
import { derived, writable, type Readable } from 'svelte/store';
|
|
14
|
+
|
|
15
|
+
export const chartContextKey = Symbol();
|
|
16
|
+
|
|
17
|
+
type LayerCakeContext<TData> = {
|
|
18
|
+
activeGetters: Readable<{
|
|
19
|
+
x: (d: TData) => any;
|
|
20
|
+
y: (d: TData) => any;
|
|
21
|
+
z: (d: TData) => any;
|
|
22
|
+
r: (d: TData) => any;
|
|
23
|
+
}>;
|
|
24
|
+
width: Readable<number>;
|
|
25
|
+
height: Readable<number>;
|
|
26
|
+
percentRange: Readable<boolean>;
|
|
27
|
+
aspectRatio: Readable<number>;
|
|
28
|
+
containerWidth: Readable<number>;
|
|
29
|
+
containerHeight: Readable<number>;
|
|
30
|
+
x: Readable<(d: TData) => any>;
|
|
31
|
+
y: Readable<(d: TData) => any>;
|
|
32
|
+
z: Readable<(d: TData) => any>;
|
|
33
|
+
r: Readable<(d: TData) => any>;
|
|
34
|
+
x1: Readable<(d: TData) => any>;
|
|
35
|
+
y1: Readable<(d: TData) => any>;
|
|
36
|
+
c: Readable<(d: TData) => any>;
|
|
37
|
+
custom: Readable<Object>;
|
|
38
|
+
data: Readable<TData[] | HierarchyNode<TData> | SankeyGraph<any, any>>;
|
|
39
|
+
xNice: Readable<number | boolean>;
|
|
40
|
+
yNice: Readable<number | boolean>;
|
|
41
|
+
zNice: Readable<number | boolean>;
|
|
42
|
+
rNice: Readable<number | boolean>;
|
|
43
|
+
xDomainSort: Readable<boolean>;
|
|
44
|
+
yDomainSort: Readable<boolean>;
|
|
45
|
+
zDomainSort: Readable<boolean>;
|
|
46
|
+
rDomainSort: Readable<boolean>;
|
|
47
|
+
xReverse: Readable<boolean>;
|
|
48
|
+
yReverse: Readable<boolean>;
|
|
49
|
+
zReverse: Readable<boolean>;
|
|
50
|
+
rReverse: Readable<boolean>;
|
|
51
|
+
xPadding: Readable<[number, number]>;
|
|
52
|
+
yPadding: Readable<[number, number]>;
|
|
53
|
+
zPadding: Readable<[number, number]>;
|
|
54
|
+
rPadding: Readable<[number, number]>;
|
|
55
|
+
padding: Readable<{
|
|
56
|
+
top: number;
|
|
57
|
+
bottom: number;
|
|
58
|
+
left: number;
|
|
59
|
+
right: number;
|
|
60
|
+
}>;
|
|
61
|
+
flatData: Readable<TData[]>;
|
|
62
|
+
extents: Readable<{}>;
|
|
63
|
+
xDomain: Readable<any>;
|
|
64
|
+
yDomain: Readable<any>;
|
|
65
|
+
zDomain: Readable<any>;
|
|
66
|
+
rDomain: Readable<any>;
|
|
67
|
+
x1Domain: Readable<any>;
|
|
68
|
+
y1Domain: Readable<any>;
|
|
69
|
+
cDomain: Readable<any>;
|
|
70
|
+
xRange: Readable<any>;
|
|
71
|
+
yRange: Readable<any>;
|
|
72
|
+
zRange: Readable<any>;
|
|
73
|
+
rRange: Readable<any>;
|
|
74
|
+
x1Range: Readable<any>;
|
|
75
|
+
y1Range: Readable<any>;
|
|
76
|
+
cRange: Readable<any>;
|
|
77
|
+
config: Readable<any>;
|
|
78
|
+
xScale: Readable<AnyScale>;
|
|
79
|
+
xGet: Readable<any>;
|
|
80
|
+
yScale: Readable<AnyScale>;
|
|
81
|
+
yGet: Readable<any>;
|
|
82
|
+
zScale: Readable<AnyScale>;
|
|
83
|
+
zGet: Readable<any>;
|
|
84
|
+
rScale: Readable<AnyScale>;
|
|
85
|
+
rGet: Readable<any>;
|
|
86
|
+
x1Scale: Readable<AnyScale | null>;
|
|
87
|
+
x1Get: Readable<any>;
|
|
88
|
+
y1Scale: Readable<AnyScale | null>;
|
|
89
|
+
y1Get: Readable<any>;
|
|
90
|
+
cScale: Readable<AnyScale | null>;
|
|
91
|
+
cGet: Readable<any>;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export type ChartEvents = {
|
|
95
|
+
resize: ChartResizeDetail;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export type ChartResizeDetail = {
|
|
99
|
+
width: number;
|
|
100
|
+
height: number;
|
|
101
|
+
containerWidth: number;
|
|
102
|
+
containerHeight: number;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export type ChartResizeEvent = CustomEvent<ChartResizeDetail>;
|
|
106
|
+
|
|
107
|
+
export type ChartContext<TData> = LayerCakeContext<TData> & {
|
|
108
|
+
// Additional context values
|
|
109
|
+
radial: Readable<boolean>;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export function chartContext<TData = any>() {
|
|
113
|
+
return getContext<ChartContext<TData>>(chartContextKey);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function setChartContext<TData = any>(context: ChartContext<TData>) {
|
|
10
117
|
setContext(chartContextKey, context);
|
|
11
|
-
}
|
|
118
|
+
}
|
|
12
119
|
</script>
|
|
13
120
|
|
|
14
|
-
<script generics="TData">
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
121
|
+
<script lang="ts" generics="TData">
|
|
122
|
+
import { unique } from '@layerstack/utils/array';
|
|
123
|
+
|
|
124
|
+
import { scaleOrdinal } from 'd3-scale';
|
|
125
|
+
|
|
126
|
+
import { extent } from 'd3-array';
|
|
127
|
+
|
|
128
|
+
import type { SankeyGraph } from 'd3-sankey';
|
|
129
|
+
|
|
130
|
+
import type Chart from './Chart.svelte';
|
|
131
|
+
import { accessor, chartDataArray } from '../utils/common.js';
|
|
132
|
+
|
|
133
|
+
// type ChartProps = ComponentProps<Chart<TData>>;
|
|
134
|
+
// TODO: Handle recursive types (ChartContext => Chart -> ChartContext)
|
|
135
|
+
type ChartProps = any;
|
|
136
|
+
|
|
137
|
+
export let x1: ChartProps['x1'] = undefined;
|
|
138
|
+
export let x1Scale: ChartProps['x1Scale'] = undefined;
|
|
139
|
+
export let x1Domain: ChartProps['x1Domain'] = undefined;
|
|
140
|
+
export let x1Range: ChartProps['x1Range'] = undefined;
|
|
141
|
+
|
|
142
|
+
export let y1: ChartProps['y1'] = undefined;
|
|
143
|
+
export let y1Scale: ChartProps['y1Scale'] = undefined;
|
|
144
|
+
export let y1Domain: ChartProps['y1Domain'] = undefined;
|
|
145
|
+
export let y1Range: ChartProps['y1Range'] = undefined;
|
|
146
|
+
|
|
147
|
+
export let c: ChartProps['c'] = undefined;
|
|
148
|
+
export let cScale: ChartProps['cScale'] = undefined;
|
|
149
|
+
export let cDomain: ChartProps['cDomain'] = undefined;
|
|
150
|
+
export let cRange: ChartProps['cRange'] = undefined;
|
|
151
|
+
|
|
152
|
+
const layerCakeContext = getContext<LayerCakeContext<TData>>('LayerCake');
|
|
153
|
+
const {
|
|
154
|
+
data: contextData,
|
|
155
|
+
width,
|
|
156
|
+
height,
|
|
157
|
+
containerWidth,
|
|
158
|
+
containerHeight,
|
|
159
|
+
xScale,
|
|
160
|
+
yScale,
|
|
161
|
+
} = layerCakeContext;
|
|
162
|
+
|
|
163
|
+
/* --------------------------------------------
|
|
164
|
+
* Make store versions of each parameter
|
|
165
|
+
* Prefix these with `_` to keep things organized
|
|
166
|
+
*/
|
|
167
|
+
const _x1 = writable(accessor(x1));
|
|
168
|
+
const _x1Scale = writable<AnyScale | null>(null);
|
|
169
|
+
const _x1Domain = writable<ChartProps['x1Domain']>(x1Domain);
|
|
170
|
+
const _x1Range = writable<ChartProps['x1Range']>(x1Range);
|
|
171
|
+
const _x1Get = writable<Function>();
|
|
172
|
+
|
|
173
|
+
$: $_x1 = accessor(x1);
|
|
174
|
+
$: $_x1Domain = x1Domain ?? extent(chartDataArray($contextData), $_x1);
|
|
175
|
+
$: $_x1Scale =
|
|
44
176
|
x1Scale && x1Range
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
$: $_x1Range = x1Range;
|
|
48
|
-
$: $_x1Get = (d) => $_x1Scale?.($_x1(d));
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
$: $
|
|
57
|
-
$: $
|
|
177
|
+
? createScale(x1Scale, $_x1Domain, x1Range, { xScale: $xScale, $width, $height })
|
|
178
|
+
: null;
|
|
179
|
+
$: $_x1Range = x1Range;
|
|
180
|
+
$: $_x1Get = (d: any) => $_x1Scale?.($_x1(d));
|
|
181
|
+
|
|
182
|
+
const _y1 = writable(accessor(y1));
|
|
183
|
+
const _y1Scale = writable<AnyScale | null>(null);
|
|
184
|
+
const _y1Domain = writable<ChartProps['y1Domain']>(y1Domain);
|
|
185
|
+
const _y1Range = writable<ChartProps['y1Range']>(y1Range);
|
|
186
|
+
const _y1Get = writable<Function>();
|
|
187
|
+
|
|
188
|
+
$: $_y1 = accessor(y1);
|
|
189
|
+
$: $_y1Domain = y1Domain ?? extent(chartDataArray($contextData), $_y1);
|
|
190
|
+
$: $_y1Range = y1Range;
|
|
191
|
+
$: $_y1Scale =
|
|
58
192
|
y1Scale && y1Range
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
$: $_y1Get = (d) => $_y1Scale?.($_y1(d));
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
$: $
|
|
70
|
-
$: $
|
|
193
|
+
? createScale(y1Scale, $_y1Domain, y1Range, { yScale: $yScale, $width, $height })
|
|
194
|
+
: null;
|
|
195
|
+
$: $_y1Get = (d: any) => $_y1Scale?.($_y1(d));
|
|
196
|
+
|
|
197
|
+
const _c = writable(accessor(c));
|
|
198
|
+
const _cScale = writable<AnyScale | null>(scaleOrdinal());
|
|
199
|
+
const _cDomain = writable<ChartProps['cDomain']>(cDomain);
|
|
200
|
+
const _cRange = writable<ChartProps['cRange']>(cRange);
|
|
201
|
+
const _cGet = writable<Function>();
|
|
202
|
+
|
|
203
|
+
$: $_c = accessor(c);
|
|
204
|
+
$: $_cDomain = cDomain ?? unique(chartDataArray($contextData).map($_c));
|
|
205
|
+
$: $_cRange = cRange;
|
|
206
|
+
$: $_cScale = cRange
|
|
71
207
|
? createScale(cScale ?? scaleOrdinal(), $_cDomain, cRange, { $width, $height })
|
|
72
208
|
: null;
|
|
73
|
-
$: $_cGet = (d) => $_cScale?.($_c(d));
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
$:
|
|
209
|
+
$: $_cGet = (d: any) => $_cScale?.($_c(d));
|
|
210
|
+
|
|
211
|
+
/** Use radial instead of cartesian coordinates, mapping `x` to `angle` and `y`` to radial. Radial lines are positioned relative to the origin, use transform (ex. `<Group center>`) to change the origin */
|
|
212
|
+
export let radial = false;
|
|
213
|
+
const _radial = writable(radial);
|
|
214
|
+
$: $_radial = radial;
|
|
215
|
+
|
|
216
|
+
$: addtConfig = {
|
|
79
217
|
...(x1 && { x1 }),
|
|
80
218
|
...(x1Domain && { x1Domain }),
|
|
81
219
|
...(x1Range && { x1Range }),
|
|
82
220
|
...(x1Scale && { x1Scale }),
|
|
221
|
+
|
|
83
222
|
...(y1 && { y1 }),
|
|
84
223
|
...(y1Domain && { y1Domain }),
|
|
85
224
|
...(y1Range && { y1Range }),
|
|
86
225
|
...(y1Scale && { y1Scale }),
|
|
226
|
+
|
|
87
227
|
...(c && { c }),
|
|
88
228
|
...(cDomain && { cDomain }),
|
|
89
229
|
...(cRange && { cRange }),
|
|
90
230
|
...(cScale && { cScale }),
|
|
91
|
-
};
|
|
92
|
-
const _addtConfig = writable(addtConfig);
|
|
93
|
-
$: $_addtConfig = addtConfig;
|
|
94
|
-
|
|
231
|
+
};
|
|
232
|
+
const _addtConfig = writable(addtConfig);
|
|
233
|
+
$: $_addtConfig = addtConfig;
|
|
234
|
+
|
|
235
|
+
const config = derived([layerCakeContext.config, _addtConfig], ([$config, $addtConfig]) => {
|
|
95
236
|
return {
|
|
96
|
-
|
|
97
|
-
|
|
237
|
+
...$config,
|
|
238
|
+
...$addtConfig,
|
|
98
239
|
};
|
|
99
|
-
});
|
|
100
|
-
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
const chartContext = {
|
|
101
243
|
...layerCakeContext,
|
|
244
|
+
|
|
102
245
|
x1: _x1,
|
|
103
246
|
x1Domain: _x1Domain,
|
|
104
247
|
x1Range: _x1Range,
|
|
105
248
|
x1Scale: _x1Scale,
|
|
106
249
|
x1Get: _x1Get,
|
|
250
|
+
|
|
107
251
|
y1: _y1,
|
|
108
252
|
y1Domain: _y1Domain,
|
|
109
253
|
y1Range: _y1Range,
|
|
110
254
|
y1Scale: _y1Scale,
|
|
111
255
|
y1Get: _y1Get,
|
|
256
|
+
|
|
112
257
|
c: _c,
|
|
113
258
|
cDomain: _cDomain,
|
|
114
259
|
cRange: _cRange,
|
|
115
260
|
cScale: _cScale,
|
|
116
261
|
cGet: _cGet,
|
|
262
|
+
|
|
117
263
|
config,
|
|
264
|
+
|
|
118
265
|
radial: _radial,
|
|
119
|
-
};
|
|
120
|
-
setChartContext(chartContext);
|
|
121
|
-
|
|
122
|
-
|
|
266
|
+
};
|
|
267
|
+
setChartContext(chartContext);
|
|
268
|
+
|
|
269
|
+
const dispatch = createEventDispatcher<ChartEvents>();
|
|
270
|
+
$: if (isMounted) {
|
|
123
271
|
dispatch('resize', {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
272
|
+
width: $width,
|
|
273
|
+
height: $height,
|
|
274
|
+
containerWidth: $containerWidth,
|
|
275
|
+
containerHeight: $containerHeight,
|
|
128
276
|
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Track when mounted since LayerCake initializes width/height with `100` until bound `clientWidth`/`clientWidth` can run
|
|
280
|
+
let isMounted = false;
|
|
281
|
+
onMount(() => {
|
|
133
282
|
isMounted = true;
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
// Added to try to pass TData downward
|
|
286
|
+
export let data: TData[] | HierarchyNode<TData> | SankeyGraph<any, any> = []; // Same as `ComponentProps<Chart<TData>>` but causes circular reference
|
|
137
287
|
</script>
|
|
138
288
|
|
|
139
289
|
<slot
|
|
@@ -96,26 +96,18 @@ export declare function chartContext<TData = any>(): ChartContext<TData>;
|
|
|
96
96
|
import type { SankeyGraph } from 'd3-sankey';
|
|
97
97
|
declare class __sveltets_Render<TData> {
|
|
98
98
|
props(): {
|
|
99
|
-
x1?:
|
|
100
|
-
x1Scale?:
|
|
101
|
-
x1Domain?:
|
|
102
|
-
x1Range?:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
yScale: AnyScale;
|
|
112
|
-
width: number;
|
|
113
|
-
height: number;
|
|
114
|
-
}) => number[] | string[]) | undefined;
|
|
115
|
-
c?: import("../utils/common.js").Accessor<TData>;
|
|
116
|
-
cScale?: AnyScale<any, any, any, any> | undefined;
|
|
117
|
-
cDomain?: import("../utils/scales.js").DomainType | undefined;
|
|
118
|
-
cRange?: string[] | readonly string[] | undefined;
|
|
99
|
+
x1?: any;
|
|
100
|
+
x1Scale?: any;
|
|
101
|
+
x1Domain?: any;
|
|
102
|
+
x1Range?: any;
|
|
103
|
+
y1?: any;
|
|
104
|
+
y1Scale?: any;
|
|
105
|
+
y1Domain?: any;
|
|
106
|
+
y1Range?: any;
|
|
107
|
+
c?: any;
|
|
108
|
+
cScale?: any;
|
|
109
|
+
cDomain?: any;
|
|
110
|
+
cRange?: any;
|
|
119
111
|
/** Use radial instead of cartesian coordinates, mapping `x` to `angle` and `y`` to radial. Radial lines are positioned relative to the origin, use transform (ex. `<Group center>`) to change the origin */ radial?: boolean;
|
|
120
112
|
data?: SankeyGraph<any, any> | TData[] | HierarchyNode<TData> | undefined;
|
|
121
113
|
};
|
|
@@ -127,13 +119,13 @@ declare class __sveltets_Render<TData> {
|
|
|
127
119
|
data: SankeyGraph<any, any> | TData[] | HierarchyNode<TData>;
|
|
128
120
|
flatData: Readable<SankeyGraph<any, any> | TData[] | HierarchyNode<TData>>;
|
|
129
121
|
config: any;
|
|
130
|
-
x1: (d:
|
|
122
|
+
x1: (d: any) => any;
|
|
131
123
|
x1Scale: AnyScale<any, any, any, any> | null;
|
|
132
124
|
x1Get: Function;
|
|
133
|
-
y1: (d:
|
|
125
|
+
y1: (d: any) => any;
|
|
134
126
|
y1Scale: AnyScale<any, any, any, any> | null;
|
|
135
127
|
y1Get: Function;
|
|
136
|
-
c: (d:
|
|
128
|
+
c: (d: any) => any;
|
|
137
129
|
cScale: AnyScale<any, any, any, any> | null;
|
|
138
130
|
cGet: Function;
|
|
139
131
|
};
|
|
@@ -1,22 +1,31 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export let
|
|
9
|
-
export let
|
|
10
|
-
|
|
11
|
-
export let
|
|
12
|
-
let
|
|
13
|
-
|
|
14
|
-
let
|
|
15
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { tick } from 'svelte';
|
|
3
|
+
import type { spring as springStore, tweened as tweenedStore } from 'svelte/motion';
|
|
4
|
+
import { cls } from '@layerstack/tailwind';
|
|
5
|
+
|
|
6
|
+
import { motionStore } from '../stores/motionStore.js';
|
|
7
|
+
|
|
8
|
+
export let cx: number = 0;
|
|
9
|
+
export let initialCx = cx;
|
|
10
|
+
|
|
11
|
+
export let cy: number = 0;
|
|
12
|
+
export let initialCy = cy;
|
|
13
|
+
|
|
14
|
+
export let r: number = 1;
|
|
15
|
+
export let initialR = r;
|
|
16
|
+
|
|
17
|
+
export let spring: boolean | Parameters<typeof springStore>[1] = undefined;
|
|
18
|
+
export let tweened: boolean | Parameters<typeof tweenedStore>[1] = undefined;
|
|
19
|
+
|
|
20
|
+
let tweened_cx = motionStore(initialCx, { spring, tweened });
|
|
21
|
+
let tweened_cy = motionStore(initialCy, { spring, tweened });
|
|
22
|
+
let tweened_r = motionStore(initialR, { spring, tweened });
|
|
23
|
+
|
|
24
|
+
$: tick().then(() => {
|
|
16
25
|
tweened_cx.set(cx);
|
|
17
26
|
tweened_cy.set(cy);
|
|
18
27
|
tweened_r.set(r);
|
|
19
|
-
});
|
|
28
|
+
});
|
|
20
29
|
</script>
|
|
21
30
|
|
|
22
31
|
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export let
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { spring as springStore, tweened as tweenedStore } from 'svelte/motion';
|
|
3
|
+
|
|
4
|
+
import { uniqueId } from '@layerstack/utils';
|
|
5
|
+
|
|
6
|
+
import ClipPath from './ClipPath.svelte';
|
|
7
|
+
import Circle from './Circle.svelte';
|
|
8
|
+
|
|
9
|
+
/** Unique id for clipPath */
|
|
10
|
+
export let id: string = uniqueId('clipPath-');
|
|
11
|
+
|
|
12
|
+
export let cx: number = 0;
|
|
13
|
+
export let cy: number = 0;
|
|
14
|
+
export let r: number;
|
|
15
|
+
export let spring: boolean | Parameters<typeof springStore>[1] = undefined;
|
|
16
|
+
export let tweened: boolean | Parameters<typeof tweenedStore>[1] = undefined;
|
|
11
17
|
</script>
|
|
12
18
|
|
|
13
19
|
<ClipPath {id} let:url>
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
export let
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { uniqueId } from '@layerstack/utils';
|
|
3
|
+
|
|
4
|
+
/** Unique id for clipPath */
|
|
5
|
+
export let id: string = uniqueId('clipPath-');
|
|
6
|
+
|
|
7
|
+
/** Use existing path or shape (by id) for clipPath */
|
|
8
|
+
export let useId: string | undefined = undefined;
|
|
9
|
+
|
|
10
|
+
/** Disable clipping (show all) */
|
|
11
|
+
export let disabled: boolean = false;
|
|
8
12
|
</script>
|
|
9
13
|
|
|
10
14
|
<defs>
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
export let
|
|
3
|
-
export let
|
|
4
|
-
export let
|
|
5
|
-
let
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
export let interpolator: (t: number) => string;
|
|
3
|
+
export let steps = 10;
|
|
4
|
+
export let height: string | number = '20px';
|
|
5
|
+
export let width: string | number = '100%';
|
|
6
|
+
|
|
7
|
+
let href = '';
|
|
8
|
+
$: {
|
|
7
9
|
const canvas = document.createElement('canvas');
|
|
8
10
|
canvas.width = steps;
|
|
9
11
|
canvas.height = 1;
|
|
10
|
-
const context = canvas.getContext('2d')
|
|
12
|
+
const context = canvas.getContext('2d')!;
|
|
11
13
|
for (let i = 0; i < steps; ++i) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
context.fillStyle = interpolator(i / (steps - 1));
|
|
15
|
+
context.fillRect(i, 0, 1, 1);
|
|
14
16
|
}
|
|
15
17
|
href = canvas.toDataURL();
|
|
16
|
-
}
|
|
18
|
+
}
|
|
17
19
|
</script>
|
|
18
20
|
|
|
19
21
|
<image {href} preserveAspectRatio="none" {height} {width} {...$$restProps} />
|