svelteplot 0.9.0 → 0.9.1

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 (53) hide show
  1. package/README.md +2 -2
  2. package/dist/Mark.svelte +1 -1
  3. package/dist/Plot.svelte +1 -5
  4. package/dist/constants.js +9 -2
  5. package/dist/core/FacetAxes.svelte +14 -3
  6. package/dist/core/FacetGrid.svelte +15 -4
  7. package/dist/core/Plot.svelte +1 -5
  8. package/dist/helpers/autoProjection.d.ts +13 -8
  9. package/dist/helpers/autoProjection.js +1 -1
  10. package/dist/helpers/autoScales.d.ts +1 -1
  11. package/dist/helpers/autoTicks.d.ts +11 -2
  12. package/dist/helpers/autoTicks.js +3 -1
  13. package/dist/helpers/callWithProps.d.ts +1 -3
  14. package/dist/helpers/callWithProps.js +5 -3
  15. package/dist/helpers/colors.d.ts +4 -4
  16. package/dist/helpers/colors.js +4 -3
  17. package/dist/helpers/curves.d.ts +3 -3
  18. package/dist/helpers/getBaseStyles.d.ts +2 -3
  19. package/dist/helpers/getBaseStyles.js +2 -1
  20. package/dist/helpers/group.d.ts +1 -1
  21. package/dist/helpers/group.js +15 -14
  22. package/dist/helpers/math.d.ts +3 -3
  23. package/dist/helpers/math.js +7 -1
  24. package/dist/helpers/resolve.d.ts +1 -1
  25. package/dist/helpers/resolve.js +12 -7
  26. package/dist/helpers/symbols.d.ts +3 -1
  27. package/dist/helpers/typeChecks.d.ts +2 -2
  28. package/dist/marks/CellX.svelte +6 -4
  29. package/dist/marks/CellX.svelte.d.ts +92 -5
  30. package/dist/marks/CellY.svelte +6 -4
  31. package/dist/marks/CellY.svelte.d.ts +92 -5
  32. package/dist/marks/DotX.svelte +3 -2
  33. package/dist/marks/DotX.svelte.d.ts +12 -11
  34. package/dist/marks/WaffleX.svelte +1 -1
  35. package/dist/marks/helpers/BaseAxisX.svelte +3 -1
  36. package/dist/marks/helpers/BaseAxisX.svelte.d.ts +1 -0
  37. package/dist/marks/helpers/BaseAxisY.svelte +4 -2
  38. package/dist/marks/helpers/BaseAxisY.svelte.d.ts +1 -0
  39. package/dist/marks/helpers/Marker.svelte +1 -1
  40. package/dist/transforms/bollinger.d.ts +4 -73
  41. package/dist/transforms/index.d.ts +1 -1
  42. package/dist/transforms/index.js +1 -1
  43. package/dist/transforms/interval.js +1 -1
  44. package/dist/transforms/jitter.d.ts +12 -10
  45. package/dist/transforms/jitter.js +44 -28
  46. package/dist/transforms/map.js +2 -1
  47. package/dist/transforms/recordize.d.ts +5 -5
  48. package/dist/types/data.d.ts +1 -1
  49. package/dist/types/index.d.ts +2 -1
  50. package/dist/types/mark.d.ts +2 -1
  51. package/dist/types/plot.d.ts +2 -0
  52. package/dist/types/scale.d.ts +15 -15
  53. package/package.json +147 -147
@@ -3,6 +3,8 @@ import type { ColorScheme } from './colorScheme.js';
3
3
  import type { GeoProjection } from 'd3-geo';
4
4
  import type { ChannelAccessor, ChannelName, ColorScaleOptions, DataRecord, LegendScaleOptions, PlotScales, RawValue, ScaleOptions, XScaleOptions, YScaleOptions } from './index.js';
5
5
  import type { Snippet } from 'svelte';
