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,60 +1,88 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {
|
|
3
|
+
treemap as d3treemap,
|
|
4
|
+
treemapBinary,
|
|
5
|
+
treemapDice,
|
|
6
|
+
treemapResquarify,
|
|
7
|
+
treemapSlice,
|
|
8
|
+
treemapSliceDice,
|
|
9
|
+
treemapSquarify,
|
|
10
|
+
type HierarchyNode,
|
|
11
|
+
type HierarchyRectangularNode,
|
|
12
|
+
type TreemapLayout,
|
|
13
|
+
} from 'd3-hierarchy';
|
|
14
|
+
|
|
15
|
+
import { chartContext } from './ChartContext.svelte';
|
|
16
|
+
import { aspectTile } from '../utils/treemap.js';
|
|
17
|
+
|
|
18
|
+
const { data, width, height } = chartContext();
|
|
19
|
+
|
|
20
|
+
export let tile:
|
|
21
|
+
| typeof treemapSquarify
|
|
22
|
+
| 'binary'
|
|
23
|
+
| 'squarify'
|
|
24
|
+
| 'resquarify'
|
|
25
|
+
| 'dice'
|
|
26
|
+
| 'slice'
|
|
27
|
+
| 'sliceDice' = treemapSquarify;
|
|
28
|
+
export let padding = 0;
|
|
29
|
+
export let paddingInner = 0;
|
|
30
|
+
export let paddingOuter = 0;
|
|
31
|
+
export let paddingTop = 0;
|
|
32
|
+
export let paddingBottom = 0;
|
|
33
|
+
export let paddingLeft: number | undefined = undefined;
|
|
34
|
+
export let paddingRight: number | undefined = undefined;
|
|
35
|
+
|
|
36
|
+
export let selected: HierarchyRectangularNode<any> | null | undefined = null;
|
|
37
|
+
|
|
38
|
+
$: tileFunc =
|
|
15
39
|
tile === 'squarify'
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
40
|
+
? treemapSquarify
|
|
41
|
+
: tile === 'resquarify'
|
|
42
|
+
? treemapResquarify
|
|
43
|
+
: tile === 'binary'
|
|
44
|
+
? treemapBinary
|
|
45
|
+
: tile === 'dice'
|
|
46
|
+
? treemapDice
|
|
47
|
+
: tile === 'slice'
|
|
48
|
+
? treemapSlice
|
|
49
|
+
: tile === 'sliceDice'
|
|
50
|
+
? treemapSliceDice
|
|
51
|
+
: tile;
|
|
52
|
+
|
|
53
|
+
let treemap: TreemapLayout<any>;
|
|
54
|
+
$: {
|
|
30
55
|
treemap = d3treemap()
|
|
31
|
-
|
|
32
|
-
|
|
56
|
+
.size([$width, $height])
|
|
57
|
+
.tile(aspectTile(tileFunc, $width, $height));
|
|
58
|
+
|
|
33
59
|
if (padding) {
|
|
34
|
-
|
|
60
|
+
treemap.padding(padding);
|
|
35
61
|
}
|
|
36
62
|
if (paddingInner) {
|
|
37
|
-
|
|
63
|
+
treemap.paddingInner(paddingInner);
|
|
38
64
|
}
|
|
39
65
|
if (paddingOuter) {
|
|
40
|
-
|
|
66
|
+
treemap.paddingOuter(paddingOuter);
|
|
41
67
|
}
|
|
42
68
|
if (paddingTop) {
|
|
43
|
-
|
|
69
|
+
treemap.paddingTop(paddingTop);
|
|
44
70
|
}
|
|
45
71
|
if (paddingBottom) {
|
|
46
|
-
|
|
72
|
+
treemap.paddingBottom(paddingBottom);
|
|
47
73
|
}
|
|
48
74
|
if (paddingLeft) {
|
|
49
|
-
|
|
75
|
+
treemap.paddingLeft(paddingLeft);
|
|
50
76
|
}
|
|
51
77
|
if (paddingRight) {
|
|
52
|
-
|
|
78
|
+
treemap.paddingRight(paddingRight);
|
|
53
79
|
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
$: treemapData = treemap($data as HierarchyNode<any>);
|
|
83
|
+
|
|
84
|
+
// TODO: Remove selected
|
|
85
|
+
$: selected = treemapData; // set initial selection
|
|
58
86
|
</script>
|
|
59
87
|
|
|
60
88
|
<slot nodes={treemapData.descendants()} />
|
|
@@ -1,41 +1,68 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { createEventDispatcher } from 'svelte';
|
|
3
|
+
import { min } from 'd3-array';
|
|
4
|
+
import { Delaunay } from 'd3-delaunay';
|
|
5
|
+
import type { GeoPermissibleObjects } from 'd3-geo';
|
|
6
|
+
// @ts-expect-error
|
|
7
|
+
import { geoVoronoi } from 'd3-geo-voronoi';
|
|
8
|
+
import { pointRadial } from 'd3-shape';
|
|
9
|
+
import { cls } from '@layerstack/tailwind';
|
|
10
|
+
|
|
11
|
+
import { chartContext } from './ChartContext.svelte';
|
|
12
|
+
import GeoPath from './GeoPath.svelte';
|
|
13
|
+
import { geoContext, type GeoContext } from './GeoContext.svelte';
|
|
14
|
+
|
|
15
|
+
const { flatData, xGet, yGet, x: xContext, y: yContext, width, height, radial } = chartContext();
|
|
16
|
+
const geo = geoContext() as GeoContext | undefined;
|
|
17
|
+
|
|
18
|
+
/** Override data instead of using context */
|
|
19
|
+
export let data: any = undefined;
|
|
20
|
+
|
|
21
|
+
export let classes: {
|
|
22
|
+
root?: string;
|
|
23
|
+
path?: string;
|
|
24
|
+
} = {};
|
|
25
|
+
|
|
26
|
+
const dispatch = createEventDispatcher<{
|
|
27
|
+
click: { data: any; point?: [number, number]; feature?: GeoPermissibleObjects };
|
|
28
|
+
pointerenter: {
|
|
29
|
+
event: PointerEvent;
|
|
30
|
+
data: any;
|
|
31
|
+
point?: [number, number];
|
|
32
|
+
feature?: GeoPermissibleObjects;
|
|
33
|
+
};
|
|
34
|
+
pointermove: {
|
|
35
|
+
event: PointerEvent;
|
|
36
|
+
data: any;
|
|
37
|
+
point?: [number, number];
|
|
38
|
+
feature?: GeoPermissibleObjects;
|
|
39
|
+
};
|
|
40
|
+
}>();
|
|
41
|
+
|
|
42
|
+
$: points = (data ?? $flatData).map((d: any) => {
|
|
18
43
|
// geo voronoi needs raw latitude/longtude, not mapped to range (chart dimensions)
|
|
19
44
|
const xValue = $geo ? $xContext(d) : $xGet(d);
|
|
20
45
|
const yValue = $geo ? $yContext(d) : $yGet(d);
|
|
46
|
+
|
|
21
47
|
const x = Array.isArray(xValue) ? min(xValue) : xValue;
|
|
22
48
|
const y = Array.isArray(yValue) ? min(yValue) : yValue;
|
|
23
|
-
|
|
49
|
+
|
|
50
|
+
let point: [number, number];
|
|
24
51
|
if ($radial) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
point = [x, y];
|
|
52
|
+
const radialPoint = pointRadial(x, y);
|
|
53
|
+
// Assume radial is also centered
|
|
54
|
+
point = [radialPoint[0] + $width / 2, radialPoint[1] + $height / 2];
|
|
55
|
+
} else {
|
|
56
|
+
point = [x, y];
|
|
31
57
|
}
|
|
32
58
|
// @ts-expect-error
|
|
33
59
|
point.data = d;
|
|
34
60
|
return point;
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
$:
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// Width and/or height can sometimes be negative (when loading data remotely and updately)
|
|
64
|
+
$: boundWidth = Math.max($width, 0);
|
|
65
|
+
$: boundHeight = Math.max($height, 0);
|
|
39
66
|
</script>
|
|
40
67
|
|
|
41
68
|
<g {...$$restProps} class={cls(classes.root, $$props.class)}>
|
|
@@ -1,91 +1,142 @@
|
|
|
1
|
-
<script generics="TData">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
export let
|
|
36
|
-
|
|
1
|
+
<script lang="ts" generics="TData">
|
|
2
|
+
import { type ComponentProps } from 'svelte';
|
|
3
|
+
import { scaleLinear, scaleOrdinal, scaleTime } from 'd3-scale';
|
|
4
|
+
import { stack, stackOffsetDiverging, stackOffsetExpand, stackOffsetNone } from 'd3-shape';
|
|
5
|
+
import { sum } from 'd3-array';
|
|
6
|
+
import { format } from '@layerstack/utils';
|
|
7
|
+
|
|
8
|
+
import Area from '../Area.svelte';
|
|
9
|
+
import Axis from '../Axis.svelte';
|
|
10
|
+
import Chart from '../Chart.svelte';
|
|
11
|
+
import Grid from '../Grid.svelte';
|
|
12
|
+
import Highlight from '../Highlight.svelte';
|
|
13
|
+
import Labels from '../Labels.svelte';
|
|
14
|
+
import Legend from '../Legend.svelte';
|
|
15
|
+
import Line from '../Line.svelte';
|
|
16
|
+
import Points from '../Points.svelte';
|
|
17
|
+
import Rule from '../Rule.svelte';
|
|
18
|
+
import Svg from '../layout/Svg.svelte';
|
|
19
|
+
import * as Tooltip from '../tooltip/index.js';
|
|
20
|
+
|
|
21
|
+
import { accessor, chartDataArray, type Accessor } from '../../utils/common.js';
|
|
22
|
+
|
|
23
|
+
interface $$Props extends ComponentProps<Chart<TData>> {
|
|
24
|
+
axis?: typeof axis;
|
|
25
|
+
grid?: typeof grid;
|
|
26
|
+
labels?: typeof labels;
|
|
27
|
+
legend?: typeof legend;
|
|
28
|
+
points?: typeof points;
|
|
29
|
+
props?: typeof props;
|
|
30
|
+
rule?: typeof rule;
|
|
31
|
+
series?: typeof series;
|
|
32
|
+
seriesLayout?: typeof seriesLayout;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export let data: $$Props['data'] = [];
|
|
36
|
+
export let x: Accessor<TData> = undefined;
|
|
37
|
+
export let y: Accessor<TData> = undefined;
|
|
38
|
+
|
|
39
|
+
/** 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 */
|
|
40
|
+
export let radial = false;
|
|
41
|
+
|
|
42
|
+
export let series: {
|
|
43
|
+
key: string;
|
|
44
|
+
label?: string;
|
|
45
|
+
value?: Accessor<TData>;
|
|
46
|
+
/** Provider series data, else uses chart data (with value/key accessor) */
|
|
47
|
+
data?: TData[];
|
|
48
|
+
color?: string;
|
|
49
|
+
props?: Partial<ComponentProps<Area>>;
|
|
50
|
+
}[] = [{ key: 'default', value: y, color: 'hsl(var(--color-primary))' }];
|
|
51
|
+
$: isDefaultSeries = series.length === 1 && series[0].key === 'default';
|
|
52
|
+
|
|
53
|
+
/** Determine how to layout series. Overlap (default) or stack */
|
|
54
|
+
export let seriesLayout: 'overlap' | 'stack' | 'stackExpand' | 'stackDiverging' = 'overlap';
|
|
55
|
+
$: stackSeries = seriesLayout.startsWith('stack');
|
|
56
|
+
|
|
57
|
+
export let axis: ComponentProps<Axis> | 'x' | 'y' | boolean = true;
|
|
58
|
+
export let grid: ComponentProps<Grid> | boolean = true;
|
|
59
|
+
export let rule: ComponentProps<Rule> | boolean = true;
|
|
60
|
+
export let labels: ComponentProps<Labels> | boolean = false;
|
|
61
|
+
export let legend: ComponentProps<Legend> | boolean = false;
|
|
62
|
+
export let points: ComponentProps<Points> | boolean = false;
|
|
63
|
+
|
|
64
|
+
export let props: {
|
|
65
|
+
xAxis?: Partial<ComponentProps<Axis>>;
|
|
66
|
+
yAxis?: Partial<ComponentProps<Axis>>;
|
|
67
|
+
grid?: Partial<ComponentProps<Grid>>;
|
|
68
|
+
rule?: Partial<ComponentProps<Rule>>;
|
|
69
|
+
area?: Partial<ComponentProps<Area>>;
|
|
70
|
+
line?: Partial<ComponentProps<Line>>;
|
|
71
|
+
legend?: Partial<ComponentProps<Legend>>;
|
|
72
|
+
points?: Partial<ComponentProps<Points>>;
|
|
73
|
+
highlight?: Partial<ComponentProps<Highlight>>;
|
|
74
|
+
labels?: Partial<ComponentProps<Labels>>;
|
|
75
|
+
} = {};
|
|
76
|
+
|
|
77
|
+
$: allSeriesData = series
|
|
37
78
|
.flatMap((s) => s.data?.map((d) => ({ seriesKey: s.key, ...d })))
|
|
38
|
-
.filter((d) => d)
|
|
39
|
-
|
|
40
|
-
$:
|
|
79
|
+
.filter((d) => d) as Array<TData & { stackData?: any }>;
|
|
80
|
+
|
|
81
|
+
$: chartData = (allSeriesData.length ? allSeriesData : chartDataArray(data)) as Array<
|
|
82
|
+
TData & { stackData?: any }
|
|
83
|
+
>;
|
|
84
|
+
|
|
85
|
+
$: if (stackSeries) {
|
|
41
86
|
const seriesKeys = series.map((s) => s.key);
|
|
42
|
-
const offset =
|
|
87
|
+
const offset =
|
|
88
|
+
seriesLayout === 'stackExpand'
|
|
43
89
|
? stackOffsetExpand
|
|
44
90
|
: seriesLayout === 'stackDiverging'
|
|
45
|
-
|
|
46
|
-
|
|
91
|
+
? stackOffsetDiverging
|
|
92
|
+
: stackOffsetNone;
|
|
47
93
|
const stackData = stack()
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const s = series.find((d) => d.key === key)
|
|
51
|
-
return accessor(s.value ?? s.key)(d);
|
|
52
|
-
|
|
53
|
-
|
|
94
|
+
.keys(seriesKeys)
|
|
95
|
+
.value((d, key) => {
|
|
96
|
+
const s = series.find((d) => d.key === key)!;
|
|
97
|
+
return accessor(s.value ?? s.key)(d as any);
|
|
98
|
+
})
|
|
99
|
+
.offset(offset)(chartDataArray(data)) as any[];
|
|
100
|
+
|
|
54
101
|
chartData = chartData.map((d, i) => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
102
|
+
return {
|
|
103
|
+
...d,
|
|
104
|
+
stackData: stackData.map((sd) => sd[i]),
|
|
105
|
+
};
|
|
59
106
|
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Default xScale based on first data's `x` value
|
|
110
|
+
$: xScale = accessor(x)(chartData[0]) instanceof Date ? scaleTime() : scaleLinear();
|
|
111
|
+
|
|
112
|
+
function getAreaProps(s: (typeof series)[number], i: number) {
|
|
64
113
|
const lineProps = {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
114
|
+
...props.line,
|
|
115
|
+
...(typeof props.area?.line === 'object' ? props.area.line : null),
|
|
116
|
+
...(typeof s.props?.line === 'object' ? s.props.line : null),
|
|
68
117
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
118
|
+
|
|
119
|
+
const areaProps: ComponentProps<Area> = {
|
|
120
|
+
data: s.data,
|
|
121
|
+
y0: stackSeries ? (d) => d.stackData[i][0] : Array.isArray(s.value) ? s.value[0] : undefined,
|
|
122
|
+
y1: stackSeries
|
|
123
|
+
? (d) => d.stackData[i][1]
|
|
124
|
+
: Array.isArray(s.value)
|
|
125
|
+
? s.value[1]
|
|
126
|
+
: (s.value ?? s.key),
|
|
127
|
+
fill: s.color,
|
|
128
|
+
'fill-opacity': 0.3,
|
|
129
|
+
...props.area,
|
|
130
|
+
...s.props,
|
|
131
|
+
line: {
|
|
132
|
+
class: !('stroke-width' in lineProps) ? 'stroke-2' : '',
|
|
133
|
+
stroke: s.color,
|
|
134
|
+
...lineProps,
|
|
135
|
+
},
|
|
86
136
|
};
|
|
137
|
+
|
|
87
138
|
return areaProps;
|
|
88
|
-
}
|
|
139
|
+
}
|
|
89
140
|
</script>
|
|
90
141
|
|
|
91
142
|
<Chart
|
|
@@ -141,6 +192,16 @@ function getAreaProps(s, i) {
|
|
|
141
192
|
{/if}
|
|
142
193
|
</slot>
|
|
143
194
|
|
|
195
|
+
<slot name="belowMarks" {...slotProps} />
|
|
196
|
+
|
|
197
|
+
<slot name="marks" {...slotProps}>
|
|
198
|
+
{#each series as s, i}
|
|
199
|
+
<Area {...getAreaProps(s, i)} />
|
|
200
|
+
{/each}
|
|
201
|
+
</slot>
|
|
202
|
+
|
|
203
|
+
<slot name="aboveMarks" {...slotProps} />
|
|
204
|
+
|
|
144
205
|
<slot name="axis" {...slotProps}>
|
|
145
206
|
{#if axis}
|
|
146
207
|
{#if axis !== 'x'}
|
|
@@ -173,16 +234,6 @@ function getAreaProps(s, i) {
|
|
|
173
234
|
{/if}
|
|
174
235
|
</slot>
|
|
175
236
|
|
|
176
|
-
<slot name="below-marks" {...slotProps} />
|
|
177
|
-
|
|
178
|
-
<slot name="marks" {...slotProps}>
|
|
179
|
-
{#each series as s, i}
|
|
180
|
-
<Area {...getAreaProps(s, i)} />
|
|
181
|
-
{/each}
|
|
182
|
-
</slot>
|
|
183
|
-
|
|
184
|
-
<slot name="above-marks" {...slotProps} />
|
|
185
|
-
|
|
186
237
|
{#if points}
|
|
187
238
|
{#each series as s}
|
|
188
239
|
<Points
|
|
@@ -254,7 +254,7 @@ declare class __sveltets_Render<TData> {
|
|
|
254
254
|
tickValues?: any[] | undefined;
|
|
255
255
|
tickFontSize?: number | undefined;
|
|
256
256
|
tickLength?: number | undefined;
|
|
257
|
-
placement?: ("
|
|
257
|
+
placement?: ("center" | "left" | "right" | "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right") | undefined;
|
|
258
258
|
orientation?: ("horizontal" | "vertical") | undefined;
|
|
259
259
|
variant?: ("ramp" | "swatches") | undefined;
|
|
260
260
|
classes?: {
|
|
@@ -315,10 +315,10 @@ declare class __sveltets_Render<TData> {
|
|
|
315
315
|
slots(): {
|
|
316
316
|
default: any;
|
|
317
317
|
grid: any;
|
|
318
|
-
|
|
319
|
-
'below-marks': any;
|
|
318
|
+
belowMarks: any;
|
|
320
319
|
marks: any;
|
|
321
|
-
|
|
320
|
+
aboveMarks: any;
|
|
321
|
+
axis: any;
|
|
322
322
|
highlight: any;
|
|
323
323
|
legend: any;
|
|
324
324
|
tooltip: any;
|