From b276fc4ee6c1ee4f7dbfc58bf27d3d236ac7f0b8 Mon Sep 17 00:00:00 2001 From: Taku Fukada Date: Thu, 14 Nov 2024 22:22:04 +0900 Subject: [PATCH] draft --- package.json | 14 +- pnpm-lock.yaml | 628 +++++++++--------- .../examples/canvas-source/Canvas.svelte | 58 +- src/content/examples/canvas-source/Circle.ts | 4 +- src/lib/maplibre/context.svelte.ts | 1 + src/lib/maplibre/index.ts | 6 +- src/lib/maplibre/map/Image.svelte | 4 +- src/lib/maplibre/map/MapLibre.svelte | 206 ++++-- src/lib/maplibre/map/Projection.svelte | 2 - src/lib/maplibre/sources/RawSource.svelte | 9 + 10 files changed, 521 insertions(+), 411 deletions(-) diff --git a/package.json b/package.json index 24f3343..d8e22a6 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "devDependencies": { "@playwright/test": "^1.48.2", "@sveltejs/adapter-auto": "^3.3.1", - "@sveltejs/kit": "^2.8.0", + "@sveltejs/kit": "^2.8.1", "@sveltejs/package": "^2.3.7", "@sveltejs/vite-plugin-svelte": "^4.0.0", "@tailwindcss/typography": "^0.5.15", @@ -55,19 +55,19 @@ "maplibre-gl": "5.0.0-pre.6", "mdsvex": "^0.12.3", "prettier": "^3.3.3", - "prettier-plugin-svelte": "^3.2.7", + "prettier-plugin-svelte": "^3.2.8", "prettier-plugin-tailwindcss": "^0.6.8", "publint": "^0.2.12", - "svelte": "^5.1.12", - "svelte-check": "^4.0.5", + "svelte": "^5.1.16", + "svelte-check": "^4.0.7", "tailwind-merge": "^2.5.4", "tailwind-variants": "^0.2.1", "tailwindcss": "^3.4.14", "tailwindcss-animate": "^1.0.7", "typescript": "^5.6.3", - "typescript-eslint": "^8.13.0", - "vite": "^5.4.10", - "vitest": "^2.1.4" + "typescript-eslint": "^8.14.0", + "vite": "^5.4.11", + "vitest": "^2.1.5" }, "packageManager": "pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1", "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ce579b..8029c09 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,23 +10,23 @@ importers: dependencies: mode-watcher: specifier: ^0.4.1 - version: 0.4.1(svelte@5.1.12) + version: 0.4.1(svelte@5.1.16) devDependencies: '@playwright/test': specifier: ^1.48.2 version: 1.48.2 '@sveltejs/adapter-auto': specifier: ^3.3.1 - version: 3.3.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10)) + version: 3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11)) '@sveltejs/kit': - specifier: ^2.8.0 - version: 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10) + specifier: ^2.8.1 + version: 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11) '@sveltejs/package': specifier: ^2.3.7 - version: 2.3.7(svelte@5.1.12)(typescript@5.6.3) + version: 2.3.7(svelte@5.1.16)(typescript@5.6.3) '@sveltejs/vite-plugin-svelte': specifier: ^4.0.0 - version: 4.0.0(svelte@5.1.12)(vite@5.4.10) + version: 4.0.0(svelte@5.1.16)(vite@5.4.11) '@tailwindcss/typography': specifier: ^0.5.15 version: 0.5.15(tailwindcss@3.4.14) @@ -35,10 +35,10 @@ importers: version: 9.6.1 autoprefixer: specifier: ^10.4.20 - version: 10.4.20(postcss@8.4.47) + version: 10.4.20(postcss@8.4.49) bits-ui: specifier: 1.0.0-next.45 - version: 1.0.0-next.45(svelte@5.1.12) + version: 1.0.0-next.45(svelte@5.1.16) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -50,37 +50,37 @@ importers: version: 9.1.0(eslint@9.14.0(jiti@1.21.6)) eslint-plugin-svelte: specifier: ^2.46.0 - version: 2.46.0(eslint@9.14.0(jiti@1.21.6))(svelte@5.1.12) + version: 2.46.0(eslint@9.14.0(jiti@1.21.6))(svelte@5.1.16) globals: specifier: ^15.12.0 version: 15.12.0 lucide-svelte: specifier: ^0.454.0 - version: 0.454.0(svelte@5.1.12) + version: 0.454.0(svelte@5.1.16) maplibre-gl: specifier: 5.0.0-pre.6 version: 5.0.0-pre.6 mdsvex: specifier: ^0.12.3 - version: 0.12.3(svelte@5.1.12) + version: 0.12.3(svelte@5.1.16) prettier: specifier: ^3.3.3 version: 3.3.3 prettier-plugin-svelte: - specifier: ^3.2.7 - version: 3.2.7(prettier@3.3.3)(svelte@5.1.12) + specifier: ^3.2.8 + version: 3.2.8(prettier@3.3.3)(svelte@5.1.16) prettier-plugin-tailwindcss: specifier: ^0.6.8 - version: 0.6.8(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.12))(prettier@3.3.3) + version: 0.6.8(prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.1.16))(prettier@3.3.3) publint: specifier: ^0.2.12 version: 0.2.12 svelte: - specifier: ^5.1.12 - version: 5.1.12 + specifier: ^5.1.16 + version: 5.1.16 svelte-check: - specifier: ^4.0.5 - version: 4.0.5(svelte@5.1.12)(typescript@5.6.3) + specifier: ^4.0.7 + version: 4.0.7(svelte@5.1.16)(typescript@5.6.3) tailwind-merge: specifier: ^2.5.4 version: 2.5.4 @@ -97,14 +97,14 @@ importers: specifier: ^5.6.3 version: 5.6.3 typescript-eslint: - specifier: ^8.13.0 - version: 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + specifier: ^8.14.0 + version: 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) vite: - specifier: ^5.4.10 - version: 5.4.10 + specifier: ^5.4.11 + version: 5.4.11 vitest: - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^2.1.5 + version: 2.1.5 packages: @@ -366,8 +366,8 @@ packages: resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} engines: {node: '>=6.0.0'} - '@maplibre/maplibre-gl-style-spec@21.1.0': - resolution: {integrity: sha512-4w6RMRWzsbR3AymdYIzQcOyot6hPbysEFs3gVsTkj1B7Au8HxHtHfTqY2mXs+WrBV9Ua2oezrRkz9phF5txXVQ==} + '@maplibre/maplibre-gl-style-spec@21.2.0': + resolution: {integrity: sha512-jd+YjJEhR2bg9EhF2UPEIpoK6imPEw0SzWhfUmaVgSWfxw92jKrkBVb3OP29CtDVPY17RYMkZj+kz7CP75kAHw==} hasBin: true '@nodelib/fs.scandir@2.1.5': @@ -394,93 +394,93 @@ packages: '@polka/url@1.0.0-next.28': resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} - '@rollup/rollup-android-arm-eabi@4.24.4': - resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} + '@rollup/rollup-android-arm-eabi@4.26.0': + resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.24.4': - resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} + '@rollup/rollup-android-arm64@4.26.0': + resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.24.4': - resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} + '@rollup/rollup-darwin-arm64@4.26.0': + resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.24.4': - resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} + '@rollup/rollup-darwin-x64@4.26.0': + resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.24.4': - resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + '@rollup/rollup-freebsd-arm64@4.26.0': + resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.24.4': - resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + '@rollup/rollup-freebsd-x64@4.26.0': + resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.24.4': - resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} + '@rollup/rollup-linux-arm-gnueabihf@4.26.0': + resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.24.4': - resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} + '@rollup/rollup-linux-arm-musleabihf@4.26.0': + resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.24.4': - resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} + '@rollup/rollup-linux-arm64-gnu@4.26.0': + resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.24.4': - resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} + '@rollup/rollup-linux-arm64-musl@4.26.0': + resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': - resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': + resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.24.4': - resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} + '@rollup/rollup-linux-riscv64-gnu@4.26.0': + resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.24.4': - resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} + '@rollup/rollup-linux-s390x-gnu@4.26.0': + resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.24.4': - resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} + '@rollup/rollup-linux-x64-gnu@4.26.0': + resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.24.4': - resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} + '@rollup/rollup-linux-x64-musl@4.26.0': + resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.24.4': - resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} + '@rollup/rollup-win32-arm64-msvc@4.26.0': + resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.24.4': - resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} + '@rollup/rollup-win32-ia32-msvc@4.26.0': + resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.24.4': - resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} + '@rollup/rollup-win32-x64-msvc@4.26.0': + resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} cpu: [x64] os: [win32] @@ -489,8 +489,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.8.0': - resolution: {integrity: sha512-HCiWupCuKJQ3aPaC4Xc6lpPdjOOnoGzEiYjOqMqppdtfGtY2ABrx932Vw66ZwS2RGXc0BmZvFvNq5SzqlmDVLg==} + '@sveltejs/kit@2.8.1': + resolution: {integrity: sha512-uuOfFwZ4xvnfPsiTB6a4H1ljjTUksGhWnYq5X/Y9z4x5+3uM2Md8q/YVeHL+7w+mygAwoEFdgKZ8YkUuk+VKww==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -520,8 +520,8 @@ packages: svelte: ^5.0.0-next.96 || ^5.0.0 vite: ^5.0.0 - '@swc/helpers@0.5.13': - resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + '@swc/helpers@0.5.15': + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} '@tailwindcss/typography@0.5.15': resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==} @@ -561,8 +561,8 @@ packages: '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@typescript-eslint/eslint-plugin@8.13.0': - resolution: {integrity: sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==} + '@typescript-eslint/eslint-plugin@8.14.0': + resolution: {integrity: sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -572,8 +572,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.13.0': - resolution: {integrity: sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==} + '@typescript-eslint/parser@8.14.0': + resolution: {integrity: sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -582,12 +582,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.13.0': - resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} + '@typescript-eslint/scope-manager@8.14.0': + resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.13.0': - resolution: {integrity: sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==} + '@typescript-eslint/type-utils@8.14.0': + resolution: {integrity: sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -595,12 +595,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.13.0': - resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} + '@typescript-eslint/types@8.14.0': + resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.13.0': - resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} + '@typescript-eslint/typescript-estree@8.14.0': + resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -608,21 +608,21 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.13.0': - resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} + '@typescript-eslint/utils@8.14.0': + resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.13.0': - resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} + '@typescript-eslint/visitor-keys@8.14.0': + resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitest/expect@2.1.4': - resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} + '@vitest/expect@2.1.5': + resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} - '@vitest/mocker@2.1.4': - resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} + '@vitest/mocker@2.1.5': + resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 @@ -632,20 +632,20 @@ packages: vite: optional: true - '@vitest/pretty-format@2.1.4': - resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + '@vitest/pretty-format@2.1.5': + resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} - '@vitest/runner@2.1.4': - resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} + '@vitest/runner@2.1.5': + resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==} - '@vitest/snapshot@2.1.4': - resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} + '@vitest/snapshot@2.1.5': + resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==} - '@vitest/spy@2.1.4': - resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} + '@vitest/spy@2.1.5': + resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==} - '@vitest/utils@2.1.4': - resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} + '@vitest/utils@2.1.5': + resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -753,8 +753,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001678: - resolution: {integrity: sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==} + caniuse-lite@1.0.30001680: + resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} chai@5.1.2: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} @@ -845,8 +845,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.54: - resolution: {integrity: sha512-TX6vHleisn5i/4pekTyy1sdoLXQNy8VFvBK/fJRXSyp7GUO27KioLTG0Qo5wFjM3ZF4ryKinDo4m+IJ+rwUWSw==} + electron-to-chromium@1.5.58: + resolution: {integrity: sha512-al2l4r+24ZFL7WzyPTlyD0fC33LLzvxqLCwurtBibVPghRGO9hSTl+tis8t1kD7biPiH/en4U0I7o/nQbYeoVA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -854,6 +854,9 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -1134,8 +1137,8 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1473,8 +1476,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} potpack@2.0.0: @@ -1484,8 +1487,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@3.2.7: - resolution: {integrity: sha512-/Dswx/ea0lV34If1eDcG3nulQ63YNr5KPDfMsjbdtpSWOxKKJ7nAc2qlVuYwEvCr4raIuredNoR7K4JCkmTGaQ==} + prettier-plugin-svelte@3.2.8: + resolution: {integrity: sha512-PAHmmU5cGZdnhW4mWhmvxuG2PVbbHIxUuPOdUKvfE+d4Qt2d29iU5VWrPdsaW5YqVEE0nqhlvN4eoKmVMpIF3Q==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 @@ -1601,8 +1604,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.24.4: - resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} + rollup@4.26.0: + resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1655,8 +1658,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1697,8 +1700,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.0.5: - resolution: {integrity: sha512-icBTBZ3ibBaywbXUat3cK6hB5Du+Kq9Z8CRuyLmm64XIe2/r+lQcbuBx/IQgsbrC+kT2jQ0weVpZSSRIPwB6jQ==} + svelte-check@4.0.7: + resolution: {integrity: sha512-24hwo+D5L35HOXsh3Z2sU4WhdDLavlHquYaJhrEqAt+mV1xOVzoMVYThW80n99osDJxyuH+vxjNFkNRL4EvwTg==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: @@ -1720,14 +1723,14 @@ packages: peerDependencies: svelte: ^5.0.0-next.126 - svelte2tsx@0.7.22: - resolution: {integrity: sha512-hf55ujq17ufVpDQlJzaQfRr9EjlLIwGmFlpKq4uYrQAQFw/99q1OcVYyBT6568iJySgBUY9PdccURrORmfetmQ==} + svelte2tsx@0.7.24: + resolution: {integrity: sha512-KbKD+5aqTYdRPfAroA72xc3kEz3Dj0Vq7X3IjHLWbwfco7pwioEx4x/V9lOpKmkHlYh9YNPkqXWlbrH7Cc580A==} peerDependencies: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 - svelte@5.1.12: - resolution: {integrity: sha512-U9BwbSybb9QAKAHg4hl61hVBk97U2QjUKmZa5++QEGoi6Nml6x6cC9KmNT1XObGawToN3DdLpdCs/Z5Yl5IXjQ==} + svelte@5.1.16: + resolution: {integrity: sha512-QcY+om9r8+uTcSfeFuv8++ExdfwVCKeT+Y7GPSZ6rQPczvy62BMtvMoi0rScabgv+upGE5jxKjd7M4u23+AjGA==} engines: {node: '>=18'} tailwind-merge@2.5.4: @@ -1807,8 +1810,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.13.0: - resolution: {integrity: sha512-vIMpDRJrQd70au2G8w34mPps0ezFSPMEX4pXkTzUkrNbRX+36ais2ksGWN0esZL+ZMaFJEneOBHzCgSqle7DHw==} + typescript-eslint@8.14.0: + resolution: {integrity: sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1839,13 +1842,13 @@ packages: vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - vite-node@2.1.4: - resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} + vite-node@2.1.5: + resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.4.10: - resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} + vite@5.4.11: + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -1883,15 +1886,15 @@ packages: vite: optional: true - vitest@2.1.4: - resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} + vitest@2.1.5: + resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 2.1.4 - '@vitest/ui': 2.1.4 + '@vitest/browser': 2.1.5 + '@vitest/ui': 2.1.5 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2100,7 +2103,7 @@ snapshots: '@internationalized/date@3.5.6': dependencies: - '@swc/helpers': 0.5.13 + '@swc/helpers': 0.5.15 '@isaacs/cliui@8.0.2': dependencies: @@ -2147,7 +2150,7 @@ snapshots: '@mapbox/whoots-js@3.1.0': {} - '@maplibre/maplibre-gl-style-spec@21.1.0': + '@maplibre/maplibre-gl-style-spec@21.2.0': dependencies: '@mapbox/jsonlint-lines-primitives': 2.0.2 '@mapbox/unitbezier': 0.0.1 @@ -2178,68 +2181,68 @@ snapshots: '@polka/url@1.0.0-next.28': {} - '@rollup/rollup-android-arm-eabi@4.24.4': + '@rollup/rollup-android-arm-eabi@4.26.0': optional: true - '@rollup/rollup-android-arm64@4.24.4': + '@rollup/rollup-android-arm64@4.26.0': optional: true - '@rollup/rollup-darwin-arm64@4.24.4': + '@rollup/rollup-darwin-arm64@4.26.0': optional: true - '@rollup/rollup-darwin-x64@4.24.4': + '@rollup/rollup-darwin-x64@4.26.0': optional: true - '@rollup/rollup-freebsd-arm64@4.24.4': + '@rollup/rollup-freebsd-arm64@4.26.0': optional: true - '@rollup/rollup-freebsd-x64@4.24.4': + '@rollup/rollup-freebsd-x64@4.26.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + '@rollup/rollup-linux-arm-gnueabihf@4.26.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.24.4': + '@rollup/rollup-linux-arm-musleabihf@4.26.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.24.4': + '@rollup/rollup-linux-arm64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.24.4': + '@rollup/rollup-linux-arm64-musl@4.26.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.24.4': + '@rollup/rollup-linux-riscv64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.24.4': + '@rollup/rollup-linux-s390x-gnu@4.26.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.24.4': + '@rollup/rollup-linux-x64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-x64-musl@4.24.4': + '@rollup/rollup-linux-x64-musl@4.26.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.24.4': + '@rollup/rollup-win32-arm64-msvc@4.26.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.24.4': + '@rollup/rollup-win32-ia32-msvc@4.26.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.24.4': + '@rollup/rollup-win32-x64-msvc@4.26.0': optional: true - '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10))': + '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11))': dependencies: - '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10) + '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11) import-meta-resolve: 4.1.0 - '@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10)': + '@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11)': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.12)(vite@5.4.10) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.16)(vite@5.4.11) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -2251,44 +2254,44 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.0 - svelte: 5.1.12 + svelte: 5.1.16 tiny-glob: 0.2.9 - vite: 5.4.10 + vite: 5.4.11 - '@sveltejs/package@2.3.7(svelte@5.1.12)(typescript@5.6.3)': + '@sveltejs/package@2.3.7(svelte@5.1.16)(typescript@5.6.3)': dependencies: chokidar: 4.0.1 kleur: 4.1.5 sade: 1.8.1 semver: 7.6.3 - svelte: 5.1.12 - svelte2tsx: 0.7.22(svelte@5.1.12)(typescript@5.6.3) + svelte: 5.1.16 + svelte2tsx: 0.7.24(svelte@5.1.16)(typescript@5.6.3) transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10)': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11)': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.12)(vite@5.4.10) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.16)(vite@5.4.11) debug: 4.3.7 - svelte: 5.1.12 - vite: 5.4.10 + svelte: 5.1.16 + vite: 5.4.11 transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10)': + '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11)': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.12)(vite@5.4.10))(svelte@5.1.12)(vite@5.4.10) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.16)(vite@5.4.11))(svelte@5.1.16)(vite@5.4.11) debug: 4.3.7 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.12 - svelte: 5.1.12 - vite: 5.4.10 - vitefu: 1.0.3(vite@5.4.10) + svelte: 5.1.16 + vite: 5.4.11 + vitefu: 1.0.3(vite@5.4.11) transitivePeerDependencies: - supports-color - '@swc/helpers@0.5.13': + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -2333,14 +2336,14 @@ snapshots: '@types/unist@2.0.11': {} - '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.13.0 - '@typescript-eslint/type-utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.14.0 eslint: 9.14.0(jiti@1.21.6) graphemer: 1.4.0 ignore: 5.3.2 @@ -2351,12 +2354,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 8.13.0 - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.14.0 debug: 4.3.7 eslint: 9.14.0(jiti@1.21.6) optionalDependencies: @@ -2364,15 +2367,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.13.0': + '@typescript-eslint/scope-manager@8.14.0': dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 - '@typescript-eslint/type-utils@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) debug: 4.3.7 ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: @@ -2381,12 +2384,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.13.0': {} + '@typescript-eslint/types@8.14.0': {} - '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -2398,59 +2401,59 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': + '@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.13.0 - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) eslint: 9.14.0(jiti@1.21.6) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.13.0': + '@typescript-eslint/visitor-keys@8.14.0': dependencies: - '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/types': 8.14.0 eslint-visitor-keys: 3.4.3 - '@vitest/expect@2.1.4': + '@vitest/expect@2.1.5': dependencies: - '@vitest/spy': 2.1.4 - '@vitest/utils': 2.1.4 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.10)': + '@vitest/mocker@2.1.5(vite@5.4.11)': dependencies: - '@vitest/spy': 2.1.4 + '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.10 + vite: 5.4.11 - '@vitest/pretty-format@2.1.4': + '@vitest/pretty-format@2.1.5': dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@2.1.4': + '@vitest/runner@2.1.5': dependencies: - '@vitest/utils': 2.1.4 + '@vitest/utils': 2.1.5 pathe: 1.1.2 - '@vitest/snapshot@2.1.4': + '@vitest/snapshot@2.1.5': dependencies: - '@vitest/pretty-format': 2.1.4 + '@vitest/pretty-format': 2.1.5 magic-string: 0.30.12 pathe: 1.1.2 - '@vitest/spy@2.1.4': + '@vitest/spy@2.1.5': dependencies: tinyspy: 3.0.2 - '@vitest/utils@2.1.4': + '@vitest/utils@2.1.5': dependencies: - '@vitest/pretty-format': 2.1.4 + '@vitest/pretty-format': 2.1.5 loupe: 3.1.2 tinyrainbow: 1.2.0 @@ -2496,14 +2499,14 @@ snapshots: assertion-error@2.0.1: {} - autoprefixer@10.4.20(postcss@8.4.47): + autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001678 + caniuse-lite: 1.0.30001680 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 axobject-query@4.1.0: {} @@ -2512,15 +2515,15 @@ snapshots: binary-extensions@2.3.0: {} - bits-ui@1.0.0-next.45(svelte@5.1.12): + bits-ui@1.0.0-next.45(svelte@5.1.16): dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/dom': 1.6.12 '@internationalized/date': 3.5.6 esm-env: 1.1.4 - runed: 0.15.3(svelte@5.1.12) - svelte: 5.1.12 - svelte-toolbelt: 0.4.6(svelte@5.1.12) + runed: 0.15.3(svelte@5.1.16) + svelte: 5.1.16 + svelte-toolbelt: 0.4.6(svelte@5.1.16) brace-expansion@1.1.11: dependencies: @@ -2537,8 +2540,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001678 - electron-to-chromium: 1.5.54 + caniuse-lite: 1.0.30001680 + electron-to-chromium: 1.5.58 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -2548,7 +2551,7 @@ snapshots: camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001678: {} + caniuse-lite@1.0.30001680: {} chai@5.1.2: dependencies: @@ -2625,12 +2628,14 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.54: {} + electron-to-chromium@1.5.58: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} + es-module-lexer@1.5.4: {} + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -2670,7 +2675,7 @@ snapshots: dependencies: eslint: 9.14.0(jiti@1.21.6) - eslint-plugin-svelte@2.46.0(eslint@9.14.0(jiti@1.21.6))(svelte@5.1.12): + eslint-plugin-svelte@2.46.0(eslint@9.14.0(jiti@1.21.6))(svelte@5.1.16): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@1.21.6)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -2678,14 +2683,14 @@ snapshots: eslint-compat-utils: 0.5.1(eslint@9.14.0(jiti@1.21.6)) esutils: 2.0.3 known-css-properties: 0.35.0 - postcss: 8.4.47 - postcss-load-config: 3.1.4(postcss@8.4.47) - postcss-safe-parser: 6.0.0(postcss@8.4.47) + postcss: 8.4.49 + postcss-load-config: 3.1.4(postcss@8.4.49) + postcss-safe-parser: 6.0.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 semver: 7.6.3 - svelte-eslint-parser: 0.43.0(svelte@5.1.12) + svelte-eslint-parser: 0.43.0(svelte@5.1.16) optionalDependencies: - svelte: 5.1.12 + svelte: 5.1.16 transitivePeerDependencies: - ts-node @@ -2938,7 +2943,7 @@ snapshots: is-number@7.0.0: {} - is-reference@3.0.2: + is-reference@3.0.3: dependencies: '@types/estree': 1.0.6 @@ -3009,9 +3014,9 @@ snapshots: lru-cache@10.4.3: {} - lucide-svelte@0.454.0(svelte@5.1.12): + lucide-svelte@0.454.0(svelte@5.1.16): dependencies: - svelte: 5.1.12 + svelte: 5.1.16 magic-string@0.30.12: dependencies: @@ -3026,7 +3031,7 @@ snapshots: '@mapbox/unitbezier': 0.0.1 '@mapbox/vector-tile': 1.3.1 '@mapbox/whoots-js': 3.1.0 - '@maplibre/maplibre-gl-style-spec': 21.1.0 + '@maplibre/maplibre-gl-style-spec': 21.2.0 '@types/geojson': 7946.0.14 '@types/geojson-vt': 3.2.5 '@types/mapbox__point-geometry': 0.1.4 @@ -3046,12 +3051,12 @@ snapshots: tinyqueue: 3.0.0 vt-pbf: 3.1.3 - mdsvex@0.12.3(svelte@5.1.12): + mdsvex@0.12.3(svelte@5.1.16): dependencies: '@types/unist': 2.0.11 prism-svelte: 0.4.7 prismjs: 1.29.0 - svelte: 5.1.12 + svelte: 5.1.16 vfile-message: 2.0.4 merge2@1.4.1: {} @@ -3077,9 +3082,9 @@ snapshots: minipass@7.1.2: {} - mode-watcher@0.4.1(svelte@5.1.12): + mode-watcher@0.4.1(svelte@5.1.16): dependencies: - svelte: 5.1.12 + svelte: 5.1.16 mri@1.2.0: {} @@ -3195,44 +3200,44 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - postcss-import@15.1.0(postcss@8.4.47): + postcss-import@15.1.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.47): + postcss-js@4.0.1(postcss@8.4.49): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.47 + postcss: 8.4.49 - postcss-load-config@3.1.4(postcss@8.4.47): + postcss-load-config@3.1.4(postcss@8.4.49): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.47): + postcss-load-config@4.0.2(postcss@8.4.49): dependencies: lilconfig: 3.1.2 yaml: 2.6.0 optionalDependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-nested@6.2.0(postcss@8.4.47): + postcss-nested@6.2.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser: 6.1.2 - postcss-safe-parser@6.0.0(postcss@8.4.47): + postcss-safe-parser@6.0.0(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 - postcss-scss@4.0.9(postcss@8.4.47): + postcss-scss@4.0.9(postcss@8.4.49): dependencies: - postcss: 8.4.47 + postcss: 8.4.49 postcss-selector-parser@6.0.10: dependencies: @@ -3246,7 +3251,7 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.4.47: + postcss@8.4.49: dependencies: nanoid: 3.3.7 picocolors: 1.1.1 @@ -3256,16 +3261,16 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.12): + prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.1.16): dependencies: prettier: 3.3.3 - svelte: 5.1.12 + svelte: 5.1.16 - prettier-plugin-tailwindcss@0.6.8(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.12))(prettier@3.3.3): + prettier-plugin-tailwindcss@0.6.8(prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.1.16))(prettier@3.3.3): dependencies: prettier: 3.3.3 optionalDependencies: - prettier-plugin-svelte: 3.2.7(prettier@3.3.3)(svelte@5.1.12) + prettier-plugin-svelte: 3.2.8(prettier@3.3.3)(svelte@5.1.16) prettier@3.3.3: {} @@ -3311,38 +3316,38 @@ snapshots: reusify@1.0.4: {} - rollup@4.24.4: + rollup@4.26.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.24.4 - '@rollup/rollup-android-arm64': 4.24.4 - '@rollup/rollup-darwin-arm64': 4.24.4 - '@rollup/rollup-darwin-x64': 4.24.4 - '@rollup/rollup-freebsd-arm64': 4.24.4 - '@rollup/rollup-freebsd-x64': 4.24.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 - '@rollup/rollup-linux-arm-musleabihf': 4.24.4 - '@rollup/rollup-linux-arm64-gnu': 4.24.4 - '@rollup/rollup-linux-arm64-musl': 4.24.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 - '@rollup/rollup-linux-riscv64-gnu': 4.24.4 - '@rollup/rollup-linux-s390x-gnu': 4.24.4 - '@rollup/rollup-linux-x64-gnu': 4.24.4 - '@rollup/rollup-linux-x64-musl': 4.24.4 - '@rollup/rollup-win32-arm64-msvc': 4.24.4 - '@rollup/rollup-win32-ia32-msvc': 4.24.4 - '@rollup/rollup-win32-x64-msvc': 4.24.4 + '@rollup/rollup-android-arm-eabi': 4.26.0 + '@rollup/rollup-android-arm64': 4.26.0 + '@rollup/rollup-darwin-arm64': 4.26.0 + '@rollup/rollup-darwin-x64': 4.26.0 + '@rollup/rollup-freebsd-arm64': 4.26.0 + '@rollup/rollup-freebsd-x64': 4.26.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 + '@rollup/rollup-linux-arm-musleabihf': 4.26.0 + '@rollup/rollup-linux-arm64-gnu': 4.26.0 + '@rollup/rollup-linux-arm64-musl': 4.26.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 + '@rollup/rollup-linux-riscv64-gnu': 4.26.0 + '@rollup/rollup-linux-s390x-gnu': 4.26.0 + '@rollup/rollup-linux-x64-gnu': 4.26.0 + '@rollup/rollup-linux-x64-musl': 4.26.0 + '@rollup/rollup-win32-arm64-msvc': 4.26.0 + '@rollup/rollup-win32-ia32-msvc': 4.26.0 + '@rollup/rollup-win32-x64-msvc': 4.26.0 fsevents: 2.3.3 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - runed@0.15.3(svelte@5.1.12): + runed@0.15.3(svelte@5.1.16): dependencies: esm-env: 1.1.4 - svelte: 5.1.12 + svelte: 5.1.16 rw@1.3.3: {} @@ -3374,7 +3379,7 @@ snapshots: stackback@0.0.2: {} - std-env@3.7.0: {} + std-env@3.8.0: {} string-width@4.2.3: dependencies: @@ -3422,42 +3427,42 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.0.5(svelte@5.1.12)(typescript@5.6.3): + svelte-check@4.0.7(svelte@5.1.16)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.1 fdir: 6.4.2 picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.1.12 + svelte: 5.1.16 typescript: 5.6.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@0.43.0(svelte@5.1.12): + svelte-eslint-parser@0.43.0(svelte@5.1.16): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - postcss: 8.4.47 - postcss-scss: 4.0.9(postcss@8.4.47) + postcss: 8.4.49 + postcss-scss: 4.0.9(postcss@8.4.49) optionalDependencies: - svelte: 5.1.12 + svelte: 5.1.16 - svelte-toolbelt@0.4.6(svelte@5.1.12): + svelte-toolbelt@0.4.6(svelte@5.1.16): dependencies: clsx: 2.1.1 style-to-object: 1.0.8 - svelte: 5.1.12 + svelte: 5.1.16 - svelte2tsx@0.7.22(svelte@5.1.12)(typescript@5.6.3): + svelte2tsx@0.7.24(svelte@5.1.16)(typescript@5.6.3): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 5.1.12 + svelte: 5.1.16 typescript: 5.6.3 - svelte@5.1.12: + svelte@5.1.16: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -3468,7 +3473,7 @@ snapshots: axobject-query: 4.1.0 esm-env: 1.1.4 esrap: 1.2.2 - is-reference: 3.0.2 + is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.12 zimmerframe: 1.1.2 @@ -3500,11 +3505,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.1 - postcss: 8.4.47 - postcss-import: 15.1.0(postcss@8.4.47) - postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47) - postcss-nested: 6.2.0(postcss@8.4.47) + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 sucrase: 3.35.0 @@ -3556,11 +3561,11 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3): + typescript-eslint@8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/parser': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -3590,12 +3595,13 @@ snapshots: '@types/unist': 2.0.11 unist-util-stringify-position: 2.0.3 - vite-node@2.1.4: + vite-node@2.1.5: dependencies: cac: 6.7.14 debug: 4.3.7 + es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.10 + vite: 5.4.11 transitivePeerDependencies: - '@types/node' - less @@ -3607,39 +3613,39 @@ snapshots: - supports-color - terser - vite@5.4.10: + vite@5.4.11: dependencies: esbuild: 0.21.5 - postcss: 8.4.47 - rollup: 4.24.4 + postcss: 8.4.49 + rollup: 4.26.0 optionalDependencies: fsevents: 2.3.3 - vitefu@1.0.3(vite@5.4.10): + vitefu@1.0.3(vite@5.4.11): optionalDependencies: - vite: 5.4.10 + vite: 5.4.11 - vitest@2.1.4: + vitest@2.1.5: dependencies: - '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.10) - '@vitest/pretty-format': 2.1.4 - '@vitest/runner': 2.1.4 - '@vitest/snapshot': 2.1.4 - '@vitest/spy': 2.1.4 - '@vitest/utils': 2.1.4 + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(vite@5.4.11) + '@vitest/pretty-format': 2.1.5 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 chai: 5.1.2 debug: 4.3.7 expect-type: 1.1.0 magic-string: 0.30.12 pathe: 1.1.2 - std-env: 3.7.0 + std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.10 - vite-node: 2.1.4 + vite: 5.4.11 + vite-node: 2.1.5 why-is-node-running: 2.3.0 transitivePeerDependencies: - less diff --git a/src/content/examples/canvas-source/Canvas.svelte b/src/content/examples/canvas-source/Canvas.svelte index 300b851..c64c128 100644 --- a/src/content/examples/canvas-source/Canvas.svelte +++ b/src/content/examples/canvas-source/Canvas.svelte @@ -1,52 +1,56 @@ - + (animate = !animate)} > diff --git a/src/content/examples/canvas-source/Circle.ts b/src/content/examples/canvas-source/Circle.ts index b040618..3c9d40b 100644 --- a/src/content/examples/canvas-source/Circle.ts +++ b/src/content/examples/canvas-source/Circle.ts @@ -16,10 +16,10 @@ export class Circle { } update(ctx: CanvasRenderingContext2D) { - if (this.x + this.radius > 400 || this.x - this.radius < 0) { + if (this.x + this.radius > ctx.canvas.width || this.x - this.radius < 0) { this.dx = -this.dx; } - if (this.y + this.radius > 400 || this.y - this.radius < 0) { + if (this.y + this.radius > ctx.canvas.height || this.y - this.radius < 0) { this.dy = -this.dy; } this.x += this.dx; diff --git a/src/lib/maplibre/context.svelte.ts b/src/lib/maplibre/context.svelte.ts index af8c4f5..d7203d0 100644 --- a/src/lib/maplibre/context.svelte.ts +++ b/src/lib/maplibre/context.svelte.ts @@ -48,6 +48,7 @@ class MapContext { this.map?.removeSource(id); } + // Preserves user styles when the base style changes setStyle(style: string | StyleSpecification | null) { const { userSources: addedSources, userLayers: addedLayers } = this; if (!style) { diff --git a/src/lib/maplibre/index.ts b/src/lib/maplibre/index.ts index c108ef2..f4a4894 100644 --- a/src/lib/maplibre/index.ts +++ b/src/lib/maplibre/index.ts @@ -7,9 +7,6 @@ export { default as Light } from './map/Light.svelte'; export { default as Projection } from './map/Projection.svelte'; export { default as Terrain } from './map/Terrain.svelte'; -// resources -export { default as Image } from './map/Image.svelte'; - // sources export { default as VectorTileSource } from './sources/VectorTileSource.svelte'; export { default as RasterTileSource } from './sources/RasterTileSource.svelte'; @@ -30,6 +27,9 @@ export { default as RasterLayer } from './layers/RasterLayer.svelte'; export { default as HillshadeLayer } from './layers/HillshadeLayer.svelte'; export { default as BackgroundLayer } from './layers/BackgroundLayer.svelte'; +// resources +export { default as Image } from './map/Image.svelte'; + // markers export { default as Marker } from './markers/Marker.svelte'; export { default as Popup } from './markers/Popup.svelte'; diff --git a/src/lib/maplibre/map/Image.svelte b/src/lib/maplibre/map/Image.svelte index 632feee..6cf300f 100644 --- a/src/lib/maplibre/map/Image.svelte +++ b/src/lib/maplibre/map/Image.svelte @@ -25,9 +25,9 @@ } if (!image) { - mapCtx.map?.addImage(id, { width, height, data }); + mapCtx.map.addImage(id, { width, height, data }); } else { - mapCtx.map?.updateImage(id, { width, height, data }); + mapCtx.map.updateImage(id, { width, height, data }); } }); diff --git a/src/lib/maplibre/map/MapLibre.svelte b/src/lib/maplibre/map/MapLibre.svelte index 7378452..c608fae 100644 --- a/src/lib/maplibre/map/MapLibre.svelte +++ b/src/lib/maplibre/map/MapLibre.svelte @@ -90,9 +90,11 @@ oncooperativegestureprevented, onprojectiontransition, - // others + // Others padding = { top: 0, bottom: 0, left: 0, right: 0 }, fov, + + // Accessors showTileBoundaries, showPadding, showCollisionBoxes, @@ -100,9 +102,7 @@ repaint, vertices, - // map options - antialias, - attributionControl, + // Map Options (reactive) bearing = $bindable(undefined), bearingSnap, center = $bindable(undefined), @@ -121,6 +121,21 @@ style = { version: 8, sources: {}, layers: [] }, transformRequest, zoom = $bindable(undefined), + + // Map Options (properties) + boxZoom, + cancelPendingTileRequestsWhileZooming, + cooperativeGestures, + doubleClickZoom, + dragPan, + dragRotate, + keyboard, + scrollZoom, + touchPitch, + touchZoomRotate, + transformCameraUpdate, + + // Map Options (others) ...restOptions }: Props = $props(); @@ -134,8 +149,7 @@ return; } const options: MapOptions = { - antialias, - attributionControl, + // Map Options (reactive) bearing, bearingSnap, center, @@ -155,6 +169,19 @@ style, transformRequest, zoom, + // Map Options (Map properties) + boxZoom, + cancelPendingTileRequestsWhileZooming, + cooperativeGestures, + doubleClickZoom, + dragPan, + dragRotate, + keyboard, + scrollZoom, + touchPitch, + touchZoomRotate, + transformCameraUpdate, + // Map Options (others) ...restOptions }; const filteredOptions: MapOptions = { @@ -198,6 +225,7 @@ }); }); + // Events $effect(() => resetEventListener(map, 'boxzoomcancel', onboxzoomcancel)); $effect(() => resetEventListener(map, 'boxzoomend', onboxzoomend)); $effect(() => resetEventListener(map, 'boxzoomstart', onboxzoomstart)); @@ -254,22 +282,63 @@ let firstRun = true; $effect(() => { - if (style && !firstRun) { - mapCtx.setStyle(style); + // TODO: differential update ? + className; + const classNames = (className ?? '')?.split(/\s/).filter(Boolean); + if (container && !firstRun) { + for (const className of classNames) { + container.classList.add(className); + } } + return () => { + if (container) { + for (const className of classNames) { + container.classList.remove(className); + } + } + }; }); + + // Others $effect(() => { - maxZoom; - if (!firstRun) { - map?.setMaxZoom(maxZoom); + if (fov !== undefined) { + map?.setVerticalFieldOfView(fov); } }); + + // Accessors $effect(() => { - minZoom; - if (!firstRun) { - map?.setMinZoom(minZoom); + if (map && showTileBoundaries !== undefined) { + map.showTileBoundaries = showTileBoundaries; + } + }); + $effect(() => { + if (map && showPadding !== undefined) { + map.showPadding = showPadding; + } + }); + $effect(() => { + if (map && showCollisionBoxes !== undefined) { + map.showCollisionBoxes = showCollisionBoxes; + } + }); + $effect(() => { + if (map && showOverdrawInspector !== undefined) { + map.showOverdrawInspector = showOverdrawInspector; } }); + $effect(() => { + if (map && repaint !== undefined) { + map.repaint = repaint; + } + }); + $effect(() => { + if (map && vertices !== undefined) { + map.vertices = vertices; + } + }); + + // Map Options (reactive) $effect(() => { center; zoom; @@ -326,17 +395,16 @@ } } }); - $effect(() => { - minPitch; - if (firstRun) { - map?.setMinPitch(minPitch); + bearingSnap; + if (map && bearingSnap && !firstRun) { + map._bearingSnap = bearingSnap; } }); $effect(() => { - maxPitch; - if (firstRun) { - map?.setMaxPitch(maxPitch); + centerClampedToGround; + if (!firstRun) { + map?.setCenterClampedToGround(centerClampedToGround ?? false); } }); $effect(() => { @@ -346,85 +414,109 @@ } }); $effect(() => { - centerClampedToGround; + maxPitch; + if (firstRun) { + map?.setMaxPitch(maxPitch); + } + }); + $effect(() => { + maxZoom; if (!firstRun) { - map?.setCenterClampedToGround(centerClampedToGround ?? false); + map?.setMaxZoom(maxZoom); } }); $effect(() => { - if (fov !== undefined) { - map?.setVerticalFieldOfView(fov); + minPitch; + if (firstRun) { + map?.setMinPitch(minPitch); } }); - $effect(() => { - transformRequest; + minZoom; if (!firstRun) { - map?.setTransformRequest(transformRequest as RequestTransformFunction); + map?.setMinZoom(minZoom); } }); - $effect(() => { pixelRatio; if (!firstRun) { map?.setPixelRatio(pixelRatio ?? (null as unknown as number)); } }); - $effect(() => { renderWorldCopies; if (!firstRun) { map?.setRenderWorldCopies(renderWorldCopies ?? null); } }); + $effect(() => { + if (style && !firstRun) { + mapCtx.setStyle(style); + } + }); + $effect(() => { + transformRequest; + if (!firstRun) { + map?.setTransformRequest(transformRequest as RequestTransformFunction); + } + }); + // Map Options (Map properties) $effect(() => { - if (map && showTileBoundaries !== undefined) { - map.showTileBoundaries = showTileBoundaries; + if (boxZoom !== undefined && !firstRun) { + boxZoom ? map?.boxZoom.enable() : map?.boxZoom.disable(); } }); $effect(() => { - if (map && showPadding !== undefined) { - map.showPadding = showPadding; + if (map && cancelPendingTileRequestsWhileZooming !== undefined && !firstRun) { + map.cancelPendingTileRequestsWhileZooming = cancelPendingTileRequestsWhileZooming; } }); $effect(() => { - if (map && showCollisionBoxes !== undefined) { - map.showCollisionBoxes = showCollisionBoxes; + if (cooperativeGestures !== undefined && !firstRun) { + cooperativeGestures ? map?.cooperativeGestures.enable() : map?.cooperativeGestures.disable(); } }); $effect(() => { - if (map && showOverdrawInspector !== undefined) { - map.showOverdrawInspector = showOverdrawInspector; + if (doubleClickZoom !== undefined && !firstRun) { + doubleClickZoom ? map?.doubleClickZoom.enable() : map?.doubleClickZoom.disable(); } }); $effect(() => { - if (map && repaint !== undefined) { - map.repaint = repaint; + if (dragPan !== undefined && !firstRun) { + dragPan ? map?.dragPan.enable(dragPan) : map?.dragPan.disable(); } }); $effect(() => { - if (map && vertices !== undefined) { - map.vertices = vertices; + if (dragRotate !== undefined && !firstRun) { + dragRotate ? map?.dragRotate.enable() : map?.dragRotate.disable(); } }); - $effect(() => { - // TODO: differential update ? - className; - const classNames = (className ?? '')?.split(/\s/).filter(Boolean); - if (container && !firstRun) { - for (const className of classNames) { - container.classList.add(className); - } + if (keyboard !== undefined && !firstRun) { + keyboard ? map?.keyboard.enable() : map?.keyboard.disable(); + } + }); + $effect(() => { + if (scrollZoom !== undefined && !firstRun) { + scrollZoom ? map?.scrollZoom.enable(scrollZoom) : map?.scrollZoom.disable(); + } + }); + $effect(() => { + if (touchPitch !== undefined && !firstRun) { + touchPitch ? map?.touchPitch.enable(touchPitch) : map?.touchPitch.disable(); + } + }); + $effect(() => { + if (touchZoomRotate !== undefined && !firstRun) { + touchZoomRotate ? map?.touchZoomRotate.enable(touchZoomRotate) : map?.touchZoomRotate.disable(); + } + }); + $effect(() => { + transformCameraUpdate; + if (map && !firstRun) { + map.transformCameraUpdate = transformCameraUpdate ?? null; } - return () => { - if (container) { - for (const className of classNames) { - container.classList.remove(className); - } - } - }; }); $effect(() => { diff --git a/src/lib/maplibre/map/Projection.svelte b/src/lib/maplibre/map/Projection.svelte index c693420..266683e 100644 --- a/src/lib/maplibre/map/Projection.svelte +++ b/src/lib/maplibre/map/Projection.svelte @@ -9,8 +9,6 @@ const mapCtx = getMapContext(); if (!mapCtx.map) throw new Error('Map instance is not initialized.'); - const prevProjection = mapCtx.map.getProjection(); - $effect(() => { mapCtx.userProjection = $state.snapshot(spec); mapCtx.map?.setProjection(mapCtx.userProjection); diff --git a/src/lib/maplibre/sources/RawSource.svelte b/src/lib/maplibre/sources/RawSource.svelte index dd5668f..627f2f1 100644 --- a/src/lib/maplibre/sources/RawSource.svelte +++ b/src/lib/maplibre/sources/RawSource.svelte @@ -119,6 +119,15 @@ } } }); + $effect(() => { + if (source && spec.type === 'canvas') { + spec.animate; + if (spec.animate !== undefined && !firstRun) { + const cs = source as CanvasSource; + spec.animate ? cs.play() : cs.pause(); + } + } + }); $effect(() => { firstRun = false;