layerchart 2.0.0-next.1 → 2.0.0-next.3

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 (266) hide show
  1. package/dist/actions/movable.d.ts +28 -0
  2. package/dist/actions/movable.js +91 -0
  3. package/dist/components/AnnotationLine.svelte +143 -0
  4. package/dist/components/AnnotationLine.svelte.d.ts +30 -0
  5. package/dist/components/AnnotationPoint.svelte +119 -0
  6. package/dist/components/AnnotationPoint.svelte.d.ts +34 -0
  7. package/dist/components/AnnotationRange.svelte +147 -0
  8. package/dist/components/AnnotationRange.svelte.d.ts +40 -0
  9. package/dist/components/Arc.svelte +344 -151
  10. package/dist/components/Arc.svelte.d.ts +138 -0
  11. package/dist/components/Area.svelte +165 -149
  12. package/dist/components/Area.svelte.d.ts +45 -0
  13. package/dist/components/Axis.svelte +283 -180
  14. package/dist/components/Axis.svelte.d.ts +117 -0
  15. package/dist/components/Bar.svelte +166 -107
  16. package/dist/components/Bar.svelte.d.ts +51 -0
  17. package/dist/components/Bars.svelte +56 -67
  18. package/dist/components/Bars.svelte.d.ts +27 -0
  19. package/dist/components/Blur.svelte +42 -12
  20. package/dist/components/Blur.svelte.d.ts +23 -21
  21. package/dist/components/Bounds.svelte +49 -19
  22. package/dist/components/Bounds.svelte.d.ts +24 -50
  23. package/dist/components/BrushContext.svelte +296 -168
  24. package/dist/components/BrushContext.svelte.d.ts +97 -65
  25. package/dist/components/Calendar.svelte +116 -59
  26. package/dist/components/Calendar.svelte.d.ts +50 -31
  27. package/dist/components/Chart.svelte +1289 -398
  28. package/dist/components/Chart.svelte.d.ts +535 -410
  29. package/dist/components/ChartClipPath.svelte +37 -15
  30. package/dist/components/ChartClipPath.svelte.d.ts +21 -19
  31. package/dist/components/Circle.svelte +124 -85
  32. package/dist/components/Circle.svelte.d.ts +52 -0
  33. package/dist/components/CircleClipPath.svelte +76 -16
  34. package/dist/components/CircleClipPath.svelte.d.ts +46 -0
  35. package/dist/components/ClipPath.svelte +71 -21
  36. package/dist/components/ClipPath.svelte.d.ts +40 -27
  37. package/dist/components/ColorRamp.svelte +75 -9
  38. package/dist/components/ColorRamp.svelte.d.ts +37 -19
  39. package/dist/components/ComputedStyles.svelte +17 -5
  40. package/dist/components/ComputedStyles.svelte.d.ts +11 -19
  41. package/dist/components/Connector.svelte +149 -0
  42. package/dist/components/Connector.svelte.d.ts +51 -0
  43. package/dist/components/Dagre.svelte +211 -122
  44. package/dist/components/Dagre.svelte.d.ts +119 -56
  45. package/dist/components/ForceSimulation.svelte +215 -90
  46. package/dist/components/ForceSimulation.svelte.d.ts +82 -35
  47. package/dist/components/Frame.svelte +33 -13
  48. package/dist/components/Frame.svelte.d.ts +13 -17
  49. package/dist/components/GeoCircle.svelte +29 -16
  50. package/dist/components/GeoCircle.svelte.d.ts +22 -24
  51. package/dist/components/GeoContext.svelte +113 -72
  52. package/dist/components/GeoContext.svelte.d.ts +49 -41
  53. package/dist/components/GeoEdgeFade.svelte +49 -13
  54. package/dist/components/GeoEdgeFade.svelte.d.ts +17 -19
  55. package/dist/components/GeoPath.svelte +157 -127
  56. package/dist/components/GeoPath.svelte.d.ts +48 -36
  57. package/dist/components/GeoPoint.svelte +52 -20
  58. package/dist/components/GeoPoint.svelte.d.ts +25 -22
  59. package/dist/components/GeoSpline.svelte +75 -26
  60. package/dist/components/GeoSpline.svelte.d.ts +29 -20
  61. package/dist/components/GeoTile.svelte +100 -49
  62. package/dist/components/GeoTile.svelte.d.ts +38 -23
  63. package/dist/components/GeoVisible.svelte +17 -9
  64. package/dist/components/GeoVisible.svelte.d.ts +10 -18
  65. package/dist/components/Graticule.svelte +30 -14
  66. package/dist/components/Graticule.svelte.d.ts +11 -52
  67. package/dist/components/Grid.svelte +230 -117
  68. package/dist/components/Grid.svelte.d.ts +71 -0
  69. package/dist/components/Group.svelte +173 -106
  70. package/dist/components/Group.svelte.d.ts +81 -0
  71. package/dist/components/Highlight.svelte +410 -308
  72. package/dist/components/Highlight.svelte.d.ts +107 -0
  73. package/dist/components/Hull.svelte +97 -46
  74. package/dist/components/Hull.svelte.d.ts +40 -30
  75. package/dist/components/Labels.svelte +127 -47
  76. package/dist/components/Labels.svelte.d.ts +70 -27
  77. package/dist/components/Legend.svelte +374 -190
  78. package/dist/components/Legend.svelte.d.ts +95 -44
  79. package/dist/components/Line.svelte +163 -125
  80. package/dist/components/Line.svelte.d.ts +75 -0
  81. package/dist/components/LinearGradient.svelte +153 -78
  82. package/dist/components/LinearGradient.svelte.d.ts +66 -31
  83. package/dist/components/Link.svelte +160 -104
  84. package/dist/components/Link.svelte.d.ts +54 -0
  85. package/dist/components/Marker.svelte +100 -39
  86. package/dist/components/Marker.svelte.d.ts +59 -27
  87. package/dist/components/MarkerWrapper.svelte +35 -0
  88. package/dist/components/MarkerWrapper.svelte.d.ts +18 -0
  89. package/dist/components/MonthPath.svelte +65 -20
  90. package/dist/components/MonthPath.svelte.d.ts +23 -17
  91. package/dist/components/MotionPath.svelte +80 -24
  92. package/dist/components/MotionPath.svelte.d.ts +46 -27
  93. package/dist/components/Pack.svelte +53 -17
  94. package/dist/components/Pack.svelte.d.ts +42 -21
  95. package/dist/components/Partition.svelte +64 -22
  96. package/dist/components/Partition.svelte.d.ts +49 -26
  97. package/dist/components/Pattern.svelte +297 -11
  98. package/dist/components/Pattern.svelte.d.ts +103 -19
  99. package/dist/components/Pie.svelte +122 -76
  100. package/dist/components/Pie.svelte.d.ts +65 -51
  101. package/dist/components/Point.svelte +20 -9
  102. package/dist/components/Point.svelte.d.ts +16 -20
  103. package/dist/components/Points.svelte +148 -137
  104. package/dist/components/Points.svelte.d.ts +45 -34
  105. package/dist/components/RadialGradient.svelte +143 -70
  106. package/dist/components/RadialGradient.svelte.d.ts +69 -31
  107. package/dist/components/Rect.svelte +121 -102
  108. package/dist/components/Rect.svelte.d.ts +36 -0
  109. package/dist/components/RectClipPath.svelte +82 -18
  110. package/dist/components/RectClipPath.svelte.d.ts +55 -0
  111. package/dist/components/Rule.svelte +107 -63
  112. package/dist/components/Rule.svelte.d.ts +40 -19
  113. package/dist/components/Sankey.svelte +132 -55
  114. package/dist/components/Sankey.svelte.d.ts +61 -31
  115. package/dist/components/Spline.svelte +281 -218
  116. package/dist/components/Spline.svelte.d.ts +95 -0
  117. package/dist/components/Text.svelte +437 -176
  118. package/dist/components/Text.svelte.d.ts +130 -0
  119. package/dist/components/Threshold.svelte +48 -16
  120. package/dist/components/Threshold.svelte.d.ts +29 -31
  121. package/dist/components/TileImage.svelte +103 -30
  122. package/dist/components/TileImage.svelte.d.ts +48 -23
  123. package/dist/components/TransformContext.svelte +365 -171
  124. package/dist/components/TransformControls.svelte +50 -26
  125. package/dist/components/TransformControls.svelte.d.ts +27 -19
  126. package/dist/components/Tree.svelte +74 -33
  127. package/dist/components/Tree.svelte.d.ts +42 -30
  128. package/dist/components/Treemap.svelte +119 -42
  129. package/dist/components/Treemap.svelte.d.ts +75 -27
  130. package/dist/components/Voronoi.svelte +108 -76
  131. package/dist/components/Voronoi.svelte.d.ts +40 -41
  132. package/dist/components/charts/ArcChart.svelte +464 -0
  133. package/dist/components/charts/ArcChart.svelte.d.ts +90 -0
  134. package/dist/components/charts/AreaChart.svelte +450 -393
  135. package/dist/components/charts/AreaChart.svelte.d.ts +61 -0
  136. package/dist/components/charts/BarChart.svelte +454 -389
  137. package/dist/components/charts/BarChart.svelte.d.ts +76 -0
  138. package/dist/components/charts/ChartAnnotations.svelte +37 -0
  139. package/dist/components/charts/ChartAnnotations.svelte.d.ts +10 -0
  140. package/dist/components/charts/DefaultTooltip.svelte +60 -0
  141. package/dist/components/charts/DefaultTooltip.svelte.d.ts +10 -0
  142. package/dist/components/charts/LineChart.svelte +369 -314
  143. package/dist/components/charts/LineChart.svelte.d.ts +53 -0
  144. package/dist/components/charts/PieChart.svelte +458 -316
  145. package/dist/components/charts/PieChart.svelte.d.ts +137 -353
  146. package/dist/components/charts/ScatterChart.svelte +334 -296
  147. package/dist/components/charts/ScatterChart.svelte.d.ts +39 -0
  148. package/dist/components/charts/index.d.ts +8 -0
  149. package/dist/components/charts/index.js +7 -0
  150. package/dist/components/charts/types.d.ts +253 -0
  151. package/dist/components/charts/utils.svelte.d.ts +30 -0
  152. package/dist/components/charts/utils.svelte.js +55 -0
  153. package/dist/components/index.d.ts +76 -4
  154. package/dist/components/index.js +76 -5
  155. package/dist/components/layout/Canvas.svelte +321 -155
  156. package/dist/components/layout/Canvas.svelte.d.ts +104 -55
  157. package/dist/components/layout/Html.svelte +82 -42
  158. package/dist/components/layout/Html.svelte.d.ts +39 -28
  159. package/dist/components/layout/Layer.svelte +39 -0
  160. package/dist/components/layout/Layer.svelte.d.ts +17 -0
  161. package/dist/components/layout/Svg.svelte +122 -70
  162. package/dist/components/layout/Svg.svelte.d.ts +53 -34
  163. package/dist/components/layout/WebGL.svelte +135 -0
  164. package/dist/components/layout/WebGL.svelte.d.ts +50 -0
  165. package/dist/components/tooltip/Tooltip.svelte +246 -78
  166. package/dist/components/tooltip/Tooltip.svelte.d.ts +149 -31
  167. package/dist/components/tooltip/TooltipContext.svelte +409 -271
  168. package/dist/components/tooltip/TooltipContext.svelte.d.ts +86 -55
  169. package/dist/components/tooltip/TooltipHeader.svelte +100 -11
  170. package/dist/components/tooltip/TooltipHeader.svelte.d.ts +43 -23
  171. package/dist/components/tooltip/TooltipItem.svelte +167 -27
  172. package/dist/components/tooltip/TooltipItem.svelte.d.ts +63 -31
  173. package/dist/components/tooltip/TooltipList.svelte +22 -3
  174. package/dist/components/tooltip/TooltipList.svelte.d.ts +6 -17
  175. package/dist/components/tooltip/TooltipSeparator.svelte +27 -1
  176. package/dist/components/tooltip/TooltipSeparator.svelte.d.ts +6 -15
  177. package/dist/components/tooltip/index.d.ts +6 -0
  178. package/dist/components/tooltip/index.js +6 -0
  179. package/dist/components/tooltip/tooltipMetaContext.d.ts +79 -0
  180. package/dist/components/tooltip/tooltipMetaContext.js +139 -0
  181. package/dist/components/types.d.ts +1 -0
  182. package/dist/components/types.js +1 -0
  183. package/dist/docs/Blockquote.svelte.d.ts +18 -14
  184. package/dist/docs/Code.svelte.d.ts +26 -22
  185. package/dist/docs/ConnectorSweepMenuField.svelte +17 -0
  186. package/dist/docs/ConnectorSweepMenuField.svelte.d.ts +7 -0
  187. package/dist/docs/ConnectorTypeMenuField.svelte +17 -0
  188. package/dist/docs/ConnectorTypeMenuField.svelte.d.ts +7 -0
  189. package/dist/docs/CurveMenuField.svelte +14 -3
  190. package/dist/docs/CurveMenuField.svelte.d.ts +9 -18
  191. package/dist/docs/GeoDebug.svelte +47 -42
  192. package/dist/docs/GeoDebug.svelte.d.ts +4 -16
  193. package/dist/docs/Header1.svelte.d.ts +27 -16
  194. package/dist/docs/Json.svelte.d.ts +20 -16
  195. package/dist/docs/Layout.svelte.d.ts +18 -13
  196. package/dist/docs/Link.svelte.d.ts +33 -21
  197. package/dist/docs/PathDataMenuField.svelte +14 -10
  198. package/dist/docs/PathDataMenuField.svelte.d.ts +8 -18
  199. package/dist/docs/Preview.svelte +20 -7
  200. package/dist/docs/Preview.svelte.d.ts +12 -22
  201. package/dist/docs/TilesetField.svelte.d.ts +21 -17
  202. package/dist/docs/TransformDebug.svelte +5 -6
  203. package/dist/docs/TransformDebug.svelte.d.ts +18 -14
  204. package/dist/docs/ViewSourceButton.svelte.d.ts +21 -17
  205. package/dist/types/d3-shape-extentions.d.ts +7 -0
  206. package/dist/utils/afterTick.d.ts +5 -0
  207. package/dist/utils/afterTick.js +8 -0
  208. package/dist/utils/arcText.svelte.d.ts +57 -0
  209. package/dist/utils/arcText.svelte.js +262 -0
  210. package/dist/utils/array.d.ts +9 -1
  211. package/dist/utils/array.js +13 -0
  212. package/dist/utils/attributes.d.ts +29 -0
  213. package/dist/utils/attributes.js +40 -0
  214. package/dist/utils/canvas.js +47 -10
  215. package/dist/utils/chart.d.ts +78 -0
  216. package/dist/utils/chart.js +512 -0
  217. package/dist/utils/color.d.ts +1 -0
  218. package/dist/utils/color.js +8 -0
  219. package/dist/utils/common.d.ts +3 -5
  220. package/dist/utils/common.js +3 -2
  221. package/dist/utils/connectorUtils.d.ts +21 -0
  222. package/dist/utils/connectorUtils.js +111 -0
  223. package/dist/utils/createId.d.ts +7 -0
  224. package/dist/utils/createId.js +9 -0
  225. package/dist/utils/debug.d.ts +1 -0
  226. package/dist/utils/debug.js +84 -0
  227. package/dist/utils/filterObject.d.ts +9 -0
  228. package/dist/utils/filterObject.js +12 -0
  229. package/dist/utils/graph/dagre.d.ts +34 -0
  230. package/dist/utils/graph/dagre.js +78 -0
  231. package/dist/utils/graph/dagre.test.d.ts +1 -0
  232. package/dist/utils/{graph.test.js → graph/dagre.test.js} +19 -33
  233. package/dist/utils/graph/sankey.d.ts +28 -0
  234. package/dist/utils/{graph.js → graph/sankey.js} +13 -41
  235. package/dist/utils/index.d.ts +3 -1
  236. package/dist/utils/index.js +3 -1
  237. package/dist/utils/key.svelte.d.ts +3 -0
  238. package/dist/utils/key.svelte.js +11 -0
  239. package/dist/utils/legendPayload.d.ts +7 -0
  240. package/dist/utils/legendPayload.js +8 -0
  241. package/dist/utils/motion.svelte.d.ts +140 -0
  242. package/dist/utils/motion.svelte.js +180 -0
  243. package/dist/utils/motion.test.d.ts +1 -0
  244. package/dist/utils/motion.test.js +213 -0
  245. package/dist/utils/{rect.d.ts → rect.svelte.d.ts} +7 -4
  246. package/dist/utils/rect.svelte.js +105 -0
  247. package/dist/utils/scales.svelte.d.ts +90 -0
  248. package/dist/utils/{scales.js → scales.svelte.js} +100 -39
  249. package/dist/utils/stack.d.ts +2 -3
  250. package/dist/utils/stack.js +1 -1
  251. package/dist/utils/string.js +87 -0
  252. package/dist/utils/ticks.d.ts +8 -2
  253. package/dist/utils/ticks.js +28 -0
  254. package/dist/utils/ticks.test.d.ts +1 -0
  255. package/dist/utils/ticks.test.js +67 -0
  256. package/dist/utils/types.d.ts +81 -0
  257. package/package.json +21 -19
  258. package/dist/components/ChartContext.svelte +0 -295
  259. package/dist/components/ChartContext.svelte.d.ts +0 -139
  260. package/dist/components/TransformContext.svelte.d.ts +0 -158
  261. package/dist/stores/motionStore.d.ts +0 -30
  262. package/dist/stores/motionStore.js +0 -62
  263. package/dist/utils/graph.d.ts +0 -37
  264. package/dist/utils/rect.js +0 -107
  265. package/dist/utils/scales.d.ts +0 -66
  266. /package/dist/{utils/graph.test.d.ts → components/charts/types.js} +0 -0
