svelteplot 0.2.6-next.4 → 0.2.6

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 (111) hide show
  1. package/dist/Mark.svelte +1 -1
  2. package/dist/Plot.svelte +1 -1
  3. package/dist/core/FacetGrid.svelte +2 -2
  4. package/dist/core/Plot.svelte +1 -0
  5. package/dist/helpers/resolve.js +7 -4
  6. package/dist/helpers/scales.js +2 -1
  7. package/dist/marks/Area.svelte +17 -23
  8. package/dist/marks/Area.svelte.d.ts +9 -17
  9. package/dist/marks/AreaX.svelte +7 -6
  10. package/dist/marks/AreaX.svelte.d.ts +7 -6
  11. package/dist/marks/AreaY.svelte +7 -15
  12. package/dist/marks/AreaY.svelte.d.ts +7 -10
  13. package/dist/marks/Arrow.svelte +25 -25
  14. package/dist/marks/Arrow.svelte.d.ts +5 -8
  15. package/dist/marks/AxisX.svelte +50 -44
  16. package/dist/marks/AxisX.svelte.d.ts +4 -3
  17. package/dist/marks/AxisY.svelte +39 -31
  18. package/dist/marks/AxisY.svelte.d.ts +7 -4
  19. package/dist/marks/BarX.svelte +27 -12
  20. package/dist/marks/BarX.svelte.d.ts +17 -1
  21. package/dist/marks/BarY.svelte +21 -11
  22. package/dist/marks/BarY.svelte.d.ts +4 -4
  23. package/dist/marks/BollingerX.svelte +15 -7
  24. package/dist/marks/BollingerX.svelte.d.ts +3 -3
  25. package/dist/marks/BollingerY.svelte +9 -7
  26. package/dist/marks/BollingerY.svelte.d.ts +3 -3
  27. package/dist/marks/BoxX.svelte +3 -0
  28. package/dist/marks/BoxX.svelte.d.ts +1 -0
  29. package/dist/marks/BoxY.svelte +3 -0
  30. package/dist/marks/BoxY.svelte.d.ts +1 -0
  31. package/dist/marks/BrushX.svelte +5 -1
  32. package/dist/marks/BrushX.svelte.d.ts +2 -1
  33. package/dist/marks/BrushY.svelte +5 -1
  34. package/dist/marks/BrushY.svelte.d.ts +2 -1
  35. package/dist/marks/Cell.svelte +18 -21
  36. package/dist/marks/Cell.svelte.d.ts +3 -9
  37. package/dist/marks/CellX.svelte +7 -12
  38. package/dist/marks/CellX.svelte.d.ts +3 -1
  39. package/dist/marks/CellY.svelte +7 -12
  40. package/dist/marks/CellY.svelte.d.ts +3 -1
  41. package/dist/marks/ColorLegend.svelte +12 -9
  42. package/dist/marks/ColorLegend.svelte.d.ts +3 -5
  43. package/dist/marks/CustomMark.svelte +1 -1
  44. package/dist/marks/CustomMarkHTML.svelte +1 -1
  45. package/dist/marks/DifferenceY.svelte +22 -20
  46. package/dist/marks/DifferenceY.svelte.d.ts +5 -5
  47. package/dist/marks/Dot.svelte +17 -27
  48. package/dist/marks/Dot.svelte.d.ts +5 -15
  49. package/dist/marks/DotX.svelte +10 -9
  50. package/dist/marks/DotX.svelte.d.ts +4 -7
  51. package/dist/marks/DotY.svelte +9 -2
  52. package/dist/marks/DotY.svelte.d.ts +4 -3
  53. package/dist/marks/Frame.svelte +42 -31
  54. package/dist/marks/Frame.svelte.d.ts +8 -3
  55. package/dist/marks/Geo.svelte +18 -11
  56. package/dist/marks/Geo.svelte.d.ts +4 -3
  57. package/dist/marks/Graticule.svelte +15 -8
  58. package/dist/marks/Graticule.svelte.d.ts +2 -1
  59. package/dist/marks/GridX.svelte +11 -6
  60. package/dist/marks/GridX.svelte.d.ts +3 -2
  61. package/dist/marks/GridY.svelte +11 -3
  62. package/dist/marks/GridY.svelte.d.ts +3 -2
  63. package/dist/marks/HTMLTooltip.svelte +2 -1
  64. package/dist/marks/HTMLTooltip.svelte.d.ts +4 -0
  65. package/dist/marks/Line.svelte +8 -14
  66. package/dist/marks/Line.svelte.d.ts +5 -10
  67. package/dist/marks/LineX.svelte +5 -2
  68. package/dist/marks/LineX.svelte.d.ts +3 -2
  69. package/dist/marks/LineY.svelte +5 -2
  70. package/dist/marks/LineY.svelte.d.ts +3 -2
  71. package/dist/marks/Link.svelte +20 -19
  72. package/dist/marks/Link.svelte.d.ts +6 -6
  73. package/dist/marks/Rect.svelte +15 -12
  74. package/dist/marks/Rect.svelte.d.ts +3 -3
  75. package/dist/marks/RectX.svelte +10 -20
  76. package/dist/marks/RectX.svelte.d.ts +6 -12
  77. package/dist/marks/RectY.svelte +10 -20
  78. package/dist/marks/RectY.svelte.d.ts +6 -12
  79. package/dist/marks/RegressionX.svelte +10 -2
  80. package/dist/marks/RegressionX.svelte.d.ts +2 -0
  81. package/dist/marks/RegressionY.svelte +9 -2
  82. package/dist/marks/RegressionY.svelte.d.ts +2 -0
  83. package/dist/marks/RuleX.svelte +16 -13
  84. package/dist/marks/RuleX.svelte.d.ts +3 -4
  85. package/dist/marks/RuleY.svelte +16 -13
  86. package/dist/marks/RuleY.svelte.d.ts +3 -4
  87. package/dist/marks/Sphere.svelte +9 -2
  88. package/dist/marks/Sphere.svelte.d.ts +4 -4
  89. package/dist/marks/Spike.svelte +9 -1
  90. package/dist/marks/Spike.svelte.d.ts +2 -0
  91. package/dist/marks/SymbolLegend.svelte +1 -1
  92. package/dist/marks/Text.svelte +34 -35
  93. package/dist/marks/Text.svelte.d.ts +4 -7
  94. package/dist/marks/TickX.svelte +25 -20
  95. package/dist/marks/TickX.svelte.d.ts +3 -3
  96. package/dist/marks/TickY.svelte +25 -20
  97. package/dist/marks/TickY.svelte.d.ts +3 -3
  98. package/dist/marks/Vector.svelte +5 -5
  99. package/dist/marks/Vector.svelte.d.ts +2 -5
  100. package/dist/marks/helpers/BaseAxisX.svelte +1 -1
  101. package/dist/marks/helpers/LinearGradientX.svelte +1 -1
  102. package/dist/marks/helpers/LinearGradientY.svelte +1 -1
  103. package/dist/marks/helpers/MarkerPath.svelte +1 -1
  104. package/dist/marks/helpers/RectPath.svelte +17 -13
  105. package/dist/marks/helpers/RectPath.svelte.d.ts +1 -0
  106. package/dist/marks/helpers/events.js +3 -6
  107. package/dist/transforms/recordize.js +4 -4
  108. package/dist/types.d.ts +13 -11
  109. package/dist/ui/RadioInput.svelte +1 -1
  110. package/dist/ui/Select.svelte +1 -1
  111. package/package.json +117 -118
