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.
Files changed (105) hide show
  1. package/dist/components/Arc.svelte +170 -144
  2. package/dist/components/Area.svelte +96 -67
  3. package/dist/components/Area.svelte.d.ts +1 -0
  4. package/dist/components/Axis.svelte +205 -155
  5. package/dist/components/Bar.svelte +72 -45
  6. package/dist/components/Bars.svelte +45 -34
  7. package/dist/components/Blur.svelte +5 -3
  8. package/dist/components/Bounds.svelte +37 -21
  9. package/dist/components/Brush.svelte +269 -112
  10. package/dist/components/Brush.svelte.d.ts +7 -0
  11. package/dist/components/Calendar.svelte +51 -38
  12. package/dist/components/Chart.svelte +295 -74
  13. package/dist/components/Chart.svelte.d.ts +17 -17
  14. package/dist/components/ChartClipPath.svelte +8 -5
  15. package/dist/components/ChartContext.svelte +243 -93
  16. package/dist/components/ChartContext.svelte.d.ts +15 -23
  17. package/dist/components/Circle.svelte +25 -16
  18. package/dist/components/CircleClipPath.svelte +16 -10
  19. package/dist/components/ClipPath.svelte +11 -7
  20. package/dist/components/ColorRamp.svelte +12 -10
  21. package/dist/components/ForceSimulation.svelte +185 -116
  22. package/dist/components/Frame.svelte +10 -6
  23. package/dist/components/GeoCircle.svelte +15 -9
  24. package/dist/components/GeoContext.svelte +109 -62
  25. package/dist/components/GeoEdgeFade.svelte +20 -14
  26. package/dist/components/GeoPath.svelte +107 -69
  27. package/dist/components/GeoPoint.svelte +32 -18
  28. package/dist/components/GeoSpline.svelte +30 -22
  29. package/dist/components/GeoTile.svelte +40 -30
  30. package/dist/components/GeoVisible.svelte +10 -7
  31. package/dist/components/Graticule.svelte +14 -8
  32. package/dist/components/Grid.svelte +75 -48
  33. package/dist/components/Group.svelte +43 -31
  34. package/dist/components/Highlight.svelte +284 -243
  35. package/dist/components/HitCanvas.svelte +75 -42
  36. package/dist/components/Hull.svelte +40 -20
  37. package/dist/components/Labels.svelte +81 -70
  38. package/dist/components/Legend.svelte +105 -74
  39. package/dist/components/Legend.svelte.d.ts +1 -1
  40. package/dist/components/Line.svelte +65 -19
  41. package/dist/components/Line.svelte.d.ts +13 -1
  42. package/dist/components/LinearGradient.svelte +21 -15
  43. package/dist/components/Link.svelte +94 -22
  44. package/dist/components/Link.svelte.d.ts +17 -1
  45. package/dist/components/Marker.svelte +81 -0
  46. package/dist/components/Marker.svelte.d.ts +28 -0
  47. package/dist/components/MonthPath.svelte +23 -16
  48. package/dist/components/MotionPath.svelte +34 -25
  49. package/dist/components/Pack.svelte +21 -14
  50. package/dist/components/Partition.svelte +35 -20
  51. package/dist/components/Pattern.svelte +8 -6
  52. package/dist/components/Pie.svelte +76 -57
  53. package/dist/components/Point.svelte +11 -7
  54. package/dist/components/Points.svelte +178 -143
  55. package/dist/components/RadialGradient.svelte +25 -18
  56. package/dist/components/Rect.svelte +33 -19
  57. package/dist/components/RectClipPath.svelte +16 -11
  58. package/dist/components/Rule.svelte +50 -42
  59. package/dist/components/Sankey.svelte +55 -30
  60. package/dist/components/Spline.svelte +167 -96
  61. package/dist/components/Spline.svelte.d.ts +15 -0
  62. package/dist/components/Text.svelte +137 -104
  63. package/dist/components/Threshold.svelte +18 -7
  64. package/dist/components/TileImage.svelte +56 -50
  65. package/dist/components/TransformContext.svelte +235 -135
  66. package/dist/components/TransformControls.svelte +57 -29
  67. package/dist/components/TransformControls.svelte.d.ts +1 -1
  68. package/dist/components/Tree.svelte +33 -23
  69. package/dist/components/Treemap.svelte +69 -41
  70. package/dist/components/Voronoi.svelte +55 -28
  71. package/dist/components/charts/AreaChart.svelte +138 -87
  72. package/dist/components/charts/AreaChart.svelte.d.ts +4 -4
  73. package/dist/components/charts/BarChart.svelte +179 -114
  74. package/dist/components/charts/BarChart.svelte.d.ts +4 -4
  75. package/dist/components/charts/LineChart.svelte +97 -53
  76. package/dist/components/charts/LineChart.svelte.d.ts +4 -4
  77. package/dist/components/charts/PieChart.svelte +104 -54
  78. package/dist/components/charts/PieChart.svelte.d.ts +3 -3
  79. package/dist/components/charts/ScatterChart.svelte +83 -48
  80. package/dist/components/charts/ScatterChart.svelte.d.ts +4 -4
  81. package/dist/components/layout/Canvas.svelte +63 -43
  82. package/dist/components/layout/Html.svelte +28 -18
  83. package/dist/components/layout/Svg.svelte +47 -32
  84. package/dist/components/tooltip/Tooltip.svelte +137 -91
  85. package/dist/components/tooltip/Tooltip.svelte.d.ts +1 -1
  86. package/dist/components/tooltip/TooltipContext.svelte +315 -249
  87. package/dist/components/tooltip/TooltipHeader.svelte +9 -3
  88. package/dist/components/tooltip/TooltipItem.svelte +17 -9
  89. package/dist/components/tooltip/TooltipList.svelte +2 -1
  90. package/dist/components/tooltip/TooltipSeparator.svelte +3 -2
  91. package/dist/docs/Blockquote.svelte +4 -3
  92. package/dist/docs/Code.svelte +15 -8
  93. package/dist/docs/CurveMenuField.svelte +17 -12
  94. package/dist/docs/GeoDebug.svelte +13 -9
  95. package/dist/docs/Header1.svelte +2 -1
  96. package/dist/docs/Json.svelte +6 -4
  97. package/dist/docs/Layout.svelte +6 -6
  98. package/dist/docs/PathDataMenuField.svelte +52 -44
  99. package/dist/docs/Preview.svelte +39 -33
  100. package/dist/docs/TilesetField.svelte +80 -62
  101. package/dist/docs/TransformDebug.svelte +8 -5
  102. package/dist/docs/ViewSourceButton.svelte +13 -9
  103. package/dist/stores/motionStore.d.ts +1 -1
  104. package/dist/utils/scales.d.ts +3 -3
  105. package/package.json +29 -30
