layerchart 0.60.2 → 0.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/components/Arc.svelte +83 -27
  2. package/dist/components/Area.svelte +51 -12
  3. package/dist/components/Bar.svelte +5 -1
  4. package/dist/components/Circle.svelte +54 -12
  5. package/dist/components/ComputedStyles.svelte +16 -0
  6. package/dist/components/ComputedStyles.svelte.d.ts +20 -0
  7. package/dist/components/GeoPath.svelte +36 -44
  8. package/dist/components/GeoPath.svelte.d.ts +2 -2
  9. package/dist/components/GeoPoint.svelte +27 -13
  10. package/dist/components/GeoTile.svelte +22 -7
  11. package/dist/components/Graticule.svelte.d.ts +4 -4
  12. package/dist/components/Group.svelte +46 -18
  13. package/dist/components/HitCanvas.svelte +7 -21
  14. package/dist/components/Legend.svelte.d.ts +1 -1
  15. package/dist/components/Line.svelte +70 -31
  16. package/dist/components/LinearGradient.svelte +89 -26
  17. package/dist/components/LinearGradient.svelte.d.ts +2 -2
  18. package/dist/components/Points.svelte +23 -41
  19. package/dist/components/Points.svelte.d.ts +2 -1
  20. package/dist/components/RadialGradient.svelte +86 -28
  21. package/dist/components/RadialGradient.svelte.d.ts +2 -2
  22. package/dist/components/Rect.svelte +62 -18
  23. package/dist/components/Rule.svelte +1 -1
  24. package/dist/components/Spline.svelte +95 -57
  25. package/dist/components/Text.svelte +80 -22
  26. package/dist/components/TransformControls.svelte.d.ts +1 -1
  27. package/dist/components/charts/AreaChart.svelte +14 -10
  28. package/dist/components/charts/BarChart.svelte +13 -9
  29. package/dist/components/charts/LineChart.svelte +13 -9
  30. package/dist/components/charts/PieChart.svelte +6 -2
  31. package/dist/components/charts/PieChart.svelte.d.ts +2 -1
  32. package/dist/components/charts/ScatterChart.svelte +14 -10
  33. package/dist/components/layout/Canvas.svelte +93 -11
  34. package/dist/components/layout/Canvas.svelte.d.ts +13 -0
  35. package/dist/components/layout/Svg.svelte +1 -1
  36. package/dist/components/tooltip/Tooltip.svelte.d.ts +1 -1
  37. package/dist/utils/canvas.d.ts +46 -0
  38. package/dist/utils/canvas.js +146 -0
  39. package/dist/utils/common.d.ts +10 -1
  40. package/dist/utils/common.js +13 -0
  41. package/dist/utils/index.d.ts +2 -0
  42. package/dist/utils/index.js +2 -0
  43. package/dist/utils/math.d.ts +2 -0
  44. package/dist/utils/math.js +10 -0
  45. package/dist/utils/path.d.ts +7 -0
  46. package/dist/utils/path.js +17 -3
  47. package/package.json +3 -4
@@ -31,3 +31,16 @@ export function chartDataArray(data) {
31
31
  return data.descendants();
32
32
  }
33
33
  }
34
+ export function defaultChartPadding(axis, legend) {
35
+ if (axis === false) {
36
+ return undefined;
37
+ }
38
+ else {
39
+ return {
40
+ top: axis === true || axis === 'y' ? 4 : 0,
41
+ left: axis === true || axis === 'y' ? 20 : 0,
42
+ bottom: (axis === true || axis === 'x' ? 20 : 0) + (legend === true ? 32 : 0),
43
+ right: axis === true || axis === 'x' ? 4 : 0,
44
+ };
45
+ }
46
+ }
@@ -1,8 +1,10 @@
1
+ export * from './canvas.js';
1
2
  export * from './common.js';
2
3
  export * from './geo.js';
3
4
  export * from './graph.js';
4
5
  export * from './hierarchy.js';
5
6
  export * from './math.js';
7
+ export * from './path.js';
6
8
  export * from './pivot.js';
7
9
  export * from './stack.js';
8
10
  export * from './ticks.js';
@@ -1,8 +1,10 @@
1
+ export * from './canvas.js';
1
2
  export * from './common.js';
2
3
  export * from './geo.js';
3
4
  export * from './graph.js';
4
5
  export * from './hierarchy.js';
5
6
  export * from './math.js';
7
+ export * from './path.js';
6
8
  export * from './pivot.js';
7
9
  export * from './stack.js';
8
10
  export * from './ticks.js';
