layerchart 2.0.0-next.43 → 2.0.0-next.45

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 (179) hide show
  1. package/LICENSE +1 -1
  2. package/dist/components/AnnotationLine.svelte +1 -1
  3. package/dist/components/AnnotationPoint.svelte +1 -1
  4. package/dist/components/AnnotationRange.svelte +16 -15
  5. package/dist/components/Arc.svelte +10 -10
  6. package/dist/components/Arc.svelte.d.ts +4 -4
  7. package/dist/components/Arc.svelte.test.d.ts +1 -0
  8. package/dist/components/Arc.svelte.test.js +868 -0
  9. package/dist/components/Area.svelte +9 -7
  10. package/dist/components/Axis.svelte +2 -1
  11. package/dist/components/Axis.svelte.d.ts +1 -0
  12. package/dist/components/Bar.svelte +3 -3
  13. package/dist/components/Bars.svelte +1 -1
  14. package/dist/components/Blur.svelte +3 -3
  15. package/dist/components/Bounds.svelte +1 -1
  16. package/dist/components/BrushContext.svelte +1 -1
  17. package/dist/components/Calendar.svelte +2 -2
  18. package/dist/components/Calendar.svelte.d.ts +1 -1
  19. package/dist/components/Chart.svelte +63 -137
  20. package/dist/components/Chart.svelte.d.ts +23 -88
  21. package/dist/components/ChartClipPath.svelte +1 -1
  22. package/dist/components/Circle.svelte +17 -8
  23. package/dist/components/Circle.svelte.d.ts +3 -0
  24. package/dist/components/ClipPath.svelte +4 -4
  25. package/dist/components/Connector.svelte +4 -4
  26. package/dist/components/Connector.svelte.d.ts +3 -3
  27. package/dist/components/Ellipse.svelte +7 -7
  28. package/dist/components/Frame.svelte +1 -1
  29. package/dist/components/GeoContext.svelte +4 -20
  30. package/dist/components/GeoContext.svelte.d.ts +2 -6
  31. package/dist/components/GeoEdgeFade.svelte +1 -1
  32. package/dist/components/GeoPath.svelte +42 -107
  33. package/dist/components/GeoPath.svelte.d.ts +5 -4
  34. package/dist/components/GeoPoint.svelte +5 -5
  35. package/dist/components/GeoSpline.svelte +2 -14
  36. package/dist/components/GeoSpline.svelte.d.ts +1 -1
  37. package/dist/components/GeoTile.svelte +7 -6
  38. package/dist/components/GeoVisible.svelte +1 -1
  39. package/dist/components/Graticule.svelte +4 -7
  40. package/dist/components/Graticule.svelte.d.ts +2 -1
  41. package/dist/components/Grid.svelte +1 -1
  42. package/dist/components/Group.svelte +8 -8
  43. package/dist/components/Highlight.svelte +18 -16
  44. package/dist/components/Hull.svelte +2 -2
  45. package/dist/components/Labels.svelte +1 -1
  46. package/dist/components/Legend.svelte +1 -1
  47. package/dist/components/Line.svelte +9 -7
  48. package/dist/components/LinearGradient.svelte +8 -7
  49. package/dist/components/MonthPath.svelte +5 -11
  50. package/dist/components/MonthPath.svelte.d.ts +2 -2
  51. package/dist/components/Pack.svelte +4 -6
  52. package/dist/components/Pack.svelte.d.ts +2 -4
  53. package/dist/components/Partition.svelte +4 -3
  54. package/dist/components/Partition.svelte.d.ts +2 -1
  55. package/dist/components/Path.svelte +344 -0
  56. package/dist/components/Path.svelte.d.ts +72 -0
  57. package/dist/components/Pattern.svelte +6 -6
  58. package/dist/components/Pie.svelte +2 -2
  59. package/dist/components/Pie.svelte.d.ts +1 -1
  60. package/dist/components/Point.svelte +1 -1
  61. package/dist/components/Points.svelte +1 -1
  62. package/dist/components/Polygon.svelte +8 -6
  63. package/dist/components/RadialGradient.svelte +7 -7
  64. package/dist/components/Rect.svelte +32 -10
  65. package/dist/components/Rect.svelte.d.ts +4 -1
  66. package/dist/components/Rule.svelte +1 -1
  67. package/dist/components/Sankey.svelte +1 -1
  68. package/dist/components/Spline.svelte +13 -337
  69. package/dist/components/Spline.svelte.d.ts +10 -73
  70. package/dist/components/Text.svelte +9 -7
  71. package/dist/components/Threshold.svelte +3 -3
  72. package/dist/components/TransformContext.svelte +10 -143
  73. package/dist/components/TransformControls.svelte +2 -2
  74. package/dist/components/TransformControls.svelte.d.ts +1 -1
  75. package/dist/components/Tree.svelte +4 -3
  76. package/dist/components/Tree.svelte.d.ts +2 -1
  77. package/dist/components/Treemap.svelte +4 -3
  78. package/dist/components/Treemap.svelte.d.ts +2 -1
  79. package/dist/components/Voronoi.svelte +5 -5
  80. package/dist/components/charts/ArcChart.svelte +14 -6
  81. package/dist/components/charts/ArcChart.svelte.d.ts +1 -1
  82. package/dist/components/charts/AreaChart.svelte +12 -6
  83. package/dist/components/charts/BarChart.svelte +12 -6
  84. package/dist/components/charts/DefaultTooltip.svelte +1 -1
  85. package/dist/components/charts/LineChart.svelte +12 -6
  86. package/dist/components/charts/PieChart.svelte +14 -6
  87. package/dist/components/charts/PieChart.svelte.d.ts +1 -1
  88. package/dist/components/charts/ScatterChart.svelte +11 -9
  89. package/dist/components/charts/types.d.ts +7 -6
  90. package/dist/components/index.d.ts +14 -12
  91. package/dist/components/index.js +14 -12
  92. package/dist/components/{layout → layers}/Canvas.svelte +13 -60
  93. package/dist/components/{layout → layers}/Canvas.svelte.d.ts +2 -32
  94. package/dist/components/{layout → layers}/Html.svelte +18 -3
  95. package/dist/components/{layout → layers}/Html.svelte.d.ts +7 -0
  96. package/dist/components/layers/Layer.svelte +85 -0
  97. package/dist/components/{layout → layers}/Layer.svelte.d.ts +7 -3
  98. package/dist/components/{layout → layers}/Svg.svelte +18 -3
  99. package/dist/components/{layout → layers}/Svg.svelte.d.ts +7 -0
  100. package/dist/components/{layout → layers}/WebGL.svelte +1 -1
  101. package/dist/components/{layout → layers}/WebGL.svelte.d.ts +3 -3
  102. package/dist/components/tests/TestHarness.svelte +76 -0
  103. package/dist/components/tests/TestHarness.svelte.d.ts +19 -0
  104. package/dist/components/tooltip/Tooltip.svelte +3 -3
  105. package/dist/components/tooltip/Tooltip.svelte.d.ts +1 -1
  106. package/dist/components/tooltip/TooltipContext.svelte +13 -45
  107. package/dist/components/tooltip/TooltipContext.svelte.d.ts +2 -14
  108. package/dist/components/tooltip/tooltipMetaContext.d.ts +2 -2
  109. package/dist/components/tooltip/tooltipMetaContext.js +2 -2
  110. package/dist/contexts/canvas.d.ts +33 -0
  111. package/dist/contexts/canvas.js +14 -0
  112. package/dist/contexts/chart.d.ts +84 -0
  113. package/dist/contexts/chart.js +10 -0
  114. package/dist/contexts/geo.d.ts +6 -0
  115. package/dist/contexts/geo.js +12 -0
  116. package/dist/contexts/index.d.ts +6 -0
  117. package/dist/contexts/index.js +6 -0
  118. package/dist/contexts/layer.d.ts +3 -0
  119. package/dist/contexts/layer.js +8 -0
  120. package/dist/contexts/settings.d.ts +4 -0
  121. package/dist/contexts/settings.js +10 -0
  122. package/dist/contexts/tooltip.d.ts +15 -0
  123. package/dist/contexts/tooltip.js +8 -0
  124. package/dist/contexts/transform.d.ts +95 -0
  125. package/dist/contexts/transform.js +10 -0
  126. package/dist/index.d.ts +1 -0
  127. package/dist/index.js +1 -0
  128. package/dist/states/settings.svelte.d.ts +12 -0
  129. package/dist/states/settings.svelte.js +10 -0
  130. package/dist/states/transform.svelte.d.ts +9 -0
  131. package/dist/states/transform.svelte.js +31 -0
  132. package/dist/styles/skeleton-4.css +15 -0
  133. package/dist/utils/arcText.svelte.d.ts +1 -1
  134. package/dist/utils/canvas.d.ts +7 -3
  135. package/dist/utils/canvas.js +78 -11
  136. package/dist/utils/color.js +11 -8
  137. package/dist/utils/common.d.ts +8 -1
  138. package/dist/utils/common.js +9 -10
  139. package/dist/utils/index.d.ts +2 -0
  140. package/dist/utils/index.js +2 -0
  141. package/dist/utils/motion.svelte.js +0 -1
  142. package/dist/utils/rect.svelte.d.ts +1 -1
  143. package/dist/utils/rect.svelte.js +17 -9
  144. package/dist/utils/string.d.ts +3 -1
  145. package/package.json +32 -54
  146. package/README.md +0 -41
  147. package/dist/components/layout/Layer.svelte +0 -41
  148. package/dist/docs/Blockquote.svelte +0 -17
  149. package/dist/docs/Blockquote.svelte.d.ts +0 -5
  150. package/dist/docs/Code.svelte +0 -80
  151. package/dist/docs/Code.svelte.d.ts +0 -14
  152. package/dist/docs/ConnectorSweepMenuField.svelte +0 -17
  153. package/dist/docs/ConnectorSweepMenuField.svelte.d.ts +0 -7
  154. package/dist/docs/ConnectorTypeMenuField.svelte +0 -17
  155. package/dist/docs/ConnectorTypeMenuField.svelte.d.ts +0 -7
  156. package/dist/docs/CurveMenuField.svelte +0 -44
  157. package/dist/docs/CurveMenuField.svelte.d.ts +0 -9
  158. package/dist/docs/GeoDebug.svelte +0 -60
  159. package/dist/docs/GeoDebug.svelte.d.ts +0 -4
  160. package/dist/docs/Header1.svelte +0 -16
  161. package/dist/docs/Header1.svelte.d.ts +0 -5
  162. package/dist/docs/Json.svelte +0 -36
  163. package/dist/docs/Json.svelte.d.ts +0 -10
  164. package/dist/docs/Layout.svelte +0 -21
  165. package/dist/docs/Layout.svelte.d.ts +0 -8
  166. package/dist/docs/Link.svelte +0 -9
  167. package/dist/docs/Link.svelte.d.ts +0 -5
  168. package/dist/docs/PathDataMenuField.svelte +0 -78
  169. package/dist/docs/PathDataMenuField.svelte.d.ts +0 -9
  170. package/dist/docs/Preview.svelte +0 -104
  171. package/dist/docs/Preview.svelte.d.ts +0 -13
  172. package/dist/docs/TilesetField.svelte +0 -136
  173. package/dist/docs/TilesetField.svelte.d.ts +0 -6
  174. package/dist/docs/TransformDebug.svelte +0 -22
  175. package/dist/docs/TransformDebug.svelte.d.ts +0 -20
  176. package/dist/docs/ViewSourceButton.svelte +0 -53
  177. package/dist/docs/ViewSourceButton.svelte.d.ts +0 -11
  178. /package/dist/{utils → contexts}/legendPayload.d.ts +0 -0
  179. /package/dist/{utils → contexts}/legendPayload.js +0 -0
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2024 Sean Lynch
3
+ Copyright (c) 2026 Sean Lynch
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -35,7 +35,7 @@
35
35
  </script>