6
+ import type { GenericMarkOptions, Mark } from './index.js';
7
+ import type { Clip } from '../helpers/projection.js';
6
8
  import type { Area, AreaX, AreaY, Arrow, AxisX, AxisY, BarX, BarY, BoxX, BoxY, Brush, BrushX, BrushY, Cell, DifferenceY, Dot, Frame, Geo, Graticule, GridX, GridY, Image, Line, Link, Pointer, Rect, RectX, RectY, RuleX, RuleY, Sphere, Spike, Text, TickX, TickY, Trail, Vector } from '../marks/index.js';
7
9
  import type WaffleX from '../marks/WaffleX.svelte';
8
10
  import type WaffleY from '../marks/WaffleY.svelte';
@@ -12,17 +12,17 @@ export type ScaleOptions = {
12
12
  * Set a custom domain for the scale instead of auto-computing the domain
13
13
  * from the mark data channels.
14
14
  */
15
- domain?: RawValue[];
15
+ domain: RawValue[];
16
16
  /**
17
17
  * Set a custom range for the scale.
18
18
  */
19
- range?: RawValue[];
19
+ range: RawValue[];
20
20
  /**
21
21
  * Reverse the scale.
22
22
  */
23
23
  reverse: boolean;
24
- label?: string | false;
25
- interval?: string | number;
24
+ label: string | false;
25
+ interval: string | number;
26
26
  clamp: boolean;
27
27
  /**
28
28
  * Extend the domain to nice round numbers (applicable to quantitative scales only)
@@ -46,23 +46,23 @@ export type ScaleOptions = {
46
46
  /**
47
47
  * set the inner padding for band scales
48
48
  */
49
- paddingInner?: number;
49
+ paddingInner: number;
50
50
  /**
51
51
  * set the outer padding for band scales
52
52
  */
53
- paddingOuter?: number;
54
- insetLeft?: number;
55
- insetRight?: number;
56
- insetTop?: number;
57
- insetBottom?: number;
58
- ticks?: (number | Date)[];
53
+ paddingOuter: number;
54
+ insetLeft: number;
55
+ insetRight: number;
56
+ insetTop: number;
57
+ insetBottom: number;
58
+ ticks: (number | Date)[];
59
59
  tickSpacing: number;
60
- base?: number;
61
- sort?: ChannelAccessor | ((a: RawValue, b: RawValue) => number) | {
60
+ base: number;
61
+ sort: ChannelAccessor | ((a: RawValue, b: RawValue) => number) | {
62
62
  channel: string;
63
63
  order: 'ascending' | 'descending';
64
64
  };
65
- constant?: number;
65
+ constant: number;
66
66
  };
67
67
  export type ColorScaleOptions = ScaleOptions & {
68
68
  legend: boolean;
@@ -152,6 +152,6 @@ export type PlotScale = {
152
152
  */
153
153
  uniqueScaleProps: Set<ChannelAccessor>;
154
154
  skip: Map<ScaledChannelName, Set<symbol>>;
155
- fn: ScaleLinear<RawValue, number> & ScaleBand<RawValue> & ScaleOrdinal<string | Date, number> & ScaleOrdinal<string | Date, string>;
155
+ fn: ScaleLinear<RawValue, number> & ScaleBand<RawValue[]> & ScaleOrdinal<string | Date, number> & ScaleOrdinal<string | Date, string>;
156
156
  };
157
157
  export type PlotScales = Record<ScaleName, PlotScale>;
package/package.json CHANGED
@@ -1,153 +1,153 @@
1
1
  {
2
- "name": "svelteplot",
3
- "version": "0.9.0",
4
- "license": "ISC",
5
- "author": {
6
- "name": "Gregor Aisch",
7
- "email": "gka@users.noreply.github.com"
2
+ "name": "svelteplot",
3
+ "version": "0.9.1",
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
- "test:visual": "node scripts/visual-regression.js",
15
- "vr:report": "node scripts/vr-report.js",
16
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
17
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
18
- "lint": "prettier --check src && eslint src",
19
- "format": "prettier --write .",
20
- "test:unit": "vitest",
21
- "prepack": "npx svelte-package",
22
- "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",
23
- "docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/",
24
- "screenshots": "node screenshot-examples.js",
25
- "check-js-extensions": "node scripts/check-js-extensions.js src"
14
+ "./*.js": {
15
+ "import": "./dist/*.js"
26
16
  },
27
- "exports": {
28
- ".": {
29
- "types": "./dist/index.d.ts",
30
- "svelte": "./dist/index.js"
31
- },
32
- "./*.js": {
33
- "import": "./dist/*.js"
34
- },
35
- "./*.svelte": {
36
- "import": "./dist/*.svelte"
37
- },
38
- "./core/*.svelte": {
39
- "import": "./dist/core/*.svelte"
40
- },
41
- "./marks/*.svelte": {
42
- "import": "./dist/marks/*.svelte"
43
- },
44
- "./transforms": {
45
- "import": "./dist/transforms/index.js"
46
- }
17
+ "./*.svelte": {
18
+ "import": "./dist/*.svelte"
47
19
  },
48
- "main": "./dist/index.js",
49
- "files": [
50
- "dist",
51
- "!dist/**/*.test.*",
52
- "!dist/**/*.spec.*"
53
- ],
54
- "devDependencies": {
55
- "@aitodotai/json-stringify-pretty-compact": "^1.3.0",
56
- "@emotion/css": "^11.13.5",
57
- "@shikijs/twoslash": "^3.20.0",
58
- "@sveltejs/adapter-auto": "^7.0.0",
59
- "@sveltejs/adapter-static": "^3.0.10",
60
- "@sveltejs/enhanced-img": "^0.9.2",
61
- "@sveltejs/eslint-config": "^8.3.4",
62
- "@sveltejs/kit": "^2.49.2",
63
- "@sveltejs/package": "^2.5.7",
64
- "@sveltejs/vite-plugin-svelte": "6.2.1",
65
- "@sveltepress/twoslash": "^1.3.4",
66
- "@sveltepress/vite": "^1.3.4",
67
- "@testing-library/svelte": "^5.2.9",
68
- "@testing-library/user-event": "^14.6.1",
69
- "@types/d3-array": "^3.2.2",
70
- "@types/d3-color": "^3.1.3",
71
- "@types/d3-dsv": "^3.0.7",
72
- "@types/d3-geo": "^3.1.0",
73
- "@types/d3-interpolate": "^3.0.4",
74
- "@types/d3-path": "^3.1.1",
75
- "@types/d3-quadtree": "^3.0.6",
76
- "@types/d3-random": "^3.0.3",
77
- "@types/d3-scale": "^4.0.9",
78
- "@types/d3-scale-chromatic": "^3.1.0",
79
- "@types/d3-shape": "^3.1.7",
80
- "@types/geojson": "^7946.0.16",
81
- "@types/topojson": "^3.2.6",
82
- "@types/topojson-client": "^3.1.5",
83
- "@typescript-eslint/eslint-plugin": "^8.50.0",
84
- "@typescript-eslint/parser": "^8.50.0",
85
- "@unocss/extractor-svelte": "^66.5.10",
86
- "@vite-pwa/sveltekit": "^1.1.0",
87
- "csstype": "^3.2.3",
88
- "d3-dsv": "^3.0.1",
89
- "d3-fetch": "^3.0.1",
90
- "d3-force": "^3.0.0",
91
- "eslint": "^9.39.2",
92
- "eslint-config-prettier": "^10.1.8",
93
- "eslint-plugin-regexp": "^2.10.0",
94
- "eslint-plugin-svelte": "3.13.1",
95
- "jqmath": "^0.4.9",
96
- "jsdom": "^27.3.0",
97
- "log-update": "^7.0.2",
98
- "lru-cache": "^11.2.4",
99
- "mdast-util-from-markdown": "^2.0.2",
100
- "mdast-util-gfm": "^3.1.0",
101
- "pixelmatch": "^7.1.0",
102
- "pngjs": "^7.0.0",
103
- "prettier": "^3.7.4",
104
- "prettier-plugin-svelte": "^3.4.1",
105
- "puppeteer": "^24.34.0",
106
- "remark-code-extra": "^1.0.1",
107
- "remark-code-frontmatter": "^1.0.0",
108
- "remark-math": "^6.0.0",
109
- "resize-observer-polyfill": "^1.5.1",
110
- "sass": "^1.97.0",
111
- "shiki": "^3.20.0",
112
- "svelte-check": "^4.3.4",
113
- "svelte-eslint-parser": "1.4.1",
114
- "svelte-highlight": "^7.9.0",
115
- "svg-path-parser": "^1.1.0",
116
- "temml": "^0.12.2",
117
- "topojson-client": "^3.1.0",
118
- "ts-essentials": "^10.1.1",
119
- "tslib": "^2.8.1",
120
- "typedoc": "^0.28.15",
121
- "typedoc-plugin-markdown": "^4.9.0",
122
- "typescript": "^5.9.3",
123
- "uid": "^2.0.2",
124
- "unist-util-visit": "^5.0.0",
125
- "unocss": "^66.5.10",
126
- "vite": "^7.3.0",
127
- "vitest": "^4.0.16",
128
- "vitest-matchmedia-mock": "^2.0.3",
129
- "wx-svelte-grid": "^2.4.0",
130
- "yoctocolors": "^2.1.2"
20
+ "./core/*.svelte": {
21
+ "import": "./dist/core/*.svelte"
131
22
  },
132
- "types": "./dist/index.d.ts",
133
- "type": "module",
134
- "dependencies": {
135
- "d3-array": "^3.2.4",
136
- "d3-color": "^3.1.0",
137
- "d3-format": "^3.1.0",
138
- "d3-geo": "^3.1.1",
139
- "d3-interpolate": "^3.0.1",
140
- "d3-path": "^3.1.0",
141
- "d3-quadtree": "^3.0.1",
142
- "d3-random": "^3.0.1",
143
- "d3-scale": "^4.0.2",
144
- "d3-scale-chromatic": "^3.1.0",
145
- "d3-shape": "^3.2.0",
146
- "d3-time": "^3.1.0",
147
- "es-toolkit": "^1.43.0",
148
- "fast-equals": "^6.0.0",
149
- "interval-tree-1d": "^1.0.4",
150
- "merge-deep": "^3.0.3",
151
- "svelte": "5"
23
+ "./marks/*.svelte": {
24
+ "import": "./dist/marks/*.svelte"
25
+ },
26
+ "./transforms": {
27
+ "import": "./dist/transforms/index.js"
152
28
  }
153
- }
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
+ "@shikijs/twoslash": "^3.20.0",
40
+ "@sveltejs/adapter-auto": "^7.0.0",
41
+ "@sveltejs/adapter-static": "^3.0.10",
42
+ "@sveltejs/enhanced-img": "^0.9.2",
43
+ "@sveltejs/eslint-config": "^8.3.4",
44
+ "@sveltejs/kit": "^2.49.2",
45
+ "@sveltejs/package": "^2.5.7",
46
+ "@sveltejs/vite-plugin-svelte": "6.2.1",
47
+ "@sveltepress/twoslash": "^1.3.4",
48
+ "@sveltepress/vite": "^1.3.4",
49
+ "@testing-library/svelte": "^5.2.9",
50
+ "@testing-library/user-event": "^14.6.1",
51
+ "@types/d3-array": "^3.2.2",
52
+ "@types/d3-color": "^3.1.3",
53
+ "@types/d3-dsv": "^3.0.7",
54
+ "@types/d3-geo": "^3.1.0",
55
+ "@types/d3-interpolate": "^3.0.4",
56
+ "@types/d3-path": "^3.1.1",
57
+ "@types/d3-quadtree": "^3.0.6",
58
+ "@types/d3-random": "^3.0.3",
59
+ "@types/d3-scale": "^4.0.9",
60
+ "@types/d3-scale-chromatic": "^3.1.0",
61
+ "@types/d3-shape": "^3.1.7",
62
+ "@types/geojson": "^7946.0.16",
63
+ "@types/topojson": "^3.2.6",
64
+ "@types/topojson-client": "^3.1.5",
65
+ "@typescript-eslint/eslint-plugin": "^8.50.0",
66
+ "@typescript-eslint/parser": "^8.50.0",
67
+ "@unocss/extractor-svelte": "^66.5.10",
68
+ "@vite-pwa/sveltekit": "^1.1.0",
69
+ "csstype": "^3.2.3",
70
+ "d3-dsv": "^3.0.1",
71
+ "d3-fetch": "^3.0.1",
72
+ "d3-force": "^3.0.0",
73
+ "eslint": "^9.39.2",
74
+ "eslint-config-prettier": "^10.1.8",
75
+ "eslint-plugin-regexp": "^2.10.0",
76
+ "eslint-plugin-svelte": "3.13.1",
77
+ "jqmath": "^0.4.9",
78
+ "jsdom": "^27.3.0",
79
+ "log-update": "^7.0.2",
80
+ "lru-cache": "^11.2.4",
81
+ "mdast-util-from-markdown": "^2.0.2",
82
+ "mdast-util-gfm": "^3.1.0",
83
+ "pixelmatch": "^7.1.0",
84
+ "pngjs": "^7.0.0",
85
+ "prettier": "^3.7.4",
86
+ "prettier-plugin-svelte": "^3.4.1",
87
+ "puppeteer": "^24.34.0",
88
+ "remark-code-extra": "^1.0.1",
89
+ "remark-code-frontmatter": "^1.0.0",
90
+ "remark-math": "^6.0.0",
91
+ "resize-observer-polyfill": "^1.5.1",
92
+ "sass": "^1.97.0",
93
+ "shiki": "^3.20.0",
94
+ "svelte-check": "^4.3.4",
95
+ "svelte-eslint-parser": "1.4.1",
96
+ "svelte-highlight": "^7.9.0",
97
+ "svg-path-parser": "^1.1.0",
98
+ "temml": "^0.12.2",
99
+ "topojson-client": "^3.1.0",
100
+ "ts-essentials": "^10.1.1",
101
+ "tslib": "^2.8.1",
102
+ "typedoc": "^0.28.15",
103
+ "typedoc-plugin-markdown": "^4.9.0",
104
+ "typescript": "^5.9.3",
105
+ "uid": "^2.0.2",
106
+ "unist-util-visit": "^5.0.0",
107
+ "unocss": "^66.5.10",
108
+ "vite": "^7.3.0",
109
+ "vitest": "^4.0.16",
110
+ "vitest-matchmedia-mock": "^2.0.3",
111
+ "wx-svelte-grid": "^2.4.0",
112
+ "yoctocolors": "^2.1.2"
113
+ },
114
+ "types": "./dist/index.d.ts",
115
+ "type": "module",
116
+ "dependencies": {
117
+ "d3-array": "^3.2.4",
118
+ "d3-color": "^3.1.0",
119
+ "d3-format": "^3.1.0",
120
+ "d3-geo": "^3.1.1",
121
+ "d3-interpolate": "^3.0.1",
122
+ "d3-path": "^3.1.0",
123
+ "d3-quadtree": "^3.0.1",
124
+ "d3-random": "^3.0.1",
125
+ "d3-scale": "^4.0.2",
126
+ "d3-scale-chromatic": "^3.1.0",
127
+ "d3-shape": "^3.2.0",
128
+ "d3-time": "^3.1.0",
129
+ "es-toolkit": "^1.43.0",
130
+ "fast-equals": "^6.0.0",
131
+ "interval-tree-1d": "^1.0.4",
132
+ "merge-deep": "^3.0.3",
133
+ "svelte": "5"
134
+ },
135
+ "scripts": {
136
+ "dev": "vite dev",
137
+ "build": "vite build",
138
+ "preview": "vite preview",
139
+ "test": "npm run test:unit",
140
+ "test:visual": "node scripts/visual-regression.js",
141
+ "vr:report": "node scripts/vr-report.js",
142
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
143
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
144
+ "lint": "prettier --check src && eslint src",
145
+ "lint:types": "tsc --noEmit",
146
+ "format": "prettier --write .",
147
+ "test:unit": "vitest",
148
+ "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",
149
+ "docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/",
150
+ "screenshots": "node screenshot-examples.js",
151
+ "check-js-extensions": "node scripts/check-js-extensions.js src"
152
+ }
153
+ }