layerchart 0.44.0 → 0.51.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 (116) hide show
  1. package/dist/components/Arc.svelte +18 -1
  2. package/dist/components/Arc.svelte.d.ts +3 -0
  3. package/dist/components/Area.svelte +49 -18
  4. package/dist/components/Area.svelte.d.ts +0 -1
  5. package/dist/components/Axis.svelte +2 -1
  6. package/dist/components/Axis.svelte.d.ts +2 -1
  7. package/dist/components/Bar.svelte +18 -8
  8. package/dist/components/Bar.svelte.d.ts +6 -3
  9. package/dist/components/Bars.svelte +18 -11
  10. package/dist/components/Bars.svelte.d.ts +3 -3
  11. package/dist/components/Blur.svelte +1 -1
  12. package/dist/components/Brush.svelte +2 -1
  13. package/dist/components/Calendar.svelte +2 -2
  14. package/dist/components/Calendar.svelte.d.ts +1 -1
  15. package/dist/components/Chart.svelte +85 -25
  16. package/dist/components/Chart.svelte.d.ts +77 -37
  17. package/dist/components/ChartContext.svelte +124 -6
  18. package/dist/components/ChartContext.svelte.d.ts +50 -2
  19. package/dist/components/Circle.svelte +1 -1
  20. package/dist/components/CircleClipPath.svelte +1 -1
  21. package/dist/components/ClipPath.svelte +1 -1
  22. package/dist/components/GeoPath.svelte +1 -1
  23. package/dist/components/GeoPath.svelte.d.ts +1 -1
  24. package/dist/components/Highlight.svelte +45 -19
  25. package/dist/components/Highlight.svelte.d.ts +2 -3
  26. package/dist/components/HitCanvas.svelte +1 -1
  27. package/dist/components/Hull.svelte +1 -1
  28. package/dist/components/Labels.svelte +39 -73
  29. package/dist/components/Labels.svelte.d.ts +2 -5
  30. package/dist/components/Legend.svelte +5 -5
  31. package/dist/components/Legend.svelte.d.ts +2 -2
  32. package/dist/components/Line.svelte +1 -1
  33. package/dist/components/LinearGradient.svelte +1 -1
  34. package/dist/components/MotionPath.svelte +1 -1
  35. package/dist/components/Pie.svelte +18 -41
  36. package/dist/components/Pie.svelte.d.ts +2 -3
  37. package/dist/components/Points.svelte +110 -56
  38. package/dist/components/Points.svelte.d.ts +20 -2
  39. package/dist/components/RadialGradient.svelte +1 -1
  40. package/dist/components/Rect.svelte +2 -1
  41. package/dist/components/Rect.svelte.d.ts +1 -0
  42. package/dist/components/RectClipPath.svelte +1 -1
  43. package/dist/components/Rule.svelte +1 -1
  44. package/dist/components/Spline.svelte +26 -18
  45. package/dist/components/Spline.svelte.d.ts +1 -1
  46. package/dist/components/Text.svelte +1 -1
  47. package/dist/components/Threshold.svelte +19 -81
  48. package/dist/components/Threshold.svelte.d.ts +13 -20
  49. package/dist/components/TransformContext.svelte.d.ts +2 -2
  50. package/dist/components/TransformControls.svelte +2 -1
  51. package/dist/components/TransformControls.svelte.d.ts +2 -2
  52. package/dist/components/Voronoi.svelte +15 -5
  53. package/dist/components/Voronoi.svelte.d.ts +6 -1
  54. package/dist/components/charts/AreaChart.svelte +182 -0
  55. package/dist/components/charts/AreaChart.svelte.d.ts +261 -0
  56. package/dist/components/charts/BarChart.svelte +207 -0
  57. package/dist/components/charts/BarChart.svelte.d.ts +241 -0
  58. package/dist/components/charts/LineChart.svelte +138 -0
  59. package/dist/components/charts/LineChart.svelte.d.ts +260 -0
  60. package/dist/components/charts/PieChart.svelte +146 -0
  61. package/dist/components/charts/PieChart.svelte.d.ts +220 -0
  62. package/dist/components/charts/ScatterChart.svelte +133 -0
  63. package/dist/components/charts/ScatterChart.svelte.d.ts +236 -0
  64. package/dist/components/charts/index.d.ts +5 -0
  65. package/dist/components/charts/index.js +5 -0
  66. package/dist/components/index.d.ts +2 -6
  67. package/dist/components/index.js +3 -6
  68. package/dist/components/layout/Canvas.svelte +1 -1
  69. package/dist/components/layout/Html.svelte +1 -1
  70. package/dist/components/layout/Svg.svelte +14 -4
  71. package/dist/components/layout/Svg.svelte.d.ts +1 -0
  72. package/dist/components/{Tooltip.svelte → tooltip/Tooltip.svelte} +5 -28
  73. package/dist/components/{Tooltip.svelte.d.ts → tooltip/Tooltip.svelte.d.ts} +1 -5
  74. package/dist/components/{TooltipContext.svelte → tooltip/TooltipContext.svelte} +20 -12
  75. package/dist/components/tooltip/TooltipHeader.svelte +21 -0
  76. package/dist/components/tooltip/TooltipHeader.svelte.d.ts +23 -0
  77. package/dist/components/tooltip/TooltipItem.svelte +37 -0
  78. package/dist/components/{TooltipItem.svelte.d.ts → tooltip/TooltipItem.svelte.d.ts} +4 -1
  79. package/dist/components/tooltip/TooltipList.svelte +12 -0
  80. package/dist/components/tooltip/TooltipList.svelte.d.ts +18 -0
  81. package/dist/components/tooltip/TooltipSeparator.svelte +4 -0
  82. package/dist/components/tooltip/index.d.ts +6 -0
  83. package/dist/components/tooltip/index.js +6 -0
  84. package/dist/docs/Blockquote.svelte +2 -1
  85. package/dist/docs/Code.svelte +2 -1
  86. package/dist/docs/CurveMenuField.svelte +2 -1
  87. package/dist/docs/GeoDebug.svelte +3 -1
  88. package/dist/docs/Json.svelte +1 -1
  89. package/dist/docs/Preview.svelte +2 -1
  90. package/dist/docs/TransformDebug.svelte +2 -1
  91. package/dist/utils/common.d.ts +1 -1
  92. package/dist/utils/common.js +2 -2
  93. package/dist/utils/common.test.d.ts +8 -0
  94. package/dist/utils/common.test.js +38 -0
  95. package/dist/utils/event.js +1 -1
  96. package/dist/utils/genData.d.ts +2 -2
  97. package/dist/utils/genData.js +20 -20
  98. package/dist/utils/math.d.ts +2 -2
  99. package/dist/utils/math.js +8 -2
  100. package/dist/utils/rect.d.ts +4 -10
  101. package/dist/utils/rect.js +15 -19
  102. package/dist/utils/scales.d.ts +8 -2
  103. package/dist/utils/scales.js +15 -1
  104. package/dist/utils/stack.d.ts +2 -2
  105. package/dist/utils/stack.js +37 -20
  106. package/dist/utils/stack.test.d.ts +6 -0
  107. package/dist/utils/stack.test.js +136 -0
  108. package/dist/utils/string.js +41 -0
  109. package/dist/utils/ticks.js +1 -2
  110. package/package.json +9 -3
  111. package/dist/components/AreaStack.svelte +0 -47
  112. package/dist/components/AreaStack.svelte.d.ts +0 -28
  113. package/dist/components/TooltipItem.svelte +0 -26
  114. package/dist/components/TooltipSeparator.svelte +0 -4
  115. /package/dist/components/{TooltipContext.svelte.d.ts → tooltip/TooltipContext.svelte.d.ts} +0 -0
  116. /package/dist/components/{TooltipSeparator.svelte.d.ts → tooltip/TooltipSeparator.svelte.d.ts} +0 -0
@@ -3,11 +3,12 @@ import { min } from 'd3-array';
3
3
  import { Delaunay } from 'd3-delaunay';
4
4
  // @ts-expect-error
5
5
  import { geoVoronoi } from 'd3-geo-voronoi';
6
- import { cls } from 'svelte-ux';
6
+ import { pointRadial } from 'd3-shape';
7
+ import { cls } from '@layerstack/tailwind';
7
8
  import { chartContext } from './ChartContext.svelte';
8
9
  import GeoPath from './GeoPath.svelte';
9
10
  import { geoContext } from './GeoContext.svelte';
10
- const { flatData, xGet, yGet, x: xContext, y: yContext, width, height } = chartContext();
11
+ const { flatData, xGet, yGet, x: xContext, y: yContext, width, height, radial } = chartContext();
11
12
  const geo = geoContext();
12
13
  /** Override data instead of using context */
13
14
  export let data = undefined;
@@ -19,7 +20,15 @@ $: points = (data ?? $flatData).map((d) => {
19
20
  const yValue = $geo ? $yContext(d) : $yGet(d);
20
21
  const x = Array.isArray(xValue) ? min(xValue) : xValue;
21
22
  const y = Array.isArray(yValue) ? min(yValue) : yValue;
22
- const point = [x, y];
23
+ let point;
24
+ 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];
31
+ }
23
32
  // @ts-expect-error