@@ -0,0 +1,39 @@
1
+ import type { SeriesData, SimplifiedChartProps, SimplifiedChartPropsObject } from './types.js';
2
+ import type { AnyScale } from '../../utils/scales.svelte.js';
3
+ import { type ComponentProps } from 'svelte';
4
+ export type ScatterChartExtraSnippetProps<TData> = {
5
+ getLabelsProps: (s: SeriesData<TData, typeof Points>, i: number) => ComponentProps<typeof Labels<TData>>;
6
+ getPointsProps: (s: SeriesData<TData, typeof Points>, i: number) => ComponentProps<typeof Points>;
7
+ getHighlightProps: () => ComponentProps<typeof Highlight>;
8
+ getAxisProps: (axisDirection: 'x' | 'y') => ComponentProps<typeof Axis>;
9
+ getRuleProps: () => ComponentProps<typeof Rule>;
10
+ };
11
+ export type ScatterChartPropsObjProp = Pick<SimplifiedChartPropsObject, 'brush' | 'canvas' | 'grid' | 'highlight' | 'labels' | 'legend' | 'points' | 'rule' | 'svg' | 'tooltip' | 'xAxis' | 'yAxis'>;
12
+ export type ScatterChartProps<TData> = Omit<SimplifiedChartProps<TData, typeof Points, ScatterChartExtraSnippetProps<TData>>, 'radial'> & {
13
+ props?: ScatterChartPropsObjProp;
14
+ yDomain?: ComponentProps<typeof BrushContext>['yDomain'];
15
+ yScale?: AnyScale;
16
+ };
17
+ import Axis from '../Axis.svelte';
18
+ import BrushContext from '../BrushContext.svelte';
19
+ import Highlight from '../Highlight.svelte';
20
+ import Labels from '../Labels.svelte';
21
+ import Points from '../Points.svelte';
22
+ import Rule from '../Rule.svelte';
23
+ declare class __sveltets_Render<TData> {
24
+ props(): ScatterChartProps<TData>;
25
+ events(): {};
26
+ slots(): {};
27
+ bindings(): "context";
28
+ exports(): {};
29
+ }
30
+ interface $$IsomorphicComponent {
31
+ new <TData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData>['props']>, ReturnType<__sveltets_Render<TData>['events']>, ReturnType<__sveltets_Render<TData>['slots']>> & {
32
+ $$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
33
+ } & ReturnType<__sveltets_Render<TData>['exports']>;
34
+ <TData>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
35
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
36
+ }
37
+ declare const ScatterChart: $$IsomorphicComponent;
38
+ type ScatterChart<TData> = InstanceType<typeof ScatterChart<TData>>;
39
+ export default ScatterChart;
@@ -1,5 +1,13 @@
1
+ export { default as ArcChart } from './ArcChart.svelte';
2
+ export * from './ArcChart.svelte';
1
3
  export { default as AreaChart } from './AreaChart.svelte';