@@ -1,60 +1,88 @@
1
- <script>import { treemap as d3treemap, treemapBinary, treemapDice, treemapResquarify, treemapSlice, treemapSliceDice, treemapSquarify, } from 'd3-hierarchy';
2
- import { chartContext } from './ChartContext.svelte';
3
- import { aspectTile } from '../utils/treemap.js';
4
- const { data, width, height } = chartContext();
5
- export let tile = treemapSquarify;
6
- export let padding = 0;
7
- export let paddingInner = 0;
8
- export let paddingOuter = 0;
9
- export let paddingTop = 0;
10
- export let paddingBottom = 0;
11
- export let paddingLeft = undefined;
12
- export let paddingRight = undefined;
13
- export let selected = null;
14
- $: tileFunc =
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
- ? treemapSquarify
17
- : tile === 'resquarify'
18
- ? treemapResquarify
19
- : tile === 'binary'
20
- ? treemapBinary
21
- : tile === 'dice'
22
- ? treemapDice
23
- : tile === 'slice'
24
- ? treemapSlice
25
- : tile === 'sliceDice'
26
- ? treemapSliceDice
27
- : tile;
28
- let treemap;
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
- .size([$width, $height])
32
- .tile(aspectTile(tileFunc, $width, $height));
56
+ .size([$width, $height])
57
+ .tile(aspectTile(tileFunc, $width, $height));
58
+
33
59
  if (padding) {
34
- treemap.padding(padding);
60
+ treemap.padding(padding);
35
61
  }
36
62
  if (paddingInner) {
37
- treemap.paddingInner(paddingInner);
63
+ treemap.paddingInner(paddingInner);
38
64
  }
39
65
  if (paddingOuter) {
40
- treemap.paddingOuter(paddingOuter);
66
+ treemap.paddingOuter(paddingOuter);
41
67
  }
42
68
  if (paddingTop) {
43
- treemap.paddingTop(paddingTop);
69
+ treemap.paddingTop(paddingTop);
44
70
  }
45
71
  if (paddingBottom) {
46
- treemap.paddingBottom(paddingBottom);
72
+ treemap.paddingBottom(paddingBottom);
47
73
  }
48
74
  if (paddingLeft) {
49
- treemap.paddingLeft(paddingLeft);
75
+ treemap.paddingLeft(paddingLeft);
50
76
  }
51
77
  if (paddingRight) {
52
- treemap.paddingRight(paddingRight);
78
+ treemap.paddingRight(paddingRight);
53
79
  }
