layerchart 2.0.0-next.0 → 2.0.0-next.10

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 (275) 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 +320 -179
  14. package/dist/components/Axis.svelte.d.ts +127 -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 +148 -77
  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 +463 -197
  118. package/dist/components/Text.svelte.d.ts +136 -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 +153 -103
  131. package/dist/components/Voronoi.svelte.d.ts +42 -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 +444 -393
  135. package/dist/components/charts/AreaChart.svelte.d.ts +61 -0
  136. package/dist/components/charts/BarChart.svelte +463 -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 +366 -315
  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 +332 -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 +59 -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 +347 -171
  156. package/dist/components/layout/Canvas.svelte.d.ts +110 -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 +253 -78
  166. package/dist/components/tooltip/Tooltip.svelte.d.ts +149 -31
  167. package/dist/components/tooltip/TooltipContext.svelte +426 -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 +3 -1
  184. package/dist/docs/Blockquote.svelte.d.ts +5 -16
  185. package/dist/docs/Code.svelte +20 -12
  186. package/dist/docs/Code.svelte.d.ts +12 -22
  187. package/dist/docs/ConnectorSweepMenuField.svelte +17 -0
  188. package/dist/docs/ConnectorSweepMenuField.svelte.d.ts +7 -0
  189. package/dist/docs/ConnectorTypeMenuField.svelte +17 -0
  190. package/dist/docs/ConnectorTypeMenuField.svelte.d.ts +7 -0
  191. package/dist/docs/CurveMenuField.svelte +14 -3
  192. package/dist/docs/CurveMenuField.svelte.d.ts +9 -18
  193. package/dist/docs/GeoDebug.svelte +47 -42
  194. package/dist/docs/GeoDebug.svelte.d.ts +4 -16
  195. package/dist/docs/Header1.svelte +4 -2
  196. package/dist/docs/Header1.svelte.d.ts +5 -18
  197. package/dist/docs/Json.svelte +11 -3
  198. package/dist/docs/Json.svelte.d.ts +9 -17
  199. package/dist/docs/Layout.svelte +10 -7
  200. package/dist/docs/Layout.svelte.d.ts +5 -15
  201. package/dist/docs/Link.svelte +7 -3
  202. package/dist/docs/Link.svelte.d.ts +5 -27
  203. package/dist/docs/PathDataMenuField.svelte +14 -10
  204. package/dist/docs/PathDataMenuField.svelte.d.ts +8 -18
  205. package/dist/docs/Preview.svelte +20 -7
  206. package/dist/docs/Preview.svelte.d.ts +12 -22
  207. package/dist/docs/TilesetField.svelte +20 -19
  208. package/dist/docs/TilesetField.svelte.d.ts +6 -19
  209. package/dist/docs/TransformDebug.svelte +5 -6
  210. package/dist/docs/TransformDebug.svelte.d.ts +18 -14
  211. package/dist/docs/ViewSourceButton.svelte +7 -4
  212. package/dist/docs/ViewSourceButton.svelte.d.ts +8 -18
  213. package/dist/types/d3-shape-extentions.d.ts +7 -0
  214. package/dist/utils/afterTick.d.ts +5 -0
  215. package/dist/utils/afterTick.js +8 -0
  216. package/dist/utils/arcText.svelte.d.ts +57 -0
  217. package/dist/utils/arcText.svelte.js +262 -0
  218. package/dist/utils/array.d.ts +9 -1
  219. package/dist/utils/array.js +13 -0
  220. package/dist/utils/attributes.d.ts +29 -0
  221. package/dist/utils/attributes.js +40 -0
  222. package/dist/utils/canvas.js +47 -10
  223. package/dist/utils/chart.d.ts +78 -0
  224. package/dist/utils/chart.js +512 -0
  225. package/dist/utils/color.d.ts +1 -0
  226. package/dist/utils/color.js +8 -0
  227. package/dist/utils/common.d.ts +3 -5
  228. package/dist/utils/common.js +3 -2
  229. package/dist/utils/connectorUtils.d.ts +21 -0
  230. package/dist/utils/connectorUtils.js +111 -0
  231. package/dist/utils/createId.d.ts +7 -0
  232. package/dist/utils/createId.js +9 -0
  233. package/dist/utils/debug.d.ts +1 -0
  234. package/dist/utils/debug.js +84 -0
  235. package/dist/utils/filterObject.d.ts +9 -0
  236. package/dist/utils/filterObject.js +12 -0
  237. package/dist/utils/graph/dagre.d.ts +34 -0
  238. package/dist/utils/graph/dagre.js +78 -0
  239. package/dist/utils/graph/dagre.test.d.ts +1 -0
  240. package/dist/utils/{graph.test.js → graph/dagre.test.js} +19 -33
  241. package/dist/utils/graph/sankey.d.ts +28 -0
  242. package/dist/utils/{graph.js → graph/sankey.js} +13 -41
  243. package/dist/utils/index.d.ts +3 -1
  244. package/dist/utils/index.js +3 -1
  245. package/dist/utils/key.svelte.d.ts +3 -0
  246. package/dist/utils/key.svelte.js +11 -0
  247. package/dist/utils/legendPayload.d.ts +7 -0
  248. package/dist/utils/legendPayload.js +8 -0
  249. package/dist/utils/motion.svelte.d.ts +140 -0
  250. package/dist/utils/motion.svelte.js +180 -0
  251. package/dist/utils/motion.test.d.ts +1 -0
  252. package/dist/utils/motion.test.js +213 -0
  253. package/dist/utils/{rect.d.ts → rect.svelte.d.ts} +7 -4
  254. package/dist/utils/rect.svelte.js +105 -0
  255. package/dist/utils/scales.svelte.d.ts +91 -0
  256. package/dist/utils/scales.svelte.js +201 -0
  257. package/dist/utils/stack.d.ts +2 -3
  258. package/dist/utils/stack.js +1 -1
  259. package/dist/utils/string.js +87 -0
  260. package/dist/utils/ticks.d.ts +9 -3
  261. package/dist/utils/ticks.js +122 -147
  262. package/dist/utils/ticks.test.d.ts +1 -0
  263. package/dist/utils/ticks.test.js +57 -0
  264. package/dist/utils/types.d.ts +81 -0
  265. package/package.json +30 -28
  266. package/dist/components/ChartContext.svelte +0 -295
  267. package/dist/components/ChartContext.svelte.d.ts +0 -139
  268. package/dist/components/TransformContext.svelte.d.ts +0 -158
  269. package/dist/stores/motionStore.d.ts +0 -30
  270. package/dist/stores/motionStore.js +0 -62
  271. package/dist/utils/graph.d.ts +0 -37
  272. package/dist/utils/rect.js +0 -107
  273. package/dist/utils/scales.d.ts +0 -66
  274. package/dist/utils/scales.js +0 -136
  275. /package/dist/{utils/graph.test.d.ts → components/charts/types.js} +0 -0
