svelteplot 0.7.0-pr-269.0 → 0.7.0-pr-275.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 (52) hide show
  1. package/LICENSE.md +19 -1
  2. package/README.md +1 -1
  3. package/dist/Mark.svelte.d.ts +43 -36
  4. package/dist/marks/Area.svelte.d.ts +11 -4
  5. package/dist/marks/AreaX.svelte.d.ts +11 -4
  6. package/dist/marks/Arrow.svelte.d.ts +42 -35
  7. package/dist/marks/AxisX.svelte.d.ts +15 -8
  8. package/dist/marks/AxisY.svelte.d.ts +14 -7
  9. package/dist/marks/BarX.svelte.d.ts +11 -4
  10. package/dist/marks/BarY.svelte.d.ts +11 -4
  11. package/dist/marks/BollingerX.svelte.d.ts +10 -3
  12. package/dist/marks/BollingerY.svelte.d.ts +10 -3
  13. package/dist/marks/BoxY.svelte.d.ts +16 -9
  14. package/dist/marks/Brush.svelte.d.ts +58 -31
  15. package/dist/marks/Cell.svelte.d.ts +41 -34
  16. package/dist/marks/CustomMark.svelte.d.ts +10 -3
  17. package/dist/marks/CustomMarkHTML.svelte.d.ts +15 -8
  18. package/dist/marks/DifferenceY.svelte.d.ts +17 -10
  19. package/dist/marks/Dot.svelte.d.ts +42 -35
  20. package/dist/marks/DotX.svelte.d.ts +11 -4
  21. package/dist/marks/DotY.svelte.d.ts +11 -4
  22. package/dist/marks/Frame.svelte.d.ts +85 -17
  23. package/dist/marks/Geo.svelte.d.ts +42 -35
  24. package/dist/marks/GridX.svelte.d.ts +12 -5
  25. package/dist/marks/GridY.svelte.d.ts +12 -5
  26. package/dist/marks/HTMLTooltip.svelte.d.ts +14 -7
  27. package/dist/marks/Image.svelte.d.ts +10 -3
  28. package/dist/marks/Line.svelte.d.ts +43 -36
  29. package/dist/marks/LineX.svelte.d.ts +11 -4
  30. package/dist/marks/LineY.svelte.d.ts +11 -4
  31. package/dist/marks/Link.svelte.d.ts +41 -34
  32. package/dist/marks/Pointer.svelte.d.ts +13 -6
  33. package/dist/marks/Rect.svelte.d.ts +11 -4
  34. package/dist/marks/RectX.svelte.d.ts +10 -3
  35. package/dist/marks/RectY.svelte.d.ts +10 -3
  36. package/dist/marks/RuleX.svelte.d.ts +12 -5
  37. package/dist/marks/RuleY.svelte.d.ts +12 -5
  38. package/dist/marks/Spike.svelte.d.ts +11 -4
  39. package/dist/marks/Text.svelte.d.ts +18 -11
  40. package/dist/marks/TickX.svelte.d.ts +11 -4
  41. package/dist/marks/TickY.svelte.d.ts +11 -4
  42. package/dist/marks/Vector.svelte.d.ts +41 -34
  43. package/dist/marks/WaffleX.svelte.d.ts +10 -3
  44. package/dist/marks/WaffleY.svelte.d.ts +10 -3
  45. package/dist/marks/helpers/Anchor.svelte.d.ts +19 -12
  46. package/dist/marks/helpers/MarkerPath.svelte.d.ts +10 -3
  47. package/dist/marks/helpers/RectPath.svelte.d.ts +13 -6
  48. package/dist/marks/helpers/waffle.d.ts +6 -0
  49. package/dist/marks/helpers/waffle.js +6 -38
  50. package/dist/ui/ExamplesPagePreview.svelte +148 -0
  51. package/dist/ui/ExamplesPagePreview.svelte.d.ts +13 -0
  52. package/package.json +16 -15