@@ -27,3 +27,5 @@ export declare function cartesianToPolar(x: number, y: number): {
27
27
  export declare function celsiusToFahrenheit(temperature: number): number;
28
28
  /** Convert fahrenheit temperature to celsius */
29
29
  export declare function fahrenheitToCelsius(temperature: number): number;
30
+ /** Parse percent string (`50%`) to decimal (`0.5`) */
31
+ export declare function parsePercent(percent: string | number): number;
@@ -45,3 +45,13 @@ export function celsiusToFahrenheit(temperature) {
45
45
  export function fahrenheitToCelsius(temperature) {
46
46
  return (temperature - 32) * (5 / 9);
47
47
  }
48
+ /** Parse percent string (`50%`) to decimal (`0.5`) */
49
+ export function parsePercent(percent) {
50
+ if (typeof percent === 'number') {
51
+ // Assume already decimal
52
+ return percent;
53
+ }
54
+ else {
55
+ return Number(percent.replace('%', '')) / 100;
56
+ }
57
+ }
@@ -10,5 +10,12 @@ export declare function circlePath(dimensions: {
10
10
  r: number;
11
11
  sweep?: 'inside' | 'outside';
12
12
  }): string;
13
+ /** Create spike (triangle) using path data */
14
+ export declare function spikePath({ x, y, width, height, }: {
15
+ x: number;
16
+ y: number;
17
+ width: number;
18
+ height: number;
19
+ }): string;
13
20
  /** Flatten all `y` coordinates to `0` */
14
21
  export declare function flattenPathData(pathData: string, yOverride?: number): string;
@@ -14,14 +14,28 @@ export function getEasingPath(easing, count = 1000) {
14
14
  }
15
15
  /** Create circle using path data. Useful for labels. See also d3-shape's arc */
16
16
  export function circlePath(dimensions) {
17
- // sweep: 0 (inside), 1 (outside)
17
+ // https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths#arcs
18
18
  const { cx, cy, r, sweep = 'outside' } = dimensions;
19
+ // sweep: 0 (inside), 1 (outside)
20
+ const _sweep = sweep === 'outside' ? 1 : 0;
19
21
  return `
20
22
  M ${cx - r} ${cy}
21
- a ${r},${r} 0 1,${sweep} ${r * 2},0
22
- a ${r},${r} 0 1,${sweep} -${r * 2},0
23
+ a ${r},${r} 0 1,${_sweep} ${r * 2},0
24
+ a ${r},${r} 0 1,${_sweep} -${r * 2},0
23
25
  `;
24
26
  }
27
+ /** Create spike (triangle) using path data */
28
+ export function spikePath({ x, y, width, height, }) {
29
+ const startPoint = { x: x - width / 2, y };
30
+ const midPoint = { x, y: y - height };
31
+ const endPoint = { x: x + width / 2, y };
32
+ const pathData = `
33
+ M ${startPoint.x},${startPoint.y}
34
+ L ${midPoint.x},${midPoint.y}
35
+ L ${endPoint.x},${endPoint.y}
36
+ `;
37
+ return pathData;
38
+ }
25
39
  /** Flatten all `y` coordinates to `0` */
26
40
  export function flattenPathData(pathData, yOverride = 0) {
27
41
  let result = pathData;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": "Sean Lynch <techniq35@gmail.com>",
5
5
  "license": "MIT",
6
6
  "repository": "techniq/layerchart",
7
- "version": "0.60.2",
7
+ "version": "0.70.0",
8
8
  "devDependencies": {
9
9
  "@changesets/cli": "^2.27.10",
10
10
  "@mdi/js": "^7.4.47",
@@ -41,7 +41,7 @@
41
41
  "autoprefixer": "^10.4.20",
42
42
  "marked": "^15.0.3",
43
43
  "mdsvex": "^0.12.3",
44
- "posthog-js": "^1.95.1",
44
+ "posthog-js": "^1.203.1",
45
45
  "prettier": "^3.4.2",
46
46
  "prettier-plugin-svelte": "^3.3.2",
47
47
  "prism-svelte": "^0.5.0",
@@ -68,7 +68,7 @@
68
68
  "type": "module",
69
69
  "dependencies": {
70
70
  "@dagrejs/dagre": "^1.1.4",
71
- "@layerstack/svelte-actions": "^0.0.9",
71
+ "@layerstack/svelte-actions": "^0.0.11",
72
72
  "@layerstack/svelte-stores": "^0.0.9",
73
73
  "@layerstack/tailwind": "^0.0.11",
74
74
  "@layerstack/utils": "^0.0.7",
@@ -94,7 +94,6 @@
94
94
  "date-fns": "^4.1.0",
95
95
  "layercake": "^8.4.2",
96
96
  "lodash-es": "^4.17.21",
97
- "posthog-js": "^1.200.1",
98
97
  "shapefile": "^0.6.6",
99
98
  "topojson-client": "^3.1.0"
100
99
  },