4
+ export * from './AreaChart.svelte';
2
5
  export { default as BarChart } from './BarChart.svelte';
6
+ export * from './BarChart.svelte';
3
7
  export { default as LineChart } from './LineChart.svelte';
8
+ export * from './LineChart.svelte';
4
9
  export { default as PieChart } from './PieChart.svelte';
10
+ export * from './PieChart.svelte';
5
11
  export { default as ScatterChart } from './ScatterChart.svelte';
12
+ export * from './ScatterChart.svelte';
13
+ export type * from './types.js';
@@ -1,5 +1,12 @@
1
+ export { default as ArcChart } from './ArcChart.svelte';
2
+ export * from './ArcChart.svelte';
1
3
  export { default as AreaChart } from './AreaChart.svelte';
4
+ export * from './AreaChart.svelte';
2
5
  export { default as BarChart } from './BarChart.svelte';
6
+ export * from './BarChart.svelte';
3
7
  export { default as LineChart } from './LineChart.svelte';
8
+ export * from './LineChart.svelte';
4
9
  export { default as PieChart } from './PieChart.svelte';
10
+ export * from './PieChart.svelte';
5
11
  export { default as ScatterChart } from './ScatterChart.svelte';
12
+ export * from './ScatterChart.svelte';
@@ -0,0 +1,253 @@
1
+ import type { Accessor } from '../../utils/common.js';
2
+ import type { Component, ComponentProps, Snippet } from 'svelte';
3
+ import type BrushContext from '../BrushContext.svelte';
4
+ import type { AnyScale } from '../../utils/scales.svelte.js';
5
+ import type { AnnotationPoint, AnnotationLine, AnnotationRange, Area, Axis, Group, Labels, Legend, Points, Rule, Spline } from '../index.js';
6
+ import type TooltipContext from '../tooltip/TooltipContext.svelte';
7
+ import type { TooltipContextValue } from '../tooltip/TooltipContext.svelte';
8
+ import type Highlight from '../Highlight.svelte';
9
+ import type Line from '../Line.svelte';
10
+ import type Svg from '../layout/Svg.svelte';
11
+ import type Tooltip from '../tooltip/Tooltip.svelte';
12
+ import type TooltipHeader from '../tooltip/TooltipHeader.svelte';
13
+ import type TooltipList from '../tooltip/TooltipList.svelte';
14
+ import type TooltipItem from '../tooltip/TooltipItem.svelte';
15
+ import type TooltipSeparator from '../tooltip/TooltipSeparator.svelte';
16
+ import type { ChartContextValue, ChartPropsWithoutHTML } from '../Chart.svelte';
17
+ import type Grid from '../Grid.svelte';
18
+ import type Bars from '../Bars.svelte';
19
+ import type Pie from '../Pie.svelte';
20
+ import type Arc from '../Arc.svelte';
21
+ import type Canvas from '../layout/Canvas.svelte';
22
+ import type { Without } from '../../utils/types.js';
23
+ export type SeriesData<TData, TComponent extends Component> = {
24
+ key: string;
25
+ label?: string;
26
+ value?: Accessor<TData>;
27
+ /**
28
+ * Maximum possible value. Useful when `data` is a single item
29
+ */
30
+ maxValue?: number;
31
+ data?: TData[];
32
+ color?: string;
33
+ props?: Partial<ComponentProps<TComponent>>;
34
+ };
35
+ export type SimplifiedChartSnippetProps<TData, TComponent extends Component, TSnippetProps> = {
36
+ /**
37
+ * The chart context
38
+ */
39
+ context: ChartContextValue<TData>;
40
+ /**
41
+ * The series of data for the chart.
42
+ */
43
+ series: SeriesData<TData, TComponent>[];
44
+ /**
45
+ * The visible series of data for the chart.
46
+ */
47
+ visibleSeries: SeriesData<TData, TComponent>[];
48
+ /**
49
+ * The current highlight series key for the chart.
50
+ */
51
+ highlightKey: SeriesData<TData, TComponent>['key'] | null;
52
+ /**
53
+ * A function to set the highlight series key for the chart.
54
+ */
55
+ setHighlightKey: (seriesKey: SeriesData<TData, TComponent>['key'] | null) => void;
56
+ /**
57
+ * Get the default props for the legend component.
58
+ */
59
+ getLegendProps: () => ComponentProps<typeof Legend>;
60
+ } & TSnippetProps;
61
+ export type SimplifiedChartSnippet<TData, TComponent extends Component, TSnippetProps> = Snippet<[
62
+ SimplifiedChartSnippetProps<TData, TComponent, TSnippetProps>
63
+ ]>;
64
+ export type SimplifiedChartPropsObject<TData = any> = {
65
+ area?: Partial<ComponentProps<typeof Area>>;
66
+ arc?: Partial<ComponentProps<typeof Arc>>;
67
+ bars?: Partial<ComponentProps<typeof Bars>>;
68
+ brush?: Partial<ComponentProps<typeof BrushContext>>;
69
+ canvas?: Partial<ComponentProps<typeof Canvas>>;
70
+ grid?: Partial<ComponentProps<typeof Grid>>;
71
+ group?: Partial<ComponentProps<typeof Group>>;
72
+ highlight?: Partial<ComponentProps<typeof Highlight>>;
73
+ labels?: Partial<ComponentProps<typeof Labels<TData>>>;
74
+ legend?: Partial<ComponentProps<typeof Legend>>;
75
+ line?: Partial<ComponentProps<typeof Line>>;
76
+ pie?: Partial<ComponentProps<typeof Pie>>;
77
+ spline?: Partial<ComponentProps<typeof Spline>>;
78
+ points?: Partial<ComponentProps<typeof Points>>;
79
+ rule?: Partial<ComponentProps<typeof Rule>>;
80
+ svg?: Partial<ComponentProps<typeof Svg>>;
81
+ tooltip?: {
82
+ context?: Partial<ComponentProps<typeof TooltipContext>>;
83
+ root?: Omit<Partial<ComponentProps<typeof Tooltip>>, 'context'>;
84
+ header?: Partial<ComponentProps<typeof TooltipHeader>>;
85
+ list?: Partial<ComponentProps<typeof TooltipList>>;
86
+ item?: Partial<ComponentProps<typeof TooltipItem>>;
87
+ separator?: Partial<ComponentProps<typeof TooltipSeparator>>;
88
+ hideTotal?: boolean;
89
+ };
90
+ xAxis?: Partial<ComponentProps<typeof Axis>>;
91
+ yAxis?: Partial<ComponentProps<typeof Axis>>;
92
+ };
93
+ export type BaseChartProps<TData, TComponent extends Component, TSnippetProps = {}, ChartSnippet = SimplifiedChartSnippet<TData, TComponent, TSnippetProps>> = {
94
+ /**
95
+ * The data to be rendered in the chart.
96
+ *
97
+ * @default []
98
+ */
99
+ data?: TData[];
100
+ /**
101
+ * The x accessor function to be used for the chart.
102
+ *
103
+ */
104
+ x?: Accessor<TData>;
105
+ /**
106
+ * The y accessor function to be used for the chart.
107
+ *
108
+ */
109
+ y?: Accessor<TData>;
110
+ xScale?: AnyScale;
111
+ /**
112
+ * The x domain to be used for the chart.
113
+ *
114
+ */
115
+ xDomain?: ComponentProps<typeof BrushContext>['xDomain'];
116
+ /**
117
+ * Use radial instead of cartesian coordinates, mapping `x` to `angle` and `y`` to
118
+ * radial. Radial lines are positioned relative to the origin, use transform
119
+ * (ex. `<Group center>`) to change the origin
120
+ *
121
+ * @default false
122
+ */
123
+ radial?: boolean;
124
+ /**
125
+ * The series data to be used for the chart.
126
+ *
127
+ * @default [{ key: 'default', value: y, color: 'var(--color-primary)' }]
128
+ */
129
+ series?: SeriesData<TData, TComponent>[];
130
+ /**
131
+ * The layout of the series.
132
+ *
133
+ * @default 'overlap'
134
+ */
135
+ seriesLayout?: 'overlap' | 'stack' | 'stackExpand' | 'stackDiverging';
136
+ /**
137
+ * The axis to be used for the chart.
138
+ *
139
+ * @default true
140
+ */
141
+ axis?: ComponentProps<typeof Axis> | 'x' | 'y' | boolean | SimplifiedChartSnippet<TData, TComponent, TSnippetProps>;
142
+ /**
143
+ * The brush to be used for the chart.
144
+ *
145
+ * @default false
146
+ */
147
+ brush?: ComponentProps<typeof BrushContext> | boolean;
148
+ /**
149
+ * The grid to be used for the chart.
150
+ *
151
+ * @default true
152
+ */
153
+ grid?: ComponentProps<typeof Grid> | boolean | ChartSnippet;
154
+ /**
155
+ * The labels to be used for the chart.
156
+ *
157
+ * @default false
158
+ */
159
+ labels?: ComponentProps<typeof Labels<TData>> | boolean | ChartSnippet;
160
+ /**
161
+ * The legend to be used for the chart.
162
+ *
163
+ * @default false
164
+ */
165
+ legend?: ComponentProps<typeof Legend> | boolean | ChartSnippet;
166
+ /**
167
+ * The points to be used for the chart.
168
+ *
169
+ * @default false
170
+ */
171
+ points?: ComponentProps<typeof Points> | boolean | ChartSnippet;
172
+ /**
173
+ * The rule to be used for the chart.
174
+ *
175
+ * @default true
176
+ */
177
+ rule?: ComponentProps<typeof Rule> | boolean | ChartSnippet;
178
+ /**
179
+ * The tooltip to be used for the chart.
180
+ */
181
+ tooltip?: ComponentProps<typeof TooltipContext> | boolean | ChartSnippet;
182
+ highlight?: boolean | ChartSnippet;
183
+ /** Annotations to show on chart */
184
+ annotations?: ChartAnnotations;
185
+ /**
186
+ * The tooltip context to be used for the chart.
187
+ */
188
+ tooltipContext?: TooltipContextValue;
189
+ /**
190
+ * The event to be dispatched when the tooltip is clicked.
191
+ *
192
+ */
193
+ onTooltipClick?: (e: MouseEvent, details: {
194
+ data: any;
195
+ }) => void;
196
+ /**
197
+ * The render context to be used for the chart.
198
+ *
199
+ * @default 'svg'
200
+ */
201
+ renderContext?: 'svg' | 'canvas';
202
+ /**
203
+ * Whether to log the initial render performance using `console.time`.
204
+ *
205
+ * @default false
206
+ */
207
+ profile?: boolean;
208
+ /**
209
+ * Whether to enable debug mode.
210
+ *
211
+ * @default false
212
+ */
213
+ debug?: boolean;
214
+ /**
215
+ * A bindable reference to the chart context.
216
+ */
217
+ context?: ChartContextValue<TData>;
218
+ children?: ChartSnippet;
219
+ aboveContext?: ChartSnippet;
220
+ belowContext?: ChartSnippet;
221
+ belowMarks?: ChartSnippet;
222
+ aboveMarks?: ChartSnippet;
223
+ marks?: ChartSnippet;
224
+ };
225
+ export type SimplifiedChartProps<TData, TComponent extends Component, TSnippetProps = {}, ChartSnippet = SimplifiedChartSnippet<TData, TComponent, TSnippetProps>> = BaseChartProps<TData, TComponent, TSnippetProps, ChartSnippet> & Without<ChartPropsWithoutHTML<TData>, BaseChartProps<TData, TComponent, TSnippetProps, ChartSnippet>>;
226
+ export type ChartAnnotations = Array<({
227
+ /** Create AnnotationPoint */
228
+ type: 'point';
229
+ /** Apply `above` or `below` marks
230
+ * @default 'above'
231
+ */
232
+ layer?: 'above' | 'below';
233
+ /** Related to specific series (if applicable). Will hide if set and series not highlighted */
234
+ seriesKey?: string;
235
+ } & ComponentProps<typeof AnnotationPoint>) | ({
236
+ /** Create AnnotationLine */
237
+ type: 'line';
238
+ /** Apply `above` or `below` marks
239
+ * @default 'above'
240
+ */
241
+ layer?: 'above' | 'below';
242
+ /** Related to specific series (if applicable). Will hide if set and series not highlighted */
243
+ seriesKey?: string;
244
+ } & ComponentProps<typeof AnnotationLine>) | ({
245
+ /** Create AnnotationRange */
246
+ type: 'range';
247
+ /** Apply `above` or `below` marks
248
+ * @default 'above'
249
+ */
250
+ layer?: 'above' | 'below';
251
+ /** Related to specific series (if applicable). Will hide if set and series not highlighted */
252
+ seriesKey?: string;
253
+ } & ComponentProps<typeof AnnotationRange>)>;
@@ -0,0 +1,30 @@
1
+ import type { Component, ComponentProps } from 'svelte';
2
+ import { SelectionState } from '@layerstack/svelte-state';
3
+ import type { SeriesData } from './types.js';
4
+ import type Legend from '../Legend.svelte';
5
+ export declare class HighlightKey<TData, SeriesComponent extends Component> {
6
+ current: string | null;
7
+ set: (seriesKey: typeof this.current) => void;
8
+ }
9
+ export declare class SeriesState<TData, TComponent extends Component> {
10
+ #private;
11
+ selectedSeries: SelectionState<unknown>;
12
+ selectedKeys: SelectionState<unknown>;
13
+ highlightKey: HighlightKey<TData, TComponent>;
14
+ constructor(getSeries: () => SeriesData<TData, TComponent>[]);
15
+ get series(): SeriesData<TData, TComponent>[];
16
+ get isDefaultSeries(): boolean;
17
+ get allSeriesData(): Array<TData & {
18
+ seriesKey: string;
19
+ }>;
20
+ get visibleSeries(): SeriesData<TData, TComponent>[];
21
+ }
22
+ type CreateLegendPropsOptions<TData, TComponent extends Component> = {
23
+ seriesState: SeriesState<TData, TComponent>;
24
+ props: Partial<ComponentProps<typeof Legend>>;
25
+ };
26
+ /**
27
+ * A prop builder for the legend component shared between the simplified charts.
28
+ */
29
+ export declare function createLegendProps<TData, TComponent extends Component>(opts: CreateLegendPropsOptions<TData, TComponent>): ComponentProps<typeof Legend>;
30
+ export {};
@@ -0,0 +1,55 @@
1
+ import { SelectionState } from '@layerstack/svelte-state';
2
+ import { scaleOrdinal } from 'd3-scale';
3
+ export class HighlightKey {
4
+ current = $state(null);
5
+ set = (seriesKey) => {
6
+ this.current = seriesKey;
7
+ };
8
+ }
9
+ export class SeriesState {
10
+ #series = $state.raw([]);
11
+ selectedSeries = new SelectionState();
12
+ selectedKeys = new SelectionState();
13
+ highlightKey = new HighlightKey();
14
+ constructor(getSeries) {
15
+ this.#series = getSeries();
16
+ }
17
+ get series() {
18
+ return this.#series;
19
+ }
20
+ get isDefaultSeries() {
21
+ return this.#series.length === 1 && this.#series[0].key === 'default';
22
+ }
23
+ get allSeriesData() {
24
+ return this.#series
25
+ .flatMap((s) => s.data?.map((d) => ({ seriesKey: s.key, ...d })))
26
+ .filter((d) => d);
27
+ }
28
+ get visibleSeries() {
29
+ return this.#series.filter((s) => this.selectedSeries.isEmpty() || this.selectedSeries.isSelected(s.key));
30
+ }
31
+ }
32
+ /**
33
+ * A prop builder for the legend component shared between the simplified charts.
34
+ */
35
+ export function createLegendProps(opts) {
36
+ return {
37
+ scale: opts.seriesState.isDefaultSeries
38
+ ? undefined
39
+ : scaleOrdinal(opts.seriesState.series.map((s) => s.key), opts.seriesState.series.map((s) => s.color)),
40
+ tickFormat: (key) => opts.seriesState.series.find((s) => s.key === key)?.label ?? key,
41
+ placement: 'bottom',
42
+ variant: 'swatches',
43
+ onclick: (_, item) => opts.seriesState.selectedSeries.toggleSelected(item.value),
44
+ onpointerenter: (_, item) => (opts.seriesState.highlightKey.current = item.value),
45
+ onpointerleave: () => (opts.seriesState.highlightKey.current = null),
46
+ ...opts.props,
47
+ classes: {
48
+ item: (item) => opts.seriesState.visibleSeries.length &&
49
+ !opts.seriesState.visibleSeries.some((s) => s.key === item.value)
50
+ ? 'opacity-50'
51
+ : '',
52
+ ...opts.props?.classes,
53
+ },
54
+ };
55
+ }
@@ -1,62 +1,134 @@
1
- export { WebGL } from 'layercake';
2
1
  export * from './charts/index.js';
