diff --git a/eslint.config.js b/eslint.config.js index a92a9b75..0b9baf4f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -13,7 +13,13 @@ export default [ files: ['**/*.svelte', '*.svelte'], rules: { 'svelte/no-object-in-text-mustaches': 'warn', - 'svelte/no-inspect': 'warn' + 'svelte/no-inspect': 'warn', + 'svelte/no-useless-mustaches': [ + 'error', + { + ignoreStringEscape: true + } + ] }, ignores: ['dist/*', '.sveltepress/*'], languageOptions: { diff --git a/package.json b/package.json index ece5f735..5c97c9bb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "svelteplot", - "version": "0.3.2", + "version": "0.3.5", "license": "ISC", "author": { "name": "Gregor Aisch", @@ -54,7 +54,7 @@ "@sveltejs/adapter-auto": "^6.0.1", "@sveltejs/adapter-static": "^3.0.8", "@sveltejs/eslint-config": "^8.2.0", - "@sveltejs/kit": "^2.21.2", + "@sveltejs/kit": "^2.21.4", "@sveltejs/package": "^2.3.11", "@sveltejs/vite-plugin-svelte": "5.1.0", "@sveltepress/theme-default": "^6.0.3", @@ -68,19 +68,23 @@ "@types/d3-geo": "^3.1.0", "@types/d3-interpolate": "^3.0.4", "@types/d3-path": "^3.1.1", + "@types/d3-quadtree": "^3.0.6", "@types/d3-random": "^3.0.3", "@types/d3-scale": "^4.0.9", "@types/d3-scale-chromatic": "^3.1.0", "@types/d3-shape": "^3.1.7", - "@typescript-eslint/eslint-plugin": "^8.33.1", - "@typescript-eslint/parser": "^8.33.1", + "@types/geojson": "^7946.0.16", + "@types/topojson": "^3.2.6", + "@types/topojson-client": "^3.1.5", + "@typescript-eslint/eslint-plugin": "^8.34.0", + "@typescript-eslint/parser": "^8.34.0", "csstype": "^3.1.3", "d3-dsv": "^3.0.1", "d3-fetch": "^3.0.1", "d3-force": "^3.0.0", "eslint": "^9.28.0", "eslint-config-prettier": "^10.1.5", - "eslint-plugin-svelte": "3.9.1", + "eslint-plugin-svelte": "3.9.2", "jsdom": "^26.1.0", "prettier": "^3.5.3", "prettier-plugin-svelte": "^3.4.0", @@ -88,19 +92,19 @@ "remark-code-extra": "^1.0.1", "remark-code-frontmatter": "^1.0.0", "resize-observer-polyfill": "^1.5.1", - "sass": "^1.89.1", + "sass": "^1.89.2", "svelte-check": "^4.2.1", "svelte-eslint-parser": "1.2.0", "svelte-highlight": "^7.8.3", "svg-path-parser": "^1.1.0", "topojson-client": "^3.1.0", - "ts-essentials": "^10.0.4", + "ts-essentials": "^10.1.0", "tslib": "^2.8.1", "typedoc": "^0.28.5", "typedoc-plugin-markdown": "^4.6.4", "typescript": "^5.8.3", "vite": "^6.3.5", - "vitest": "^3.2.2", + "vitest": "^3.2.3", "vitest-matchmedia-mock": "^2.0.3" }, "types": "./dist/index.d.ts", @@ -119,9 +123,9 @@ "d3-scale-chromatic": "^3.1.0", "d3-shape": "^3.2.0", "d3-time": "^3.1.0", - "es-toolkit": "^1.39.1", + "es-toolkit": "^1.39.3", "fast-equals": "^5.2.2", "merge-deep": "^3.0.3", - "svelte": "5.33.14" + "svelte": "5.33.19" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0a230c04..5f2b991e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,8 +48,8 @@ importers: specifier: ^3.1.0 version: 3.1.0 es-toolkit: - specifier: ^1.39.1 - version: 1.39.1 + specifier: ^1.39.3 + version: 1.39.3 fast-equals: specifier: ^5.2.2 version: 5.2.2 @@ -57,8 +57,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 svelte: - specifier: 5.33.14 - version: 5.33.14 + specifier: 5.33.19 + version: 5.33.19 devDependencies: '@aitodotai/json-stringify-pretty-compact': specifier: ^1.3.0 @@ -68,34 +68,34 @@ importers: version: 11.13.5 '@sveltejs/adapter-auto': specifier: ^6.0.1 - version: 6.0.1(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))) + version: 6.0.1(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))) '@sveltejs/adapter-static': specifier: ^3.0.8 - version: 3.0.8(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))) + version: 3.0.8(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))) '@sveltejs/eslint-config': specifier: ^8.2.0 - version: 8.2.0(@stylistic/eslint-plugin-js@1.7.2(eslint@9.28.0(jiti@1.21.0)))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-n@17.10.1(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-svelte@3.9.1(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.14))(eslint@9.28.0(jiti@1.21.0))(typescript-eslint@7.7.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(typescript@5.8.3) + version: 8.2.0(@stylistic/eslint-plugin-js@1.7.2(eslint@9.28.0(jiti@1.21.0)))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-n@17.10.1(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-svelte@3.9.2(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.19))(eslint@9.28.0(jiti@1.21.0))(typescript-eslint@7.7.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(typescript@5.8.3) '@sveltejs/kit': - specifier: ^2.21.2 - version: 2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + specifier: ^2.21.4 + version: 2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@sveltejs/package': specifier: ^2.3.11 - version: 2.3.11(svelte@5.33.14)(typescript@5.8.3) + version: 2.3.11(svelte@5.33.19)(typescript@5.8.3) '@sveltejs/vite-plugin-svelte': specifier: 5.1.0 - version: 5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + version: 5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@sveltepress/theme-default': specifier: ^6.0.3 - version: 6.0.3(c18722ed1f24920f61dfc63c34cb1af9) + version: 6.0.3(71dcb167823018f783fb736d0c951b06) '@sveltepress/twoslash': specifier: ^1.2.2 - version: 1.2.2(svelte@5.33.14)(typescript@5.8.3) + version: 1.2.2(svelte@5.33.19)(typescript@5.8.3) '@sveltepress/vite': specifier: ^1.2.2 - version: 1.2.2(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(rollup@2.79.1)(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + version: 1.2.2(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(rollup@2.79.1)(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@testing-library/svelte': specifier: ^5.2.8 - version: 5.2.8(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(vitest@3.2.2(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + version: 5.2.8(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(vitest@3.2.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@testing-library/user-event': specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.0) @@ -117,6 +117,9 @@ importers: '@types/d3-path': specifier: ^3.1.1 version: 3.1.1 + '@types/d3-quadtree': + specifier: ^3.0.6 + version: 3.0.6 '@types/d3-random': specifier: ^3.0.3 version: 3.0.3 @@ -129,12 +132,21 @@ importers: '@types/d3-shape': specifier: ^3.1.7 version: 3.1.7 + '@types/geojson': + specifier: ^7946.0.16 + version: 7946.0.16 + '@types/topojson': + specifier: ^3.2.6 + version: 3.2.6 + '@types/topojson-client': + specifier: ^3.1.5 + version: 3.1.5 '@typescript-eslint/eslint-plugin': - specifier: ^8.33.1 - version: 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) + specifier: ^8.34.0 + version: 8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) '@typescript-eslint/parser': - specifier: ^8.33.1 - version: 8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) + specifier: ^8.34.0 + version: 8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) csstype: specifier: ^3.1.3 version: 3.1.3 @@ -154,8 +166,8 @@ importers: specifier: ^10.1.5 version: 10.1.5(eslint@9.28.0(jiti@1.21.0)) eslint-plugin-svelte: - specifier: 3.9.1 - version: 3.9.1(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.14) + specifier: 3.9.2 + version: 3.9.2(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.19) jsdom: specifier: ^26.1.0 version: 26.1.0 @@ -164,7 +176,7 @@ importers: version: 3.5.3 prettier-plugin-svelte: specifier: ^3.4.0 - version: 3.4.0(prettier@3.5.3)(svelte@5.33.14) + version: 3.4.0(prettier@3.5.3)(svelte@5.33.19) puppeteer: specifier: ^24.10.0 version: 24.10.0(typescript@5.8.3) @@ -178,14 +190,14 @@ importers: specifier: ^1.5.1 version: 1.5.1 sass: - specifier: ^1.89.1 - version: 1.89.1 + specifier: ^1.89.2 + version: 1.89.2 svelte-check: specifier: ^4.2.1 - version: 4.2.1(picomatch@4.0.2)(svelte@5.33.14)(typescript@5.8.3) + version: 4.2.1(picomatch@4.0.2)(svelte@5.33.19)(typescript@5.8.3) svelte-eslint-parser: specifier: 1.2.0 - version: 1.2.0(svelte@5.33.14) + version: 1.2.0(svelte@5.33.19) svelte-highlight: specifier: ^7.8.3 version: 7.8.3 @@ -196,8 +208,8 @@ importers: specifier: ^3.1.0 version: 3.1.0 ts-essentials: - specifier: ^10.0.4 - version: 10.0.4(typescript@5.8.3) + specifier: ^10.1.0 + version: 10.1.0(typescript@5.8.3) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -212,13 +224,13 @@ importers: version: 5.8.3 vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + version: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) vitest: - specifier: ^3.2.2 - version: 3.2.2(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + specifier: ^3.2.3 + version: 3.2.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) vitest-matchmedia-mock: specifier: ^2.0.3 - version: 2.0.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + version: 2.0.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) packages: @@ -1683,8 +1695,8 @@ packages: typescript: '>= 5' typescript-eslint: '>= 8' - '@sveltejs/kit@2.21.2': - resolution: {integrity: sha512-EMYTY4+rNa7TaRZYzCqhQslEkACEZzWc363jOYuc90oJrgvlWTcgqTxcGSIJim48hPaXwYlHyatRnnMmTFf5tA==} + '@sveltejs/kit@2.21.4': + resolution: {integrity: sha512-683kl4BBnORaYn3vktH01HAHYep8FaiRA21LVY7d6uAX+1D/1gK4WYHRJq90vA01Cz/k6rU3n6vpf4fAn9ipkA==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1801,6 +1813,9 @@ packages: '@types/d3-path@3.1.1': resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==} + '@types/d3-quadtree@3.0.6': + resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==} + '@types/d3-random@3.0.3': resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} @@ -1831,8 +1846,8 @@ packages: '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - '@types/geojson@7946.0.14': - resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + '@types/geojson@7946.0.16': + resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -1858,6 +1873,21 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/topojson-client@3.1.5': + resolution: {integrity: sha512-C79rySTyPxnQNNguTZNI1Ct4D7IXgvyAs3p9HPecnl6mNrJ5+UhvGNYcZfpROYV2lMHI48kJPxwR+F9C6c7nmw==} + + '@types/topojson-server@3.0.4': + resolution: {integrity: sha512-5+ieK8ePfP+K2VH6Vgs1VCt+fO1U8XZHj0UsF+NktaF0DavAo1q3IvCBXgokk/xmtvoPltSUs6vxuR/zMdOE1g==} + + '@types/topojson-simplify@3.0.3': + resolution: {integrity: sha512-sBO5UZ0O2dB0bNwo0vut2yLHhj3neUGi9uL7/ROdm8Gs6dtt4jcB9OGDKr+M2isZwQM2RuzVmifnMZpxj4IGNw==} + + '@types/topojson-specification@1.0.5': + resolution: {integrity: sha512-C7KvcQh+C2nr6Y2Ub4YfgvWvWCgP2nOQMtfhlnwsRL4pYmmwzBS7HclGiS87eQfDOU/DLQpX6GEscviaz4yLIQ==} + + '@types/topojson@3.2.6': + resolution: {integrity: sha512-ppfdlxjxofWJ66XdLgIlER/85RvpGyfOf8jrWf+3kVIjEatFxEZYD/Ea83jO672Xu1HRzd/ghwlbcZIUNHTskw==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -1881,11 +1911,11 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.33.1': - resolution: {integrity: sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==} + '@typescript-eslint/eslint-plugin@8.34.0': + resolution: {integrity: sha512-QXwAlHlbcAwNlEEMKQS2RCgJsgXrTJdjXT08xEgbPFa2yYQgVjBymxP5DrfrE7X7iodSzd9qBUHUycdyVJTW1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.33.1 + '@typescript-eslint/parser': ^8.34.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' @@ -1899,15 +1929,15 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.33.1': - resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==} + '@typescript-eslint/parser@8.34.0': + resolution: {integrity: sha512-vxXJV1hVFx3IXz/oy2sICsJukaBrtDEQSBiV48/YIV5KWjX1dO+bcIr/kCPrW6weKXvsaGKFNlwH0v2eYdRRbA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.33.1': - resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} + '@typescript-eslint/project-service@8.34.0': + resolution: {integrity: sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' @@ -1916,12 +1946,12 @@ packages: resolution: {integrity: sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.33.1': - resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} + '@typescript-eslint/scope-manager@8.34.0': + resolution: {integrity: sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.33.1': - resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} + '@typescript-eslint/tsconfig-utils@8.34.0': + resolution: {integrity: sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' @@ -1936,8 +1966,8 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.33.1': - resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} + '@typescript-eslint/type-utils@8.34.0': + resolution: {integrity: sha512-n7zSmOcUVhcRYC75W2pnPpbO1iwhJY3NLoHEtbJwJSNlVAZuwqu05zY3f3s2SDWWDSo9FdN5szqc73DCtDObAg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1947,8 +1977,8 @@ packages: resolution: {integrity: sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.33.1': - resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} + '@typescript-eslint/types@8.34.0': + resolution: {integrity: sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.7.0': @@ -1960,8 +1990,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.33.1': - resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} + '@typescript-eslint/typescript-estree@8.34.0': + resolution: {integrity: sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' @@ -1972,8 +2002,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.33.1': - resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} + '@typescript-eslint/utils@8.34.0': + resolution: {integrity: sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1983,8 +2013,8 @@ packages: resolution: {integrity: sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.33.1': - resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} + '@typescript-eslint/visitor-keys@8.34.0': + resolution: {integrity: sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript/vfs@1.6.0': @@ -2095,11 +2125,11 @@ packages: '@vite-pwa/assets-generator': optional: true - '@vitest/expect@3.2.2': - resolution: {integrity: sha512-ipHw0z669vEMjzz3xQE8nJX1s0rQIb7oEl4jjl35qWTwm/KIHERIg/p/zORrjAaZKXfsv7IybcNGHwhOOAPMwQ==} + '@vitest/expect@3.2.3': + resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} - '@vitest/mocker@3.2.2': - resolution: {integrity: sha512-jKojcaRyIYpDEf+s7/dD3LJt53c0dPfp5zCPXz9H/kcGrSlovU/t1yEaNzM9oFME3dcd4ULwRI/x0Po1Zf+LTw==} + '@vitest/mocker@3.2.3': + resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -2109,20 +2139,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.2': - resolution: {integrity: sha512-FY4o4U1UDhO9KMd2Wee5vumwcaHw7Vg4V7yR4Oq6uK34nhEJOmdRYrk3ClburPRUA09lXD/oXWZ8y/Sdma0aUQ==} + '@vitest/pretty-format@3.2.3': + resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} - '@vitest/runner@3.2.2': - resolution: {integrity: sha512-GYcHcaS3ejGRZYed2GAkvsjBeXIEerDKdX3orQrBJqLRiea4NSS9qvn9Nxmuy1IwIB+EjFOaxXnX79l8HFaBwg==} + '@vitest/runner@3.2.3': + resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} - '@vitest/snapshot@3.2.2': - resolution: {integrity: sha512-aMEI2XFlR1aNECbBs5C5IZopfi5Lb8QJZGGpzS8ZUHML5La5wCbrbhLOVSME68qwpT05ROEEOAZPRXFpxZV2wA==} + '@vitest/snapshot@3.2.3': + resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} - '@vitest/spy@3.2.2': - resolution: {integrity: sha512-6Utxlx3o7pcTxvp0u8kUiXtRFScMrUg28KjB3R2hon7w4YqOFAEA9QwzPVVS1QNL3smo4xRNOpNZClRVfpMcYg==} + '@vitest/spy@3.2.3': + resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} - '@vitest/utils@3.2.2': - resolution: {integrity: sha512-qJYMllrWpF/OYfWHP32T31QCaLa3BAzT/n/8mNGhPdVcjY+JYazQFO1nsJvXU12Kp1xMpNY4AGuljPTNjQve6A==} + '@vitest/utils@3.2.3': + resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -2743,8 +2773,8 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - es-toolkit@1.39.1: - resolution: {integrity: sha512-cJNIXXx861Brn2GaXourDn5h3WRjYVc5hHKBLve8r0vP9TFeyPCiNgJFLn30HiJyCK4lUyjDhBELBwZG1tgZ0A==} + es-toolkit@1.39.3: + resolution: {integrity: sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==} esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} @@ -2801,8 +2831,8 @@ packages: peerDependencies: eslint: '>=8.23.0' - eslint-plugin-svelte@3.9.1: - resolution: {integrity: sha512-mXFulSdD/0/p+zwENjPNsiVwAqmSRp90sy5zvVQBX1yAXhJbdhIn6C/tn8BZYjU94Ia7Y87d1Xdbvi49DeWyHQ==} + eslint-plugin-svelte@3.9.2: + resolution: {integrity: sha512-aqzfHtG9RPaFhCUFm5QFC6eFY/yHFQIT8VYYFe7/mT2A9mbgVR3XV2keCqU19LN8iVD9mdvRvqHU+4+CzJImvg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 @@ -2853,8 +2883,8 @@ packages: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} - esrap@1.4.6: - resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} + esrap@1.4.9: + resolution: {integrity: sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -3368,6 +3398,9 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -4141,8 +4174,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.89.1: - resolution: {integrity: sha512-eMLLkl+qz7tx/0cJ9wI+w09GQ2zodTkcE/aVfywwdlRcI3EO19xGnbmJwg/JMIm+5MxVJ6outddLZ4Von4E++Q==} + sass@1.89.2: + resolution: {integrity: sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==} engines: {node: '>=14.0.0'} hasBin: true @@ -4327,6 +4360,9 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} @@ -4368,8 +4404,8 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 - svelte@5.33.14: - resolution: {integrity: sha512-kRlbhIlMTijbFmVDQFDeKXPLlX1/ovXwV0I162wRqQhRcygaqDIcu1d/Ese3H2uI+yt3uT8E7ndgDthQv5v5BA==} + svelte@5.33.19: + resolution: {integrity: sha512-udmgc1nnGeAgnfVJjOMfSOAqPAKv8N65MWN2kDuxo6BZthTaUcsLh4vP8bdZC0bMXLGn69smSZXgQOeuZBOn4Q==} engines: {node: '>=18'} svg-path-parser@1.1.0: @@ -4482,8 +4518,8 @@ packages: peerDependencies: typescript: '>=4.8.4' - ts-essentials@10.0.4: - resolution: {integrity: sha512-lwYdz28+S4nicm+jFi6V58LaAIpxzhg9rLdgNC1VsdP/xiFBseGhF1M/shwCk6zMmwahBZdXcl34LVHrEang3A==} + ts-essentials@10.1.0: + resolution: {integrity: sha512-LirrVzbhIpFQ9BdGfqLnM9r7aP9rnyfeoxbP5ZEkdr531IaY21+KdebRSsbvqu28VDJtcDDn+AlGn95t0c52zQ==} peerDependencies: typescript: '>=4.5.0' peerDependenciesMeta: @@ -4668,8 +4704,8 @@ packages: vfile@6.0.1: resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} - vite-node@3.2.2: - resolution: {integrity: sha512-Xj/jovjZvDXOq2FgLXu8NsY4uHUMWtzVmMC2LkCu9HWdr9Qu1Is5sanX3Z4jOFKdohfaWDnEJWp9pRP0vVpAcA==} + vite-node@3.2.3: + resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -4746,16 +4782,16 @@ packages: vitest-matchmedia-mock@2.0.3: resolution: {integrity: sha512-Oa2fI+dfaqcs67D08PqBL0D+Ymm4MYGZn1WimUgfZGDxp9/eb8gl6xqPmhjyrV3p9KdhKj2tp6E1b4YWiSg1lw==} - vitest@3.2.2: - resolution: {integrity: sha512-fyNn/Rp016Bt5qvY0OQvIUCwW2vnaEBLxP42PmKbNIoasSYjML+8xyeADOPvBe+Xfl/ubIw4og7Lt9jflRsCNw==} + vitest@3.2.3: + resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.2 - '@vitest/ui': 3.2.2 + '@vitest/browser': 3.2.3 + '@vitest/ui': 3.2.3 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -6464,29 +6500,29 @@ snapshots: dependencies: acorn: 8.14.1 - '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))': + '@sveltejs/adapter-auto@6.0.1(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))': dependencies: - '@sveltejs/kit': 2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/kit': 2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))': + '@sveltejs/adapter-static@3.0.8(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))': dependencies: - '@sveltejs/kit': 2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/kit': 2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@1.7.2(eslint@9.28.0(jiti@1.21.0)))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-n@17.10.1(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-svelte@3.9.1(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.14))(eslint@9.28.0(jiti@1.21.0))(typescript-eslint@7.7.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(typescript@5.8.3)': + '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@1.7.2(eslint@9.28.0(jiti@1.21.0)))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-n@17.10.1(eslint@9.28.0(jiti@1.21.0)))(eslint-plugin-svelte@3.9.2(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.19))(eslint@9.28.0(jiti@1.21.0))(typescript-eslint@7.7.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@stylistic/eslint-plugin-js': 1.7.2(eslint@9.28.0(jiti@1.21.0)) eslint: 9.28.0(jiti@1.21.0) eslint-config-prettier: 10.1.5(eslint@9.28.0(jiti@1.21.0)) eslint-plugin-n: 17.10.1(eslint@9.28.0(jiti@1.21.0)) - eslint-plugin-svelte: 3.9.1(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.14) + eslint-plugin-svelte: 3.9.2(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.19) globals: 15.9.0 typescript: 5.8.3 typescript-eslint: 7.7.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) - '@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) - '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@types/cookie': 0.6.0 acorn: 8.14.1 cookie: 0.6.0 @@ -6498,62 +6534,63 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 3.0.0 - svelte: 5.33.14 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + svelte: 5.33.19 + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vitefu: 1.0.6(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@sveltejs/package@2.3.11(svelte@5.33.14)(typescript@5.8.3)': + '@sveltejs/package@2.3.11(svelte@5.33.19)(typescript@5.8.3)': dependencies: chokidar: 4.0.3 kleur: 4.1.5 sade: 1.8.1 semver: 7.6.3 - svelte: 5.33.14 - svelte2tsx: 0.7.34(svelte@5.33.14)(typescript@5.8.3) + svelte: 5.33.19 + svelte2tsx: 0.7.34(svelte@5.33.19)(typescript@5.8.3) transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) debug: 4.4.1 - svelte: 5.33.14 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + svelte: 5.33.19 + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) debug: 4.4.1 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.33.14 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) - vitefu: 1.0.6(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + svelte: 5.33.19 + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vitefu: 1.0.6(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) transitivePeerDependencies: - supports-color - '@sveltepress/theme-default@6.0.3(c18722ed1f24920f61dfc63c34cb1af9)': + '@sveltepress/theme-default@6.0.3(71dcb167823018f783fb736d0c951b06)': dependencies: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2(@algolia/client-search@4.22.1)(search-insights@2.13.0) '@shikijs/twoslash': 1.24.0(typescript@5.8.3) - '@sveltejs/kit': 2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@sveltepress/twoslash': 1.2.2(svelte@5.33.14)(typescript@5.8.3) - '@sveltepress/vite': 1.2.2(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(rollup@2.79.1)(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/kit': 2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltepress/twoslash': 1.2.2(svelte@5.33.19)(typescript@5.8.3) + '@sveltepress/vite': 1.2.2(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(rollup@2.79.1)(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@unocss/extractor-svelte': 0.61.9 - '@vite-pwa/sveltekit': 0.6.6(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(vite-plugin-pwa@0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)) + '@vite-pwa/sveltekit': 0.6.6(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(vite-plugin-pwa@0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0)) lru-cache: 10.4.3 mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 shiki: 1.24.0 - svelte: 5.33.14 + svelte: 5.33.19 uid: 2.0.2 unist-util-visit: 5.0.0 - unocss: 0.61.9(postcss@8.5.3)(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + unocss: 0.61.9(postcss@8.5.3)(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) workbox-precaching: 7.0.0 workbox-routing: 7.0.0 transitivePeerDependencies: @@ -6570,7 +6607,7 @@ snapshots: - typescript - vite-plugin-pwa - '@sveltepress/twoslash@1.2.2(svelte@5.33.14)(typescript@5.8.3)': + '@sveltepress/twoslash@1.2.2(svelte@5.33.19)(typescript@5.8.3)': dependencies: '@floating-ui/dom': 1.6.3 '@shikijs/twoslash': 1.24.0(typescript@5.8.3) @@ -6579,18 +6616,18 @@ snapshots: mdast-util-to-hast: 13.1.0 shiki: 1.24.0 source-map-js: 1.2.1 - svelte: 5.33.14 - svelte2tsx: 0.7.34(svelte@5.33.14)(typescript@5.8.3) + svelte: 5.33.19 + svelte2tsx: 0.7.34(svelte@5.33.19)(typescript@5.8.3) twoslash: 0.2.12(typescript@5.8.3) twoslash-protocol: 0.2.12 transitivePeerDependencies: - supports-color - typescript - '@sveltepress/vite@1.2.2(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(rollup@2.79.1)(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@sveltepress/vite@1.2.2(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(rollup@2.79.1)(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: - '@sveltejs/kit': 2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/kit': 2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) cross-spawn: 7.0.6 fs-extra: 11.2.0 lru-cache: 10.4.3 @@ -6605,12 +6642,12 @@ snapshots: remark-rehype: 11.1.0 remark-stringify: 11.0.0 shiki: 1.24.0 - svelte: 5.33.14 + svelte: 5.33.19 unified: 11.0.4 unist-util-visit: 5.0.0 vfile: 6.0.1 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) - vite-plugin-inspect: 0.8.3(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite-plugin-inspect: 0.8.3(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) yaml: 2.7.1 transitivePeerDependencies: - '@nuxt/kit' @@ -6628,13 +6665,13 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/svelte@5.2.8(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(vitest@3.2.2(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@testing-library/svelte@5.2.8(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(vitest@3.2.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: '@testing-library/dom': 10.4.0 - svelte: 5.33.14 + svelte: 5.33.19 optionalDependencies: - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) - vitest: 3.2.2(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vitest: 3.2.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': dependencies: @@ -6683,7 +6720,7 @@ snapshots: '@types/d3-geo@3.1.0': dependencies: - '@types/geojson': 7946.0.14 + '@types/geojson': 7946.0.16 '@types/d3-interpolate@3.0.4': dependencies: @@ -6691,6 +6728,8 @@ snapshots: '@types/d3-path@3.1.1': {} + '@types/d3-quadtree@3.0.6': {} + '@types/d3-random@3.0.3': {} '@types/d3-scale-chromatic@3.1.0': {} @@ -6720,7 +6759,7 @@ snapshots: '@types/estree@1.0.7': {} - '@types/geojson@7946.0.14': {} + '@types/geojson@7946.0.16': {} '@types/hast@3.0.4': dependencies: @@ -6746,6 +6785,33 @@ snapshots: '@types/semver@7.5.8': {} + '@types/topojson-client@3.1.5': + dependencies: + '@types/geojson': 7946.0.16 + '@types/topojson-specification': 1.0.5 + + '@types/topojson-server@3.0.4': + dependencies: + '@types/geojson': 7946.0.16 + '@types/topojson-specification': 1.0.5 + + '@types/topojson-simplify@3.0.3': + dependencies: + '@types/geojson': 7946.0.16 + '@types/topojson-specification': 1.0.5 + + '@types/topojson-specification@1.0.5': + dependencies: + '@types/geojson': 7946.0.16 + + '@types/topojson@3.2.6': + dependencies: + '@types/geojson': 7946.0.16 + '@types/topojson-client': 3.1.5 + '@types/topojson-server': 3.0.4 + '@types/topojson-simplify': 3.0.3 + '@types/topojson-specification': 1.0.5 + '@types/trusted-types@2.0.7': {} '@types/unist@2.0.10': {} @@ -6777,14 +6843,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3))(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/type-utils': 8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/parser': 8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/type-utils': 8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.0 eslint: 9.28.0(jiti@1.21.0) graphemer: 1.4.0 ignore: 7.0.4 @@ -6807,22 +6873,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': + '@typescript-eslint/parser@8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.34.0 debug: 4.4.1 eslint: 9.28.0(jiti@1.21.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': + '@typescript-eslint/project-service@8.34.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3) + '@typescript-eslint/types': 8.34.0 debug: 4.4.1 typescript: 5.8.3 transitivePeerDependencies: @@ -6833,12 +6899,12 @@ snapshots: '@typescript-eslint/types': 7.7.0 '@typescript-eslint/visitor-keys': 7.7.0 - '@typescript-eslint/scope-manager@8.33.1': + '@typescript-eslint/scope-manager@8.34.0': dependencies: - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/visitor-keys': 8.34.0 - '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.34.0(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -6854,10 +6920,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) - '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3) debug: 4.4.1 eslint: 9.28.0(jiti@1.21.0) ts-api-utils: 2.1.0(typescript@5.8.3) @@ -6867,7 +6933,7 @@ snapshots: '@typescript-eslint/types@7.7.0': {} - '@typescript-eslint/types@8.33.1': {} + '@typescript-eslint/types@8.34.0': {} '@typescript-eslint/typescript-estree@7.7.0(typescript@5.8.3)': dependencies: @@ -6884,12 +6950,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.34.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/visitor-keys': 8.33.1 + '@typescript-eslint/project-service': 8.34.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.34.0(typescript@5.8.3) + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/visitor-keys': 8.34.0 debug: 4.4.1 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -6914,12 +6980,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': + '@typescript-eslint/utils@8.34.0(eslint@9.28.0(jiti@1.21.0))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.0)) - '@typescript-eslint/scope-manager': 8.33.1 - '@typescript-eslint/types': 8.33.1 - '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.34.0 + '@typescript-eslint/types': 8.34.0 + '@typescript-eslint/typescript-estree': 8.34.0(typescript@5.8.3) eslint: 9.28.0(jiti@1.21.0) typescript: 5.8.3 transitivePeerDependencies: @@ -6930,9 +6996,9 @@ snapshots: '@typescript-eslint/types': 7.7.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.33.1': + '@typescript-eslint/visitor-keys@8.34.0': dependencies: - '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/types': 8.34.0 eslint-visitor-keys: 4.2.0 '@typescript/vfs@1.6.0(typescript@5.8.3)': @@ -6944,13 +7010,13 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@unocss/astro@0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@unocss/astro@0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: '@unocss/core': 0.61.9 '@unocss/reset': 0.61.9 - '@unocss/vite': 0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@unocss/vite': 0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) optionalDependencies: - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - rollup - supports-color @@ -7089,7 +7155,7 @@ snapshots: dependencies: '@unocss/core': 0.61.9 - '@unocss/vite@0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@unocss/vite@0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -7101,56 +7167,57 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.17 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - rollup - supports-color - '@vite-pwa/sveltekit@0.6.6(@sveltejs/kit@2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(vite-plugin-pwa@0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))': + '@vite-pwa/sveltekit@0.6.6(@sveltejs/kit@2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(vite-plugin-pwa@0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0))': dependencies: - '@sveltejs/kit': 2.21.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.14)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@sveltejs/kit': 2.21.4(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)))(svelte@5.33.19)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) kolorist: 1.8.0 tinyglobby: 0.2.13 - vite-plugin-pwa: 0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0) + vite-plugin-pwa: 0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0) - '@vitest/expect@3.2.2': + '@vitest/expect@3.2.3': dependencies: '@types/chai': 5.2.2 - '@vitest/spy': 3.2.2 - '@vitest/utils': 3.2.2 + '@vitest/spy': 3.2.3 + '@vitest/utils': 3.2.3 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.2(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': + '@vitest/mocker@3.2.3(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))': dependencies: - '@vitest/spy': 3.2.2 + '@vitest/spy': 3.2.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) - '@vitest/pretty-format@3.2.2': + '@vitest/pretty-format@3.2.3': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.2.2': + '@vitest/runner@3.2.3': dependencies: - '@vitest/utils': 3.2.2 + '@vitest/utils': 3.2.3 pathe: 2.0.3 + strip-literal: 3.0.0 - '@vitest/snapshot@3.2.2': + '@vitest/snapshot@3.2.3': dependencies: - '@vitest/pretty-format': 3.2.2 + '@vitest/pretty-format': 3.2.3 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.2.2': + '@vitest/spy@3.2.3': dependencies: tinyspy: 4.0.3 - '@vitest/utils@3.2.2': + '@vitest/utils@3.2.3': dependencies: - '@vitest/pretty-format': 3.2.2 + '@vitest/pretty-format': 3.2.3 loupe: 3.1.3 tinyrainbow: 2.0.0 @@ -7778,7 +7845,7 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es-toolkit@1.39.1: {} + es-toolkit@1.39.3: {} esbuild@0.21.5: optionalDependencies: @@ -7878,7 +7945,7 @@ snapshots: minimatch: 9.0.5 semver: 7.7.2 - eslint-plugin-svelte@3.9.1(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.14): + eslint-plugin-svelte@3.9.2(eslint@9.28.0(jiti@1.21.0))(svelte@5.33.19): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@1.21.0)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -7890,9 +7957,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.3) postcss-safe-parser: 7.0.1(postcss@8.5.3) semver: 7.7.2 - svelte-eslint-parser: 1.2.0(svelte@5.33.14) + svelte-eslint-parser: 1.2.0(svelte@5.33.19) optionalDependencies: - svelte: 5.33.14 + svelte: 5.33.19 transitivePeerDependencies: - ts-node @@ -7967,7 +8034,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@1.4.6: + esrap@1.4.9: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -8477,6 +8544,8 @@ snapshots: js-tokens@4.0.0: {} + js-tokens@9.0.1: {} + js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -9237,10 +9306,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.33.14): + prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.33.19): dependencies: prettier: 3.5.3 - svelte: 5.33.14 + svelte: 5.33.19 prettier@3.5.3: {} @@ -9530,7 +9599,7 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.89.1: + sass@1.89.2: dependencies: chokidar: 4.0.3 immutable: 5.0.2 @@ -9747,6 +9816,10 @@ snapshots: strip-json-comments@3.1.1: {} + strip-literal@3.0.0: + dependencies: + js-tokens: 9.0.1 + stylis@4.2.0: {} supports-color@5.5.0: @@ -9759,19 +9832,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.2.1(picomatch@4.0.2)(svelte@5.33.14)(typescript@5.8.3): + svelte-check@4.2.1(picomatch@4.0.2)(svelte@5.33.19)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 fdir: 6.4.4(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.33.14 + svelte: 5.33.19 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.2.0(svelte@5.33.14): + svelte-eslint-parser@1.2.0(svelte@5.33.19): dependencies: eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 @@ -9780,20 +9853,20 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.3) postcss-selector-parser: 7.0.0 optionalDependencies: - svelte: 5.33.14 + svelte: 5.33.19 svelte-highlight@7.8.3: dependencies: highlight.js: 11.11.1 - svelte2tsx@0.7.34(svelte@5.33.14)(typescript@5.8.3): + svelte2tsx@0.7.34(svelte@5.33.19)(typescript@5.8.3): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 5.33.14 + svelte: 5.33.19 typescript: 5.8.3 - svelte@5.33.14: + svelte@5.33.19: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -9804,7 +9877,7 @@ snapshots: axobject-query: 4.1.0 clsx: 2.1.1 esm-env: 1.2.2 - esrap: 1.4.6 + esrap: 1.4.9 is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.17 @@ -9914,7 +9987,7 @@ snapshots: dependencies: typescript: 5.8.3 - ts-essentials@10.0.4(typescript@5.8.3): + ts-essentials@10.1.0(typescript@5.8.3): optionalDependencies: typescript: 5.8.3 @@ -10085,9 +10158,9 @@ snapshots: universalify@2.0.1: {} - unocss@0.61.9(postcss@8.5.3)(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)): + unocss@0.61.9(postcss@8.5.3)(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)): dependencies: - '@unocss/astro': 0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@unocss/astro': 0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) '@unocss/cli': 0.61.9(rollup@2.79.1) '@unocss/core': 0.61.9 '@unocss/extractor-arbitrary-variants': 0.61.9 @@ -10106,9 +10179,9 @@ snapshots: '@unocss/transformer-compile-class': 0.61.9 '@unocss/transformer-directives': 0.61.9 '@unocss/transformer-variant-group': 0.61.9 - '@unocss/vite': 0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@unocss/vite': 0.61.9(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) optionalDependencies: - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - postcss - rollup @@ -10139,13 +10212,13 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vite-node@3.2.2(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): + vite-node@3.2.3(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - '@types/node' - jiti @@ -10160,7 +10233,7 @@ snapshots: - tsx - yaml - vite-plugin-inspect@0.8.3(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)): + vite-plugin-inspect@0.8.3(rollup@2.79.1)(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) @@ -10171,23 +10244,23 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 2.0.4 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-pwa@0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0): + vite-plugin-pwa@0.19.0(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1))(workbox-build@7.0.0(@types/babel__core@7.20.5))(workbox-window@7.0.0): dependencies: debug: 4.4.1 fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) workbox-build: 7.0.0(@types/babel__core@7.20.5) workbox-window: 7.0.0 transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): + vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): dependencies: esbuild: 0.25.2 fdir: 6.4.4(picomatch@4.0.2) @@ -10199,18 +10272,18 @@ snapshots: '@types/node': 20.10.8 fsevents: 2.3.3 jiti: 1.21.0 - sass: 1.89.1 + sass: 1.89.2 terser: 5.26.0 tsx: 4.16.5 yaml: 2.7.1 - vitefu@1.0.6(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)): + vitefu@1.0.6(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)): optionalDependencies: - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) - vitest-matchmedia-mock@2.0.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): + vitest-matchmedia-mock@2.0.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): dependencies: - vitest: 3.2.2(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vitest: 3.2.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) transitivePeerDependencies: - '@edge-runtime/vm' - '@types/debug' @@ -10232,16 +10305,16 @@ snapshots: - tsx - yaml - vitest@3.2.2(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): + vitest@3.2.3(@types/debug@4.1.12)(@types/node@20.10.8)(jiti@1.21.0)(jsdom@26.1.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1): dependencies: '@types/chai': 5.2.2 - '@vitest/expect': 3.2.2 - '@vitest/mocker': 3.2.2(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) - '@vitest/pretty-format': 3.2.2 - '@vitest/runner': 3.2.2 - '@vitest/snapshot': 3.2.2 - '@vitest/spy': 3.2.2 - '@vitest/utils': 3.2.2 + '@vitest/expect': 3.2.3 + '@vitest/mocker': 3.2.3(vite@6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1)) + '@vitest/pretty-format': 3.2.3 + '@vitest/runner': 3.2.3 + '@vitest/snapshot': 3.2.3 + '@vitest/spy': 3.2.3 + '@vitest/utils': 3.2.3 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 @@ -10254,8 +10327,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.0 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) - vite-node: 3.2.2(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.1)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite: 6.3.5(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) + vite-node: 3.2.3(@types/node@20.10.8)(jiti@1.21.0)(sass@1.89.2)(terser@5.26.0)(tsx@4.16.5)(yaml@2.7.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 6b0d7e3d..0c094fd8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,2 @@ onlyBuiltDependencies: - - puppeteer + - puppeteer diff --git a/screenshot-examples.js b/screenshot-examples.js index 593ec016..dbaad310 100644 --- a/screenshot-examples.js +++ b/screenshot-examples.js @@ -12,6 +12,9 @@ const OUTPUT_DIR = path.join(__dirname, 'static', 'examples'); const SCREENSHOT_WIDTH = 600; const DEVICE_PIXEL_RATIO = 2; +// Only take missing screenshots if ENV variable is set +const ONLY_MISSING = process.env.ONLY_MISSING == 1; + // Start the development server and return server instance and local URL const startServer = () => { console.log('Starting development server...'); @@ -70,6 +73,26 @@ const getSvelteFiles = async (dir) => { return files.flat(); }; +const getExistingScreenshots = async (dir) => { + const entries = await fs.readdir(dir, { withFileTypes: true }); + + const files = await Promise.all( + entries.map(async (entry) => { + const fullPath = path.join(dir, entry.name); + + if (entry.isDirectory()) { + return getExistingScreenshots(fullPath); + } else if (entry.isFile() && entry.name.endsWith('.png')) { + return [fullPath]; + } + + return []; + }) + ); + + return files.flat(); +}; + // Convert file path to URL path const filePathToUrlPath = (filePath) => { const relativePath = path.relative(EXAMPLES_DIR, filePath); @@ -161,9 +184,35 @@ const screenshotExamples = async () => { }); // Get all example Svelte files - const svelteFiles = await getSvelteFiles(EXAMPLES_DIR); + let svelteFiles = await getSvelteFiles(EXAMPLES_DIR); console.log(`Found ${svelteFiles.length} example files to screenshot`); + if (ONLY_MISSING) { + // Filter to only include files that don't have screenshots () + const existingScreenshots = (await getExistingScreenshots(OUTPUT_DIR)).map((file) => + path.relative(OUTPUT_DIR, file) + ); + + console.log(`Found ${existingScreenshots.length} existing screenshots`); + + // Filter out files that already have screenshots + svelteFiles = svelteFiles.filter((filePath) => { + return ( + !existingScreenshots.find((screenshot) => + filePath.endsWith(screenshot.replace('.png', '.svelte')) + ) || + !existingScreenshots.find((screenshot) => + filePath.endsWith(screenshot.replace('.dark.png', '.svelte')) + ) + ); + }); + + console.log( + `Filtered down to ${svelteFiles.length} files needing screenshots`, + svelteFiles + ); + } + // Process each file for (const filePath of svelteFiles) { const urlPath = filePathToUrlPath(filePath); diff --git a/src/lib/Mark.svelte b/src/lib/Mark.svelte index f5bcb7d4..11a19870 100644 --- a/src/lib/Mark.svelte +++ b/src/lib/Mark.svelte @@ -1,6 +1,24 @@ - + } - - - - - - - + + - - @@ -46,7 +51,7 @@ y1: '__x', x1: '__lo', x2: '__hi', - fillOpacity: 0.2, - ...pick(args, ['data', 'fill', 'fillOpacity', 'opacity']) + ...pick(args, ['data', 'fill', 'fillOpacity', 'opacity']), + fillOpacity: 0.2 }} /> diff --git a/src/lib/marks/BollingerY.svelte b/src/lib/marks/BollingerY.svelte index c5a5ca49..627d0a40 100644 --- a/src/lib/marks/BollingerY.svelte +++ b/src/lib/marks/BollingerY.svelte @@ -2,30 +2,35 @@ @component line representing a moving average and an area representing volatility as a band --> - - - @@ -35,7 +40,7 @@ x1: '__x', y1: '__lo', y2: '__hi', - fillOpacity: 0.2, - ...pick(args, ['data', 'fill', 'fillOpacity', 'opacity']) + ...pick(args, ['data', 'fill', 'fillOpacity', 'opacity']), + fillOpacity: 0.2 }} /> diff --git a/src/lib/marks/BoxX.svelte b/src/lib/marks/BoxX.svelte index 15462f8f..d31cca63 100644 --- a/src/lib/marks/BoxX.svelte +++ b/src/lib/marks/BoxX.svelte @@ -1,17 +1,15 @@ - - - - - - + - + - - - export type CellXMarkProps = Omit; - - + diff --git a/src/lib/marks/CellY.svelte b/src/lib/marks/CellY.svelte index d3c65a1e..df134732 100644 --- a/src/lib/marks/CellY.svelte +++ b/src/lib/marks/CellY.svelte @@ -1,18 +1,22 @@ - - + diff --git a/src/lib/marks/ColorLegend.svelte b/src/lib/marks/ColorLegend.svelte index 47c3c257..2d8d8e62 100644 --- a/src/lib/marks/ColorLegend.svelte +++ b/src/lib/marks/ColorLegend.svelte @@ -1,17 +1,14 @@ - - + {#each data as datum, i (i)} - {@const x_ = resolveChannel('x', datum, { x, y })} - {@const y_ = resolveChannel('y', datum, { x, y })} + {@const x_ = resolveChannel('x', datum, { x, y })} + {@const y_ = resolveChannel('y', datum, { x, y })} {#if isValid(x_) && isValid(y_)} {@const [px, py] = projectXY(plot.scales, x_, y_)} diff --git a/src/lib/marks/CustomMarkHTML.svelte b/src/lib/marks/CustomMarkHTML.svelte index 77425267..dd23848c 100644 --- a/src/lib/marks/CustomMarkHTML.svelte +++ b/src/lib/marks/CustomMarkHTML.svelte @@ -2,14 +2,12 @@ @component For showing custom HTML tooltips positioned at x/y coordinates --> - - - - - + dotClass?: ConstantAccessor; + } - - - diff --git a/src/lib/marks/DotY.svelte b/src/lib/marks/DotY.svelte index 81099b5e..8a12ea81 100644 --- a/src/lib/marks/DotY.svelte +++ b/src/lib/marks/DotY.svelte @@ -1,15 +1,16 @@ - - - diff --git a/src/lib/marks/Frame.svelte b/src/lib/marks/Frame.svelte index 05bf7d01..e2d2a392 100644 --- a/src/lib/marks/Frame.svelte +++ b/src/lib/marks/Frame.svelte @@ -2,39 +2,32 @@ @component Renders a simple frame around the entire plot domain --> - - - - - - - - + diff --git a/src/lib/marks/GridX.svelte b/src/lib/marks/GridX.svelte index 0a8a7b93..f58c13ec 100644 --- a/src/lib/marks/GridX.svelte +++ b/src/lib/marks/GridX.svelte @@ -1,17 +1,14 @@ - - - - - - - - - diff --git a/src/lib/marks/LineY.svelte b/src/lib/marks/LineY.svelte index 14ba10da..c96ad934 100644 --- a/src/lib/marks/LineY.svelte +++ b/src/lib/marks/LineY.svelte @@ -1,11 +1,17 @@ - diff --git a/src/lib/marks/Link.svelte b/src/lib/marks/Link.svelte index 3897778d..b758f528 100644 --- a/src/lib/marks/Link.svelte +++ b/src/lib/marks/Link.svelte @@ -1,24 +1,40 @@ - - + onupdate?: (data: Datum[]) => void; + } - - - - - - - - - - - - - + } - {#snippet children({ mark, scaledData, usedScales })} {#each scaledData as d, i (i)} {#if d.valid} - {@const title = resolveProp(args.title, d.datum, '')} - {@const frameAnchor = resolveProp(args.frameAnchor, d.datum)} - {@const isLeft = - frameAnchor === 'left' || - frameAnchor === 'top-left' || - frameAnchor === 'bottom-left'} - {@const isRight = - frameAnchor === 'right' || - frameAnchor === 'top-right' || - frameAnchor === 'bottom-right'} - {@const isTop = - frameAnchor === 'top' || - frameAnchor === 'top-left' || - frameAnchor === 'top-right'} - {@const isBottom = - frameAnchor === 'bottom' || - frameAnchor === 'bottom-left' || - frameAnchor === 'bottom-right'} - {@const [x, y] = - args.x != null && args.y != null - ? [d.x, d.y] - : [ - args.x != null - ? d.x - : isLeft - ? plot.options.marginLeft - : isRight - ? plot.options.marginLeft + plot.facetWidth - : plot.options.marginLeft + plot.facetWidth * 0.5, - args.y != null - ? d.y - : isTop - ? plot.options.marginTop - : isBottom - ? plot.options.marginTop + plot.facetHeight - : plot.options.marginTop + plot.facetHeight * 0.5 - ]} - - {@const dx = +resolveProp(args.dx, d.datum, 0)} - {@const dy = +resolveProp(args.dy, d.datum, 0)} {@const textLines = String(resolveProp(args.text, d.datum, '')).split('\n')} - {@const lineAnchor = resolveProp( - args.lineAnchor, - d.datum, - args.y != null ? 'middle' : isTop ? 'top' : isBottom ? 'bottom' : 'middle' - )} - {@const textClassName = resolveProp(args.textClass, d.datum, null)} - {@const [style, styleClass] = resolveStyles( - plot, - { ...d, __tspanIndex: 0 }, - { - fontSize: 12, - fontWeight: 500, - strokeWidth: 1.6, - textAnchor: isLeft ? 'start' : isRight ? 'end' : 'middle', - ...args - }, - 'fill', - usedScales - )} - - {#if textLines.length > 1} - - {@const fontSize = resolveProp(args.fontSize, d.datum) || 12} - {#each textLines as line, l (l)}{line}{/each}{#if title}{title}{/if} - {:else} - - {textLines[0]}{#if title}{title}{/if} - {/if} + {/if} {/each} {/snippet} - - diff --git a/src/lib/marks/TickX.svelte b/src/lib/marks/TickX.svelte index 65995799..af387cf3 100644 --- a/src/lib/marks/TickX.svelte +++ b/src/lib/marks/TickX.svelte @@ -2,27 +2,25 @@ @component The TickX mark is useful for showing one-dimensional distributions along the x axis. The y axis must be a band scale. --> - - - - - - export type VectorMarkProps = BaseMarkProps & { - data: DataRecord[]; - x: ChannelAccessor; - y: ChannelAccessor; + + } + import type { + PlotContext, + DataRecord, + BaseMarkProps, + ChannelAccessor, + FacetContext, + PlotDefaults + } from '../types/index.js'; - + +{#if textLines.length > 1} + + {#each textLines as line, l (l)}{line}{/each}{#if title}{title}{/if} +{:else} + + {textLines[0]}{#if title}{title}{/if} +{/if} + + diff --git a/src/lib/marks/helpers/RectPath.svelte b/src/lib/marks/helpers/RectPath.svelte index 0fe258ee..07f703ca 100644 --- a/src/lib/marks/helpers/RectPath.svelte +++ b/src/lib/marks/helpers/RectPath.svelte @@ -1,7 +1,31 @@ - diff --git a/src/routes/examples/[group]/[page]/+page.svelte b/src/routes/examples/[group]/[page]/+page.svelte index 98d3e308..dff09e66 100644 --- a/src/routes/examples/[group]/[page]/+page.svelte +++ b/src/routes/examples/[group]/[page]/+page.svelte @@ -65,13 +65,17 @@
' - : '' + ) + : pagesSrc[plotKey].lastIndexOf( + '' + ) + 9 ) - )} /> + .trim()} />
diff --git a/src/routes/examples/area/_index.svelte b/src/routes/examples/area/_index.svelte new file mode 100644 index 00000000..bcec0472 --- /dev/null +++ b/src/routes/examples/area/_index.svelte @@ -0,0 +1,5 @@ + + +

Area examples

diff --git a/src/routes/examples/area/area-x.svelte b/src/routes/examples/area/area-x.svelte new file mode 100644 index 00000000..9bc2372e --- /dev/null +++ b/src/routes/examples/area/area-x.svelte @@ -0,0 +1,22 @@ + + + + +
+ + + +
+ + diff --git a/src/routes/examples/area/area-y.svelte b/src/routes/examples/area/area-y.svelte new file mode 100644 index 00000000..86e6e732 --- /dev/null +++ b/src/routes/examples/area/area-y.svelte @@ -0,0 +1,19 @@ + + + + + + + diff --git a/src/routes/examples/area/area.svelte b/src/routes/examples/area/area.svelte new file mode 100644 index 00000000..40661b06 --- /dev/null +++ b/src/routes/examples/area/area.svelte @@ -0,0 +1,14 @@ + + + + + + + diff --git a/src/routes/examples/area/streamgraph.svelte b/src/routes/examples/area/streamgraph.svelte new file mode 100644 index 00000000..7df9a263 --- /dev/null +++ b/src/routes/examples/area/streamgraph.svelte @@ -0,0 +1,28 @@ + + + + + + + diff --git a/src/routes/examples/arrow/metro.svelte b/src/routes/examples/arrow/metro.svelte index 8f9ac0a0..7a1a8ea7 100644 --- a/src/routes/examples/arrow/metro.svelte +++ b/src/routes/examples/arrow/metro.svelte @@ -3,11 +3,14 @@ - + d} /> diff --git a/src/routes/examples/cell/_index.svelte b/src/routes/examples/cell/_index.svelte new file mode 100644 index 00000000..af156639 --- /dev/null +++ b/src/routes/examples/cell/_index.svelte @@ -0,0 +1,10 @@ + + +