@@ -1,295 +0,0 @@
1
- <!-- Wrapper to allow getting LayerCake context from <Chart> and exposing with a strongly type context getter -->
2
- <script lang="ts" context="module">
3
- import { createScale, type AnyScale } from '../utils/scales.js';
4
-
5
- import type { HierarchyNode } from 'd3-hierarchy';
6
- import { getContext, onMount, setContext } from 'svelte';
7
- import { derived, writable, type Readable } from 'svelte/store';
8
-
9
- export const chartContextKey = Symbol();
10
-
11
- type LayerCakeContext<TData> = {
12
- activeGetters: Readable<{
13
- x: (d: TData) => any;
14
- y: (d: TData) => any;
15
- z: (d: TData) => any;
16
- r: (d: TData) => any;
17
- }>;
18
- width: Readable<number>;
19
- height: Readable<number>;
20
- percentRange: Readable<boolean>;
21
- aspectRatio: Readable<number>;
22
- containerWidth: Readable<number>;
23
- containerHeight: Readable<number>;
24
- x: Readable<(d: TData) => any>;
25
- y: Readable<(d: TData) => any>;
26
- z: Readable<(d: TData) => any>;
27
- r: Readable<(d: TData) => any>;
28
- x1: Readable<(d: TData) => any>;
29
- y1: Readable<(d: TData) => any>;
30
- c: Readable<(d: TData) => any>;
31
- custom: Readable<Object>;
32
- data: Readable<TData[] | HierarchyNode<TData> | SankeyGraph<any, any>>;
33
- xNice: Readable<number | boolean>;
34
- yNice: Readable<number | boolean>;
35
- zNice: Readable<number | boolean>;
36
- rNice: Readable<number | boolean>;
37
- xDomainSort: Readable<boolean>;
38
- yDomainSort: Readable<boolean>;
39
- zDomainSort: Readable<boolean>;
40
- rDomainSort: Readable<boolean>;
41
- xReverse: Readable<boolean>;
42
- yReverse: Readable<boolean>;
43
- zReverse: Readable<boolean>;
44
- rReverse: Readable<boolean>;
45
- xPadding: Readable<[number, number]>;
46
- yPadding: Readable<[number, number]>;
47
- zPadding: Readable<[number, number]>;
48
- rPadding: Readable<[number, number]>;
49
- padding: Readable<{
50
- top: number;
51
- bottom: number;
52
- left: number;
53
- right: number;
54
- }>;
55
- flatData: Readable<TData[]>;
56
- extents: Readable<{}>;
57
- xDomain: Readable<any>;
58
- yDomain: Readable<any>;
59
- zDomain: Readable<any>;
60
- rDomain: Readable<any>;
61
- x1Domain: Readable<any>;
62
- y1Domain: Readable<any>;
63
- cDomain: Readable<any>;
64
- xRange: Readable<any>;
65
- yRange: Readable<any>;
66
- zRange: Readable<any>;
67
- rRange: Readable<any>;
68
- x1Range: Readable<any>;
69
- y1Range: Readable<any>;
70
- cRange: Readable<any>;
71
- config: Readable<any>;
72
- xScale: Readable<AnyScale>;
73
- xGet: Readable<any>;
74
- yScale: Readable<AnyScale>;
75
- yGet: Readable<any>;
76
- zScale: Readable<AnyScale>;
77
- zGet: Readable<any>;
78
- rScale: Readable<AnyScale>;
79
- rGet: Readable<any>;
80
- x1Scale: Readable<AnyScale | null>;
81
- x1Get: Readable<any>;
82
- y1Scale: Readable<AnyScale | null>;
83
- y1Get: Readable<any>;
84
- cScale: Readable<AnyScale | null>;
85
- cGet: Readable<any>;
86
- };
87
-
88
- export type ChartEvents = {
89
- resize: ChartResizeDetail;
90
- };
91
-
92
- export type ChartResizeDetail = {
93
- width: number;
94
- height: number;
95
- containerWidth: number;
96
- containerHeight: number;
97
- };
98
-
99
- export type ChartContext<TData> = LayerCakeContext<TData> & {
100
- // Additional context values
101
- radial: Readable<boolean>;
102
- };
103
-
104
- export function chartContext<TData = any>() {
105
- return getContext<ChartContext<TData>>(chartContextKey);
106
- }
107
-
108
- function setChartContext<TData = any>(context: ChartContext<TData>) {
109
- setContext(chartContextKey, context);
110
- }
111
- </script>
112
-
113
- <script lang="ts" generics="TData">
114
- import { unique } from '@layerstack/utils';
115
-
116
- import { scaleOrdinal } from 'd3-scale';
117
-
118
- import { extent } from 'd3-array';
119
-
120
- import type { SankeyGraph } from 'd3-sankey';
121
-
122
- import type Chart from './Chart.svelte';
123
- import { accessor, chartDataArray } from '../utils/common.js';
124
-
125
- // type ChartProps = ComponentProps<Chart<TData>>;
126
- // TODO: Handle recursive types (ChartContext => Chart -> ChartContext)
127
- type ChartProps = any;
128
-
129
- export let x1: ChartProps['x1'] = undefined;
130
- export let x1Scale: ChartProps['x1Scale'] = undefined;
131
- export let x1Domain: ChartProps['x1Domain'] = undefined;
132
- export let x1Range: ChartProps['x1Range'] = undefined;
133
-
134
- export let y1: ChartProps['y1'] = undefined;
135
- export let y1Scale: ChartProps['y1Scale'] = undefined;
136
- export let y1Domain: ChartProps['y1Domain'] = undefined;
137
- export let y1Range: ChartProps['y1Range'] = undefined;
138
-
139
- export let c: ChartProps['c'] = undefined;
140
- export let cScale: ChartProps['cScale'] = undefined;
141
- export let cDomain: ChartProps['cDomain'] = undefined;
142
- export let cRange: ChartProps['cRange'] = undefined;
143
-
144
- const layerCakeContext = getContext<LayerCakeContext<TData>>('LayerCake');
145
- const {
146
- data: contextData,
147
- width,
148
- height,
149
- containerWidth,
150
- containerHeight,
151
- xScale,
152
- yScale,
153
- } = layerCakeContext;
154
-
155
- /* --------------------------------------------
156
- * Make store versions of each parameter
157
- * Prefix these with `_` to keep things organized
158
- */
159
- const _x1 = writable(accessor(x1));
160
- const _x1Scale = writable<AnyScale | null>(null);
161
- const _x1Domain = writable<ChartProps['x1Domain']>(x1Domain);
162
- const _x1Range = writable<ChartProps['x1Range']>(x1Range);
163
- const _x1Get = writable<Function>();
164
-
165
- $: $_x1 = accessor(x1);
166
- $: $_x1Domain = x1Domain ?? extent(chartDataArray($contextData), $_x1);
167
- $: $_x1Scale =
168
- x1Scale && x1Range
169
- ? createScale(x1Scale, $_x1Domain, x1Range, { xScale: $xScale, $width, $height })
170
- : null;
171
- $: $_x1Range = x1Range;
172
- $: $_x1Get = (d: any) => $_x1Scale?.($_x1(d));
173
-
174
- const _y1 = writable(accessor(y1));
175
- const _y1Scale = writable<AnyScale | null>(null);
176
- const _y1Domain = writable<ChartProps['y1Domain']>(y1Domain);
177
- const _y1Range = writable<ChartProps['y1Range']>(y1Range);
178
- const _y1Get = writable<Function>();
179
-
180
- $: $_y1 = accessor(y1);
181
- $: $_y1Domain = y1Domain ?? extent(chartDataArray($contextData), $_y1);
182
- $: $_y1Range = y1Range;
183
- $: $_y1Scale =
184
- y1Scale && y1Range
185
- ? createScale(y1Scale, $_y1Domain, y1Range, { yScale: $yScale, $width, $height })
186
- : null;
187
- $: $_y1Get = (d: any) => $_y1Scale?.($_y1(d));
188
-
189
- const _c = writable(accessor(c));
190
- const _cScale = writable<AnyScale | null>(scaleOrdinal());
191
- const _cDomain = writable<ChartProps['cDomain']>(cDomain);
192
- const _cRange = writable<ChartProps['cRange']>(cRange);
193
- const _cGet = writable<Function>();
194
-
195
- $: $_c = accessor(c);
196
- $: $_cDomain = cDomain ?? unique(chartDataArray($contextData).map($_c));
197
- $: $_cRange = cRange;
198
- $: $_cScale = cRange
199
- ? createScale(cScale ?? scaleOrdinal(), $_cDomain, cRange, { $width, $height })
200
- : null;
201
- $: $_cGet = (d: any) => $_cScale?.($_c(d));
202
-
203
- /** 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 */
204
- export let radial = false;
205
- const _radial = writable(radial);
206
- $: $_radial = radial;
207
-
208
- $: addtConfig = {
209
- ...(x1 && { x1 }),
210
- ...(x1Domain && { x1Domain }),
211
- ...(x1Range && { x1Range }),
212
- ...(x1Scale && { x1Scale }),
213
-
214
- ...(y1 && { y1 }),
215
- ...(y1Domain && { y1Domain }),
216
- ...(y1Range && { y1Range }),
217
- ...(y1Scale && { y1Scale }),
218
-
219
- ...(c && { c }),
220
- ...(cDomain && { cDomain }),
221
- ...(cRange && { cRange }),
222
- ...(cScale && { cScale }),
223
- };
224
- const _addtConfig = writable(addtConfig);
225
- $: $_addtConfig = addtConfig;
226
-
227
- const config = derived([layerCakeContext.config, _addtConfig], ([$config, $addtConfig]) => {
228
- return {
229
- ...$config,
230
- ...$addtConfig,
231
- };
232
- });
233
-
234
- const chartContext = {
235
- ...layerCakeContext,
236
-
237
- x1: _x1,
238
- x1Domain: _x1Domain,
239
- x1Range: _x1Range,
240
- x1Scale: _x1Scale,
241
- x1Get: _x1Get,
242
-
243
- y1: _y1,
244
- y1Domain: _y1Domain,
245
- y1Range: _y1Range,
246
- y1Scale: _y1Scale,
247
- y1Get: _y1Get,
248
-
249
- c: _c,
250
- cDomain: _cDomain,
251
- cRange: _cRange,
252
- cScale: _cScale,
253
- cGet: _cGet,
254
-
255
- config,
256
-
257
- radial: _radial,
258
- };
259
- setChartContext(chartContext);
260
-
261
- export let onresize: ((e: ChartResizeDetail) => void) | undefined = undefined;
262
-
263
- $: if (isMounted) {
264
- onresize?.({
265
- width: $width,
266
- height: $height,
267
- containerWidth: $containerWidth,
268
- containerHeight: $containerHeight,
269
- });
270
- }
271
-
272
- // Track when mounted since LayerCake initializes width/height with `100` until bound `clientWidth`/`clientWidth` can run
273
- let isMounted = false;
274
- onMount(() => {
275
- isMounted = true;
276
- });
277
-
278
- // Added to try to pass TData downward
279
- export let data: TData[] | HierarchyNode<TData> | SankeyGraph<any, any> = []; // Same as `ComponentProps<Chart<TData>>` but causes circular reference
280
- </script>
281
-
282
- <slot
283
- {data}
284
- flatData={chartContext.data}
285
- config={$config}
286
- x1={$_x1}
287
- x1Scale={$_x1Scale}
288
- x1Get={$_x1Get}
289
- y1={$_y1}
290
- y1Scale={$_y1Scale}
291
- y1Get={$_y1Get}
292
- c={$_c}
293
- cScale={$_cScale}
294
- cGet={$_cGet}
295
- />
@@ -1,139 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import { type AnyScale } from '../utils/scales.js';
3
- import type { HierarchyNode } from 'd3-hierarchy';
4
- import { type Readable } from 'svelte/store';
5
- export declare const chartContextKey: unique symbol;
6
- type LayerCakeContext<TData> = {
7
- activeGetters: Readable<{
8
- x: (d: TData) => any;
9
- y: (d: TData) => any;
10
- z: (d: TData) => any;
11
- r: (d: TData) => any;
12
- }>;
13
- width: Readable<number>;
14
- height: Readable<number>;
15
- percentRange: Readable<boolean>;
16
- aspectRatio: Readable<number>;
17
- containerWidth: Readable<number>;
18
- containerHeight: Readable<number>;
19
- x: Readable<(d: TData) => any>;
20
- y: Readable<(d: TData) => any>;
21
- z: Readable<(d: TData) => any>;
22
- r: Readable<(d: TData) => any>;
23
- x1: Readable<(d: TData) => any>;
24
- y1: Readable<(d: TData) => any>;
25
- c: Readable<(d: TData) => any>;
26
- custom: Readable<Object>;
27
- data: Readable<TData[] | HierarchyNode<TData> | SankeyGraph<any, any>>;
28
- xNice: Readable<number | boolean>;
29
- yNice: Readable<number | boolean>;
30
- zNice: Readable<number | boolean>;
31
- rNice: Readable<number | boolean>;
32
- xDomainSort: Readable<boolean>;
33
- yDomainSort: Readable<boolean>;
34
- zDomainSort: Readable<boolean>;
35
- rDomainSort: Readable<boolean>;
36
- xReverse: Readable<boolean>;
37
- yReverse: Readable<boolean>;
38
- zReverse: Readable<boolean>;
39
- rReverse: Readable<boolean>;
40
- xPadding: Readable<[number, number]>;
41
- yPadding: Readable<[number, number]>;
42
- zPadding: Readable<[number, number]>;
43
- rPadding: Readable<[number, number]>;
44
- padding: Readable<{
45
- top: number;
46
- bottom: number;
47
- left: number;
48
- right: number;
49
- }>;
50
- flatData: Readable<TData[]>;
51
- extents: Readable<{}>;
52
- xDomain: Readable<any>;
53
- yDomain: Readable<any>;
54
- zDomain: Readable<any>;
55
- rDomain: Readable<any>;
56
- x1Domain: Readable<any>;
57
- y1Domain: Readable<any>;
58
- cDomain: Readable<any>;
59
- xRange: Readable<any>;
60
- yRange: Readable<any>;
61
- zRange: Readable<any>;
62
- rRange: Readable<any>;
63
- x1Range: Readable<any>;
64
- y1Range: Readable<any>;
65
- cRange: Readable<any>;
66
- config: Readable<any>;
67
- xScale: Readable<AnyScale>;
68
- xGet: Readable<any>;
69
- yScale: Readable<AnyScale>;
70
- yGet: Readable<any>;
71
- zScale: Readable<AnyScale>;
72
- zGet: Readable<any>;
73
- rScale: Readable<AnyScale>;
74
- rGet: Readable<any>;
75
- x1Scale: Readable<AnyScale | null>;
76
- x1Get: Readable<any>;
77
- y1Scale: Readable<AnyScale | null>;
78
- y1Get: Readable<any>;
79
- cScale: Readable<AnyScale | null>;
80
- cGet: Readable<any>;
81
- };
82
- export type ChartEvents = {
83
- resize: ChartResizeDetail;
84
- };
85
- export type ChartResizeDetail = {
86
- width: number;
87
- height: number;
88
- containerWidth: number;
89
- containerHeight: number;
90
- };
91
- export type ChartContext<TData> = LayerCakeContext<TData> & {
92
- radial: Readable<boolean>;
93
- };
94
- export declare function chartContext<TData = any>(): ChartContext<TData>;
95
- import type { SankeyGraph } from 'd3-sankey';
96
- declare class __sveltets_Render<TData> {
97
- props(): {
98
- x1?: any;
99
- x1Scale?: any;
100
- x1Domain?: any;
101
- x1Range?: any;
102
- y1?: any;
103
- y1Scale?: any;
104
- y1Domain?: any;
105
- y1Range?: any;
106
- c?: any;
107
- cScale?: any;
108
- cDomain?: any;
109
- cRange?: any;
110
- /** 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 */ radial?: boolean;
111
- onresize?: ((e: ChartResizeDetail) => void) | undefined;
112
- data?: SankeyGraph<any, any> | TData[] | HierarchyNode<TData> | undefined;
113
- };
114
- events(): {} & {
115
- [evt: string]: CustomEvent<any>;
116
- };
117
- slots(): {
118
- default: {
119
- data: SankeyGraph<any, any> | TData[] | HierarchyNode<TData>;
120
- flatData: Readable<SankeyGraph<any, any> | TData[] | HierarchyNode<TData>>;
121
- config: any;
122
- x1: (d: any) => any;
123
- x1Scale: AnyScale<any, any, any, any> | null;
124
- x1Get: Function;
125
- y1: (d: any) => any;
126
- y1Scale: AnyScale<any, any, any, any> | null;
127
- y1Get: Function;
128
- c: (d: any) => any;
129
- cScale: AnyScale<any, any, any, any> | null;
130
- cGet: Function;
131
- };
132
- };
133
- }
134
- export type ChartContextProps<TData> = ReturnType<__sveltets_Render<TData>['props']>;
135
- export type ChartContextEvents<TData> = ReturnType<__sveltets_Render<TData>['events']>;
136
- export type ChartContextSlots<TData> = ReturnType<__sveltets_Render<TData>['slots']>;
137
- export default class ChartContext<TData> extends SvelteComponentTyped<ChartContextProps<TData>, ChartContextEvents<TData>, ChartContextSlots<TData>> {
138
- }
139
- export {};
@@ -1,158 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- import { type Readable, type Writable } from 'svelte/store';
3
- export declare const transformContextKey: unique symbol;
4
- type TransformMode = 'canvas' | 'manual' | 'none';
5
- type TransformScrollMode = 'scale' | 'translate' | 'none';
6
- export type TransformContextValue = {
7
- mode: TransformMode;
8
- scale: Writable<number>;
9
- setScale(value: number, options?: MotionOptions): void;
10
- translate: Writable<{
11
- x: number;
12
- y: number;
13
- }>;
14
- setTranslate(point: {
15
- x: number;
16
- y: number;
17
- }, options?: MotionOptions): void;
18
- moving: Readable<boolean>;
19
- dragging: Readable<boolean>;
20
- scrollMode: Readable<TransformScrollMode>;
21
- setScrollMode(mode: TransformScrollMode): void;
22
- reset(): void;
23
- zoomIn(): void;
24
- zoomOut(): void;
25
- translateCenter(): void;
26
- zoomTo(center: {
27
- x: number;
28
- y: number;
29
- }, rect?: {
30
- width: number;
31
- height: number;
32
- }): void;
33
- };
34
- export type TransformContext = TransformContextValue;
35
- export declare function transformContext(): TransformContext;
36
- import { motionStore, type MotionOptions } from '../stores/motionStore.js';
37
- declare const __propDef: {
38
- props: {
39
- mode?: TransformMode;
40
- spring?: boolean | Parameters<typeof motionStore>[1]["spring"];
41
- tweened?: boolean | Parameters<typeof motionStore>[1]["tweened"];
42
- processTranslate?: (x: number, y: number, deltaX: number, deltaY: number) => {
43
- x: number;
44
- y: number;
45
- };
46
- /** Disable pointer events including move/dragging. Useful for `mode="canvas" but only want zoomTo() interactions */ disablePointer?: boolean;
47
- /** Action to take during wheel scroll */ initialScrollMode?: TransformScrollMode;
48
- /** Distance/threshold to consider drag vs click (disable click propagation) */ clickDistance?: number;
49
- ondragstart?: (() => void) | undefined;
50
- ondragend?: (() => void) | undefined;
51
- ontransform?: ((e: {
52
- scale: number;
53
- translate: {
54
- x: number;
55
- y: number;
56
- };
57
- }) => void) | undefined;
58
- initialTranslate?: {
59
- x: number;
60
- y: number;
61
- } | undefined;
62
- translate?: import("svelte/motion").Spring<{
63
- x: number;
64
- y: number;
65
- }> | import("svelte/motion").Tweened<{
66
- x: number;
67
- y: number;
68
- }> | Writable<{
69
- x: number;
70
- y: number;
71
- }>;
72
- initialScale?: number | undefined;
73
- scale?: Writable<number> | import("svelte/motion").Spring<number> | import("svelte/motion").Tweened<number>;
74
- setScrollMode?: (mode: TransformScrollMode) => void;
75
- reset?: () => void;
76
- zoomIn?: () => void;
77
- zoomOut?: () => void;
78
- translateCenter?: () => void;
79
- zoomTo?: (center: {
80
- x: number;
81
- y: number;
82
- }, rect?: {
83
- width: number;
84
- height: number;
85
- }) => void;
86
- setTranslate?: (point: {
87
- x: number;
88
- y: number;
89
- }, options?: MotionOptions) => void;
90
- setScale?: (value: number, options?: MotionOptions) => void;
91
- };
92
- events: {
93
- click: MouseEvent;
94
- keydown: KeyboardEvent;
95
- keyup: KeyboardEvent;
96
- keypress: KeyboardEvent;
97
- } & {
98
- [evt: string]: CustomEvent<any>;
99
- };
100
- slots: {
101
- default: {
102
- transform: {
103
- scale: number;
104
- setScale: (value: number, options?: MotionOptions) => void;
105
- translate: {
106
- x: number;
107
- y: number;
108
- };
109
- setTranslate: (point: {
110
- x: number;
111
- y: number;
112
- }, options?: MotionOptions) => void;
113
- zoomTo: (center: {
114
- x: number;
115
- y: number;
116
- }, rect?: {
117
- width: number;
118
- height: number;
119
- }) => void;
120
- reset: () => void;
121
- };
122
- };
123
- };
124
- };
125
- export type TransformContextProps = typeof __propDef.props;
126
- export type TransformContextEvents = typeof __propDef.events;
127
- export type TransformContextSlots = typeof __propDef.slots;
128
- export default class TransformContext extends SvelteComponentTyped<TransformContextProps, TransformContextEvents, TransformContextSlots> {
129
- get translate(): NonNullable<import("svelte/motion").Spring<{
130
- x: number;
131
- y: number;
132
- }> | import("svelte/motion").Tweened<{
133
- x: number;
134
- y: number;
135
- }> | Writable<{
136
- x: number;
137
- y: number;
138
- }> | undefined>;
139
- get scale(): NonNullable<Writable<number> | import("svelte/motion").Spring<number> | import("svelte/motion").Tweened<number> | undefined>;
140
- get setScrollMode(): (mode: TransformScrollMode) => void;
141
- get reset(): () => void;
142
- get zoomIn(): () => void;
143
- get zoomOut(): () => void;
144
- get translateCenter(): () => void;
145
- get zoomTo(): (center: {
146
- x: number;
147
- y: number;
148
- }, rect?: {
149
- width: number;
150
- height: number;
151
- }) => void;
152
- get setTranslate(): (point: {
153
- x: number;
154
- y: number;
155
- }, options?: MotionOptions) => void;
156
- get setScale(): (value: number, options?: MotionOptions) => void;
157
- }
158
- export {};
@@ -1,30 +0,0 @@
1
- import { spring, tweened } from 'svelte/motion';
2
- export type SpringOptions = Parameters<typeof spring<any>>[1];
3
- export type TweenedOptions = Parameters<typeof tweened<any>>[1];
4
- export type MotionOptions = {
5
- spring?: boolean | SpringOptions;
6
- tweened?: boolean | TweenedOptions;
7
- };
8
- export type PropMotionOptions = {
9
- spring?: boolean | SpringOptions | {
10
- [prop: string]: SpringOptions;
11
- };
12
- tweened?: boolean | TweenedOptions | {
13
- [prop: string]: TweenedOptions;
14
- };
15
- };
16
- /**
17
- * Convenient wrapper to create a motion store (spring(), tweened()) based on properties, or fall back to basic writable() store
18
- */
19
- export declare function motionStore<T = any>(value: T, options: MotionOptions): import("svelte/motion").Spring<T> | import("svelte/motion").Tweened<T> | import("svelte/store").Writable<T>;
20
- /**
21
- * Helper to resolve motion options with specific property option (useful for specifying per-prop delays)
22
- */
23
- export declare function resolveOptions(prop: string, options: PropMotionOptions): {
24
- spring: any;
25
- tweened: any;
26
- };
27
- export declare function motionFinishHandler(): {
28
- subscribe: (this: void, run: import("svelte/store").Subscriber<boolean>, invalidate?: () => void) => import("svelte/store").Unsubscriber;
29
- handle: (promise: Promise<void> | void) => void;
30
- };
@@ -1,62 +0,0 @@
1
- import { writable } from 'svelte/store';
2
- import { spring, tweened } from 'svelte/motion';
3
- /**
4
- * Convenient wrapper to create a motion store (spring(), tweened()) based on properties, or fall back to basic writable() store
5
- */
6
- export function motionStore(value, options) {
7
- if (options.spring) {
8
- return spring(value, options.spring === true ? undefined : options.spring);
9
- }
10
- else if (options.tweened) {
11
- return tweened(value, options.tweened === true ? undefined : options.tweened);
12
- }
13
- else {
14
- return writable(value);
15
- }
16
- }
17
- /**
18
- * Helper to resolve motion options with specific property option (useful for specifying per-prop delays)
19
- */
20
- export function resolveOptions(prop, options) {
21
- return {
22
- spring: typeof options.spring === 'boolean' || options.spring == null
23
- ? options.spring
24
- : prop in options.spring
25
- ? //@ts-expect-error
26
- options.spring[prop]
27
- : Object.keys(options.spring).some((key) => ['precision', 'damping', 'stiffness'].includes(key))
28
- ? options.tweened
29
- : false,
30
- tweened: typeof options.tweened === 'boolean' || options.tweened == null
31
- ? options.tweened
32
- : prop in options.tweened
33
- ? //@ts-expect-error
34
- options.tweened[prop]
35
- : Object.keys(options.tweened).some((key) => ['delay', 'duration', 'easing'].includes(key))
36
- ? options.tweened
37
- : false,
38
- };
39
- }
40
- export function motionFinishHandler() {
41
- let latestIndex = 0;
42
- const moving = writable(false);
43
- const handle = function (promise) {
44
- latestIndex += 1;
45
- if (!promise) {
46
- // The store returned nothing, which means that the motion store is immediate.
47
- moving.set(false);
48
- return;
49
- }
50
- let thisIndex = latestIndex;
51
- moving.set(true);
52
- promise.then(() => {
53
- if (thisIndex === latestIndex) {
54
- moving.set(false);
55
- }
56
- });
57
- };
58
- return {
59
- subscribe: moving.subscribe,
60
- handle,
61
- };
62
- }