2
+ export * from './types.js';
3
+ export { default as AnnotationLine } from './AnnotationLine.svelte';
4
+ export * from './AnnotationLine.svelte';
5
+ export { default as AnnotationPoint } from './AnnotationPoint.svelte';
6
+ export * from './AnnotationPoint.svelte';
7
+ export { default as AnnotationRange } from './AnnotationRange.svelte';
8
+ export * from './AnnotationRange.svelte';
3
9
  export { default as Arc } from './Arc.svelte';
10
+ export * from './Arc.svelte';
4
11
  export { default as Area } from './Area.svelte';
12
+ export * from './Area.svelte';
5
13
  export { default as Axis } from './Axis.svelte';
14
+ export * from './Axis.svelte';
6
15
  export { default as Bar } from './Bar.svelte';
16
+ export * from './Bar.svelte';
7
17
  export { default as Bars } from './Bars.svelte';
18
+ export * from './Bars.svelte';
8
19
  export { default as Blur } from './Blur.svelte';
20
+ export * from './Blur.svelte';
9
21
  export { default as Bounds } from './Bounds.svelte';
22
+ export * from './Bounds.svelte';
10
23
  export { default as BrushContext } from './BrushContext.svelte';
24
+ export * from './BrushContext.svelte';
11
25
  export { default as Calendar } from './Calendar.svelte';