@@ -0,0 +1,148 @@
1
+ <script lang="ts">
2
+ import { resolve } from '$app/paths';
3
+
4
+ const exampleImages = import.meta.glob('../../../static/examples/*/*.png', {
5
+ eager: true,
6
+ query: {
7
+ enhanced: true,
8
+ w: 440
9
+ }
10
+ });
11
+
12
+ let {
13
+ paths,
14
+ pages,
15
+ isDark
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
+ isDark: boolean;
28
+ } = $props();
29
+
30
+ function sortPages(a: string, b: string) {
31
+ const sortA = pages[a].sortKey ?? 10;
32
+ const sortB = pages[b].sortKey ?? 10;
33
+ return sortA - sortB;
34
+ }
35
+ </script>
36
+
37
+ <div class="column-container">
38
+ {#each Object.entries(paths).sort( (a, b) => a[0].localeCompare(b[0]) ) as [group, groupPages] (group)}
39
+ <div>
40
+ <h2 id={group}>
41
+ <a href={resolve(`/examples/${group}`)}
42
+ >{pages[groupPages.find((p) => p.endsWith('/_index.svelte'))]?.title ??
43
+ group}</a>
44
+ </h2>
45
+ <div class="example-grid">
46
+ {#each groupPages
47
+ .sort(sortPages)
48
+ .filter((p) => !p.endsWith('/_index.svelte')) as page (page)}
49
+ <a
50
+ animate:slide
51
+ href={resolve(page.replace('./', './examples/').replace('.svelte', ''))}
52
+ ><div>
53
+ <enhanced:img
54
+ title={pages[page].title}
55
+ src={exampleImages[
56
+ `../../../static/examples/${page
57
+ .replace('./', '')
58
+ .replace('.svelte', isDark ? '.dark.png' : '.png')}`
59
+ ].default}
60
+ alt={pages[page].title} />
61
+ <div class="title">{pages[page].title}</div>
62
+ </div></a>
63
+ {/each}
64
+ </div>
65
+ </div>
66
+ {/each}
67
+ </div>
68
+
69
+ <style>
70
+ :global(.content) h2 {
71
+ margin-top: 1rem !important;
72
+ margin-bottom: 1rem;
73
+ text-transform: capitalize;
74
+ border: 0;
75
+ a {
76
+ text-decoration: none;
77
+ color: inherit;
78
+ }
79
+ }
80
+
81
+ .column-container {
82
+ container-type: inline-size;
83
+
84
+ h3 {
85
+ break-before: avoid-column;
86
+ text-transform: capitalize;
87
+ }
88
+ }
89
+
90
+ .example-grid {
91
+ --example-grid-columns: 5;
92
+
93
+ /* width: 100%; */
94
+ display: grid;
95
+ /* overflow-x: clip; */
96
+ grid-template-columns: repeat(var(--example-grid-columns), 1fr);
97
+ grid-auto-rows: 1fr;
98
+ gap: 1.25rem;
99
+
100
+ a {
101
+ text-decoration: none;
102
+ color: inherit;
103
+ }
104
+
105
+ .title {
106
+ font-size: 0.75rem;
107
+ opacity: 0.8;
108
+ line-height: 1.2;
109
+ text-decoration: none;
110
+ }
111
+ }
112
+
113
+ @container (max-width: 800px) {
114
+ .example-grid {
115
+ --example-grid-columns: 4;
116
+ }
117
+ }
118
+ @container (max-width: 600px) {
119
+ .example-grid {
120
+ --example-grid-columns: 3;
121
+ }
122
+ }
123
+ @container (max-width: 500px) {
124
+ .example-grid {
125
+ --example-grid-columns: 2;
126
+ }
127
+ }
128
+
129
+ .example-grid :global(img) {
130
+ height: auto !important;
131
+ aspect-ratio: 4 / 3;
132
+ object-fit: cover;
133
+ width: 100%;
134
+ height: auto;
135
+
136
+ position: relative;
137
+ transition: transform 0.05s ease-out;
138
+ &:hover {
139
+ transform: scale(1.5);
140
+ object-fit: contain;
141
+ z-index: 1;
142
+
143
+ background: fixed var(--svelteplot-bg);
144
+
145
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
146
+ }
147
+ }
148
+ </style>
@@ -0,0 +1,13 @@
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
+ isDark: boolean;
10
+ };
11
+ declare const ExamplesPagePreview: import("svelte").Component<$$ComponentProps, {}, "">;
12
+ type ExamplesPagePreview = ReturnType<typeof ExamplesPagePreview>;
13
+ export default ExamplesPagePreview;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelteplot",
3
- "version": "0.7.0-pr-269.0",
3
+ "version": "0.7.0-pr-275.0",
4
4
  "license": "ISC",