36
36
 
37
37
  <script lang="ts">
38
- import { getChartContext } from './Chart.svelte';
38
+ import { getChartContext } from '../contexts/chart.js';
39
39
  import Line from './Line.svelte';
40
40
  import Text from './Text.svelte';
41
41
  import type { Placement } from './types.js';
@@ -41,7 +41,7 @@
41
41
  </script>
42
42
 
43
43
  <script lang="ts">
44
- import { getChartContext } from './Chart.svelte';
44
+ import { getChartContext } from '../contexts/chart.js';
45
45
  import Circle from './Circle.svelte';
46
46
  import Text from './Text.svelte';
47
47
  import type { Placement } from './types.js';
@@ -47,7 +47,7 @@
47
47
  </script>
48
48
 
49
49
  <script lang="ts">
50
- import { getChartContext } from './Chart.svelte';
50
+ import { getChartContext } from '../contexts/chart.js';
51
51
  import LinearGradient from './LinearGradient.svelte';
52
52
  import Pattern from './Pattern.svelte';
53
53
  import Rect from './Rect.svelte';
@@ -72,20 +72,21 @@
72
72
 
73
73
  const ctx = getChartContext();
74
74
 
75
- const rect = $derived<ComponentProps<typeof Rect>>({
76
- x: x
77
- ? ctx.xScale(x[0] ?? ctx.xDomain[0]) -
78
- (isScaleBand(ctx.xScale) ? (ctx.xScale.padding() * ctx.xScale.step()) / 2 : 0)
79
- : ctx.xRange[0],
80
- y: y ? ctx.yScale(y[1] ?? ctx.yDomain[1]) : ctx.yRange[1],
81
- width: x
82
- ? ctx.xScale(x[1] ?? ctx.xDomain[1]) -
83
- ctx.xScale(x[0] ?? ctx.xDomain[0]) +
84
- (isScaleBand(ctx.xScale) ? ctx.xScale.step() : 0)
85
- : ctx.width,
86
- height: y
87
- ? ctx.yScale(y[0] ?? ctx.yDomain[0]) - ctx.yScale(y[1] ?? ctx.yDomain[1])
88
- : ctx.height,
75
+ const rect = $derived.by(() => {
76
+ const x0 = x ? ctx.xScale(x[0] ?? ctx.xDomain[0]) : ctx.xRange[0];
77
+ const x1 = x ? ctx.xScale(x[1] ?? ctx.xDomain[1]) : ctx.xRange[1];
78
+ const y0 = y ? ctx.yScale(y[0] ?? ctx.yDomain[0]) : ctx.yRange[0];
79
+ const y1 = y ? ctx.yScale(y[1] ?? ctx.yDomain[1]) : ctx.yRange[1];
80
+
81
+ const bandPadding = isScaleBand(ctx.xScale) ? (ctx.xScale.padding() * ctx.xScale.step()) / 2 : 0;
82
+ const bandStep = isScaleBand(ctx.xScale) ? ctx.xScale.step() : 0;
83
+
84
+ return {
85
+ x: Math.min(x0, x1) - bandPadding,
86
+ y: Math.min(y0, y1),
87
+ width: Math.abs(x1 - x0) + bandStep,
88
+ height: Math.abs(y1 - y0),
89
+ } satisfies ComponentProps<typeof Rect>;
89
90
  });
90
91
 
91
92
  const labelProps = $derived<ComponentProps<typeof Text>>({
@@ -2,8 +2,8 @@
2
2
  import type { ComponentProps, Snippet } from 'svelte';
3
3
  import type { PointerEventHandler, SVGAttributes } from 'svelte/elements';
4
4
 
5
- import Spline, { type SplinePropsWithoutHTML } from './Spline.svelte';
6
- import type { TooltipContextValue } from './tooltip/TooltipContext.svelte';
5
+ import Path, { type PathPropsWithoutHTML } from './Path.svelte';
6
+ import type { TooltipContextValue } from '../contexts/tooltip.js';
7
7
  import { createMotion, type MotionProp } from '../utils/motion.svelte.js';
8
8
  import type { CommonStyleProps, Without } from '../utils/types.js';
9
9
 
@@ -128,7 +128,7 @@
128
128
  * Pass true to enable the track with default props, or pass an object
129
129
  * of props to enable the track.
130
130
  */
131
- track?: boolean | Partial<ComponentProps<typeof Spline>>;
131
+ track?: boolean | Partial<ComponentProps<typeof Path>>;
132
132
 
133
133
  /**
134
134
  * A reference to the track element
@@ -160,9 +160,9 @@
160
160
  } & CommonStyleProps;
161
161
 
162
162
  export type ArcProps = ArcPropsWithoutHTML &
163
- // we omit the spline props to avoid conflicts with attribute names since we are
164
- // passing them through to `<Spline />`
165
- Without<SVGAttributes<SVGPathElement>, ArcPropsWithoutHTML & SplinePropsWithoutHTML>;
163
+ // we omit the path props to avoid conflicts with attribute names since we are
164
+ // passing them through to `<Path />`
165
+ Without<SVGAttributes<SVGPathElement>, ArcPropsWithoutHTML & PathPropsWithoutHTML>;
166
166
  </script>
167
167
 
168
168
  <script lang="ts">
@@ -188,7 +188,7 @@
188
188
  import { scaleLinear } from 'd3-scale';
189
189
 
190
190
  import { degreesToRadians } from '../utils/math.js';
191
- import { getChartContext } from './Chart.svelte';
191
+ import { getChartContext } from '../contexts/chart.js';
192
192
  import { extractLayerProps } from '../utils/attributes.js';
193
193
  import { cls } from '@layerstack/tailwind';
194
194
  import { max } from 'd3-array';
@@ -398,7 +398,7 @@
398
398
  </script>
399
399
 
400
400
  {#if track}
401
- <Spline
401
+ <Path
402
402
  pathData={trackArc()}
403
403
  stroke="none"
404
404
  bind:pathRef={trackRef}
@@ -406,14 +406,14 @@
406
406
  />
407
407
  {/if}
408
408
 
409
- <Spline
409
+ <Path
410
410
  bind:pathRef={ref}
411
411
  pathData={arc()}
412
412
  transform="translate({xOffset}, {yOffset})"
413
413
  {fill}
414
414
  {fillOpacity}
415
415
  {stroke}
416
- stroke-width={strokeWidth}
416
+ {strokeWidth}
417
417
  {opacity}
418
418
  {...restProps}
419
419
  class={cls('lc-arc-line', className)}
@@ -1,7 +1,7 @@
1
1
  import type { ComponentProps, Snippet } from 'svelte';
2
2
  import type { SVGAttributes } from 'svelte/elements';
3
- import Spline, { type SplinePropsWithoutHTML } from './Spline.svelte';
4
- import type { TooltipContextValue } from './tooltip/TooltipContext.svelte';
3
+ import Path, { type PathPropsWithoutHTML } from './Path.svelte';
4
+ import type { TooltipContextValue } from '../contexts/tooltip.js';
5
5
  import { type MotionProp } from '../utils/motion.svelte.js';
6
6
  import type { CommonStyleProps, Without } from '../utils/types.js';
7
7
  export type ArcPropsWithoutHTML = {
@@ -107,7 +107,7 @@ export type ArcPropsWithoutHTML = {
107
107
  * Pass true to enable the track with default props, or pass an object
108
108
  * of props to enable the track.
109
109
  */
110
- track?: boolean | Partial<ComponentProps<typeof Spline>>;
110
+ track?: boolean | Partial<ComponentProps<typeof Path>>;
111
111
  /**
112
112
  * A reference to the track element
113
113
  *
@@ -131,7 +131,7 @@ export type ArcPropsWithoutHTML = {
131
131
  ]>;
132
132
  motion?: MotionProp;
133
133
  } & CommonStyleProps;
134
- export type ArcProps = ArcPropsWithoutHTML & Without<SVGAttributes<SVGPathElement>, ArcPropsWithoutHTML & SplinePropsWithoutHTML>;
134
+ export type ArcProps = ArcPropsWithoutHTML & Without<SVGAttributes<SVGPathElement>, ArcPropsWithoutHTML & PathPropsWithoutHTML>;
135
135
  import { type GetArcTextProps } from '../utils/arcText.svelte.js';
136
136
  declare const Arc: import("svelte").Component<ArcProps, {}, "ref" | "trackRef">;
137
137
  type Arc = ReturnType<typeof Arc>;
@@ -0,0 +1 @@
1
+ export {};