Cell examples

+ +

+ Examples showcasing the Cell mark +

diff --git a/src/routes/examples/cell/simpsons.svelte b/src/routes/examples/cell/simpsons.svelte new file mode 100644 index 00000000..4f246988 --- /dev/null +++ b/src/routes/examples/cell/simpsons.svelte @@ -0,0 +1,39 @@ + + + + + + + + d.imdb_rating != null + ? d.imdb_rating.toFixed(1) + : null} + title={(d) => d.title} /> + diff --git a/src/routes/examples/cell/temperatures.svelte b/src/routes/examples/cell/temperatures.svelte new file mode 100644 index 00000000..5f0c332c --- /dev/null +++ b/src/routes/examples/cell/temperatures.svelte @@ -0,0 +1,46 @@ + + + + +
+ + d.date.getUTCFullYear() === 2015} + {...{ + [x]: (d) => d.date.getUTCDate(), + [y]: (d) => d.date.getUTCMonth() + }} + fill="temp_max" + inset={0.5} /> + +
diff --git a/src/routes/examples/custom/_index.svelte b/src/routes/examples/custom/_index.svelte new file mode 100644 index 00000000..932a5784 --- /dev/null +++ b/src/routes/examples/custom/_index.svelte @@ -0,0 +1,5 @@ + + +