26
+ export * from './Calendar.svelte';
12
27
  export { default as Canvas } from './layout/Canvas.svelte';
13
- export { default as Chart } from './Chart.svelte';
28
+ export * from './layout/Canvas.svelte';
29
+ export { default as Chart, getChartContext, getRenderContext } from './Chart.svelte';
30
+ export * from './Chart.svelte';
14
31
  export { default as ChartClipPath } from './ChartClipPath.svelte';
32
+ export * from './ChartClipPath.svelte';
15
33
  export { default as Circle } from './Circle.svelte';
34
+ export * from './Circle.svelte';
16
35
  export { default as CircleClipPath } from './CircleClipPath.svelte';
36
+ export * from './CircleClipPath.svelte';
17
37
  export { default as ClipPath } from './ClipPath.svelte';
38
+ export * from './ClipPath.svelte';
18
39
  export { default as ColorRamp } from './ColorRamp.svelte';
40
+ export * from './ColorRamp.svelte';
41
+ export { default as Connector } from './Connector.svelte';
42
+ export * from './Connector.svelte';
19
43
  export { default as Dagre } from './Dagre.svelte';
44
+ export * from './Dagre.svelte';
20
45
  export { default as Frame } from './Frame.svelte';
46
+ export * from './Frame.svelte';
21
47
  export { default as ForceSimulation } from './ForceSimulation.svelte';
48
+ export * from './ForceSimulation.svelte';
22
49
  export { default as GeoCircle } from './GeoCircle.svelte';
23
- export { default as GeoContext, geoContext } from './GeoContext.svelte';
50
+ export * from './GeoCircle.svelte';
51
+ export { default as GeoContext, getGeoContext } from './GeoContext.svelte';
52
+ export * from './GeoContext.svelte';
24
53
  export { default as GeoEdgeFade } from './GeoEdgeFade.svelte';
54
+ export * from './GeoEdgeFade.svelte';
25
55
  export { default as GeoPath } from './GeoPath.svelte';
56
+ export * from './GeoPath.svelte';
26
57
  export { default as GeoPoint } from './GeoPoint.svelte';
58
+ export * from './GeoPoint.svelte';
27
59
  export { default as GeoSpline } from './GeoSpline.svelte';
60
+ export * from './GeoSpline.svelte';
28
61
  export { default as GeoTile } from './GeoTile.svelte';
62
+ export * from './GeoTile.svelte';
29
63
  export { default as GeoVisible } from './GeoVisible.svelte';
64
+ export * from './GeoVisible.svelte';
30
65
  export { default as Graticule } from './Graticule.svelte';
66
+ export * from './Graticule.svelte';
31
67
  export { default as Grid } from './Grid.svelte';
68
+ export * from './Grid.svelte';
32
69
  export { default as Group } from './Group.svelte';
70
+ export * from './Group.svelte';
33
71
  export { default as Highlight } from './Highlight.svelte';
72
+ export * from './Highlight.svelte';
34
73
  export { default as Html } from './layout/Html.svelte';
74
+ export * from './layout/Html.svelte';
35
75
  export { default as Hull } from './Hull.svelte';
76
+ export * from './Hull.svelte';
36
77
  export { default as Labels } from './Labels.svelte';
78
+ export * from './Labels.svelte';
79
+ export { default as Layer } from './layout/Layer.svelte';
80
+ export * from './layout/Layer.svelte';
37
81
  export { default as Legend } from './Legend.svelte';
82
+ export * from './Legend.svelte';
38
83
  export { default as Line } from './Line.svelte';
84
+ export * from './Line.svelte';
39
85
  export { default as Spline } from './Spline.svelte';
86
+ export * from './Spline.svelte';
40
87
  export { default as LinearGradient } from './LinearGradient.svelte';
88
+ export * from './LinearGradient.svelte';
41
89
  export { default as Link } from './Link.svelte';
90
+ export * from './Link.svelte';
42
91
  export { default as MotionPath } from './MotionPath.svelte';
92
+ export * from './MotionPath.svelte';
43
93
  export { default as Pack } from './Pack.svelte';
