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
@@ -0,0 +1,260 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import Points from '../Points.svelte';
3
+ import { type ComponentProps } from 'svelte';
4
+ import Axis from '../Axis.svelte';
5
+ import Highlight from '../Highlight.svelte';
6
+ import Labels from '../Labels.svelte';
7
+ import Spline from '../Spline.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 | number;
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<Spline>>;
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
+ spline?: Partial<ComponentProps<Spline>>;
237
+ highlight?: Partial<ComponentProps<Highlight>>;
238
+ labels?: Partial<ComponentProps<Labels>>;
239
+ points?: Partial<ComponentProps<Points>>;
240
+ } | undefined;
241
+ };
242
+ events(): {} & {
243
+ [evt: string]: CustomEvent<any>;
244
+ };
245
+ slots(): {
246
+ default: any;
247
+ axis: any;
248
+ 'below-marks': any;
249
+ marks: any;
250
+ 'above-marks': any;
251
+ highlight: any;
252
+ tooltip: any;
253
+ };
254
+ }
255
+ export type LineChartProps<TData> = ReturnType<__sveltets_Render<TData>['props']>;
256
+ export type LineChartEvents<TData> = ReturnType<__sveltets_Render<TData>['events']>;
257
+ export type LineChartSlots<TData> = ReturnType<__sveltets_Render<TData>['slots']>;
258
+ export default class LineChart<TData> extends SvelteComponentTyped<LineChartProps<TData>, LineChartEvents<TData>, LineChartSlots<TData>> {
259
+ }
260
+ export {};
@@ -0,0 +1,146 @@
1
+ <script generics="TData">import {} from 'svelte';
2
+ import { sum } from 'd3-array';
3
+ import { format } from '@layerstack/utils';
4
+ import Arc from '../Arc.svelte';
5
+ import Chart from '../Chart.svelte';
6
+ import Group from '../Group.svelte';
7
+ import Pie from '../Pie.svelte';
8
+ import Svg from '../layout/Svg.svelte';
9
+ import * as Tooltip from '../tooltip/index.js';
10
+ import { accessor, chartDataArray } from '../../utils/common.js';
11
+ export let data = [];
12
+ /** Label accessor */
13
+ export let label = 'label';
14
+ $: labelAccessor = accessor(label);
15
+ /** Value accessor */
16
+ export let value = 'value';
17
+ $: valueAccessor = accessor(value);
18
+ /** Maximum possible value, useful when `data` is single item */
19
+ export let maxValue = undefined;
20
+ export let series = [{ key: 'default', value: value /*, color: 'hsl(var(--color-primary))'*/ }];
21
+ /**
22
+ * Range [min,max] in degrees. See also startAngle/endAngle
23
+ */
24
+ export let range = [0, 360];
25
+ /**
26
+ * Define innerRadius.
27
+ * value >= 1: discrete value
28
+ * value > 0: percent of `outerRadius`
29
+ * value < 0: offset of `outerRadius`
30
+ * default: yRange min
31
+ */
32
+ export let innerRadius = undefined;
33
+ /**
34
+ * Define outerRadius. Defaults to yRange max/2 (ie. chart height / 2)
35
+ */
36
+ export let outerRadius = undefined;
37
+ export let cornerRadius = 0;
38
+ export let padAngle = 0;
39
+ export let props = {};
40
+ $: allSeriesData = series
41
+ .flatMap((s) => s.data?.map((d) => ({ seriesKey: s.key, ...d })))
42
+ .filter((d) => d);
43
+ $: chartData = (allSeriesData.length ? allSeriesData : chartDataArray(data));
44
+ $: seriesColors = series.map((s) => s.color).filter((d) => d != null);
45
+ </script>
46
+
47
+ <Chart
48
+ data={chartData}
49
+ x={value}
50
+ y={label}
51
+ c={label}
52
+ cRange={seriesColors.length
53
+ ? seriesColors
54
+ : [
55
+ 'hsl(var(--color-primary))',
56
+ 'hsl(var(--color-secondary))',
57
+ 'hsl(var(--color-info))',
58
+ 'hsl(var(--color-success))',
59
+ 'hsl(var(--color-warning))',
60
+ 'hsl(var(--color-danger))',
61
+ ]}
62
+ {...$$restProps}
63
+ let:x
64
+ let:xScale
65
+ let:y
66
+ let:c
67
+ let:cScale
68
+ let:yScale
69
+ let:width
70
+ let:height
71
+ let:padding
72
+ let:tooltip
73
+ >
74
+ {@const slotProps = { label, value, x, xScale, y, yScale, width, height, padding, tooltip }}
75
+ <slot {...slotProps}>
76
+ <Svg center>
77
+ <slot name="below-marks" {...slotProps} />
78
+
79
+ <slot name="marks" {...slotProps}>
80
+ <Group {...props.group}>
81
+ {#each series as s, i}
82
+ {@const singleArc = s.data?.length === 1 || chartData.length === 1}
83
+ {#if singleArc}
84
+ {@const d = s.data?.[0] || chartData[0]}
85
+ <Arc
86
+ value={valueAccessor(d)}
87
+ domain={[0, s.maxValue ?? maxValue ?? sum(chartData, valueAccessor)]}
88
+ {range}
89
+ {innerRadius}
90
+ outerRadius={(outerRadius ?? 0) < 0 ? i * (outerRadius ?? 0) : outerRadius}
91
+ {cornerRadius}
92
+ {padAngle}
93
+ fill={s.color ?? cScale(c(d))}
94
+ track={{ fill: s.color ?? cScale(c(d)), 'fill-opacity': 0.1 }}
95
+ {tooltip}
96
+ data={d}
97
+ {...props.arc}
98
+ />
99
+ {:else}
100
+ <Pie
101
+ data={s.data}
102
+ {range}
103
+ {innerRadius}
104
+ {outerRadius}
105
+ {cornerRadius}
106
+ {padAngle}
107
+ {...props.pie}
108
+ let:arcs
109
+ >
110
+ {#each arcs as arc}
111
+ <Arc
112
+ startAngle={arc.startAngle}
113
+ endAngle={arc.endAngle}
114
+ outerRadius={i * (outerRadius ?? 0)}
115
+ {innerRadius}
116
+ {cornerRadius}
117
+ {padAngle}
118
+ fill={cScale(c(arc.data))}
119
+ data={arc.data}
120
+ {tooltip}
121
+ {...props.arc}
122
+ />
123
+ {/each}
124
+ </Pie>
125
+ {/if}
126
+ {/each}
127
+ </Group>
128
+ </slot>
129
+
130
+ <slot name="above-marks" {...slotProps} />
131
+ </Svg>
132
+
133
+ <slot name="tooltip" {...slotProps}>
134
+ <Tooltip.Root let:data>
135
+ <Tooltip.List>
136
+ <Tooltip.Item
137
+ label={labelAccessor(data)}
138
+ value={valueAccessor(data)}
139
+ color={cScale(c(data))}
140
+ {format}
141
+ />
142
+ </Tooltip.List>
143
+ </Tooltip.Root>
144
+ </slot>
145
+ </slot>
146
+ </Chart>
@@ -0,0 +1,220 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import { type ComponentProps } from 'svelte';
3
+ import Arc from '../Arc.svelte';
4
+ import Group from '../Group.svelte';
5
+ import Pie from '../Pie.svelte';
6
+ import { type Accessor } from '../../utils/common.js';
7
+ declare class __sveltets_Render<TData> {
8
+ props(): {
9
+ ssr?: boolean;
10
+ pointerEvents?: boolean;
11
+ position?: string;
12
+ percentRange?: boolean;
13
+ width?: number;
14
+ height?: number;
15
+ containerWidth?: number;
16
+ containerHeight?: number;
17
+ element?: HTMLDivElement;
18
+ data?: import("d3-sankey").SankeyGraph<any, any> | import("d3-hierarchy").HierarchyNode<TData> | TData[] | undefined;
19
+ flatData?: any[];
20
+ x?: Accessor<TData>;
21
+ y?: Accessor<TData>;
22
+ z?: Accessor<TData>;
23
+ r?: Accessor<TData>;
24
+ x1?: Accessor<TData>;
25
+ y1?: Accessor<TData>;
26
+ c?: Accessor<TData>;
27
+ xDomain?: import("../../utils/scales").DomainType;
28
+ yDomain?: import("../../utils/scales").DomainType;
29
+ zDomain?: import("../../utils/scales").DomainType;
30
+ rDomain?: import("../../utils/scales").DomainType;
31
+ x1Domain?: import("../../utils/scales").DomainType;
32
+ y1Domain?: import("../../utils/scales").DomainType;
33
+ cDomain?: import("../../utils/scales").DomainType;
34
+ xNice?: boolean | number;
35
+ yNice?: boolean | number;
36
+ zNice?: boolean | number;
37
+ rNice?: boolean | number;
38
+ xPadding?: [number, number];
39
+ yPadding?: [number, number];
40
+ zPadding?: [number, number];
41
+ rPadding?: [number, number];
42
+ xScale?: import("../../utils/scales").AnyScale;
43
+ yScale?: import("../../utils/scales").AnyScale;
44
+ zScale?: import("../../utils/scales").AnyScale;
45
+ rScale?: import("../../utils/scales").AnyScale;
46
+ x1Scale?: import("../../utils/scales").AnyScale;
47
+ y1Scale?: import("../../utils/scales").AnyScale;
48
+ cScale?: import("../../utils/scales").AnyScale;
49
+ xRange?: string[] | number[] | ((args: {
50
+ width: number;
51
+ height: number;
52
+ }) => number[] | string[]) | undefined;
53
+ yRange?: string[] | number[] | ((args: {
54
+ width: number;
55
+ height: number;
56
+ }) => number[] | string[]) | undefined;
57
+ zRange?: string[] | number[] | ((args: {
58
+ width: number;
59
+ height: number;
60
+ }) => number[] | string[]) | undefined;
61
+ rRange?: string[] | number[] | ((args: {
62
+ width: number;
63
+ height: number;
64
+ }) => number[] | string[]) | undefined;
65
+ x1Range?: string[] | number[] | ((args: {
66
+ xScale: import("../../utils/scales").AnyScale;
67
+ width: number;
68
+ height: number;
69
+ }) => number[] | string[]) | undefined;
70
+ y1Range?: string[] | number[] | ((args: {
71
+ yScale: import("../../utils/scales").AnyScale;
72
+ width: number;
73
+ height: number;
74
+ }) => number[] | string[]) | undefined;
75
+ cRange?: string[];
76
+ xReverse?: boolean;
77
+ yReverse?: boolean;
78
+ zReverse?: boolean;
79
+ rReverse?: boolean;
80
+ xDomainSort?: boolean;
81
+ yDomainSort?: boolean;
82
+ zDomainSort?: boolean;
83
+ rDomainSort?: boolean;
84
+ padding?: {
85
+ top?: Number;
86
+ right?: Number;
87
+ bottom?: Number;
88
+ left?: Number;
89
+ } | undefined;
90
+ extents?: {
91
+ x?: [min: Number, max: Number];
92
+ y?: [min: Number, max: Number];
93
+ r?: [min: Number, max: Number];
94
+ z?: [min: Number, max: Number];
95
+ } | undefined;
96
+ custom?: Record<string, any>;
97
+ debug?: boolean;
98
+ verbose?: boolean;
99
+ xBaseline?: number | null;
100
+ yBaseline?: number | null;
101
+ radial?: boolean;
102
+ geo?: Partial<{
103
+ projection?: (() => import("d3-geo").GeoProjection) | undefined;
104
+ fitGeojson?: import("d3-geo").GeoPermissibleObjects | undefined;
105
+ fixedAspectRatio?: number | undefined;
106
+ clipAngle?: number | undefined;
107
+ clipExtent?: [[number, number], [number, number]] | undefined;
108
+ rotate?: {
109
+ yaw: number;
110
+ pitch: number;
111
+ roll: number;
112
+ } | undefined;
113
+ scale?: number | undefined;
114
+ translate?: [number, number] | undefined;
115
+ center?: [number, number] | undefined;
116
+ applyTransform?: ("scale" | "translate" | "rotate")[];
117
+ reflectX?: boolean | undefined;
118
+ reflectY?: boolean | undefined;
119
+ geo?: import("svelte/store").Writable<import("d3-geo").GeoProjection>;
120
+ }> | undefined;
121
+ tooltip?: boolean | Partial<{
122
+ mode?: "bisect-x" | "bisect-y" | "band" | "bisect-band" | "bounds" | "voronoi" | "quadtree" | "manual";
123
+ findTooltipData?: "closest" | "left" | "right";
124
+ raiseTarget?: boolean;
125
+ radius?: number;
126
+ debug?: boolean;
127
+ onClick?: ({ data }: {
128
+ data: any;
129
+ }) => any;
130
+ }> | undefined;
131
+ transform?: Partial<{
132
+ mode?: "canvas" | "manual" | "none";
133
+ translateOnScale?: boolean;
134
+ spring?: boolean | Parameters<typeof import("../../stores/motionStore").motionStore>[1]["spring"];
135
+ tweened?: boolean | Parameters<typeof import("../../stores/motionStore").motionStore>[1]["tweened"];
136
+ processTranslate?: (x: number, y: number, deltaX: number, deltaY: number, scale: number) => {
137
+ x: number;
138
+ y: number;
139
+ };
140
+ disablePointer?: boolean;
141
+ initialScrollMode?: "none" | "scale" | "translate";
142
+ clickDistance?: number;
143
+ initialTranslate?: {
144
+ x: number;
145
+ y: number;
146
+ } | undefined;
147
+ translate?: import("svelte/motion").Spring<{
148
+ x: number;
149
+ y: number;
150
+ }> | import("svelte/motion").Tweened<{
151
+ x: number;
152
+ y: number;
153
+ }> | import("svelte/store").Writable<{
154
+ x: number;
155
+ y: number;
156
+ }>;
157
+ initialScale?: number | undefined;
158
+ scale?: import("svelte/store").Writable<number> | import("svelte/motion").Spring<number> | import("svelte/motion").Tweened<number>;
159
+ setScrollMode?: (mode: "none" | "scale" | "translate") => void;
160
+ reset?: () => void;
161
+ zoomIn?: () => void;
162
+ zoomOut?: () => void;
163
+ translateCenter?: () => void;
164
+ zoomTo?: (center: {
165
+ x: number;
166
+ y: number;
167
+ }, rect?: {
168
+ width: number;
169
+ height: number;
170
+ }) => void;
171
+ setTranslate?: (point: {
172
+ x: number;
173
+ y: number;
174
+ }, options?: import("../../stores/motionStore").MotionOptions) => void;
175
+ setScale?: (value: number, options?: import("../../stores/motionStore").MotionOptions) => void;
176
+ }> | undefined;
177
+ transformContext?: import("..").TransformContext;
178
+ } & {
179
+ label?: Accessor<TData>;
180
+ value?: Accessor<TData>;
181
+ maxValue?: number | undefined;
182
+ range?: number[];
183
+ innerRadius?: number | undefined;
184
+ outerRadius?: number | undefined;
185
+ cornerRadius?: number;
186
+ padAngle?: number;
187
+ props?: {
188
+ pie?: Partial<ComponentProps<Pie>>;
189
+ group?: Partial<ComponentProps<Group>>;
190
+ arc?: Partial<ComponentProps<Arc>>;
191
+ } | undefined;
192
+ series?: {
193
+ key: string | number;
194
+ label?: string;
195
+ value?: Accessor<TData>;
196
+ /** Provider series data, else uses chart data (with value/key accessor) */
197
+ data?: TData[] | undefined;
198
+ /** Maximum possible value, useful when `data` is single item */
199
+ maxValue?: number;
200
+ color?: string;
201
+ props?: Partial<ComponentProps<Arc>>;
202
+ }[] | undefined;
203
+ };
204
+ events(): {} & {
205
+ [evt: string]: CustomEvent<any>;
206
+ };
207
+ slots(): {
208
+ default: any;
209
+ 'below-marks': any;
210
+ marks: any;
211
+ 'above-marks': any;
212
+ tooltip: any;
213
+ };
214
+ }
215
+ export type PieChartProps<TData> = ReturnType<__sveltets_Render<TData>['props']>;
216
+ export type PieChartEvents<TData> = ReturnType<__sveltets_Render<TData>['events']>;
217
+ export type PieChartSlots<TData> = ReturnType<__sveltets_Render<TData>['slots']>;
218
+ export default class PieChart<TData> extends SvelteComponentTyped<PieChartProps<TData>, PieChartEvents<TData>, PieChartSlots<TData>> {
219
+ }
220
+ export {};