Custom marks

diff --git a/src/routes/examples/custom/custom-svg.svelte b/src/routes/examples/custom/custom-svg.svelte new file mode 100644 index 00000000..e317e0d2 --- /dev/null +++ b/src/routes/examples/custom/custom-svg.svelte @@ -0,0 +1,47 @@ + + + + + + + + + + + + {#snippet children({ datum })} + {datum.species} + {/snippet} + + diff --git a/src/routes/examples/dot/0-scatterplot.svelte b/src/routes/examples/dot/0-scatterplot.svelte index 7e90469b..cd4ef19b 100644 --- a/src/routes/examples/dot/0-scatterplot.svelte +++ b/src/routes/examples/dot/0-scatterplot.svelte @@ -2,10 +2,14 @@ export let title = 'Scatterplot'; - diff --git a/src/routes/examples/dot/1-colored-scatterplot.svelte b/src/routes/examples/dot/1-colored-scatterplot.svelte index e2e37dfc..215adddf 100644 --- a/src/routes/examples/dot/1-colored-scatterplot.svelte +++ b/src/routes/examples/dot/1-colored-scatterplot.svelte @@ -2,10 +2,13 @@ export let title = 'Color scatterplot'; - diff --git a/src/routes/examples/dot/2-symbol-channel.svelte b/src/routes/examples/dot/2-symbol-channel.svelte index cbffdf88..87ba2157 100644 --- a/src/routes/examples/dot/2-symbol-channel.svelte +++ b/src/routes/examples/dot/2-symbol-channel.svelte @@ -2,10 +2,13 @@ export let title = 'Symbol channel'; - - - - diff --git a/src/routes/examples/line/geo-line.svelte b/src/routes/examples/line/geo-line.svelte index 9be323ed..24b98876 100644 --- a/src/routes/examples/line/geo-line.svelte +++ b/src/routes/examples/line/geo-line.svelte @@ -10,7 +10,10 @@ import { Plot, Geo, Dot, Line } from 'svelteplot'; import { page } from '$app/state'; import * as topojson from 'topojson-client'; - const { world, beagle } = $derived(page.data.data); + import type { ExamplesData } from '../types'; + const { world, beagle } = $derived( + page.data.data + ) as ExamplesData; const land = $derived( topojson.feature(world, world.objects.land) ); diff --git a/src/routes/examples/line/gradient-line.svelte b/src/routes/examples/line/gradient-line.svelte index 2958a9bb..75d9e66f 100644 --- a/src/routes/examples/line/gradient-line.svelte +++ b/src/routes/examples/line/gradient-line.svelte @@ -9,7 +9,8 @@ LinearGradientX } from 'svelteplot'; import { page } from '$app/state'; - let { aapl } = $derived(page.data.data); + import type { ExamplesData } from '../types'; + let { aapl } = $derived(page.data.data) as ExamplesData; diff --git a/src/routes/examples/link/_index.svelte b/src/routes/examples/link/_index.svelte new file mode 100644 index 00000000..3c03d894 --- /dev/null +++ b/src/routes/examples/link/_index.svelte @@ -0,0 +1,10 @@ + + +

Link examples

+ +

+ Here are examples related to the Link mark. +

diff --git a/src/routes/examples/link/metros.svelte b/src/routes/examples/link/metros.svelte new file mode 100644 index 00000000..e7c9794e --- /dev/null +++ b/src/routes/examples/link/metros.svelte @@ -0,0 +1,58 @@ + + + + + + + !hl || hl.Metro === d.Metro ? 1 : 0.1 + }} + onmouseenter={(event, d) => (hl = d)} + onmouseleave={() => (hl = null)} + stroke={(d) => d.R90_10_2015 - d.R90_10_1980} /> + + hl ? d.Metro === hl.Metro : d.highlight} + text="nyt_display" + fill="currentColor" + stroke="var(--svelteplot-bg)" + strokeWidth={4} + lineAnchor="bottom" + dy={-6} /> + diff --git a/src/routes/examples/link/spherical-link.svelte b/src/routes/examples/link/spherical-link.svelte new file mode 100644 index 00000000..09572c79 --- /dev/null +++ b/src/routes/examples/link/spherical-link.svelte @@ -0,0 +1,49 @@ + + + + + + + + + + diff --git a/src/routes/examples/rect/_index.svelte b/src/routes/examples/rect/_index.svelte new file mode 100644 index 00000000..cce5c319 --- /dev/null +++ b/src/routes/examples/rect/_index.svelte @@ -0,0 +1,5 @@ + + +