5
5
  "author": {
6
6
  "name": "Gregor Aisch",
@@ -56,13 +56,14 @@
56
56
  "@emotion/css": "^11.13.5",
57
57
  "@sveltejs/adapter-auto": "^7.0.0",
58
58
  "@sveltejs/adapter-static": "^3.0.10",
59
+ "@sveltejs/enhanced-img": "^0.9.0",
59
60
  "@sveltejs/eslint-config": "^8.3.4",
60
- "@sveltejs/kit": "^2.48.5",
61
- "@sveltejs/package": "^2.5.4",
62
- "@sveltejs/vite-plugin-svelte": "5.1.1",
63
- "@sveltepress/theme-default": "^6.0.4",
64
- "@sveltepress/twoslash": "^1.2.2",
65
- "@sveltepress/vite": "^1.2.2",
61
+ "@sveltejs/kit": "^2.49.0",
62
+ "@sveltejs/package": "^2.5.6",
63
+ "@sveltejs/vite-plugin-svelte": "6.2.1",
64
+ "@sveltepress/theme-default": "^7.0.1",
65
+ "@sveltepress/twoslash": "^1.3.1",
66
+ "@sveltepress/vite": "^1.3.1",
66
67
  "@testing-library/svelte": "^5.2.9",
67
68
  "@testing-library/user-event": "^14.6.1",
68
69
  "@types/d3-array": "^3.2.2",
@@ -79,9 +80,9 @@
79
80
  "@types/geojson": "^7946.0.16",
80
81
  "@types/topojson": "^3.2.6",
81
82
  "@types/topojson-client": "^3.1.5",
82
- "@typescript-eslint/eslint-plugin": "^8.46.4",
83
- "@typescript-eslint/parser": "^8.46.4",
84
- "csstype": "^3.2.1",
83
+ "@typescript-eslint/eslint-plugin": "^8.47.0",
84
+ "@typescript-eslint/parser": "^8.47.0",
85
+ "csstype": "^3.2.3",
85
86
  "d3-dsv": "^3.0.1",
86
87
  "d3-fetch": "^3.0.1",
87
88
  "d3-force": "^3.0.0",
@@ -91,11 +92,11 @@
91
92
  "jsdom": "^27.2.0",
92
93
  "prettier": "^3.6.2",
93
94
  "prettier-plugin-svelte": "^3.4.0",
94
- "puppeteer": "^24.30.0",
95
+ "puppeteer": "^24.31.0",
95
96
  "remark-code-extra": "^1.0.1",
96
97
  "remark-code-frontmatter": "^1.0.0",
97
98
  "resize-observer-polyfill": "^1.5.1",
98
- "sass": "^1.94.0",
99
+ "sass": "^1.94.2",
99
100
  "svelte-check": "^4.3.4",
100
101
  "svelte-eslint-parser": "1.4.0",
101
102
  "svelte-highlight": "^7.9.0",
@@ -106,8 +107,8 @@
106
107
  "typedoc": "^0.28.14",
107
108
  "typedoc-plugin-markdown": "^4.9.0",
108
109
  "typescript": "^5.9.3",
109
- "vite": "^6.4.1",
110
- "vitest": "^4.0.9",
110
+ "vite": "^7.2.4",
111
+ "vitest": "^4.0.13",
111
112
  "vitest-matchmedia-mock": "^2.0.3",
112
113
  "yoctocolors": "^2.1.2"
113
114
  },
@@ -126,7 +127,7 @@
126
127
  "d3-scale-chromatic": "^3.1.0",
127
128
  "d3-shape": "^3.2.0",
128
129
  "d3-time": "^3.1.0",
129
- "es-toolkit": "^1.41.0",
130
+ "es-toolkit": "^1.42.0",
130
131
  "fast-equals": "^5.3.3",
131
132
  "interval-tree-1d": "^1.0.4",
132
133
  "merge-deep": "^3.0.3",