54
- }
55
- $: treemapData = treemap($data);
56
- // TODO: Remove selected
57
- $: selected = treemapData; // set initial selection
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>import { createEventDispatcher } from 'svelte';
2
- import { min } from 'd3-array';
3
- import { Delaunay } from 'd3-delaunay';
4
- // @ts-expect-error
5
- import { geoVoronoi } from 'd3-geo-voronoi';
6
- import { pointRadial } from 'd3-shape';
7
- import { cls } from '@layerstack/tailwind';
8
- import { chartContext } from './ChartContext.svelte';
9
- import GeoPath from './GeoPath.svelte';
10
- import { geoContext } from './GeoContext.svelte';
11
- const { flatData, xGet, yGet, x: xContext, y: yContext, width, height, radial } = chartContext();
12
- const geo = geoContext();
13
- /** Override data instead of using context */
14
- export let data = undefined;
15
- export let classes = {};
16
- const dispatch = createEventDispatcher();
17
- $: points = (data ?? $flatData).map((d) => {
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
- let point;
49
+
50
+ let point: [number, number];
24
51
  if ($radial) {
25
- const radialPoint = pointRadial(x, y);
26
- // Assume radial is also centered
27
- point = [radialPoint[0] + $width / 2, radialPoint[1] + $height / 2];
28
- }
29
- else {
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
- // Width and/or height can sometimes be negative (when loading data remotely and updately)
37
- $: boundWidth = Math.max($width, 0);
38
- $: boundHeight = Math.max($height, 0);
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">import {} from 'svelte';
2
- import { scaleLinear, scaleOrdinal, scaleTime } from 'd3-scale';
3
- import { stack, stackOffsetDiverging, stackOffsetExpand, stackOffsetNone } from 'd3-shape';
4
- import { sum } from 'd3-array';
5
- import { format } from '@layerstack/utils';
6
- import Area from '../Area.svelte';
7
- import Axis from '../Axis.svelte';
8
- import Chart from '../Chart.svelte';
9
- import Grid from '../Grid.svelte';
10
- import Highlight from '../Highlight.svelte';
11
- import Labels from '../Labels.svelte';
12
- import Legend from '../Legend.svelte';
13
- import Line from '../Line.svelte';
14
- import Points from '../Points.svelte';
15
- import Rule from '../Rule.svelte';
16
- import Svg from '../layout/Svg.svelte';
17
- import * as Tooltip from '../tooltip/index.js';
18
- import { accessor, chartDataArray } from '../../utils/common.js';
19
- export let data = [];
20
- export let x = undefined;
21
- export let y = undefined;
22
- /** 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 */
23
- export let radial = false;
24
- export let series = [{ key: 'default', value: y, color: 'hsl(var(--color-primary))' }];
25
- $: isDefaultSeries = series.length === 1 && series[0].key === 'default';
26
- /** Determine how to layout series. Overlap (default) or stack */
27
- export let seriesLayout = 'overlap';
28
- $: stackSeries = seriesLayout.startsWith('stack');
29
- export let axis = true;
30
- export let grid = true;
31
- export let rule = true;
32
- export let labels = false;
33
- export let legend = false;
34
- export let points = false;
35
- export let props = {};
36
- $: allSeriesData = series
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
- $: chartData = (allSeriesData.length ? allSeriesData : chartDataArray(data));
40
- $: if (stackSeries) {
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 = seriesLayout === 'stackExpand'
87
+ const offset =
88
+ seriesLayout === 'stackExpand'
43
89
  ? stackOffsetExpand
44
90
  : seriesLayout === 'stackDiverging'
45
- ? stackOffsetDiverging
46
- : stackOffsetNone;
91
+ ? stackOffsetDiverging
92
+ : stackOffsetNone;
47
93
  const stackData = stack()
48
- .keys(seriesKeys)
49
- .value((d, key) => {
50
- const s = series.find((d) => d.key === key);
51
- return accessor(s.value ?? s.key)(d);
52
- })
53
- .offset(offset)(chartDataArray(data));
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
- return {
56
- ...d,
57
- stackData: stackData.map((sd) => sd[i]),
58
- };
102
+ return {
103
+ ...d,
104
+ stackData: stackData.map((sd) => sd[i]),
105
+ };
59
106
  });
60
- }
61
- // Default xScale based on first data's `x` value
62
- $: xScale = accessor(x)(chartData[0]) instanceof Date ? scaleTime() : scaleLinear();
63
- function getAreaProps(s, i) {
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
- ...props.line,
66
- ...(typeof props.area?.line === 'object' ? props.area.line : null),
67
- ...(typeof s.props?.line === 'object' ? s.props.line : null),
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
- const areaProps = {
70
- data: s.data,
71
- y0: stackSeries ? (d) => d.stackData[i][0] : Array.isArray(s.value) ? s.value[0] : undefined,
72
- y1: stackSeries
73
- ? (d) => d.stackData[i][1]
74
- : Array.isArray(s.value)
75
- ? s.value[1]
76
- : (s.value ?? s.key),
77
- fill: s.color,
78
- 'fill-opacity': 0.3,
79
- ...props.area,
80
- ...s.props,
81
- line: {
82
- class: !('stroke-width' in lineProps) ? 'stroke-2' : '',
83
- stroke: s.color,
84
- ...lineProps,
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?: ("left" | "right" | "center" | "bottom" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right") | undefined;
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
- axis: any;
319
- 'below-marks': any;
318
+ belowMarks: any;
320
319
  marks: any;
321
- 'above-marks': any;
320
+ aboveMarks: any;
321
+ axis: any;
322
322
  highlight: any;
323
323
  legend: any;
324
324
  tooltip: any;