Rect mark examples

diff --git a/src/routes/examples/rect/simple-rects.svelte b/src/routes/examples/rect/simple-rects.svelte new file mode 100644 index 00000000..7c3768b1 --- /dev/null +++ b/src/routes/examples/rect/simple-rects.svelte @@ -0,0 +1,36 @@ + + + + + + + diff --git a/src/routes/examples/rect/stacked-rectx.svelte b/src/routes/examples/rect/stacked-rectx.svelte new file mode 100644 index 00000000..17fdfcbe --- /dev/null +++ b/src/routes/examples/rect/stacked-rectx.svelte @@ -0,0 +1,25 @@ + + + + + + + diff --git a/src/routes/examples/rect/stacked-recty.svelte b/src/routes/examples/rect/stacked-recty.svelte new file mode 100644 index 00000000..9b4d5523 --- /dev/null +++ b/src/routes/examples/rect/stacked-recty.svelte @@ -0,0 +1,25 @@ + + + + + + + diff --git a/src/routes/examples/rule/_index.svelte b/src/routes/examples/rule/_index.svelte new file mode 100644 index 00000000..03598ff9 --- /dev/null +++ b/src/routes/examples/rule/_index.svelte @@ -0,0 +1,10 @@ + + +

Rule examples

+ +

+ Here are examples related to the rule mark. +