@@ -6,7 +6,7 @@ import { INDEX } from '../../constants.js';
6
6
  * of the plot frame, regardless of which element triggered the event
7
7
  */
8
8
  export function clientToLayerCoordinates(event, plotBody) {
9
- // If layerX/Y already exist and the target is the plot frame (rect element),
9
+ // If layerX/Y already exist and the target is the plot frame (rect element),
10
10
  // we can use them directly
11
11
  // if (event.layerX !== undefined && (event.target as SVGElement).tagName === 'rect') {
12
12
  // return [event.layerX, event.layerY];
@@ -17,10 +17,7 @@ export function clientToLayerCoordinates(event, plotBody) {
17
17
  return [0, 0];
18
18
  const plotBodyRect = plotBody.getBoundingClientRect();
19
19
  // Calculate the coordinates relative to the plot body
20
- return [
21
- event.clientX - plotBodyRect.left,
22
- event.clientY - plotBodyRect.top
23
- ];
20
+ return [event.clientX - plotBodyRect.left, event.clientY - plotBodyRect.top];
24
21
  }
25
22
  export function addEventHandlers(node, { options, datum, getPlotState }) {
26
23
  const events = pick(options, [
@@ -52,7 +49,7 @@ export function addEventHandlers(node, { options, datum, getPlotState }) {
52
49
  'ontouchcancel',
53
50
  'ontouchend',
54
51
  'ontouchmove',
55
- 'onwheel',
52
+ 'onwheel'
56
53
  ]);
57
54
  const listeners = new Map();
58
55
  // attach event handlers
@@ -12,7 +12,7 @@ export function recordizeX({ data, ...channels }, { withIndex } = { withIndex: t
12
12
  data: data.map((value, index) => ({
13
13
  __value: value,
14
14
  ...(withIndex ? { [INDEX]: index } : {}),
15
- [RAW_VALUE]: value,
15
+ [RAW_VALUE]: value
16
16
  })),
17
17
  ...channels,
18
18
  x: RAW_VALUE,
@@ -33,7 +33,7 @@ export function recordizeY({ data, ...channels }, { withIndex } = { withIndex: t
33
33
  return {
34
34
  data: Array.from(data).map((value, index) => ({
35
35
  ...(withIndex ? { __index: index } : {}),
36
- [RAW_VALUE]: value,
36
+ [RAW_VALUE]: value
37
37
  })),
38
38
  ...channels,
39
39
  ...(withIndex ? { x: '__index' } : {}),
@@ -80,9 +80,9 @@ export function recordize({ data, ...channels }) {
80
80
  if (!isDataRecord(data[0])) {
81
81
  return {
82
82
  data: data.map((d) => ({
83
- [RAW_VALUE]: d,
83
+ [RAW_VALUE]: d
84
84
  })),
85
- ...channels,
85
+ ...channels
86
86
  };
87
87
  }
88
88
  return { data, ...channels };
package/dist/types.d.ts CHANGED
@@ -488,6 +488,18 @@ export type FacetContext = {
488
488
  getTestFacet: () => TestFacetFunction;
489
489
  getFacetState: () => FacetState;
490
490
  };
491
+ export type LinkableMarkProps = {
492
+ /**
493
+ * simple browser tooltip to be displayed on mouseover
494
+ */
495
+ title: ConstantAccessor<string>;
496
+ /**
497
+ * if set, the mark element will be wrapped in a <a> link
498
+ * element
499
+ */
500
+ href: ConstantAccessor<string>;
501
+ target: ConstantAccessor<'_self' | '_blank' | string>;
502
+ };
491
503
  export type BaseMarkProps = Partial<{
492
504
  /**
493
505
  * Filter the data without modifying the inferred scales
@@ -544,20 +556,10 @@ export type BaseMarkProps = Partial<{
544
556
  ontouchcancel?: MouseEventHandler<SVGPathElement>;
545
557
  oncontextmenu?: MouseEventHandler<SVGPathElement>;
546
558
  onwheel?: MouseEventHandler<SVGPathElement>;
547
- /**
548
- * simple browser tooltip to be displayed on mouseover
549
- */
550
- title: ConstantAccessor<string>;
551
- /**
552
- * if set, the mark element will be wrapped in a <a> link
553
- * element
554
- */
555
- href: ConstantAccessor<string>;
556
- target: ConstantAccessor<'_self' | '_blank' | string>;
557
559
  /**
558
560
  * if you want to give your mark element an extra CSS class
559
561
  */
560
- class: string;
562
+ class: string | null;
561
563
  cursor: ConstantAccessor<CSS.Property.Cursor>;
562
564
  }>;
563
565
  export type BorderRadius = number | {
@@ -18,7 +18,7 @@
18
18
  {#if label}
19
19
  <label for={randomId}>{label}:</label>
20
20
  {/if}
21
- {#each options as p}
21
+ {#each options as p (p)}
22
22
  <label>
23
23
  <input type="radio" id={randomId} bind:group={value} value={p} />
24
24
  {format(p)}
@@ -15,7 +15,7 @@
15
15
  <label
16
16
  >{label || ''}
17
17
  <select bind:value>
18
- {#each options as p}
18
+ {#each options as p (p)}
19
19
  <option value={p}>{format(p)}</option>
20
20
  {/each}
21
21
  </select></label>
package/package.json CHANGED
@@ -1,124 +1,123 @@
1
1
  {
2
- "name": "svelteplot",
3
- "version": "0.2.6-next.4",
4
- "license": "ISC",
5
- "author": {
6
- "name": "Gregor Aisch",
7
- "email": "gka@users.noreply.github.com"
2
+ "name": "svelteplot",
3
+ "version": "0.2.6",
4
+ "license": "ISC",
5
+ "author": {
6
+ "name": "Gregor Aisch",
7
+ "email": "gka@users.noreply.github.com"
8
+ },
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "svelte": "./dist/index.js"
8
13
  },
9
- "scripts": {
10
- "dev": "vite dev",
11
- "build": "vite build",
12
- "preview": "vite preview",
13
- "test": "npm run test:unit",
14
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
15
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
16
- "lint": "prettier --check src && eslint src",
17
- "format": "prettier --write .",
18
- "test:unit": "vitest",
19
- "prepack": "npx svelte-package",
20
- "release-next": "npm version prerelease --preid next && npm publish && git push && git push --tags && sleep 1 && npm dist-tag add svelteplot@$(npm view . version) next",
21
- "docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/"
14
+ "./*.js": {
15
+ "import": "./dist/*.js"
22
16
  },
23
- "exports": {
24
- ".": {
25
- "types": "./dist/index.d.ts",
26
- "svelte": "./dist/index.js"
27
- },
28
- "./*.js": {
29
- "import": "./dist/*.js"
30
- },
31
- "./*.svelte": {
32
- "import": "./dist/*.svelte"
33
- },
34
- "./core/*.svelte": {
35
- "import": "./dist/core/*.svelte"
36
- },
37
- "./marks/*.svelte": {
38
- "import": "./dist/marks/*.svelte"
39
- },
40
- "./transforms": {
41
- "import": "./dist/transforms/index.js"
42
- }
17
+ "./*.svelte": {
18
+ "import": "./dist/*.svelte"
43
19
  },
44
- "main": "./dist/index.js",
45
- "files": [
46
- "dist",
47
- "!dist/**/*.test.*",
48
- "!dist/**/*.spec.*"
49
- ],
50
- "devDependencies": {
51
- "@aitodotai/json-stringify-pretty-compact": "^1.3.0",
52
- "@emotion/css": "^11.13.5",
53
- "@sveltejs/adapter-auto": "^6.0.1",
54
- "@sveltejs/adapter-static": "^3.0.8",
55
- "@sveltejs/eslint-config": "^8.2.0",
56
- "@sveltejs/kit": "^2.21.0",
57
- "@sveltejs/package": "^2.3.11",
58
- "@sveltejs/vite-plugin-svelte": "5.0.3",
59
- "@sveltepress/theme-default": "^6.0.3",
60
- "@sveltepress/twoslash": "^1.2.2",
61
- "@sveltepress/vite": "^1.2.2",
62
- "@testing-library/svelte": "^5.2.7",
63
- "@testing-library/user-event": "^14.6.1",
64
- "@types/d3-array": "^3.2.1",
65
- "@types/d3-color": "^3.1.3",
66
- "@types/d3-dsv": "^3.0.7",
67
- "@types/d3-geo": "^3.1.0",
68
- "@types/d3-interpolate": "^3.0.4",
69
- "@types/d3-path": "^3.1.1",
70
- "@types/d3-random": "^3.0.3",
71
- "@types/d3-scale": "^4.0.9",
72
- "@types/d3-scale-chromatic": "^3.1.0",
73
- "@types/d3-shape": "^3.1.7",
74
- "@typescript-eslint/eslint-plugin": "^8.32.1",
75
- "@typescript-eslint/parser": "^8.32.1",
76
- "csstype": "^3.1.3",
77
- "d3-dsv": "^3.0.1",
78
- "d3-fetch": "^3.0.1",
79
- "d3-force": "^3.0.0",
80
- "eslint": "^9.26.0",
81
- "eslint-config-prettier": "^10.1.5",
82
- "eslint-plugin-svelte": "3.7.0",
83
- "jsdom": "^26.1.0",
84
- "prettier": "^3.5.3",
85
- "prettier-plugin-svelte": "^3.4.0",
86
- "remark-code-extra": "^1.0.1",
87
- "remark-code-frontmatter": "^1.0.0",
88
- "resize-observer-polyfill": "^1.5.1",
89
- "sass": "^1.89.0",
90
- "svelte-check": "^4.2.1",
91
- "svelte-eslint-parser": "1.2.0",
92
- "svelte-highlight": "^7.8.3",
93
- "svg-path-parser": "^1.1.0",
94
- "topojson-client": "^3.1.0",
95
- "tslib": "^2.8.1",
96
- "typedoc": "^0.28.4",
97
- "typedoc-plugin-markdown": "^4.6.3",
98
- "typescript": "^5.8.3",
99
- "vite": "^6.3.5",
100
- "vitest": "^3.1.3",
101
- "vitest-matchmedia-mock": "^2.0.3"
20
+ "./core/*.svelte": {
21
+ "import": "./dist/core/*.svelte"
102
22
  },
103
- "types": "./dist/index.d.ts",
104
- "type": "module",
105
- "dependencies": {
106
- "d3-array": "^3.2.4",
107
- "d3-color": "^3.1.0",
108
- "d3-format": "^3.1.0",
109
- "d3-geo": "^3.1.1",
110
- "d3-interpolate": "^3.0.1",
111
- "d3-path": "^3.1.0",
112
- "d3-quadtree": "^3.0.1",
113
- "d3-random": "^3.0.1",
114
- "d3-regression": "^1.3.10",
115
- "d3-scale": "^4.0.2",
116
- "d3-scale-chromatic": "^3.1.0",
117
- "d3-shape": "^3.2.0",
118
- "d3-time": "^3.1.0",
119
- "es-toolkit": "^1.37.2",
120
- "fast-equals": "^5.2.2",
121
- "merge-deep": "^3.0.3",
122
- "svelte": "5.30.1"
23
+ "./marks/*.svelte": {
24
+ "import": "./dist/marks/*.svelte"
25
+ },
26
+ "./transforms": {
27
+ "import": "./dist/transforms/index.js"
123
28
  }
124
- }
29
+ },
30
+ "main": "./dist/index.js",
31
+ "files": [
32
+ "dist",
33
+ "!dist/**/*.test.*",
34
+ "!dist/**/*.spec.*"
35
+ ],
36
+ "devDependencies": {
37
+ "@aitodotai/json-stringify-pretty-compact": "^1.3.0",
38
+ "@emotion/css": "^11.13.5",
39
+ "@sveltejs/adapter-auto": "^6.0.1",
40
+ "@sveltejs/adapter-static": "^3.0.8",
41
+ "@sveltejs/eslint-config": "^8.2.0",
42
+ "@sveltejs/kit": "^2.21.1",
43
+ "@sveltejs/package": "^2.3.11",
44
+ "@sveltejs/vite-plugin-svelte": "5.0.3",
45
+ "@sveltepress/theme-default": "^6.0.3",
46
+ "@sveltepress/twoslash": "^1.2.2",
47
+ "@sveltepress/vite": "^1.2.2",
48
+ "@testing-library/svelte": "^5.2.8",
49
+ "@testing-library/user-event": "^14.6.1",
50
+ "@types/d3-array": "^3.2.1",
51
+ "@types/d3-color": "^3.1.3",
52
+ "@types/d3-dsv": "^3.0.7",
53
+ "@types/d3-geo": "^3.1.0",
54
+ "@types/d3-interpolate": "^3.0.4",
55
+ "@types/d3-path": "^3.1.1",
56
+ "@types/d3-random": "^3.0.3",
57
+ "@types/d3-scale": "^4.0.9",
58
+ "@types/d3-scale-chromatic": "^3.1.0",
59
+ "@types/d3-shape": "^3.1.7",
60
+ "@typescript-eslint/eslint-plugin": "^8.32.1",
61
+ "@typescript-eslint/parser": "^8.32.1",
62
+ "csstype": "^3.1.3",
63
+ "d3-dsv": "^3.0.1",
64
+ "d3-fetch": "^3.0.1",
65
+ "d3-force": "^3.0.0",
66
+ "eslint": "^9.27.0",
67
+ "eslint-config-prettier": "^10.1.5",
68
+ "eslint-plugin-svelte": "3.9.0",
69
+ "jsdom": "^26.1.0",
70
+ "prettier": "^3.5.3",
71
+ "prettier-plugin-svelte": "^3.4.0",
72
+ "remark-code-extra": "^1.0.1",
73
+ "remark-code-frontmatter": "^1.0.0",
74
+ "resize-observer-polyfill": "^1.5.1",
75
+ "sass": "^1.89.0",
76
+ "svelte-check": "^4.2.1",
77
+ "svelte-eslint-parser": "1.2.0",
78
+ "svelte-highlight": "^7.8.3",
79
+ "svg-path-parser": "^1.1.0",
80
+ "topojson-client": "^3.1.0",
81
+ "tslib": "^2.8.1",
82
+ "typedoc": "^0.28.4",
83
+ "typedoc-plugin-markdown": "^4.6.3",
84
+ "typescript": "^5.8.3",
85
+ "vite": "^6.3.5",
86
+ "vitest": "^3.1.4",
87
+ "vitest-matchmedia-mock": "^2.0.3"
88
+ },
89
+ "types": "./dist/index.d.ts",
90
+ "type": "module",
91
+ "dependencies": {
92
+ "d3-array": "^3.2.4",
93
+ "d3-color": "^3.1.0",
94
+ "d3-format": "^3.1.0",
95
+ "d3-geo": "^3.1.1",
96
+ "d3-interpolate": "^3.0.1",
97
+ "d3-path": "^3.1.0",
98
+ "d3-quadtree": "^3.0.1",
99
+ "d3-random": "^3.0.1",
100
+ "d3-regression": "^1.3.10",
101
+ "d3-scale": "^4.0.2",
102
+ "d3-scale-chromatic": "^3.1.0",
103
+ "d3-shape": "^3.2.0",
104
+ "d3-time": "^3.1.0",
105
+ "es-toolkit": "^1.38.0",
106
+ "fast-equals": "^5.2.2",
107
+ "merge-deep": "^3.0.3",
108
+ "svelte": "5.33.2"
109
+ },
110
+ "scripts": {
111
+ "dev": "vite dev",
112
+ "build": "vite build",
113
+ "preview": "vite preview",
114
+ "test": "npm run test:unit",
115
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
116
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
117
+ "lint": "prettier --check src && eslint src",
118
+ "format": "prettier --write .",
119
+ "test:unit": "vitest",
120
+ "release-next": "npm version prerelease --preid next && npm publish && git push && git push --tags && sleep 1 && npm dist-tag add svelteplot@$(npm view . version) next",
121
+ "docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/"
122
+ }
123
+ }