layerchart 2.0.0-next.1 → 2.0.0-next.2

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 +155 -0
  4. package/dist/components/AnnotationLine.svelte.d.ts +28 -0
  5. package/dist/components/AnnotationPoint.svelte +121 -0
  6. package/dist/components/AnnotationPoint.svelte.d.ts +32 -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 +287 -174
  14. package/dist/components/Axis.svelte.d.ts +116 -0
  15. package/dist/components/Bar.svelte +163 -107
  16. package/dist/components/Bar.svelte.d.ts +48 -0
  17. package/dist/components/Bars.svelte +54 -68
  18. package/dist/components/Bars.svelte.d.ts +27 -0
  19. package/dist/components/Blur.svelte +31 -7
  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 +60 -15
  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 +47 -12
  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 +28 -13
  66. package/dist/components/Graticule.svelte.d.ts +11 -52
  67. package/dist/components/Grid.svelte +226 -114
  68. package/dist/components/Grid.svelte.d.ts +70 -0
  69. package/dist/components/Group.svelte +132 -105
  70. package/dist/components/Group.svelte.d.ts +53 -0
  71. package/dist/components/Highlight.svelte +409 -307
  72. package/dist/components/Highlight.svelte.d.ts +107 -0
  73. package/dist/components/Hull.svelte +96 -45
  74. package/dist/components/Hull.svelte.d.ts +40 -30
  75. package/dist/components/Labels.svelte +125 -46
  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 +105 -62
  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 +106 -75
  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
package/package.json CHANGED
@@ -4,18 +4,19 @@
4
4
  "author": "Sean Lynch <techniq35@gmail.com>",
5
5
  "license": "MIT",
6
6
  "repository": "techniq/layerchart",
7
- "version": "2.0.0-next.1",
7
+ "version": "2.0.0-next.2",
8
8
  "devDependencies": {
9
- "@changesets/cli": "^2.28.1",
9
+ "@changesets/cli": "^2.29.2",
10
10
  "@mdi/js": "^7.4.47",
11
11
  "@rollup/plugin-dsv": "^3.0.5",
12
12
  "@sveltejs/adapter-cloudflare": "^4.9.0",
13
- "@sveltejs/kit": "^2.19.0",
14
- "@sveltejs/package": "^2.3.10",
13
+ "@sveltejs/kit": "^2.20.8",
14
+ "@sveltejs/package": "^2.3.11",
15
15
  "@sveltejs/vite-plugin-svelte": "^5.0.3",
16
16
  "@svitejs/changesets-changelog-github-compact": "^1.2.0",
17
17
  "@tailwindcss/typography": "^0.5.16",
18
- "@tailwindcss/vite": "^4.0.14",
18
+ "@tailwindcss/vite": "^4.1.5",
19
+ "@types/d3": "^7.4.3",
19
20
  "@types/d3-array": "^3.2.1",
20
21
  "@types/d3-color": "^3.1.3",
21
22
  "@types/d3-delaunay": "^6.0.4",
@@ -39,9 +40,9 @@
39
40
  "@types/topojson-client": "^3.1.5",
40
41
  "@types/topojson-simplify": "^3.0.3",
41
42
  "@types/topojson-specification": "^1.0.5",
42
- "marked": "^15.0.7",
43
- "mdsvex": "^0.12.3",
44
- "posthog-js": "^1.230.4",
43
+ "marked": "^15.0.11",
44
+ "mdsvex": "0.12.3",
45
+ "posthog-js": "^1.239.0",
45
46
  "prettier": "^3.5.3",
46
47
  "prettier-plugin-svelte": "^3.3.3",
47
48
  "prism-svelte": "^0.5.0",
@@ -50,25 +51,26 @@
50
51
  "rehype-slug": "^6.0.0",
51
52
  "shapefile": "^0.6.6",
52
53
  "solar-calculator": "^0.3.0",
53
- "svelte": "5.23.0",
54
- "svelte-check": "^4.1.5",
54
+ "svelte": "5.28.2",
55
+ "svelte-check": "^4.1.6",
55
56
  "svelte-json-tree": "^2.2.0",
56
57
  "svelte-ux": "2.0.0-next.2",
57
- "svelte2tsx": "^0.7.35",
58
- "tailwindcss": "^4.0.14",
58
+ "svelte2tsx": "^0.7.36",
59
+ "tailwindcss": "^4.1.5",
59
60
  "topojson-client": "^3.1.0",
60
61
  "topojson-simplify": "^3.0.3",
61
62
  "tslib": "^2.8.1",
62
- "typescript": "^5.8.2",
63
+ "typescript": "^5.8.3",
63
64
  "unist-util-visit": "^5.0.0",
64
65
  "us-atlas": "^3.0.1",
65
- "vite": "^6.2.1",
66
- "vitest": "^3.0.8"
66
+ "vite": "^6.3.4",
67
+ "vitest": "^3.1.2"
67
68
  },
68
69
  "type": "module",
69
70
  "dependencies": {
70
71
  "@dagrejs/dagre": "^1.1.4",
71
72
  "@layerstack/svelte-actions": "1.0.1-next.0",
73
+ "@layerstack/svelte-state": "0.1.0-next.1",
72
74
  "@layerstack/svelte-stores": "1.0.2-next.0",
73
75
  "@layerstack/tailwind": "2.0.0-next.2",
74
76
  "@layerstack/utils": "1.1.0-next.0",
@@ -92,11 +94,11 @@
92
94
  "d3-tile": "^1.0.0",
93
95
  "d3-time": "^3.1.0",
94
96
  "date-fns": "^4.1.0",
95
- "layercake": "^8.4.2",
96
- "lodash-es": "^4.17.21"
97
+ "lodash-es": "^4.17.21",
98
+ "runed": "^0.26.0"
97
99
  },
98
100
  "peerDependencies": {
99
- "svelte": "^3.56.0 || ^4.0.0 || ^5.0.0"
101
+ "svelte": "^5.0.0"
100
102
  },
101
103
  "main": "./dist/index.js",
102
104
  "exports": {
@@ -116,7 +118,7 @@
116
118
  ],
117
119
  "svelte": "./dist/index.js",
118
120
  "scripts": {
119
- "dev": "vite dev",
121
+ "dev": "vite dev --port 3002",
120
122
  "build": "vite build",
121
123
  "preview": "vite preview",
122
124
  "package": "svelte-package",
@@ -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 {};