24
33
  point.data = d;
25
34
  return point;
@@ -36,7 +45,8 @@ $: boundHeight = Math.max($height, 0);
36
45
  <GeoPath
37
46
  geojson={feature}
38
47
  class={cls('fill-transparent', classes.path)}
39
- on:pointerenter
48
+ on:pointerenter={(e) =>
49
+ dispatch('pointerenter', { event: e, data: feature.properties.site.data, feature })}
40
50
  on:pointermove={(e) =>
41
51
  dispatch('pointermove', { event: e, data: feature.properties.site.data, feature })}
42
52
  on:pointerleave
@@ -56,7 +66,7 @@ $: boundHeight = Math.max($height, 0);
56
66
  <path
57
67
  d={voronoi.renderCell(i)}
58
68
  class={cls('fill-transparent', classes.path)}
59
- on:pointerenter
69
+ on:pointerenter={(e) => dispatch('pointerenter', { event: e, data: point.data, point })}
60
70
  on:pointermove={(e) => dispatch('pointermove', { event: e, data: point.data, point })}
61
71
  on:pointerleave
62
72
  on:touchmove={(e) => {
@@ -10,7 +10,6 @@ declare const __propDef: {
10
10
  } | undefined;
11
11
  };
12
12
  events: {
13
- pointerenter: PointerEvent;
14
13
  pointerleave: PointerEvent;
15
14
  pointerdown: PointerEvent;
16
15
  click: CustomEvent<{
@@ -18,6 +17,12 @@ declare const __propDef: {
18
17
  point?: [number, number];
19
18
  feature?: GeoPermissibleObjects;
20
19
  }>;
20
+ pointerenter: CustomEvent<{
21
+ event: PointerEvent;
22
+ data: any;
23
+ point?: [number, number];
24
+ feature?: GeoPermissibleObjects;
25
+ }>;
21
26
  pointermove: CustomEvent<{
22
27
  event: PointerEvent;
23
28
  data: any;
@@ -0,0 +1,182 @@
1
+ <script generics="TData">import {} from 'svelte';
2
+ import { scaleLinear, scaleTime } from 'd3-scale';
3
+ import { stack } 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 Highlight from '../Highlight.svelte';
10
+ import Labels from '../Labels.svelte';
11
+ import Points from '../Points.svelte';
12
+ import Svg from '../layout/Svg.svelte';
13
+ import * as Tooltip from '../tooltip/index.js';
14
+ import { accessor, chartDataArray } from '../../utils/common.js';
15
+ export let data = [];
16
+ export let x = undefined;
17
+ export let y = undefined;
18
+ /** 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 */
19
+ export let radial = false;
20
+ export let series = [{ key: 'default', value: y, color: 'hsl(var(--color-primary))' }];
21
+ /** Determine how to layout series. Overlap (default) or stack */
22
+ export let seriesLayout = 'overlap';
23
+ $: stackSeries = seriesLayout === 'stack';
24
+ export let axis = true;
25
+ export let labels = false;
26
+ export let points = false;
27
+ export let props = {};
28
+ $: allSeriesData = series
29
+ .flatMap((s) => s.data?.map((d) => ({ seriesKey: s.key, ...d })))
30
+ .filter((d) => d);
31
+ $: chartData = (allSeriesData.length ? allSeriesData : chartDataArray(data));
32
+ $: if (stackSeries) {
33
+ const seriesKeys = series.map((s) => s.key);
34
+ const stackData = stack().keys(seriesKeys)(chartDataArray(data));
35
+ chartData = chartData.map((d, i) => {
36
+ return {
37
+ ...d,
38
+ stackData: stackData.map((sd) => sd[i]),
39
+ };
40
+ });
41
+ }
42
+ // Default xScale based on first data's `x` value
43
+ $: xScale = accessor(x)(chartData[0]) instanceof Date ? scaleTime() : scaleLinear();
44
+ </script>
45
+
46
+ <Chart
47
+ data={chartData}
48
+ {x}
49
+ {xScale}
50
+ y={y ??
51
+ (stackSeries
52
+ ? (d) => series.map((s, i) => d.stackData[i][1])
53
+ : series.map((s) => s.value ?? s.key))}
54
+ yBaseline={0}
55
+ yNice
56
+ {radial}
57
+ padding={radial || axis === false ? undefined : { left: 16, bottom: 16 }}
58
+ tooltip={{ mode: 'bisect-x' }}
59
+ {...$$restProps}
60
+ let:x
61
+ let:xScale
62
+ let:y
63
+ let:yScale
64
+ let:width
65
+ let:height
66
+ let:padding
67
+ let:tooltip
68
+ >
69
+ {@const slotProps = { x, xScale, y, yScale, width, height, padding, tooltip, series }}
70
+ <slot {...slotProps}>
71
+ <Svg center={radial}>
72
+ <slot name="axis" {...slotProps}>
73
+ {#if axis}
74
+ <Axis
75
+ placement={radial ? 'radius' : 'left'}
76
+ grid
77
+ rule
78
+ format={(value) => format(value, undefined, { variant: 'short' })}
79
+ {...typeof axis === 'object' ? axis : null}
80
+ {...props.yAxis}
81
+ />
82
+ <Axis
83
+ placement={radial ? 'angle' : 'bottom'}
84
+ grid={radial}
85
+ rule
86
+ format={(value) => format(value, undefined, { variant: 'short' })}
87
+ {...typeof axis === 'object' ? axis : null}
88
+ {...props.xAxis}
89
+ />
90
+ {/if}
91
+ </slot>
92
+
93
+ <slot name="below-marks" {...slotProps} />
94
+
95
+ <slot name="marks" {...slotProps}>
96
+ {#each series as s, i}
97
+ <Area
98
+ data={s.data}
99
+ y0={stackSeries
100
+ ? (d) => d.stackData[i][0]
101
+ : Array.isArray(s.value)
102
+ ? s.value[0]
103
+ : undefined}
104
+ y1={stackSeries
105
+ ? (d) => d.stackData[i][1]
106
+ : Array.isArray(s.value)
107
+ ? s.value[1]
108
+ : (s.value ?? s.key)}
109
+ line={{ class: 'stroke-2', stroke: s.color }}
110
+ fill={s.color}
111
+ fill-opacity={0.3}
112
+ {...props.area}
113
+ {...s.props}
114
+ />
115
+ {/each}
116
+ </slot>
117
+
118
+ <slot name="above-marks" {...slotProps} />
119
+
120
+ {#if points}
121
+ {#each series as s}
122
+ <Points
123
+ data={s.data}
124
+ fill={s.color}
125
+ class="stroke-surface-200"
126
+ {...props.points}
127
+ {...typeof points === 'object' ? points : null}
128
+ />
129
+ {/each}
130
+ {/if}
131
+
132
+ <slot name="highlight" {...slotProps}>
133
+ {#each series as s, i}
134
+ <Highlight
135
+ y={stackSeries ? (d) => d.stackData[i][1] : (s.value ?? s.key)}
136
+ points={{ fill: s.color }}
137
+ lines={i == 0}
138
+ {...props.highlight}
139
+ />
140
+ {/each}
141
+ </slot>
142
+
143
+ {#if labels}
144
+ <Labels {...props.labels} {...typeof labels === 'object' ? labels : null} />
145
+ {/if}
146
+ </Svg>
147
+
148
+ <slot name="tooltip" {...slotProps}>
149
+ <Tooltip.Root let:data>
150
+ <Tooltip.Header>{format(x(data))}</Tooltip.Header>
151
+ <Tooltip.List>
152
+ <!-- Reverse series order so tooltip items match stacks -->
153
+ {@const seriesItems = stackSeries ? [...series].reverse() : series}
154
+ {#each seriesItems as s}
155
+ {@const valueAccessor = accessor(s.value ?? s.key)}
156
+ <Tooltip.Item
157
+ label={s.label ?? (s.key !== 'default' ? s.key : 'value')}
158
+ value={valueAccessor(data)}
159
+ color={s.color}
160
+ {format}
161
+ valueAlign="right"
162
+ />
163
+ {/each}
164
+
165
+ {#if stackSeries}
166
+ <Tooltip.Separator />
167
+
168
+ <Tooltip.Item
169
+ label="total"
170
+ value={sum(series, (s) => {
171
+ const valueAccessor = accessor(s.value ?? s.key);
172
+ return valueAccessor(data);
173
+ })}
174
+ format="integer"
175
+ valueAlign="right"
176
+ />
177
+ {/if}
178
+ </Tooltip.List>
179
+ </Tooltip.Root>
180
+ </slot>
181
+ </slot>
182
+ </Chart>
@@ -0,0 +1,261 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import { type ComponentProps } from 'svelte';
3
+ import Area from '../Area.svelte';
4
+ import Axis from '../Axis.svelte';
5
+ import Highlight from '../Highlight.svelte';
6
+ import Labels from '../Labels.svelte';
7
+ import Points from '../Points.svelte';
8
+ import { type Accessor } from '../../utils/common.js';
9
+ declare class __sveltets_Render<TData> {
10
+ props(): {
11
+ ssr?: boolean;
12
+ pointerEvents?: boolean;
13
+ position?: string;
14
+ percentRange?: boolean;
15
+ width?: number;
16
+ height?: number;
17
+ containerWidth?: number;
18
+ containerHeight?: number;
19
+ element?: HTMLDivElement;
20
+ data?: import("d3-sankey").SankeyGraph<any, any> | import("d3-hierarchy").HierarchyNode<TData> | TData[] | undefined;
21
+ flatData?: any[];
22
+ x?: Accessor<TData>;
23
+ y?: Accessor<TData>;
24
+ z?: Accessor<TData>;
25
+ r?: Accessor<TData>;
26
+ x1?: Accessor<TData>;
27
+ y1?: Accessor<TData>;
28
+ c?: Accessor<TData>;
29
+ xDomain?: import("../../utils/scales").DomainType;
30
+ yDomain?: import("../../utils/scales").DomainType;
31
+ zDomain?: import("../../utils/scales").DomainType;
32
+ rDomain?: import("../../utils/scales").DomainType;
33
+ x1Domain?: import("../../utils/scales").DomainType;
34
+ y1Domain?: import("../../utils/scales").DomainType;
35
+ cDomain?: import("../../utils/scales").DomainType;
36
+ xNice?: boolean | number;
37
+ yNice?: boolean | number;
38
+ zNice?: boolean | number;
39
+ rNice?: boolean | number;
40
+ xPadding?: [number, number];
41
+ yPadding?: [number, number];
42
+ zPadding?: [number, number];
43
+ rPadding?: [number, number];
44
+ xScale?: import("../../utils/scales").AnyScale;
45
+ yScale?: import("../../utils/scales").AnyScale;
46
+ zScale?: import("../../utils/scales").AnyScale;
47
+ rScale?: import("../../utils/scales").AnyScale;
48
+ x1Scale?: import("../../utils/scales").AnyScale;
49
+ y1Scale?: import("../../utils/scales").AnyScale;
50
+ cScale?: import("../../utils/scales").AnyScale;
51
+ xRange?: string[] | number[] | ((args: {
52
+ width: number;
53
+ height: number;
54
+ }) => number[] | string[]) | undefined;
55
+ yRange?: string[] | number[] | ((args: {
56
+ width: number;
57
+ height: number;
58
+ }) => number[] | string[]) | undefined;
59
+ zRange?: string[] | number[] | ((args: {
60
+ width: number;
61
+ height: number;
62
+ }) => number[] | string[]) | undefined;
63
+ rRange?: string[] | number[] | ((args: {
64
+ width: number;
65
+ height: number;
66
+ }) => number[] | string[]) | undefined;
67
+ x1Range?: string[] | number[] | ((args: {
68
+ xScale: import("../../utils/scales").AnyScale;
69
+ width: number;
70
+ height: number;
71
+ }) => number[] | string[]) | undefined;
72
+ y1Range?: string[] | number[] | ((args: {
73
+ yScale: import("../../utils/scales").AnyScale;
74
+ width: number;
75
+ height: number;
76
+ }) => number[] | string[]) | undefined;
77
+ cRange?: string[];
78
+ xReverse?: boolean;
79
+ yReverse?: boolean;
80
+ zReverse?: boolean;
81
+ rReverse?: boolean;
82
+ xDomainSort?: boolean;
83
+ yDomainSort?: boolean;
84
+ zDomainSort?: boolean;
85
+ rDomainSort?: boolean;
86
+ padding?: {
87
+ top?: Number;
88
+ right?: Number;
89
+ bottom?: Number;
90
+ left?: Number;
91
+ } | undefined;
92
+ extents?: {
93
+ x?: [min: Number, max: Number];
94
+ y?: [min: Number, max: Number];
95
+ r?: [min: Number, max: Number];
96
+ z?: [min: Number, max: Number];
97
+ } | undefined;
98
+ custom?: Record<string, any>;
99
+ debug?: boolean;
100
+ verbose?: boolean;
101
+ xBaseline?: number | null;
102
+ yBaseline?: number | null;
103
+ radial?: boolean;
104
+ geo?: Partial<{
105
+ projection?: (() => import("d3-geo").GeoProjection) | undefined;
106
+ fitGeojson?: import("d3-geo").GeoPermissibleObjects | undefined;
107
+ fixedAspectRatio?: number | undefined;
108
+ clipAngle?: number | undefined;
109
+ clipExtent?: [[number, number], [number, number]] | undefined;
110
+ rotate?: {
111
+ yaw: number;
112
+ pitch: number;
113
+ roll: number;
114
+ } | undefined;
115
+ scale?: number | undefined;
116
+ translate?: [number, number] | undefined;
117
+ center?: [number, number] | undefined;
118
+ applyTransform?: ("scale" | "translate" | "rotate")[];
119
+ reflectX?: boolean | undefined;
120
+ reflectY?: boolean | undefined;
121
+ geo?: import("svelte/store").Writable<import("d3-geo").GeoProjection>;
122
+ }> | undefined;
123
+ tooltip?: boolean | Partial<{
124
+ mode?: "bisect-x" | "bisect-y" | "band" | "bisect-band" | "bounds" | "voronoi" | "quadtree" | "manual";
125
+ findTooltipData?: "closest" | "left" | "right";
126
+ raiseTarget?: boolean;
127
+ radius?: number;
128
+ debug?: boolean;
129
+ onClick?: ({ data }: {
130
+ data: any;
131
+ }) => any;
132
+ }> | undefined;
133
+ transform?: Partial<{
134
+ mode?: "canvas" | "manual" | "none";
135
+ translateOnScale?: boolean;
136
+ spring?: boolean | Parameters<typeof import("../../stores/motionStore").motionStore>[1]["spring"];
137
+ tweened?: boolean | Parameters<typeof import("../../stores/motionStore").motionStore>[1]["tweened"];
138
+ processTranslate?: (x: number, y: number, deltaX: number, deltaY: number, scale: number) => {
139
+ x: number;
140
+ y: number;
141
+ };
142
+ disablePointer?: boolean;
143
+ initialScrollMode?: "none" | "scale" | "translate";
144
+ clickDistance?: number;
145
+ initialTranslate?: {
146
+ x: number;
147
+ y: number;
148
+ } | undefined;
149
+ translate?: import("svelte/motion").Spring<{
150
+ x: number;
151
+ y: number;
152
+ }> | import("svelte/motion").Tweened<{
153
+ x: number;
154
+ y: number;
155
+ }> | import("svelte/store").Writable<{
156
+ x: number;
157
+ y: number;
158
+ }>;
159
+ initialScale?: number | undefined;
160
+ scale?: import("svelte/store").Writable<number> | import("svelte/motion").Spring<number> | import("svelte/motion").Tweened<number>;
161
+ setScrollMode?: (mode: "none" | "scale" | "translate") => void;
162
+ reset?: () => void;
163
+ zoomIn?: () => void;
164
+ zoomOut?: () => void;
165
+ translateCenter?: () => void;
166
+ zoomTo?: (center: {
167
+ x: number;
168
+ y: number;
169
+ }, rect?: {
170
+ width: number;
171
+ height: number;
172
+ }) => void;
173
+ setTranslate?: (point: {
174
+ x: number;
175
+ y: number;
176
+ }, options?: import("../../stores/motionStore").MotionOptions) => void;
177
+ setScale?: (value: number, options?: import("../../stores/motionStore").MotionOptions) => void;
178
+ }> | undefined;
179
+ transformContext?: import("..").TransformContext;
180
+ } & {
181
+ series?: {
182
+ key: string;
183
+ label?: string;
184
+ value?: Accessor<TData>;
185
+ /** Provider series data, else uses chart data (with value/key accessor) */
186
+ data?: TData[] | undefined;
187
+ color?: string;
188
+ props?: Partial<ComponentProps<Area>>;
189
+ }[] | undefined;
190
+ labels?: boolean | {
191
+ [x: string]: any;
192
+ placement?: ("inside" | "outside" | "center") | undefined;
193
+ offset?: number | undefined;
194
+ format?: import("@layerstack/utils").FormatType | undefined;
195
+ };
196
+ axis?: boolean | {
197
+ placement: "top" | "bottom" | "left" | "right" | "angle" | "radius";
198
+ label?: string;
199
+ labelPlacement?: "start" | "middle" | "end";
200
+ labelProps?: Partial<ComponentProps<import("..").Text>> | undefined;
201
+ rule?: boolean | Pick<import("svelte/elements").SVGAttributes<SVGElement>, "class" | "style">;
202
+ grid?: boolean | Pick<import("svelte/elements").SVGAttributes<SVGElement>, "class" | "style">;
203
+ ticks?: number | any[] | ((scale: import("../../utils/scales").AnyScale) => any) | null | undefined;
204
+ tickLength?: number;
205
+ format?: import("@layerstack/utils").FormatType | undefined;
206
+ tickLabelProps?: Partial<ComponentProps<import("..").Text>> | undefined;
207
+ spring?: boolean | Parameters<typeof import("svelte/motion").spring>[1];
208
+ tweened?: boolean | Parameters<typeof import("svelte/motion").tweened>[1];
209
+ transitionIn?: typeof import("svelte/transition").fade | (() => {});
210
+ transitionInParams?: import("svelte-ux").TransitionParams;
211
+ scale?: any;
212
+ };
213
+ points?: boolean | {
214
+ [x: string]: any;
215
+ data?: any;
216
+ r?: number | undefined;
217
+ offsetX?: number | ((value: number, context: any) => number) | undefined;
218
+ offsetY?: number | ((value: number, context: any) => number) | undefined;
219
+ links?: (boolean | Partial<ComponentProps<import("..").Link>>) | undefined;
220
+ fill?: string | undefined;
221
+ stroke?: string | undefined;
222
+ strokeWidth?: number | string | undefined;
223
+ render?: ((ctx: CanvasRenderingContext2D, points: {
224
+ x: number;
225
+ y: number;
226
+ r: number;
227
+ xValue: any;
228
+ yValue: any;
229
+ data: any;
230
+ }[]) => any) | undefined;
231
+ class?: string | undefined;
232
+ };
233
+ props?: {
234
+ xAxis?: Partial<ComponentProps<Axis>>;
235
+ yAxis?: Partial<ComponentProps<Axis>>;
236
+ area?: Partial<ComponentProps<Area>>;
237
+ points?: Partial<ComponentProps<Points>>;
238
+ highlight?: Partial<ComponentProps<Highlight>>;
239
+ labels?: Partial<ComponentProps<Labels>>;
240
+ } | undefined;
241
+ seriesLayout?: "overlap" | "stack";
242
+ };
243
+ events(): {} & {
244
+ [evt: string]: CustomEvent<any>;
245
+ };
246
+ slots(): {
247
+ default: any;
248
+ axis: any;
249
+ 'below-marks': any;
250
+ marks: any;
251
+ 'above-marks': any;
252
+ highlight: any;
253
+ tooltip: any;
254
+ };
255
+ }
256
+ export type AreaChartProps<TData> = ReturnType<__sveltets_Render<TData>['props']>;
257
+ export type AreaChartEvents<TData> = ReturnType<__sveltets_Render<TData>['events']>;
258
+ export type AreaChartSlots<TData> = ReturnType<__sveltets_Render<TData>['slots']>;
259
+ export default class AreaChart<TData> extends SvelteComponentTyped<AreaChartProps<TData>, AreaChartEvents<TData>, AreaChartSlots<TData>> {
260
+ }
261
+ export {};