diff --git a/src/routes/examples/rule/data-rules.svelte b/src/routes/examples/rule/data-rules.svelte new file mode 100644 index 00000000..baefac6b --- /dev/null +++ b/src/routes/examples/rule/data-rules.svelte @@ -0,0 +1,34 @@ + + + + + + monthNames[d.Date.getMonth()]} /> + diff --git a/src/routes/examples/rule/min-max.svelte b/src/routes/examples/rule/min-max.svelte new file mode 100644 index 00000000..381448e0 --- /dev/null +++ b/src/routes/examples/rule/min-max.svelte @@ -0,0 +1,39 @@ + + + + + + + + + diff --git a/src/routes/examples/rule/y-baseline.svelte b/src/routes/examples/rule/y-baseline.svelte new file mode 100644 index 00000000..66fac509 --- /dev/null +++ b/src/routes/examples/rule/y-baseline.svelte @@ -0,0 +1,17 @@ + + + + + + + + diff --git a/src/routes/examples/text/_index.svelte b/src/routes/examples/text/_index.svelte new file mode 100644 index 00000000..85708095 --- /dev/null +++ b/src/routes/examples/text/_index.svelte @@ -0,0 +1,5 @@ + + +

Text examples

diff --git a/src/routes/examples/text/css-var.svelte b/src/routes/examples/text/css-var.svelte new file mode 100644 index 00000000..5ce0131f --- /dev/null +++ b/src/routes/examples/text/css-var.svelte @@ -0,0 +1,31 @@ + + + + + + + + + + diff --git a/src/routes/examples/text/frame-anchor.svelte b/src/routes/examples/text/frame-anchor.svelte new file mode 100644 index 00000000..8c4430d0 --- /dev/null +++ b/src/routes/examples/text/frame-anchor.svelte @@ -0,0 +1,32 @@ + + + + + + {#each ['top', 'bottom', 'center', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right'] as frameAnchor (frameAnchor)} + + {/each} + diff --git a/src/routes/examples/types.ts b/src/routes/examples/types.ts new file mode 100644 index 00000000..b71116f8 --- /dev/null +++ b/src/routes/examples/types.ts @@ -0,0 +1,158 @@ +type AaplRow = { + Date: Date; + Open: number; + High: number; + Low: number; + Close: number; + Volume: number; + [`Adj Close`]: number; +}; + +type SimpsonsRow = { + episode: string; + season: string; + /** + * the imdb rating of the episode + */ + imdb_rating: number; + title: string; +}; + +type PenguinsRow = { + species: string; + island: string; + bill_length_mm: number; + bill_depth_mm: number; + flipper_length_mm: number; + body_mass_g: number; +}; + +type LanguagesRow = { + Language: string; + Remarks: string; + Family: string; + Branch: string; + [`First-language`]: string; + [`Second-language`]: string; + [`Total speakers`]: number; +}; + +type EarthquakeFeature = { + type: 'Feature'; + properties: { + mag: number; + place: string; + time: number; + updated: number; + url: string; + detail: string; + status: 'reviewed'; + tsunami: number; + sig: number; + net: string; + code: string; + ids: string; + sources: string; + types: string; + nst: number; + dmin: number; + rms: number; + gap: number; + magType: string; + type: 'earthquake'; + title: string; + }; + geometry: { + type: 'Point'; + coordinates: [number, number, number]; + }; + id: string; +}; + +type BeagleRow = { + lon: number; + lat: number; +}; + +type RiaaRow = { + year: Date; + format: string; + group: string; + revenue: number; +}; + +type MetrosRow = { + Metro: string; + POP_1980: number; + LPOP_1980: number; + R90_10_1980: number; + POP_2015: number; + LPOP_2015: number; + R90_10_2015: number; + nyt_display: string; + state_display: string; + highlight: number; +}; + +type WindRow = { + longitude: number; + latitude: number; + u: number; + v: number; +}; + +type ElectionRow = { + // state,fips,margin2020,margin2016,votes,votes2016 + state: string; + fips: number; + margin2020: number; + margin2016: number; + votes: number; + votes2016: number; +}; + +interface WorldAtlas extends TopoJSON.Topology { + objects: { + countries: { + type: 'GeometryCollection'; + geometries: Array; + }; + land: TopoJSON.GeometryCollection; + }; + bbox: [number, number, number, number]; + transform: TopoJSON.Transform; +} + +interface USAtlas extends TopoJSON.Topology { + objects: { + counties: { + type: 'GeometryCollection'; + geometries: Array; + }; + states: { + type: 'GeometryCollection'; + geometries: Array; + }; + nation: TopoJSON.GeometryCollection; + }; + bbox: [number, number, number, number]; + transform: TopoJSON.Transform; +} + +export type ExamplesData = { + aapl: AaplRow[]; + simpsons: SimpsonsRow[]; + penguins: PenguinsRow[]; + languages: LanguagesRow[]; + earthquakes: { + type: 'FeatureCollection'; + features: EarthquakeFeature[]; + }; + world: WorldAtlas; + us: USAtlas; + beagle: BeagleRow[]; + riaa: RiaaRow[]; + metros: MetrosRow[]; + wind: WindRow[]; + election: ElectionRow[]; +}; diff --git a/src/routes/examples/vector/_index.svelte b/src/routes/examples/vector/_index.svelte new file mode 100644 index 00000000..06bbc2b6 --- /dev/null +++ b/src/routes/examples/vector/_index.svelte @@ -0,0 +1,5 @@ + + +

Vector examples

diff --git a/src/routes/examples/vector/spike-map.svelte b/src/routes/examples/vector/spike-map.svelte new file mode 100644 index 00000000..413411af --- /dev/null +++ b/src/routes/examples/vector/spike-map.svelte @@ -0,0 +1,61 @@ + + + + + + + + d.properties?.votes ?? 0} /> + diff --git a/src/routes/examples/vector/wind.svelte b/src/routes/examples/vector/wind.svelte new file mode 100644 index 00000000..225cc331 --- /dev/null +++ b/src/routes/examples/vector/wind.svelte @@ -0,0 +1,29 @@ + + + + + + + (Math.atan2(u, v) * 180) / Math.PI} + length={({ u, v }) => Math.hypot(u, v)} + stroke={({ u, v }) => Math.hypot(u, v)} /> + diff --git a/src/routes/marks/cell/+page.md b/src/routes/marks/cell/+page.md index 5d16be49..269cf027 100644 --- a/src/routes/marks/cell/+page.md +++ b/src/routes/marks/cell/+page.md @@ -95,6 +95,26 @@ Seattle temperatures
``` +```svelte + + d.date.getUTCFullYear() === 2015} + x={(d) => d.date.getUTCDate()} + y={(d) => d.date.getUTCMonth()} + fill="temp_max" + inset={0.5} /> + +``` + +[fork](https://svelte.dev/playground/6e1188793b71467e94308d57503c15b4?version=5.33.14) + ```svelte live diff --git a/src/tests/axisX.test.ts b/src/tests/axisX.test.ts index ec7a2d36..fb5ff28f 100644 --- a/src/tests/axisX.test.ts +++ b/src/tests/axisX.test.ts @@ -122,7 +122,7 @@ describe('AxisX mark', () => { const ticks = container.querySelectorAll('g.axis-x > g.tick') as NodeListOf; const tickValues = Array.from(ticks).map((t) => t.querySelector('text')?.textContent); - expect(tickValues).toStrictEqual(['0', '30', '60', '90', '120']); + expect(tickValues).toStrictEqual(['0', '30', '60', '90']); }); it('tick interval via axis options', () => { @@ -135,7 +135,7 @@ describe('AxisX mark', () => { const ticks = container.querySelectorAll('g.axis-x > g.tick') as NodeListOf; const tickValues = Array.from(ticks).map((t) => t.querySelector('text')?.textContent); - expect(tickValues).toStrictEqual(['0', '30', '60', '90', '120']); + expect(tickValues).toStrictEqual(['0', '30', '60', '90']); }); it('tick interval via axis.ticks', () => { diff --git a/src/tests/axisY.test.ts b/src/tests/axisY.test.ts index f2b2e8fe..3e7e0bd0 100644 --- a/src/tests/axisY.test.ts +++ b/src/tests/axisY.test.ts @@ -121,7 +121,7 @@ describe('AxisY mark', () => { const ticks = container.querySelectorAll('g.axis-y > g.tick') as NodeListOf; const tickValues = Array.from(ticks).map((t) => t.querySelector('text')?.textContent); - expect(tickValues).toStrictEqual(['0', '30', '60', '90', '120']); + expect(tickValues).toStrictEqual(['0', '30', '60', '90']); }); it('tick interval via axis options', () => { @@ -134,6 +134,6 @@ describe('AxisY mark', () => { const ticks = container.querySelectorAll('g.axis-y > g.tick') as NodeListOf; const tickValues = Array.from(ticks).map((t) => t.querySelector('text')?.textContent); - expect(tickValues).toStrictEqual(['0', '30', '60', '90', '120']); + expect(tickValues).toStrictEqual(['0', '30', '60', '90']); }); }); diff --git a/static/examples/area/area-x.dark.png b/static/examples/area/area-x.dark.png new file mode 100644 index 00000000..6e7a7bd1 Binary files /dev/null and b/static/examples/area/area-x.dark.png differ diff --git a/static/examples/area/area-x.png b/static/examples/area/area-x.png new file mode 100644 index 00000000..88f10625 Binary files /dev/null and b/static/examples/area/area-x.png differ diff --git a/static/examples/area/area-y.dark.png b/static/examples/area/area-y.dark.png new file mode 100644 index 00000000..c908f9b7 Binary files /dev/null and b/static/examples/area/area-y.dark.png differ diff --git a/static/examples/area/area-y.png b/static/examples/area/area-y.png new file mode 100644 index 00000000..cad14297 Binary files /dev/null and b/static/examples/area/area-y.png differ diff --git a/static/examples/area/area.dark.png b/static/examples/area/area.dark.png new file mode 100644 index 00000000..c1c6c880 Binary files /dev/null and b/static/examples/area/area.dark.png differ diff --git a/static/examples/area/area.png b/static/examples/area/area.png new file mode 100644 index 00000000..ed996fcc Binary files /dev/null and b/static/examples/area/area.png differ diff --git a/static/examples/area/streamgraph.dark.png b/static/examples/area/streamgraph.dark.png new file mode 100644 index 00000000..f6923513 Binary files /dev/null and b/static/examples/area/streamgraph.dark.png differ diff --git a/static/examples/area/streamgraph.png b/static/examples/area/streamgraph.png new file mode 100644 index 00000000..5a92cbcc Binary files /dev/null and b/static/examples/area/streamgraph.png differ diff --git a/static/examples/arrow/metro.dark.png b/static/examples/arrow/metro.dark.png index 33c2a8dc..414e0a6e 100644 Binary files a/static/examples/arrow/metro.dark.png and b/static/examples/arrow/metro.dark.png differ diff --git a/static/examples/arrow/metro.png b/static/examples/arrow/metro.png index 94026220..761eb71a 100644 Binary files a/static/examples/arrow/metro.png and b/static/examples/arrow/metro.png differ diff --git a/static/examples/axis/datawrapper-ticks.dark.png b/static/examples/axis/datawrapper-ticks.dark.png index 094beec6..f2b806d2 100644 Binary files a/static/examples/axis/datawrapper-ticks.dark.png and b/static/examples/axis/datawrapper-ticks.dark.png differ diff --git a/static/examples/axis/datawrapper-ticks.png b/static/examples/axis/datawrapper-ticks.png index f3f042fe..8ab6d019 100644 Binary files a/static/examples/axis/datawrapper-ticks.png and b/static/examples/axis/datawrapper-ticks.png differ diff --git a/static/examples/axis/major-minor.dark.png b/static/examples/axis/major-minor.dark.png index 104a0d1c..53852243 100644 Binary files a/static/examples/axis/major-minor.dark.png and b/static/examples/axis/major-minor.dark.png differ diff --git a/static/examples/axis/major-minor.png b/static/examples/axis/major-minor.png index 9a55d812..be74063a 100644 Binary files a/static/examples/axis/major-minor.png and b/static/examples/axis/major-minor.png differ diff --git a/static/examples/axis/tick-count.dark.png b/static/examples/axis/tick-count.dark.png index a02aa032..d70b779a 100644 Binary files a/static/examples/axis/tick-count.dark.png and b/static/examples/axis/tick-count.dark.png differ diff --git a/static/examples/axis/tick-count.png b/static/examples/axis/tick-count.png index 7c2fa621..5951816b 100644 Binary files a/static/examples/axis/tick-count.png and b/static/examples/axis/tick-count.png differ diff --git a/static/examples/axis/tick-interval.dark.png b/static/examples/axis/tick-interval.dark.png index b5d0702f..c3b48066 100644 Binary files a/static/examples/axis/tick-interval.dark.png and b/static/examples/axis/tick-interval.dark.png differ diff --git a/static/examples/axis/tick-interval.png b/static/examples/axis/tick-interval.png index 668b4ecb..07b29305 100644 Binary files a/static/examples/axis/tick-interval.png and b/static/examples/axis/tick-interval.png differ diff --git a/static/examples/axis/tick-spacing.dark.png b/static/examples/axis/tick-spacing.dark.png index d3633378..f2e22432 100644 Binary files a/static/examples/axis/tick-spacing.dark.png and b/static/examples/axis/tick-spacing.dark.png differ diff --git a/static/examples/axis/tick-spacing.png b/static/examples/axis/tick-spacing.png index 3de92072..9910a48e 100644 Binary files a/static/examples/axis/tick-spacing.png and b/static/examples/axis/tick-spacing.png differ diff --git a/static/examples/bar/defaults.dark.png b/static/examples/bar/defaults.dark.png index ab28b5c0..4adf4437 100644 Binary files a/static/examples/bar/defaults.dark.png and b/static/examples/bar/defaults.dark.png differ diff --git a/static/examples/bar/defaults.png b/static/examples/bar/defaults.png index d18a27d7..46ecaa07 100644 Binary files a/static/examples/bar/defaults.png and b/static/examples/bar/defaults.png differ diff --git a/static/examples/bar/linked-bars.dark.png b/static/examples/bar/linked-bars.dark.png index d524c33d..94a351bd 100644 Binary files a/static/examples/bar/linked-bars.dark.png and b/static/examples/bar/linked-bars.dark.png differ diff --git a/static/examples/bar/linked-bars.png b/static/examples/bar/linked-bars.png index 92ee7bb8..29d696a6 100644 Binary files a/static/examples/bar/linked-bars.png and b/static/examples/bar/linked-bars.png differ diff --git a/static/examples/bar/shuffled-bars.dark.png b/static/examples/bar/shuffled-bars.dark.png index 0f44c937..94d84c19 100644 Binary files a/static/examples/bar/shuffled-bars.dark.png and b/static/examples/bar/shuffled-bars.dark.png differ diff --git a/static/examples/bar/shuffled-bars.png b/static/examples/bar/shuffled-bars.png index 811bc9b8..58b10787 100644 Binary files a/static/examples/bar/shuffled-bars.png and b/static/examples/bar/shuffled-bars.png differ diff --git a/static/examples/brush/constrained.dark.png b/static/examples/brush/constrained.dark.png index 61b34795..323e21c9 100644 Binary files a/static/examples/brush/constrained.dark.png and b/static/examples/brush/constrained.dark.png differ diff --git a/static/examples/brush/constrained.png b/static/examples/brush/constrained.png index 7ae453d6..4ff38c7a 100644 Binary files a/static/examples/brush/constrained.png and b/static/examples/brush/constrained.png differ diff --git a/static/examples/brush/filter.dark.png b/static/examples/brush/filter.dark.png index 61b34795..1f688f3e 100644 Binary files a/static/examples/brush/filter.dark.png and b/static/examples/brush/filter.dark.png differ diff --git a/static/examples/brush/filter.png b/static/examples/brush/filter.png index 7ae453d6..4ff38c7a 100644 Binary files a/static/examples/brush/filter.png and b/static/examples/brush/filter.png differ diff --git a/static/examples/brush/overview-detail.dark.png b/static/examples/brush/overview-detail.dark.png index 785189a4..f747b734 100644 Binary files a/static/examples/brush/overview-detail.dark.png and b/static/examples/brush/overview-detail.dark.png differ diff --git a/static/examples/brush/overview-detail.png b/static/examples/brush/overview-detail.png index 57346874..b01aff8b 100644 Binary files a/static/examples/brush/overview-detail.png and b/static/examples/brush/overview-detail.png differ diff --git a/static/examples/brush/zoomable-scatter.dark.png b/static/examples/brush/zoomable-scatter.dark.png index 8e319f13..6c148cda 100644 Binary files a/static/examples/brush/zoomable-scatter.dark.png and b/static/examples/brush/zoomable-scatter.dark.png differ diff --git a/static/examples/brush/zoomable-scatter.png b/static/examples/brush/zoomable-scatter.png index aad4b17b..11a521a9 100644 Binary files a/static/examples/brush/zoomable-scatter.png and b/static/examples/brush/zoomable-scatter.png differ diff --git a/static/examples/cell/simpsons.dark.png b/static/examples/cell/simpsons.dark.png new file mode 100644 index 00000000..2347292c Binary files /dev/null and b/static/examples/cell/simpsons.dark.png differ diff --git a/static/examples/cell/simpsons.png b/static/examples/cell/simpsons.png new file mode 100644 index 00000000..3c2e1e82 Binary files /dev/null and b/static/examples/cell/simpsons.png differ diff --git a/static/examples/cell/temperatures.dark.png b/static/examples/cell/temperatures.dark.png new file mode 100644 index 00000000..e76116f2 Binary files /dev/null and b/static/examples/cell/temperatures.dark.png differ diff --git a/static/examples/cell/temperatures.png b/static/examples/cell/temperatures.png new file mode 100644 index 00000000..1ba2d759 Binary files /dev/null and b/static/examples/cell/temperatures.png differ diff --git a/static/examples/custom/custom-svg.dark.png b/static/examples/custom/custom-svg.dark.png new file mode 100644 index 00000000..532ce75f Binary files /dev/null and b/static/examples/custom/custom-svg.dark.png differ diff --git a/static/examples/custom/custom-svg.png b/static/examples/custom/custom-svg.png new file mode 100644 index 00000000..3fa60b3a Binary files /dev/null and b/static/examples/custom/custom-svg.png differ diff --git a/static/examples/dot/0-scatterplot.dark.png b/static/examples/dot/0-scatterplot.dark.png index 87573f69..9fe299e7 100644 Binary files a/static/examples/dot/0-scatterplot.dark.png and b/static/examples/dot/0-scatterplot.dark.png differ diff --git a/static/examples/dot/0-scatterplot.png b/static/examples/dot/0-scatterplot.png index b3c32ab5..2e9fe26d 100644 Binary files a/static/examples/dot/0-scatterplot.png and b/static/examples/dot/0-scatterplot.png differ diff --git a/static/examples/dot/1-colored-scatterplot.dark.png b/static/examples/dot/1-colored-scatterplot.dark.png index 61b7fdb9..fede9a38 100644 Binary files a/static/examples/dot/1-colored-scatterplot.dark.png and b/static/examples/dot/1-colored-scatterplot.dark.png differ diff --git a/static/examples/dot/1-colored-scatterplot.png b/static/examples/dot/1-colored-scatterplot.png index 722099fc..c044c09f 100644 Binary files a/static/examples/dot/1-colored-scatterplot.png and b/static/examples/dot/1-colored-scatterplot.png differ diff --git a/static/examples/dot/2-symbol-channel.dark.png b/static/examples/dot/2-symbol-channel.dark.png index 76ef7a36..a5075fc2 100644 Binary files a/static/examples/dot/2-symbol-channel.dark.png and b/static/examples/dot/2-symbol-channel.dark.png differ diff --git a/static/examples/dot/2-symbol-channel.png b/static/examples/dot/2-symbol-channel.png index aa820406..aedccc05 100644 Binary files a/static/examples/dot/2-symbol-channel.png and b/static/examples/dot/2-symbol-channel.png differ diff --git a/static/examples/dot/3-dot-plot.dark.png b/static/examples/dot/3-dot-plot.dark.png index 1e389202..c79607c9 100644 Binary files a/static/examples/dot/3-dot-plot.dark.png and b/static/examples/dot/3-dot-plot.dark.png differ diff --git a/static/examples/dot/3-dot-plot.png b/static/examples/dot/3-dot-plot.png index da3dddbe..c7b57e4f 100644 Binary files a/static/examples/dot/3-dot-plot.png and b/static/examples/dot/3-dot-plot.png differ diff --git a/static/examples/dot/bubble-matrix.dark.png b/static/examples/dot/bubble-matrix.dark.png index 48198818..2267a34d 100644 Binary files a/static/examples/dot/bubble-matrix.dark.png and b/static/examples/dot/bubble-matrix.dark.png differ diff --git a/static/examples/dot/bubble-matrix.png b/static/examples/dot/bubble-matrix.png index 7968b4be..4ecc4dee 100644 Binary files a/static/examples/dot/bubble-matrix.png and b/static/examples/dot/bubble-matrix.png differ diff --git a/static/examples/geo/custom-proj.dark.png b/static/examples/geo/custom-proj.dark.png index e0c8a66a..eb39bd8b 100644 Binary files a/static/examples/geo/custom-proj.dark.png and b/static/examples/geo/custom-proj.dark.png differ diff --git a/static/examples/geo/custom-proj.png b/static/examples/geo/custom-proj.png index 1eb5e17d..ecfa5f43 100644 Binary files a/static/examples/geo/custom-proj.png and b/static/examples/geo/custom-proj.png differ diff --git a/static/examples/geo/earthquakes.dark.png b/static/examples/geo/earthquakes.dark.png index 45e0f719..6999c49e 100644 Binary files a/static/examples/geo/earthquakes.dark.png and b/static/examples/geo/earthquakes.dark.png differ diff --git a/static/examples/geo/earthquakes.png b/static/examples/geo/earthquakes.png index 71c81b4b..96035aa6 100644 Binary files a/static/examples/geo/earthquakes.png and b/static/examples/geo/earthquakes.png differ diff --git a/static/examples/geo/inset-aspect.dark.png b/static/examples/geo/inset-aspect.dark.png index bbf9f05c..6311faee 100644 Binary files a/static/examples/geo/inset-aspect.dark.png and b/static/examples/geo/inset-aspect.dark.png differ diff --git a/static/examples/geo/inset-aspect.png b/static/examples/geo/inset-aspect.png index 42b043b4..b7e2ca82 100644 Binary files a/static/examples/geo/inset-aspect.png and b/static/examples/geo/inset-aspect.png differ diff --git a/static/examples/geo/us-choropleth-canvas.dark.png b/static/examples/geo/us-choropleth-canvas.dark.png index 6f4b197d..d71c2265 100644 Binary files a/static/examples/geo/us-choropleth-canvas.dark.png and b/static/examples/geo/us-choropleth-canvas.dark.png differ diff --git a/static/examples/geo/us-choropleth-canvas.png b/static/examples/geo/us-choropleth-canvas.png index e641a6f5..d94028c7 100644 Binary files a/static/examples/geo/us-choropleth-canvas.png and b/static/examples/geo/us-choropleth-canvas.png differ diff --git a/static/examples/geo/us-choropleth.dark.png b/static/examples/geo/us-choropleth.dark.png index ab2d6ebe..1f564e57 100644 Binary files a/static/examples/geo/us-choropleth.dark.png and b/static/examples/geo/us-choropleth.dark.png differ diff --git a/static/examples/geo/us-choropleth.png b/static/examples/geo/us-choropleth.png index cbf670b5..f2b7a1bb 100644 Binary files a/static/examples/geo/us-choropleth.png and b/static/examples/geo/us-choropleth.png differ diff --git a/static/examples/grid/clipped-gridlines.dark.png b/static/examples/grid/clipped-gridlines.dark.png index 7f8d43b1..142e0913 100644 Binary files a/static/examples/grid/clipped-gridlines.dark.png and b/static/examples/grid/clipped-gridlines.dark.png differ diff --git a/static/examples/grid/clipped-gridlines.png b/static/examples/grid/clipped-gridlines.png index 1411f8a6..b4ec1b35 100644 Binary files a/static/examples/grid/clipped-gridlines.png and b/static/examples/grid/clipped-gridlines.png differ diff --git a/static/examples/line/apple-stock.dark.png b/static/examples/line/apple-stock.dark.png index da7d685b..83fb74fb 100644 Binary files a/static/examples/line/apple-stock.dark.png and b/static/examples/line/apple-stock.dark.png differ diff --git a/static/examples/line/apple-stock.png b/static/examples/line/apple-stock.png index f1ee0f6b..eac297b2 100644 Binary files a/static/examples/line/apple-stock.png and b/static/examples/line/apple-stock.png differ diff --git a/static/examples/line/geo-line.dark.png b/static/examples/line/geo-line.dark.png index 4de9cb7b..cda4e927 100644 Binary files a/static/examples/line/geo-line.dark.png and b/static/examples/line/geo-line.dark.png differ diff --git a/static/examples/line/geo-line.png b/static/examples/line/geo-line.png index c3bd16a1..8c6d0c04 100644 Binary files a/static/examples/line/geo-line.png and b/static/examples/line/geo-line.png differ diff --git a/static/examples/line/gradient-line.dark.png b/static/examples/line/gradient-line.dark.png index 178d8a12..3b37d115 100644 Binary files a/static/examples/line/gradient-line.dark.png and b/static/examples/line/gradient-line.dark.png differ diff --git a/static/examples/line/gradient-line.png b/static/examples/line/gradient-line.png index 4d025012..273a3900 100644 Binary files a/static/examples/line/gradient-line.png and b/static/examples/line/gradient-line.png differ diff --git a/static/examples/line/line-grouping.dark.png b/static/examples/line/line-grouping.dark.png index aab7a43b..6daf4478 100644 Binary files a/static/examples/line/line-grouping.dark.png and b/static/examples/line/line-grouping.dark.png differ diff --git a/static/examples/line/line-grouping.png b/static/examples/line/line-grouping.png index 74a816a7..1cb2fc8f 100644 Binary files a/static/examples/line/line-grouping.png and b/static/examples/line/line-grouping.png differ diff --git a/static/examples/line/tour-de-france.dark.png b/static/examples/line/tour-de-france.dark.png index aaf9fbe2..7ca1a8a0 100644 Binary files a/static/examples/line/tour-de-france.dark.png and b/static/examples/line/tour-de-france.dark.png differ diff --git a/static/examples/line/tour-de-france.png b/static/examples/line/tour-de-france.png index 00b369e0..7af3db31 100644 Binary files a/static/examples/line/tour-de-france.png and b/static/examples/line/tour-de-france.png differ diff --git a/static/examples/link/metros.dark.png b/static/examples/link/metros.dark.png new file mode 100644 index 00000000..21f16612 Binary files /dev/null and b/static/examples/link/metros.dark.png differ diff --git a/static/examples/link/metros.png b/static/examples/link/metros.png new file mode 100644 index 00000000..e3ca48d6 Binary files /dev/null and b/static/examples/link/metros.png differ diff --git a/static/examples/link/spherical-link.dark.png b/static/examples/link/spherical-link.dark.png new file mode 100644 index 00000000..26dc3cb2 Binary files /dev/null and b/static/examples/link/spherical-link.dark.png differ diff --git a/static/examples/link/spherical-link.png b/static/examples/link/spherical-link.png new file mode 100644 index 00000000..9a936633 Binary files /dev/null and b/static/examples/link/spherical-link.png differ diff --git a/static/examples/rect/simple-rects.dark.png b/static/examples/rect/simple-rects.dark.png new file mode 100644 index 00000000..7be66b87 Binary files /dev/null and b/static/examples/rect/simple-rects.dark.png differ diff --git a/static/examples/rect/simple-rects.png b/static/examples/rect/simple-rects.png new file mode 100644 index 00000000..3e5cd7a2 Binary files /dev/null and b/static/examples/rect/simple-rects.png differ diff --git a/static/examples/rect/stacked-rectx.dark.png b/static/examples/rect/stacked-rectx.dark.png new file mode 100644 index 00000000..e1755eea Binary files /dev/null and b/static/examples/rect/stacked-rectx.dark.png differ diff --git a/static/examples/rect/stacked-rectx.png b/static/examples/rect/stacked-rectx.png new file mode 100644 index 00000000..8fc989e2 Binary files /dev/null and b/static/examples/rect/stacked-rectx.png differ diff --git a/static/examples/rect/stacked-recty.dark.png b/static/examples/rect/stacked-recty.dark.png new file mode 100644 index 00000000..502035b2 Binary files /dev/null and b/static/examples/rect/stacked-recty.dark.png differ diff --git a/static/examples/rect/stacked-recty.png b/static/examples/rect/stacked-recty.png new file mode 100644 index 00000000..ae6c2579 Binary files /dev/null and b/static/examples/rect/stacked-recty.png differ diff --git a/static/examples/regression/cars.dark.png b/static/examples/regression/cars.dark.png index 5ecec0f1..1aa937a4 100644 Binary files a/static/examples/regression/cars.dark.png and b/static/examples/regression/cars.dark.png differ diff --git a/static/examples/regression/cars.png b/static/examples/regression/cars.png index 3cf1c318..1afeaea6 100644 Binary files a/static/examples/regression/cars.png and b/static/examples/regression/cars.png differ diff --git a/static/examples/regression/faceted.dark.png b/static/examples/regression/faceted.dark.png index 52c0ed9f..85286163 100644 Binary files a/static/examples/regression/faceted.dark.png and b/static/examples/regression/faceted.dark.png differ diff --git a/static/examples/regression/faceted.png b/static/examples/regression/faceted.png index 263e21ae..77d2b036 100644 Binary files a/static/examples/regression/faceted.png and b/static/examples/regression/faceted.png differ diff --git a/static/examples/regression/grouped.dark.png b/static/examples/regression/grouped.dark.png index 075b62eb..366bed4a 100644 Binary files a/static/examples/regression/grouped.dark.png and b/static/examples/regression/grouped.dark.png differ diff --git a/static/examples/regression/grouped.png b/static/examples/regression/grouped.png index 2f2c7720..b48ac95b 100644 Binary files a/static/examples/regression/grouped.png and b/static/examples/regression/grouped.png differ diff --git a/static/examples/regression/loess.dark.png b/static/examples/regression/loess.dark.png index a435579c..67652a34 100644 Binary files a/static/examples/regression/loess.dark.png and b/static/examples/regression/loess.dark.png differ diff --git a/static/examples/regression/loess.png b/static/examples/regression/loess.png index abc0be39..8f23cd30 100644 Binary files a/static/examples/regression/loess.png and b/static/examples/regression/loess.png differ diff --git a/static/examples/regression/log.dark.png b/static/examples/regression/log.dark.png index b1c425fa..6ecea135 100644 Binary files a/static/examples/regression/log.dark.png and b/static/examples/regression/log.dark.png differ diff --git a/static/examples/regression/log.png b/static/examples/regression/log.png index aca76213..ab2557ea 100644 Binary files a/static/examples/regression/log.png and b/static/examples/regression/log.png differ diff --git a/static/examples/rule/data-rules.dark.png b/static/examples/rule/data-rules.dark.png new file mode 100644 index 00000000..2be84e05 Binary files /dev/null and b/static/examples/rule/data-rules.dark.png differ diff --git a/static/examples/rule/data-rules.png b/static/examples/rule/data-rules.png new file mode 100644 index 00000000..59332091 Binary files /dev/null and b/static/examples/rule/data-rules.png differ diff --git a/static/examples/rule/min-max.dark.png b/static/examples/rule/min-max.dark.png new file mode 100644 index 00000000..d4dde1ed Binary files /dev/null and b/static/examples/rule/min-max.dark.png differ diff --git a/static/examples/rule/min-max.png b/static/examples/rule/min-max.png new file mode 100644 index 00000000..00b23562 Binary files /dev/null and b/static/examples/rule/min-max.png differ diff --git a/static/examples/rule/y-baseline.dark.png b/static/examples/rule/y-baseline.dark.png new file mode 100644 index 00000000..81cf7d5e Binary files /dev/null and b/static/examples/rule/y-baseline.dark.png differ diff --git a/static/examples/rule/y-baseline.png b/static/examples/rule/y-baseline.png new file mode 100644 index 00000000..9c6830d7 Binary files /dev/null and b/static/examples/rule/y-baseline.png differ diff --git a/static/examples/text/css-var.dark.png b/static/examples/text/css-var.dark.png new file mode 100644 index 00000000..4a85462b Binary files /dev/null and b/static/examples/text/css-var.dark.png differ diff --git a/static/examples/text/css-var.png b/static/examples/text/css-var.png new file mode 100644 index 00000000..08e3b155 Binary files /dev/null and b/static/examples/text/css-var.png differ diff --git a/static/examples/text/frame-anchor.dark.png b/static/examples/text/frame-anchor.dark.png new file mode 100644 index 00000000..a3eec450 Binary files /dev/null and b/static/examples/text/frame-anchor.dark.png differ diff --git a/static/examples/text/frame-anchor.png b/static/examples/text/frame-anchor.png new file mode 100644 index 00000000..df1da446 Binary files /dev/null and b/static/examples/text/frame-anchor.png differ diff --git a/static/examples/vector/spike-map.dark.png b/static/examples/vector/spike-map.dark.png new file mode 100644 index 00000000..2428f70e Binary files /dev/null and b/static/examples/vector/spike-map.dark.png differ diff --git a/static/examples/vector/spike-map.png b/static/examples/vector/spike-map.png new file mode 100644 index 00000000..5e5b6722 Binary files /dev/null and b/static/examples/vector/spike-map.png differ diff --git a/static/examples/vector/wind.dark.png b/static/examples/vector/wind.dark.png new file mode 100644 index 00000000..6b2dcc9d Binary files /dev/null and b/static/examples/vector/wind.dark.png differ diff --git a/static/examples/vector/wind.png b/static/examples/vector/wind.png new file mode 100644 index 00000000..24fbe1ed Binary files /dev/null and b/static/examples/vector/wind.png differ pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy