svelteplot 0.10.0 → 0.10.1-pr-357.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 (86) hide show
  1. package/README.md +9 -2
  2. package/dist/Mark.svelte.d.ts +4 -4
  3. package/dist/constants.d.ts +1 -1
  4. package/dist/helpers/colors.d.ts +8 -11
  5. package/dist/helpers/curves.d.ts +2 -2
  6. package/dist/helpers/facets.d.ts +1 -1
  7. package/dist/helpers/getBaseStyles.d.ts +2 -4
  8. package/dist/helpers/index.d.ts +1 -1
  9. package/dist/helpers/reduce.d.ts +1 -1
  10. package/dist/helpers/scales.d.ts +7 -7
  11. package/dist/helpers/symbols.d.ts +1 -1
  12. package/dist/helpers/time.d.ts +3 -3
  13. package/dist/helpers/typeChecks.d.ts +4 -4
  14. package/dist/marks/Area.svelte.d.ts +5 -4
  15. package/dist/marks/AreaX.svelte.d.ts +4 -4
  16. package/dist/marks/AreaY.svelte +1 -0
  17. package/dist/marks/AreaY.svelte.d.ts +110 -0
  18. package/dist/marks/Arrow.svelte.d.ts +5 -4
  19. package/dist/marks/AxisX.svelte.d.ts +6 -5
  20. package/dist/marks/AxisY.svelte.d.ts +6 -5
  21. package/dist/marks/BarX.svelte.d.ts +4 -4
  22. package/dist/marks/BarY.svelte.d.ts +5 -4
  23. package/dist/marks/BollingerX.svelte.d.ts +2 -77
  24. package/dist/marks/BollingerY.svelte.d.ts +2 -77
  25. package/dist/marks/BoxY.svelte.d.ts +1 -64
  26. package/dist/marks/Brush.svelte.d.ts +1 -64
  27. package/dist/marks/Cell.svelte.d.ts +5 -4
  28. package/dist/marks/CellX.svelte.d.ts +30 -30
  29. package/dist/marks/CellY.svelte.d.ts +30 -30
  30. package/dist/marks/CustomMark.svelte.d.ts +2 -85
  31. package/dist/marks/DifferenceY.svelte.d.ts +1 -64
  32. package/dist/marks/Dot.svelte.d.ts +5 -4
  33. package/dist/marks/DotX.svelte.d.ts +5 -5
  34. package/dist/marks/DotY.svelte.d.ts +5 -5
  35. package/dist/marks/Frame.svelte.d.ts +6 -5
  36. package/dist/marks/Geo.svelte.d.ts +5 -4
  37. package/dist/marks/GridX.svelte.d.ts +5 -4
  38. package/dist/marks/GridY.svelte.d.ts +5 -4
  39. package/dist/marks/Image.svelte.d.ts +5 -4
  40. package/dist/marks/Line.svelte.d.ts +4 -4
  41. package/dist/marks/LineX.svelte.d.ts +6 -6
  42. package/dist/marks/LineY.svelte.d.ts +6 -6
  43. package/dist/marks/Link.svelte.d.ts +5 -4
  44. package/dist/marks/Rect.svelte.d.ts +5 -4
  45. package/dist/marks/RuleX.svelte.d.ts +5 -4
  46. package/dist/marks/RuleY.svelte.d.ts +5 -4
  47. package/dist/marks/Spike.svelte.d.ts +5 -5
  48. package/dist/marks/Text.svelte.d.ts +9 -8
  49. package/dist/marks/TickX.svelte.d.ts +5 -4
  50. package/dist/marks/TickY.svelte.d.ts +5 -4
  51. package/dist/marks/Trail.svelte.d.ts +1 -64
  52. package/dist/marks/Vector.svelte.d.ts +5 -4
  53. package/dist/marks/WaffleX.svelte.d.ts +2 -86
  54. package/dist/marks/WaffleY.svelte.d.ts +5 -4
  55. package/dist/marks/helpers/Box.svelte.d.ts +1 -64
  56. package/dist/marks/helpers/MarkerPath.svelte.d.ts +2 -107
  57. package/dist/transforms/centroid.d.ts +1 -4
  58. package/dist/transforms/interval.d.ts +18 -18
  59. package/dist/transforms/normalize.d.ts +34 -0
  60. package/dist/transforms/recordize.d.ts +4 -7
  61. package/dist/transforms/rename.d.ts +1 -1
  62. package/dist/transforms/select.d.ts +182 -182
  63. package/dist/transforms/sort.d.ts +34 -39
  64. package/dist/transforms/stack.d.ts +12 -12
  65. package/dist/transforms/window.d.ts +2 -136
  66. package/package.json +167 -150
  67. package/dist/ui/Checkbox.svelte +0 -14
  68. package/dist/ui/Checkbox.svelte.d.ts +0 -13
  69. package/dist/ui/ExamplesGrid.svelte +0 -81
  70. package/dist/ui/ExamplesGrid.svelte.d.ts +0 -11
  71. package/dist/ui/ExamplesPageList.svelte +0 -63
  72. package/dist/ui/ExamplesPageList.svelte.d.ts +0 -12
  73. package/dist/ui/ExamplesPagePreview.svelte +0 -145
  74. package/dist/ui/ExamplesPagePreview.svelte.d.ts +0 -12
  75. package/dist/ui/RadioInput.svelte +0 -27
  76. package/dist/ui/RadioInput.svelte.d.ts +0 -9
  77. package/dist/ui/Select.svelte +0 -27
  78. package/dist/ui/Select.svelte.d.ts +0 -9
  79. package/dist/ui/Slider.svelte +0 -47
  80. package/dist/ui/Slider.svelte.d.ts +0 -11
  81. package/dist/ui/Spiral.svelte +0 -35
  82. package/dist/ui/Spiral.svelte.d.ts +0 -15
  83. package/dist/ui/index.d.ts +0 -4
  84. package/dist/ui/index.js +0 -4
  85. package/dist/ui/isDark.svelte.d.ts +0 -6
  86. package/dist/ui/isDark.svelte.js +0 -10