94
+ export * from './Pack.svelte';
44
95
  export { default as Partition } from './Partition.svelte';
96
+ export * from './Partition.svelte';
45
97
  export { default as Pattern } from './Pattern.svelte';
98
+ export * from './Pattern.svelte';
46
99
  export { default as Pie } from './Pie.svelte';
100
+ export * from './Pie.svelte';
47
101
  export { default as Point } from './Point.svelte';
102
+ export * from './Point.svelte';
48
103
  export { default as Points } from './Points.svelte';
104
+ export * from './Points.svelte';
49
105
  export { default as RadialGradient } from './RadialGradient.svelte';
106
+ export * from './RadialGradient.svelte';
50
107
  export { default as Rect } from './Rect.svelte';
108
+ export * from './Rect.svelte';
51
109
  export { default as RectClipPath } from './RectClipPath.svelte';
110
+ export * from './RectClipPath.svelte';
52
111
  export { default as Rule } from './Rule.svelte';
112
+ export * from './Rule.svelte';
53
113
  export { default as Sankey } from './Sankey.svelte';
114
+ export * from './Sankey.svelte';
54
115
  export { default as Svg } from './layout/Svg.svelte';
116
+ export * from './layout/Svg.svelte';
55
117
  export { default as Text } from './Text.svelte';
118
+ export * from './Text.svelte';
56
119
  export { default as Threshold } from './Threshold.svelte';
120
+ export * from './Threshold.svelte';
57
121
  export { default as TileImage } from './TileImage.svelte';
122
+ export * from './TileImage.svelte';
58
123
  export * as Tooltip from './tooltip/index.js';
59
- export { default as TransformContext, transformContext } from './TransformContext.svelte';
124
+ export * from './tooltip/TooltipContext.svelte';
125
+ export { default as TransformContext } from './TransformContext.svelte';
126
+ export * from './TransformContext.svelte';
60
127
  export { default as Tree } from './Tree.svelte';
128
+ export * from './Tree.svelte';
61
129
  export { default as Treemap } from './Treemap.svelte';
130
+ export * from './Treemap.svelte';
62
131
  export { default as Voronoi } from './Voronoi.svelte';
132
+ export * from './Voronoi.svelte';
133
+ export { default as WebGL } from './layout/WebGL.svelte';
134
+ export * from './layout/WebGL.svelte';