package/package.json CHANGED
@@ -1,157 +1,174 @@
1
1
  {
2
- "name": "svelteplot",
3
- "version": "0.10.0",
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"
2
+ "name": "svelteplot",
3
+ "version": "0.10.1-pr-357.0",
4
+ "description": "A Svelte-native data visualization framework based on the layered grammar of graphics principles.",
5
+ "keywords": [
6
+ "svelte",
7
+ "data visualization",
8
+ "plotting",
9
+ "data analysis",
10
+ "datavis",
11
+ "dataviz",
12
+ "grammar of graphics",
13
+ "interactive visualization"
14
+ ],
15
+ "homepage": "https://svelteplot.dev",
16
+ "bugs": {
17
+ "url": "https://github.com/svelteplot/svelteplot/issues"
13
18
  },
14
- "./*.js": {
15
- "import": "./dist/*.js"
19
+ "license": "ISC",
20
+ "author": {
21
+ "name": "Gregor Aisch",
22
+ "email": "gka@users.noreply.github.com"
16
23
  },
17
- "./*.svelte": {
18
- "import": "./dist/*.svelte"
24
+ "type": "module",
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/index.d.ts",
28
+ "svelte": "./dist/index.js"
29
+ },
30
+ "./*.js": {
31
+ "import": "./dist/*.js"
32
+ },
33
+ "./*.svelte": {
34
+ "import": "./dist/*.svelte"
35
+ },
36
+ "./core/*.svelte": {
37
+ "import": "./dist/core/*.svelte"
38
+ },
39
+ "./marks/*.svelte": {
40
+ "import": "./dist/marks/*.svelte"
41
+ },
42
+ "./transforms": {
43
+ "import": "./dist/transforms/index.js"
44
+ }
19
45
  },
20
- "./core/*.svelte": {
21
- "import": "./dist/core/*.svelte"
46
+ "main": "./dist/index.js",
47
+ "types": "./dist/types/index.d.ts",
48
+ "files": [
49
+ "dist",
50
+ "!dist/**/*.test.*",
51
+ "!dist/**/*.spec.*"
52
+ ],
53
+ "scripts": {
54
+ "build": "vite build",
55
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
56
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
57
+ "check-js-extensions": "node scripts/check-js-extensions.js src",
58
+ "dev": "vite dev",
59
+ "docs": "npm run build && cd build && rsync --recursive . vis4.net:svelteplot/alpha0/",
60
+ "docs:api": "node scripts/generate-api.js --marks --plot --transforms && prettier --write .",
61
+ "docs:api:marks": "node scripts/generate-api.js --marks && prettier --write .",
62
+ "docs:api:plot": "node scripts/generate-api.js --plot && prettier --write .",
63
+ "docs:api:transforms": "node scripts/generate-api.js --transforms && prettier --write .",
64
+ "format": "prettier --write .",
65
+ "lint": "prettier --check src && eslint src package.json",
66
+ "lint:types": "tsc --noEmit",
67
+ "prepack": "npx svelte-package",
68
+ "preview": "vite preview",
69
+ "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",
70
+ "screenshots": "node screenshot-examples.js",
71
+ "test": "npm run test:unit",
72
+ "test:unit": "vitest",
73
+ "test:visual": "node scripts/visual-regression.js",
74
+ "vr:report": "node scripts/vr-report.js"
22
75
  },
23
- "./marks/*.svelte": {
24
- "import": "./dist/marks/*.svelte"
76
+ "dependencies": {
77
+ "d3-array": "^3.2.4",
78
+ "d3-color": "^3.1.0",
79
+ "d3-format": "^3.1.2",
80
+ "d3-geo": "^3.1.1",
81
+ "d3-interpolate": "^3.0.1",
82
+ "d3-path": "^3.1.0",
83
+ "d3-quadtree": "^3.0.1",
84
+ "d3-random": "^3.0.1",
85
+ "d3-scale": "^4.0.2",
86
+ "d3-scale-chromatic": "^3.1.0",
87
+ "d3-shape": "^3.2.0",
88
+ "d3-time": "^3.1.0",
89
+ "es-toolkit": "^1.44.0",
90
+ "fast-equals": "^6.0.0",
91
+ "interval-tree-1d": "^1.0.4",
92
+ "merge-deep": "^3.0.3",
93
+ "svelte": "5"
25
94
  },
26
- "./transforms": {
27
- "import": "./dist/transforms/index.js"
95
+ "devDependencies": {
96
+ "@aitodotai/json-stringify-pretty-compact": "^1.3.0",
97
+ "@emotion/css": "^11.13.5",
98
+ "@shikijs/twoslash": "^3.21.0",
99
+ "@sveltejs/adapter-auto": "^7.0.0",
100
+ "@sveltejs/adapter-static": "^3.0.10",
101
+ "@sveltejs/enhanced-img": "^0.9.3",
102
+ "@sveltejs/eslint-config": "^8.3.4",
103
+ "@sveltejs/kit": "^2.50.1",
104
+ "@sveltejs/package": "^2.5.7",
105
+ "@sveltejs/vite-plugin-svelte": "6.2.4",
106
+ "@sveltepress/twoslash": "^1.3.6",
107
+ "@sveltepress/vite": "^1.3.6",
108
+ "@testing-library/svelte": "^5.3.1",
109
+ "@testing-library/user-event": "^14.6.1",
110
+ "@types/d3-array": "^3.2.2",
111
+ "@types/d3-color": "^3.1.3",
112
+ "@types/d3-dsv": "^3.0.7",
113
+ "@types/d3-geo": "^3.1.0",
114
+ "@types/d3-interpolate": "^3.0.4",
115
+ "@types/d3-path": "^3.1.1",
116
+ "@types/d3-quadtree": "^3.0.6",
117
+ "@types/d3-random": "^3.0.3",
118
+ "@types/d3-scale": "^4.0.9",
119
+ "@types/d3-scale-chromatic": "^3.1.0",
120
+ "@types/d3-shape": "^3.1.8",
121
+ "@types/geojson": "^7946.0.16",
122
+ "@types/topojson": "^3.2.6",
123
+ "@types/topojson-client": "^3.1.5",
124
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
125
+ "@typescript-eslint/parser": "^8.54.0",
126
+ "@unocss/extractor-svelte": "^66.6.0",
127
+ "@vite-pwa/sveltekit": "^1.1.0",
128
+ "csstype": "^3.2.3",
129
+ "d3-dsv": "^3.0.1",
130
+ "d3-fetch": "^3.0.1",
131
+ "d3-force": "^3.0.0",
132
+ "eslint": "^9.39.2",
133
+ "eslint-config-prettier": "^10.1.8",
134
+ "eslint-plugin-package-json": "^0.88.2",
135
+ "eslint-plugin-regexp": "^2.10.0",
136
+ "eslint-plugin-svelte": "3.14.0",
137
+ "jqmath": "^0.4.9",
138
+ "jsdom": "^27.4.0",
139
+ "log-update": "^7.0.2",
140
+ "lru-cache": "^11.2.5",
141
+ "mdast-util-from-markdown": "^2.0.2",
142
+ "mdast-util-gfm": "^3.1.0",
143
+ "pixelmatch": "^7.1.0",
144
+ "pngjs": "^7.0.0",
145
+ "prettier": "^3.8.1",
146
+ "prettier-plugin-svelte": "^3.4.1",
147
+ "puppeteer": "^24.36.1",
148
+ "remark-code-extra": "^1.0.1",
149
+ "remark-code-frontmatter": "^1.0.0",
150
+ "remark-math": "^6.0.0",
151
+ "resize-observer-polyfill": "^1.5.1",
152
+ "sass": "^1.97.3",
153
+ "shiki": "^3.21.0",
154
+ "svelte-check": "^4.3.5",
155
+ "svelte-eslint-parser": "1.4.1",
156
+ "svelte-highlight": "^7.9.0",
157
+ "svg-path-parser": "^1.1.0",
158
+ "temml": "^0.13.1",
159
+ "topojson-client": "^3.1.0",
160
+ "ts-essentials": "^10.1.1",
161
+ "tslib": "^2.8.1",
162
+ "typedoc": "^0.28.16",
163
+ "typedoc-plugin-markdown": "^4.9.0",
164
+ "typescript": "^5.9.3",
165
+ "uid": "^2.0.2",
166
+ "unist-util-visit": "^5.1.0",
167
+ "unocss": "^66.6.0",
168
+ "vite": "^7.3.1",
169
+ "vitest": "^4.0.18",
170
+ "vitest-matchmedia-mock": "^2.0.3",
171
+ "wx-svelte-grid": "^2.5.0",
172
+ "yoctocolors": "^2.1.2"
28
173
  }
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.21.0",
40
- "@sveltejs/adapter-auto": "^7.0.0",
41
- "@sveltejs/adapter-static": "^3.0.10",
42
- "@sveltejs/enhanced-img": "^0.9.3",
43
- "@sveltejs/eslint-config": "^8.3.4",
44
- "@sveltejs/kit": "^2.50.1",
45
- "@sveltejs/package": "^2.5.7",
46
- "@sveltejs/vite-plugin-svelte": "6.2.4",
47
- "@sveltepress/twoslash": "^1.3.6",
48
- "@sveltepress/vite": "^1.3.6",
49
- "@testing-library/svelte": "^5.3.1",
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.8",
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.54.0",
66
- "@typescript-eslint/parser": "^8.54.0",
67
- "@unocss/extractor-svelte": "^66.6.0",
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.14.0",
77
- "jqmath": "^0.4.9",
78
- "jsdom": "^27.4.0",
79
- "log-update": "^7.0.2",
80
- "lru-cache": "^11.2.5",
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.8.1",
86
- "prettier-plugin-svelte": "^3.4.1",
87
- "puppeteer": "^24.36.1",
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.3",
93
- "shiki": "^3.21.0",
94
- "svelte-check": "^4.3.5",
95
- "svelte-eslint-parser": "1.4.1",
96
- "svelte-highlight": "^7.9.0",
97
- "svg-path-parser": "^1.1.0",
98
- "temml": "^0.13.1",
99
- "topojson-client": "^3.1.0",
100
- "ts-essentials": "^10.1.1",
101
- "tslib": "^2.8.1",
102
- "typedoc": "^0.28.16",
103
- "typedoc-plugin-markdown": "^4.9.0",
104
- "typescript": "^5.9.3",
105
- "uid": "^2.0.2",
106
- "unist-util-visit": "^5.1.0",
107
- "unocss": "^66.6.0",
108
- "vite": "^7.3.1",
109
- "vitest": "^4.0.18",
110
- "vitest-matchmedia-mock": "^2.0.3",
111
- "wx-svelte-grid": "^2.5.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.2",
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.44.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
- "docs:api:marks": "node scripts/generate-api.js --marks && prettier --write .",
153
- "docs:api:plot": "node scripts/generate-api.js --plot && prettier --write .",
154
- "docs:api:transforms": "node scripts/generate-api.js --transforms && prettier --write .",
155
- "docs:api": "node scripts/generate-api.js --marks --plot --transforms && prettier --write ."
156
- }
157
- }
174
+ }
@@ -1,14 +0,0 @@
1
- <script>
2
- let { label, value = $bindable(), ...restProps } = $props();
3
- </script>
4
-
5
- <label class="checkbox">
6
- <input type="checkbox" bind:checked={value} {...restProps} />
7
- <!-- eslint-disable-next-line svelte/no-at-html-tags -->
8
- {@html label}</label>
9
-
10
- <style>
11
- label.checkbox + :global(label.checkbox) {
12
- margin-left: 0.7em;
13
- }
14
- </style>
@@ -1,13 +0,0 @@
1
- export default Checkbox;
2
- type Checkbox = {
3
- $on?(type: string, callback: (e: any) => void): () => void;
4
- $set?(props: Partial<$$ComponentProps>): void;
5
- };
6
- declare const Checkbox: import("svelte").Component<{
7
- label: any;
8
- value?: any;
9
- } & Record<string, any>, {}, "value">;
10
- type $$ComponentProps = {
11
- label: any;
12
- value?: any;
13
- } & Record<string, any>;
@@ -1,81 +0,0 @@
1
- <script>
2
- import { resolve } from '$app/paths';
3
- import { useDark } from './isDark.svelte';
4
- let { examples } = $props();
5
-
6
- const exampleImages = import.meta.glob('../../snapshots/*/*.png', {
7
- eager: true,
8
- query: {
9
- enhanced: true,
10
- w: 640
11
- }
12
- });
13
-
14
- const ds = useDark();
15
- </script>
16
-
17
- <div class="list">
18
- {#each examples as page, i (i)}
19
- <a href={resolve(page.url)}>
20
- <div>
21
- {#if exampleImages[`../../snapshots/${page.key}.png`]}
22
- <enhanced:img
23
- src={ds.isDark
24
- ? exampleImages[`../../snapshots/${page.key}.dark.png`].default.img.src
25
- : exampleImages[`../../snapshots/${page.key}.png`].default.img.src}
26
- alt={page.title} />
27
- {/if}
28
- </div>
29
- <h4>
30
- {page.title}
31
- </h4>
32
- </a>
33
- {/each}
34
- </div>
35
-
36
- <style>
37
- .list {
38
- display: grid;
39
- grid-template-columns: repeat(3, 1fr);
40
- gap: 1rem;
41
- width: 100%;
42
- margin: 2rem 0;
43
- }
44
-
45
- .list > a {
46
- display: flex;
47
- flex-direction: column;
48
- align-items: left;
49
- row-gap: 0.3rem;
50
- text-decoration: none;
51
-
52
- > div {
53
- border: 1px solid #88888822;
54
- border-radius: 2px;
55
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
56
- padding: 1.5ex 1.5ex 0.4ex 1.5ex;
57
- }
58
-
59
- &:hover {
60
- text-decoration: underline;
61
- color: var(--svp-text);
62
- > div {
63
- border: 1px solid var(--svp-text);
64
- }
65
- }
66
- }
67
-
68
- .list :global(img) {
69
- width: 100%;
70
- box-sizing: border-box;
71
- border-radius: 3px;
72
- transition: transform 0.2s ease-in-out;
73
- }
74
-
75
- .list h4 {
76
- margin: 0rem;
77
- font-weight: normal;
78
- font-size: 13px;
79
- line-height: 1;
80
- }
81
- </style>
@@ -1,11 +0,0 @@
1
- export default ExamplesGrid;
2
- type ExamplesGrid = {
3
- $on?(type: string, callback: (e: any) => void): () => void;
4
- $set?(props: Partial<$$ComponentProps>): void;
5
- };
6
- declare const ExamplesGrid: import("svelte").Component<{
7
- examples: any;
8
- }, {}, "">;
9
- type $$ComponentProps = {
10
- examples: any;
11
- };
@@ -1,63 +0,0 @@
1
- <script lang="ts">
2
- import { resolve } from '$app/paths';
3
- let {
4
- paths,
5
- pages
6
- }: {
7
- paths: Record<string, string[]>;
8
- pages: Record<
9
- string,
10
- {
11
- title: string;
12
- description?: string;
13
- sortKey?: number;
14
- transforms?: string[];
15
- }
16
- >;
17
- } = $props();
18
-
19
- function sortPages(a: string, b: string) {
20
- const sortA = pages[a].sortKey ?? 10;
21
- const sortB = pages[b].sortKey ?? 10;
22
- return sortA - sortB;
23
- }
24
- </script>
25
-
26
- <div class="column-container">
27
- {#each Object.entries(paths).sort( (a, b) => a[0].localeCompare(b[0]) ) as [group, groupPages] (group)}
28
- <div>
29
- <h3>
30
- <a href={resolve(`/examples/${group}`)}
31
- >{pages[groupPages.find((p) => p.endsWith('/_index.svelte'))]?.title ??
32
- group}</a>
33
- </h3>
34
- <ul>
35
- {#each groupPages
36
- .sort(sortPages)
37
- .filter((p) => !p.endsWith('/_index.svelte')) as page (page)}
38
- <li>
39
- <a href={resolve(page.replace('./', './examples/').replace('.svelte', ''))}
40
- >{pages[page].title}</a>
41
- </li>
42
- {/each}
43
- </ul>
44
- </div>
45
- {/each}
46
- </div>
47
-
48
- <style>
49
- .column-container {
50
- columns: 2;
51
- column-gap: 1rem;
52
- column-fill: balance;
53
- > div {
54
- padding-top: 1em;
55
- break-before: column;
56
- break-inside: avoid-column;
57
- }
58
- h3 {
59
- break-before: avoid-column;
60
- text-transform: capitalize;
61
- }
62
- }
63
- </style>
@@ -1,12 +0,0 @@
1
- type $$ComponentProps = {
2
- paths: Record<string, string[]>;
3
- pages: Record<string, {
4
- title: string;
5
- description?: string;
6
- sortKey?: number;
7
- transforms?: string[];
8
- }>;
9
- };
10
- declare const ExamplesPageList: import("svelte").Component<$$ComponentProps, {}, "">;
11
- type ExamplesPageList = ReturnType<typeof ExamplesPageList>;
12
- export default ExamplesPageList;
@@ -1,145 +0,0 @@
1
- <script lang="ts">
2
- import { resolve } from '$app/paths';
3
- import { useDark } from './isDark.svelte';
4
-
5
- const exampleImages = import.meta.glob('../../snapshots/*/*.png', {
6
- eager: true,
7
- query: {
8
- enhanced: true,
9
- w: 440
10
- }
11
- });
12
-
13
- let {
14
- paths,
15
- pages
16
- }: {
17
- paths: Record<string, string[]>;
18
- pages: Record<
19
- string,
20
- {
21
- title: string;
22
- description?: string;
23
- sortKey?: number;
24
- transforms?: string[];
25
- }
26
- >;
27
- } = $props();
28
-
29
- const ds = useDark();
30
-
31
- function sortPages(a: string, b: string) {
32
- const sortA = pages[a].sortKey ?? 10;
33
- const sortB = pages[b].sortKey ?? 10;
34
- return sortA - sortB;
35
- }
36
- </script>
37
-
38
- <div class="column-container">
39
- {#each Object.entries(paths).sort( (a, b) => a[0].localeCompare(b[0]) ) as [group, groupPages] (group)}
40
- <div>
41
- <h2 id={group}>
42
- <a href={resolve(`/examples/${group}`)}
43
- >{pages[groupPages.find((p) => p.endsWith('/_index.svelte'))]?.title ??
44
- group}</a>
45
- </h2>
46
- <div class="example-grid">
47
- {#each groupPages
48
- .sort(sortPages)
49
- .filter((p) => !p.endsWith('/_index.svelte')) as page (page)}
50
- {@const imageKey = `../../snapshots/${page
51
- .replace('./', '')
52
- .replace('.svelte', ds.isDark ? '.dark.png' : '.png')}`}
53
- <a
54
- animate:slide
55
- href={resolve(page.replace('./', './examples/').replace('.svelte', ''))}
56
- ><div>
57
- {#if exampleImages[imageKey]}
58
- <enhanced:img
59
- title={pages[page].title}
60
- src={exampleImages[imageKey].default}
61
- alt={pages[page].title} />
62
- {/if}
63
- <div class="title">{pages[page].title}</div>
64
- </div></a>
65
- {/each}
66
- </div>
67
- </div>
68
- {/each}
69
- </div>
70
-
71
- <style>
72
- :global(.content) h2 {
73
- margin-top: 1rem !important;
74
- margin-bottom: 1rem;
75
- text-transform: capitalize;
76
- border: 0;
77
- a {
78
- text-decoration: none;
79
- color: inherit;
80
- }
81
- }
82
-
83
- .column-container {
84
- container-type: inline-size;
85
- }
86
-
87
- .example-grid {
88
- --example-grid-columns: 5;
89
-
90
- /* width: 100%; */
91
- display: grid;
92
- /* overflow-x: clip; */
93
- grid-template-columns: repeat(var(--example-grid-columns), 1fr);
94
- grid-auto-rows: 1fr;
95
- gap: 1.25rem;
96
-
97
- a {
98
- text-decoration: none;
99
- color: inherit;
100
- }
101
-
102
- .title {
103
- font-size: 0.75rem;
104
- opacity: 0.8;
105
- line-height: 1.2;
106
- text-decoration: none;
107
- }
108
- }
109
-
110
- @container (max-width: 800px) {
111
- .example-grid {
112
- --example-grid-columns: 4;
113
- }
114
- }
115
- @container (max-width: 600px) {
116
- .example-grid {
117
- --example-grid-columns: 3;
118
- }
119
- }
120
- @container (max-width: 500px) {
121
- .example-grid {
122
- --example-grid-columns: 2;
123
- }
124
- }
125
-
126
- .example-grid :global(img) {
127
- height: auto !important;
128
- aspect-ratio: 4 / 3;
129
- object-fit: cover;
130
- width: 100%;
131
- height: auto;
132
-
133
- position: relative;
134
- transition: transform 0.05s ease-out;
135
- &:hover {
136
- transform: scale(1.5);
137
- object-fit: contain;
138
- z-index: 1;
139
-
140
- background: fixed var(--svelteplot-bg);
141
-
142
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
143
- }
144
- }
145
- </style>
@@ -1,12 +0,0 @@
1
- type $$ComponentProps = {
2
- paths: Record<string, string[]>;
3
- pages: Record<string, {
4
- title: string;
5
- description?: string;
6
- sortKey?: number;
7
- transforms?: string[];
8
- }>;
9
- };
10
- declare const ExamplesPagePreview: import("svelte").Component<$$ComponentProps, {}, "">;
11
- type ExamplesPagePreview = ReturnType<typeof ExamplesPagePreview>;
12
- export default ExamplesPagePreview;