diff --git a/package.json b/package.json index 72a97907..63cba8e0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "leim-maps", "type": "module", - "version": "1.4.10", + "version": "1.4.11", "scripts": { "dev": "astro dev", "start": "astro dev", @@ -15,11 +15,11 @@ "@nanostores/persistent": "1.0.0", "@nanostores/vue": "^1.0.0", "@types/leaflet": "^1.9.18", - "@vueuse/core": "^13.3.0", - "astro": "^5.9.3", + "@vueuse/core": "^13.4.0", + "astro": "^5.10.0", "nanostores": "^1.0.1", "radix-vue": "^1.9.17", - "vue": "^3.5.16" + "vue": "^3.5.17" }, "devDependencies": { "sass": "^1.89.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7343d45..1311ca90 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,31 +13,31 @@ importers: version: 3.4.1 '@astrojs/vue': specifier: ^5.1.0 - version: 5.1.0(@types/node@24.0.1)(astro@5.9.3(@types/node@24.0.1)(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(typescript@5.7.2))(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(vue@3.5.16(typescript@5.7.2)) + version: 5.1.0(@types/node@24.0.3)(astro@5.10.0(@types/node@24.0.3)(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(typescript@5.7.2))(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(vue@3.5.17(typescript@5.7.2)) '@nanostores/persistent': specifier: 1.0.0 version: 1.0.0(nanostores@1.0.1) '@nanostores/vue': specifier: ^1.0.0 - version: 1.0.0(nanostores@1.0.1)(vue@3.5.16(typescript@5.7.2)) + version: 1.0.0(nanostores@1.0.1)(vue@3.5.17(typescript@5.7.2)) '@types/leaflet': specifier: ^1.9.18 version: 1.9.18 '@vueuse/core': - specifier: ^13.3.0 - version: 13.3.0(vue@3.5.16(typescript@5.7.2)) + specifier: ^13.4.0 + version: 13.4.0(vue@3.5.17(typescript@5.7.2)) astro: - specifier: ^5.9.3 - version: 5.9.3(@types/node@24.0.1)(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(typescript@5.7.2) + specifier: ^5.10.0 + version: 5.10.0(@types/node@24.0.3)(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(typescript@5.7.2) nanostores: specifier: ^1.0.1 version: 1.0.1 radix-vue: specifier: ^1.9.17 - version: 1.9.17(vue@3.5.16(typescript@5.7.2)) + version: 1.9.17(vue@3.5.17(typescript@5.7.2)) vue: - specifier: ^3.5.16 - version: 3.5.16(typescript@5.7.2) + specifier: ^3.5.17 + version: 3.5.17(typescript@5.7.2) devDependencies: sass: specifier: ^1.89.2 @@ -620,11 +620,11 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@rolldown/pluginutils@1.0.0-beta.15': - resolution: {integrity: sha512-lvFtIbidq5EqyAAeiVk41ZNjGRgUoGRBIuqpe1VRJ7R8Av7TLAgGWAwGlHNhO7MFkl7MNRX350CsTtIWIYkNIQ==} + '@rolldown/pluginutils@1.0.0-beta.18': + resolution: {integrity: sha512-sHG++r1AOeQrzp0Lm3w9TBuaMHty3rU4yCZ4Vd/s428dvv3eTIhuRqHPHJCBlVpZjOJ5b4ZcBPTyRCsDKFt2+w==} - '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + '@rollup/pluginutils@5.2.0': + resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -632,126 +632,126 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.43.0': - resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} + '@rollup/rollup-android-arm-eabi@4.44.0': + resolution: {integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.43.0': - resolution: {integrity: sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==} + '@rollup/rollup-android-arm64@4.44.0': + resolution: {integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.43.0': - resolution: {integrity: sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==} + '@rollup/rollup-darwin-arm64@4.44.0': + resolution: {integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.43.0': - resolution: {integrity: sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==} + '@rollup/rollup-darwin-x64@4.44.0': + resolution: {integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.43.0': - resolution: {integrity: sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==} + '@rollup/rollup-freebsd-arm64@4.44.0': + resolution: {integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.43.0': - resolution: {integrity: sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==} + '@rollup/rollup-freebsd-x64@4.44.0': + resolution: {integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.43.0': - resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': + resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.43.0': - resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} + '@rollup/rollup-linux-arm-musleabihf@4.44.0': + resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.43.0': - resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} + '@rollup/rollup-linux-arm64-gnu@4.44.0': + resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.43.0': - resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} + '@rollup/rollup-linux-arm64-musl@4.44.0': + resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.43.0': - resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': + resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': - resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': + resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.43.0': - resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} + '@rollup/rollup-linux-riscv64-gnu@4.44.0': + resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.43.0': - resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} + '@rollup/rollup-linux-riscv64-musl@4.44.0': + resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.43.0': - resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} + '@rollup/rollup-linux-s390x-gnu@4.44.0': + resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.43.0': - resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} + '@rollup/rollup-linux-x64-gnu@4.44.0': + resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.43.0': - resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} + '@rollup/rollup-linux-x64-musl@4.44.0': + resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.43.0': - resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} + '@rollup/rollup-win32-arm64-msvc@4.44.0': + resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.43.0': - resolution: {integrity: sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==} + '@rollup/rollup-win32-ia32-msvc@4.44.0': + resolution: {integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.43.0': - resolution: {integrity: sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==} + '@rollup/rollup-win32-x64-msvc@4.44.0': + resolution: {integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@3.6.0': - resolution: {integrity: sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==} + '@shikijs/core@3.7.0': + resolution: {integrity: sha512-yilc0S9HvTPyahHpcum8eonYrQtmGTU0lbtwxhA6jHv4Bm1cAdlPFRCJX4AHebkCm75aKTjjRAW+DezqD1b/cg==} - '@shikijs/engine-javascript@3.6.0': - resolution: {integrity: sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==} + '@shikijs/engine-javascript@3.7.0': + resolution: {integrity: sha512-0t17s03Cbv+ZcUvv+y33GtX75WBLQELgNdVghnsdhTgU3hVcWcMsoP6Lb0nDTl95ZJfbP1mVMO0p3byVh3uuzA==} - '@shikijs/engine-oniguruma@3.6.0': - resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==} + '@shikijs/engine-oniguruma@3.7.0': + resolution: {integrity: sha512-5BxcD6LjVWsGu4xyaBC5bu8LdNgPCVBnAkWTtOCs/CZxcB22L8rcoWfv7Hh/3WooVjBZmFtyxhgvkQFedPGnFw==} - '@shikijs/langs@3.6.0': - resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==} + '@shikijs/langs@3.7.0': + resolution: {integrity: sha512-1zYtdfXLr9xDKLTGy5kb7O0zDQsxXiIsw1iIBcNOO8Yi5/Y1qDbJ+0VsFoqTlzdmneO8Ij35g7QKF8kcLyznCQ==} - '@shikijs/themes@3.6.0': - resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==} + '@shikijs/themes@3.7.0': + resolution: {integrity: sha512-VJx8497iZPy5zLiiCTSIaOChIcKQwR0FebwE9S3rcN0+J/GTWwQ1v/bqhTbpbY3zybPKeO8wdammqkpXc4NVjQ==} - '@shikijs/types@3.6.0': - resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==} + '@shikijs/types@3.7.0': + resolution: {integrity: sha512-MGaLeaRlSWpnP0XSAum3kP3a8vtcTsITqoEPYdt3lQG3YCdQH4DnEhodkYcNMcU0uW0RffhoD1O3e0vG5eSBBg==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -774,9 +774,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -804,8 +801,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@24.0.1': - resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==} + '@types/node@24.0.3': + resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} @@ -852,65 +849,65 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.16': - resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + '@vue/compiler-core@3.5.17': + resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==} - '@vue/compiler-dom@3.5.16': - resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + '@vue/compiler-dom@3.5.17': + resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==} - '@vue/compiler-sfc@3.5.16': - resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} + '@vue/compiler-sfc@3.5.17': + resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==} - '@vue/compiler-ssr@3.5.16': - resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} + '@vue/compiler-ssr@3.5.17': + resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==} - '@vue/devtools-core@7.7.6': - resolution: {integrity: sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg==} + '@vue/devtools-core@7.7.7': + resolution: {integrity: sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==} peerDependencies: vue: ^3.0.0 - '@vue/devtools-kit@7.7.6': - resolution: {integrity: sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==} + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} - '@vue/devtools-shared@7.7.6': - resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==} + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} - '@vue/reactivity@3.5.16': - resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} + '@vue/reactivity@3.5.17': + resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==} - '@vue/runtime-core@3.5.16': - resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} + '@vue/runtime-core@3.5.17': + resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==} - '@vue/runtime-dom@3.5.16': - resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} + '@vue/runtime-dom@3.5.17': + resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==} - '@vue/server-renderer@3.5.16': - resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} + '@vue/server-renderer@3.5.17': + resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==} peerDependencies: - vue: 3.5.16 + vue: 3.5.17 - '@vue/shared@3.5.16': - resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@vue/shared@3.5.17': + resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} '@vueuse/core@10.11.1': resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} - '@vueuse/core@13.3.0': - resolution: {integrity: sha512-uYRz5oEfebHCoRhK4moXFM3NSCd5vu2XMLOq/Riz5FdqZMy2RvBtazdtL3gEcmDyqkztDe9ZP/zymObMIbiYSg==} + '@vueuse/core@13.4.0': + resolution: {integrity: sha512-OnK7zW3bTq/QclEk17+vDFN3tuAm8ONb9zQUIHrYQkkFesu3WeGUx/3YzpEp+ly53IfDAT9rsYXgGW6piNZC5w==} peerDependencies: vue: ^3.5.0 '@vueuse/metadata@10.11.1': resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} - '@vueuse/metadata@13.3.0': - resolution: {integrity: sha512-42IzJIOYCKIb0Yjv1JfaKpx8JlCiTmtCWrPxt7Ja6Wzoq0h79+YVXmBV03N966KEmDEESTbp5R/qO3AB5BDnGw==} + '@vueuse/metadata@13.4.0': + resolution: {integrity: sha512-CPDQ/IgOeWbqItg1c/pS+Ulum63MNbpJ4eecjFJqgD/JUCJ822zLfpw6M9HzSvL6wbzMieOtIAW/H8deQASKHg==} '@vueuse/shared@10.11.1': resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} - '@vueuse/shared@13.3.0': - resolution: {integrity: sha512-L1QKsF0Eg9tiZSFXTgodYnu0Rsa2P0En2LuLrIs/jgrkyiDuJSsPZK+tx+wU0mMsYHUYEjNsuE41uqqkuR8VhA==} + '@vueuse/shared@13.4.0': + resolution: {integrity: sha512-+AxuKbw8R1gYy5T21V5yhadeNM7rJqb4cPaRI9DdGnnNl3uqXh+unvQ3uCaA2DjYLbNr1+l7ht/B4qEsRegX6A==} peerDependencies: vue: ^3.5.0 @@ -955,8 +952,8 @@ packages: array-iterate@2.0.1: resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - astro@5.9.3: - resolution: {integrity: sha512-VReZrpUa/3rfeiVvsQ1A2M3ujDPI+pDGIYOMtXPEZwut8tZoEyealXXLjitgCsJ+3dunKGZbg4Eak6i+r0vniw==} + astro@5.10.0: + resolution: {integrity: sha512-g/t54kVzQnFVijs+GbbbX/NBAFTl/3yNAEA/AQYq4FumLLVv7n4BIF+jKhcPGn9iFGyT1Cjvr7KB/qYyNvHEIg==} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1003,8 +1000,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001723: - resolution: {integrity: sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==} + caniuse-lite@1.0.30001724: + resolution: {integrity: sha512-WqJo7p0TbHDOythNTqYujmaJTvtYRZrjpP8TCvH6Vb9CYJerJNKamKzIWOM4BkQatWj9H2lYulpdAQNBe7QhNA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1165,8 +1162,8 @@ packages: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} - electron-to-chromium@1.5.167: - resolution: {integrity: sha512-LxcRvnYO5ez2bMOFpbuuVuAI5QNeY1ncVytE/KXaL6ZNfzX1yPlAO0nSOyIHx2fVAuUprMqPs/TdVhUFZy7SIQ==} + electron-to-chromium@1.5.171: + resolution: {integrity: sha512-scWpzXEJEMrGJa4Y6m/tVotb0WuvNmasv3wWVzUAeCgKU0ToFOhUW6Z+xWnRQANMYGxN4ngJXIThgBJOqzVPCQ==} emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -1699,8 +1696,8 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - postcss@8.5.5: - resolution: {integrity: sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} pretty-ms@9.2.0: @@ -1788,8 +1785,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.43.0: - resolution: {integrity: sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==} + rollup@4.44.0: + resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -1826,8 +1823,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.6.0: - resolution: {integrity: sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==} + shiki@3.7.0: + resolution: {integrity: sha512-ZcI4UT9n6N2pDuM2n3Jbk0sR4Swzq43nLPgS/4h0E3B/NrFn2HKElrDtceSf8Zx/OWYOo7G1SAtBLypCp+YXqg==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -2090,11 +2087,11 @@ packages: '@nuxt/kit': optional: true - vite-plugin-vue-devtools@7.7.6: - resolution: {integrity: sha512-L7nPVM5a7lgit/Z+36iwoqHOaP3wxqVi1UvaDJwGCfblS9Y6vNqf32ILlzJVH9c47aHu90BhDXeZc+rgzHRHcw==} + vite-plugin-vue-devtools@7.7.7: + resolution: {integrity: sha512-d0fIh3wRcgSlr4Vz7bAk4va1MkdqhQgj9ANE/rBhsAjOnRfTLs2ocjFMvSUOsv6SRRXU9G+VM7yMgqDb6yI4iQ==} engines: {node: '>=v14.21.3'} peerDependencies: - vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 vite-plugin-vue-inspector@5.3.1: resolution: {integrity: sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==} @@ -2141,10 +2138,10 @@ packages: yaml: optional: true - vitefu@1.0.6: - resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} + vitefu@1.0.7: + resolution: {integrity: sha512-eRWXLBbJjW3X5z5P5IHcSm2yYbYRPb2kQuc+oqsbAl99WB5kVsPbiiox+cymo8twTzifA6itvhr2CmjnaZZp0Q==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 peerDependenciesMeta: vite: optional: true @@ -2160,8 +2157,8 @@ packages: '@vue/composition-api': optional: true - vue@3.5.16: - resolution: {integrity: sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==} + vue@3.5.17: + resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2227,8 +2224,8 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 - zod@3.25.64: - resolution: {integrity: sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g==} + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -2262,7 +2259,7 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.2 remark-smartypants: 3.0.2 - shiki: 3.6.0 + shiki: 3.7.0 smol-toml: 1.3.4 unified: 11.0.5 unist-util-remove-position: 5.0.0 @@ -2280,7 +2277,7 @@ snapshots: dependencies: sitemap: 8.0.0 stream-replace-string: 2.0.0 - zod: 3.25.64 + zod: 3.25.67 '@astrojs/telemetry@3.3.0': dependencies: @@ -2294,15 +2291,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/vue@5.1.0(@types/node@24.0.1)(astro@5.9.3(@types/node@24.0.1)(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(typescript@5.7.2))(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(vue@3.5.16(typescript@5.7.2))': + '@astrojs/vue@5.1.0(@types/node@24.0.3)(astro@5.10.0(@types/node@24.0.3)(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(typescript@5.7.2))(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(vue@3.5.17(typescript@5.7.2))': dependencies: - '@vitejs/plugin-vue': 5.2.1(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2)) - '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2)) - '@vue/compiler-sfc': 3.5.16 - astro: 5.9.3(@types/node@24.0.1)(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(typescript@5.7.2) - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) - vite-plugin-vue-devtools: 7.7.6(rollup@4.43.0)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2)) - vue: 3.5.16(typescript@5.7.2) + '@vitejs/plugin-vue': 5.2.1(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2)) + '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2)) + '@vue/compiler-sfc': 3.5.17 + astro: 5.10.0(@types/node@24.0.3)(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(typescript@5.7.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) + vite-plugin-vue-devtools: 7.7.7(rollup@4.44.0)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2)) + vue: 3.5.17(typescript@5.7.2) transitivePeerDependencies: - '@nuxt/kit' - '@types/node' @@ -2607,11 +2604,11 @@ snapshots: '@floating-ui/utils@0.2.9': {} - '@floating-ui/vue@1.1.6(vue@3.5.16(typescript@5.7.2))': + '@floating-ui/vue@1.1.6(vue@3.5.17(typescript@5.7.2))': dependencies: '@floating-ui/dom': 1.7.1 '@floating-ui/utils': 0.2.9 - vue-demi: 0.14.10(vue@3.5.16(typescript@5.7.2)) + vue-demi: 0.14.10(vue@3.5.17(typescript@5.7.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2720,10 +2717,10 @@ snapshots: dependencies: nanostores: 1.0.1 - '@nanostores/vue@1.0.0(nanostores@1.0.1)(vue@3.5.16(typescript@5.7.2))': + '@nanostores/vue@1.0.0(nanostores@1.0.1)(vue@3.5.17(typescript@5.7.2))': dependencies: nanostores: 1.0.1 - vue: 3.5.16(typescript@5.7.2) + vue: 3.5.17(typescript@5.7.2) '@oslojs/encoding@1.1.0': {} @@ -2790,105 +2787,105 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@rolldown/pluginutils@1.0.0-beta.15': {} + '@rolldown/pluginutils@1.0.0-beta.18': {} - '@rollup/pluginutils@5.1.4(rollup@4.43.0)': + '@rollup/pluginutils@5.2.0(rollup@4.44.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/rollup-android-arm-eabi@4.43.0': + '@rollup/rollup-android-arm-eabi@4.44.0': optional: true - '@rollup/rollup-android-arm64@4.43.0': + '@rollup/rollup-android-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-arm64@4.43.0': + '@rollup/rollup-darwin-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-x64@4.43.0': + '@rollup/rollup-darwin-x64@4.44.0': optional: true - '@rollup/rollup-freebsd-arm64@4.43.0': + '@rollup/rollup-freebsd-arm64@4.44.0': optional: true - '@rollup/rollup-freebsd-x64@4.43.0': + '@rollup/rollup-freebsd-x64@4.44.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.43.0': + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.43.0': + '@rollup/rollup-linux-arm-musleabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.43.0': + '@rollup/rollup-linux-arm64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.43.0': + '@rollup/rollup-linux-arm64-musl@4.44.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.43.0': + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.43.0': + '@rollup/rollup-linux-riscv64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.43.0': + '@rollup/rollup-linux-riscv64-musl@4.44.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.43.0': + '@rollup/rollup-linux-s390x-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.43.0': + '@rollup/rollup-linux-x64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-musl@4.43.0': + '@rollup/rollup-linux-x64-musl@4.44.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.43.0': + '@rollup/rollup-win32-arm64-msvc@4.44.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.43.0': + '@rollup/rollup-win32-ia32-msvc@4.44.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.43.0': + '@rollup/rollup-win32-x64-msvc@4.44.0': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@3.6.0': + '@shikijs/core@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.6.0': + '@shikijs/engine-javascript@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 - '@shikijs/engine-oniguruma@3.6.0': + '@shikijs/engine-oniguruma@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.6.0': + '@shikijs/langs@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 - '@shikijs/themes@3.6.0': + '@shikijs/themes@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 - '@shikijs/types@3.6.0': + '@shikijs/types@3.7.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -2903,22 +2900,20 @@ snapshots: '@tanstack/virtual-core@3.13.10': {} - '@tanstack/vue-virtual@3.13.10(vue@3.5.16(typescript@5.7.2))': + '@tanstack/vue-virtual@3.13.10(vue@3.5.17(typescript@5.7.2))': dependencies: '@tanstack/virtual-core': 3.13.10 - vue: 3.5.16(typescript@5.7.2) + vue: 3.5.17(typescript@5.7.2) '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 - '@types/estree@1.0.7': {} - '@types/estree@1.0.8': {} '@types/fontkit@2.0.8': dependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 '@types/geojson@7946.0.16': {} @@ -2942,7 +2937,7 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@24.0.1': + '@types/node@24.0.3': dependencies: undici-types: 7.8.0 @@ -2958,21 +2953,21 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2))': + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2))': dependencies: '@babel/core': 7.27.4 '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) - '@rolldown/pluginutils': 1.0.0-beta.15 + '@rolldown/pluginutils': 1.0.0-beta.18 '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.4) - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) - vue: 3.5.16(typescript@5.7.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) + vue: 3.5.17(typescript@5.7.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2))': + '@vitejs/plugin-vue@5.2.1(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2))': dependencies: - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) - vue: 3.5.16(typescript@5.7.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) + vue: 3.5.17(typescript@5.7.2) '@vue/babel-helper-vue-transform-on@1.4.0': {} @@ -2986,7 +2981,7 @@ snapshots: '@babel/types': 7.27.6 '@vue/babel-helper-vue-transform-on': 1.4.0 '@vue/babel-plugin-resolve-type': 1.4.0(@babel/core@7.27.4) - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.17 optionalDependencies: '@babel/core': 7.27.4 transitivePeerDependencies: @@ -2999,55 +2994,55 @@ snapshots: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 '@babel/parser': 7.27.5 - '@vue/compiler-sfc': 3.5.16 + '@vue/compiler-sfc': 3.5.17 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.16': + '@vue/compiler-core@3.5.17': dependencies: '@babel/parser': 7.27.5 - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.17 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.16': + '@vue/compiler-dom@3.5.17': dependencies: - '@vue/compiler-core': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-core': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/compiler-sfc@3.5.16': + '@vue/compiler-sfc@3.5.17': dependencies: '@babel/parser': 7.27.5 - '@vue/compiler-core': 3.5.16 - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-core': 3.5.17 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.5.5 + postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.16': + '@vue/compiler-ssr@3.5.17': dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/devtools-core@7.7.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2))': + '@vue/devtools-core@7.7.7(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2))': dependencies: - '@vue/devtools-kit': 7.7.6 - '@vue/devtools-shared': 7.7.6 + '@vue/devtools-kit': 7.7.7 + '@vue/devtools-shared': 7.7.7 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.0.4(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)) - vue: 3.5.16(typescript@5.7.2) + vite-hot-client: 2.0.4(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)) + vue: 3.5.17(typescript@5.7.2) transitivePeerDependencies: - vite - '@vue/devtools-kit@7.7.6': + '@vue/devtools-kit@7.7.7': dependencies: - '@vue/devtools-shared': 7.7.6 + '@vue/devtools-shared': 7.7.7 birpc: 2.4.0 hookable: 5.5.3 mitt: 3.0.1 @@ -3055,65 +3050,65 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.6': + '@vue/devtools-shared@7.7.7': dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.16': + '@vue/reactivity@3.5.17': dependencies: - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.17 - '@vue/runtime-core@3.5.16': + '@vue/runtime-core@3.5.17': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/runtime-dom@3.5.16': + '@vue/runtime-dom@3.5.17': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/runtime-core': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.17 + '@vue/runtime-core': 3.5.17 + '@vue/shared': 3.5.17 csstype: 3.1.3 - '@vue/server-renderer@3.5.16(vue@3.5.16(typescript@5.7.2))': + '@vue/server-renderer@3.5.17(vue@3.5.17(typescript@5.7.2))': dependencies: - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 - vue: 3.5.16(typescript@5.7.2) + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + vue: 3.5.17(typescript@5.7.2) - '@vue/shared@3.5.16': {} + '@vue/shared@3.5.17': {} - '@vueuse/core@10.11.1(vue@3.5.16(typescript@5.7.2))': + '@vueuse/core@10.11.1(vue@3.5.17(typescript@5.7.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.16(typescript@5.7.2)) - vue-demi: 0.14.10(vue@3.5.16(typescript@5.7.2)) + '@vueuse/shared': 10.11.1(vue@3.5.17(typescript@5.7.2)) + vue-demi: 0.14.10(vue@3.5.17(typescript@5.7.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@13.3.0(vue@3.5.16(typescript@5.7.2))': + '@vueuse/core@13.4.0(vue@3.5.17(typescript@5.7.2))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.3.0 - '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.7.2)) - vue: 3.5.16(typescript@5.7.2) + '@vueuse/metadata': 13.4.0 + '@vueuse/shared': 13.4.0(vue@3.5.17(typescript@5.7.2)) + vue: 3.5.17(typescript@5.7.2) '@vueuse/metadata@10.11.1': {} - '@vueuse/metadata@13.3.0': {} + '@vueuse/metadata@13.4.0': {} - '@vueuse/shared@10.11.1(vue@3.5.16(typescript@5.7.2))': + '@vueuse/shared@10.11.1(vue@3.5.17(typescript@5.7.2))': dependencies: - vue-demi: 0.14.10(vue@3.5.16(typescript@5.7.2)) + vue-demi: 0.14.10(vue@3.5.17(typescript@5.7.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/shared@13.3.0(vue@3.5.16(typescript@5.7.2))': + '@vueuse/shared@13.4.0(vue@3.5.17(typescript@5.7.2))': dependencies: - vue: 3.5.16(typescript@5.7.2) + vue: 3.5.17(typescript@5.7.2) acorn@8.15.0: {} @@ -3144,7 +3139,7 @@ snapshots: array-iterate@2.0.1: {} - astro@5.9.3(@types/node@24.0.1)(jiti@2.4.2)(rollup@4.43.0)(sass@1.89.2)(typescript@5.7.2): + astro@5.10.0(@types/node@24.0.3)(jiti@2.4.2)(rollup@4.44.0)(sass@1.89.2)(typescript@5.7.2): dependencies: '@astrojs/compiler': 2.12.2 '@astrojs/internal-helpers': 0.6.1 @@ -3152,7 +3147,7 @@ snapshots: '@astrojs/telemetry': 3.3.0 '@capsizecss/unpack': 2.4.0 '@oslojs/encoding': 1.1.0 - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) + '@rollup/pluginutils': 5.2.0(rollup@4.44.0) acorn: 8.15.0 aria-query: 5.3.2 axobject-query: 4.1.0 @@ -3190,7 +3185,7 @@ snapshots: prompts: 2.4.2 rehype: 13.0.2 semver: 7.7.2 - shiki: 3.6.0 + shiki: 3.7.0 tinyexec: 0.3.2 tinyglobby: 0.2.14 tsconfck: 3.1.6(typescript@5.7.2) @@ -3199,14 +3194,14 @@ snapshots: unist-util-visit: 5.0.0 unstorage: 1.16.0 vfile: 6.0.3 - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) - vitefu: 1.0.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) + vitefu: 1.0.7(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 yocto-spinner: 0.2.3 - zod: 3.25.64 - zod-to-json-schema: 3.24.5(zod@3.25.64) - zod-to-ts: 1.2.0(typescript@5.7.2)(zod@3.25.64) + zod: 3.25.67 + zod-to-json-schema: 3.24.5(zod@3.25.67) + zod-to-ts: 1.2.0(typescript@5.7.2)(zod@3.25.67) optionalDependencies: sharp: 0.33.5 transitivePeerDependencies: @@ -3278,8 +3273,8 @@ snapshots: browserslist@4.25.0: dependencies: - caniuse-lite: 1.0.30001723 - electron-to-chromium: 1.5.167 + caniuse-lite: 1.0.30001724 + electron-to-chromium: 1.5.171 node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.0) @@ -3289,7 +3284,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001723: {} + caniuse-lite@1.0.30001724: {} ccount@2.0.1: {} @@ -3419,7 +3414,7 @@ snapshots: dset@3.1.4: {} - electron-to-chromium@1.5.167: {} + electron-to-chromium@1.5.171: {} emoji-regex@10.4.0: {} @@ -4168,7 +4163,7 @@ snapshots: picomatch@4.0.2: {} - postcss@8.5.5: + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -4189,20 +4184,20 @@ snapshots: property-information@7.1.0: {} - radix-vue@1.9.17(vue@3.5.16(typescript@5.7.2)): + radix-vue@1.9.17(vue@3.5.17(typescript@5.7.2)): dependencies: '@floating-ui/dom': 1.7.1 - '@floating-ui/vue': 1.1.6(vue@3.5.16(typescript@5.7.2)) + '@floating-ui/vue': 1.1.6(vue@3.5.17(typescript@5.7.2)) '@internationalized/date': 3.8.2 '@internationalized/number': 3.6.3 - '@tanstack/vue-virtual': 3.13.10(vue@3.5.16(typescript@5.7.2)) - '@vueuse/core': 10.11.1(vue@3.5.16(typescript@5.7.2)) - '@vueuse/shared': 10.11.1(vue@3.5.16(typescript@5.7.2)) + '@tanstack/vue-virtual': 3.13.10(vue@3.5.17(typescript@5.7.2)) + '@vueuse/core': 10.11.1(vue@3.5.17(typescript@5.7.2)) + '@vueuse/shared': 10.11.1(vue@3.5.17(typescript@5.7.2)) aria-hidden: 1.2.6 defu: 6.1.4 fast-deep-equal: 3.1.3 nanoid: 5.1.5 - vue: 3.5.16(typescript@5.7.2) + vue: 3.5.17(typescript@5.7.2) transitivePeerDependencies: - '@vue/composition-api' @@ -4315,30 +4310,30 @@ snapshots: rfdc@1.4.1: {} - rollup@4.43.0: + rollup@4.44.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.43.0 - '@rollup/rollup-android-arm64': 4.43.0 - '@rollup/rollup-darwin-arm64': 4.43.0 - '@rollup/rollup-darwin-x64': 4.43.0 - '@rollup/rollup-freebsd-arm64': 4.43.0 - '@rollup/rollup-freebsd-x64': 4.43.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.43.0 - '@rollup/rollup-linux-arm-musleabihf': 4.43.0 - '@rollup/rollup-linux-arm64-gnu': 4.43.0 - '@rollup/rollup-linux-arm64-musl': 4.43.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.43.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.43.0 - '@rollup/rollup-linux-riscv64-gnu': 4.43.0 - '@rollup/rollup-linux-riscv64-musl': 4.43.0 - '@rollup/rollup-linux-s390x-gnu': 4.43.0 - '@rollup/rollup-linux-x64-gnu': 4.43.0 - '@rollup/rollup-linux-x64-musl': 4.43.0 - '@rollup/rollup-win32-arm64-msvc': 4.43.0 - '@rollup/rollup-win32-ia32-msvc': 4.43.0 - '@rollup/rollup-win32-x64-msvc': 4.43.0 + '@rollup/rollup-android-arm-eabi': 4.44.0 + '@rollup/rollup-android-arm64': 4.44.0 + '@rollup/rollup-darwin-arm64': 4.44.0 + '@rollup/rollup-darwin-x64': 4.44.0 + '@rollup/rollup-freebsd-arm64': 4.44.0 + '@rollup/rollup-freebsd-x64': 4.44.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.44.0 + '@rollup/rollup-linux-arm-musleabihf': 4.44.0 + '@rollup/rollup-linux-arm64-gnu': 4.44.0 + '@rollup/rollup-linux-arm64-musl': 4.44.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.44.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-musl': 4.44.0 + '@rollup/rollup-linux-s390x-gnu': 4.44.0 + '@rollup/rollup-linux-x64-gnu': 4.44.0 + '@rollup/rollup-linux-x64-musl': 4.44.0 + '@rollup/rollup-win32-arm64-msvc': 4.44.0 + '@rollup/rollup-win32-ia32-msvc': 4.44.0 + '@rollup/rollup-win32-x64-msvc': 4.44.0 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -4390,14 +4385,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.6.0: + shiki@3.7.0: dependencies: - '@shikijs/core': 3.6.0 - '@shikijs/engine-javascript': 3.6.0 - '@shikijs/engine-oniguruma': 3.6.0 - '@shikijs/langs': 3.6.0 - '@shikijs/themes': 3.6.0 - '@shikijs/types': 3.6.0 + '@shikijs/core': 3.7.0 + '@shikijs/engine-javascript': 3.7.0 + '@shikijs/engine-oniguruma': 3.7.0 + '@shikijs/langs': 3.7.0 + '@shikijs/themes': 3.7.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -4607,14 +4602,14 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-hot-client@2.0.4(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)): + vite-hot-client@2.0.4(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)): dependencies: - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) - vite-plugin-inspect@0.8.9(rollup@4.43.0)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)): + vite-plugin-inspect@0.8.9(rollup@4.44.0)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) + '@rollup/pluginutils': 5.2.0(rollup@4.44.0) debug: 4.4.1 error-stack-parser-es: 0.1.5 fs-extra: 11.3.0 @@ -4622,28 +4617,28 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.1 - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-devtools@7.7.6(rollup@4.43.0)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2)): + vite-plugin-vue-devtools@7.7.7(rollup@4.44.0)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2)): dependencies: - '@vue/devtools-core': 7.7.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.16(typescript@5.7.2)) - '@vue/devtools-kit': 7.7.6 - '@vue/devtools-shared': 7.7.6 + '@vue/devtools-core': 7.7.7(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2))(vue@3.5.17(typescript@5.7.2)) + '@vue/devtools-kit': 7.7.7 + '@vue/devtools-shared': 7.7.7 execa: 9.6.0 sirv: 3.0.1 - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) - vite-plugin-inspect: 0.8.9(rollup@4.43.0)(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)) - vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) + vite-plugin-inspect: 0.8.9(rollup@4.44.0)(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)) + vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)): + vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)): dependencies: '@babel/core': 7.27.4 '@babel/plugin-proposal-decorators': 7.27.1(@babel/core@7.27.4) @@ -4651,42 +4646,42 @@ snapshots: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.27.4) '@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.4) '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.4) - '@vue/compiler-dom': 3.5.16 + '@vue/compiler-dom': 3.5.17 kolorist: 1.8.0 magic-string: 0.30.17 - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) transitivePeerDependencies: - supports-color - vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2): + vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 - postcss: 8.5.5 - rollup: 4.43.0 + postcss: 8.5.6 + rollup: 4.44.0 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 fsevents: 2.3.3 jiti: 2.4.2 sass: 1.89.2 - vitefu@1.0.6(vite@6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2)): + vitefu@1.0.7(vite@6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2)): optionalDependencies: - vite: 6.3.5(@types/node@24.0.1)(jiti@2.4.2)(sass@1.89.2) + vite: 6.3.5(@types/node@24.0.3)(jiti@2.4.2)(sass@1.89.2) - vue-demi@0.14.10(vue@3.5.16(typescript@5.7.2)): + vue-demi@0.14.10(vue@3.5.17(typescript@5.7.2)): dependencies: - vue: 3.5.16(typescript@5.7.2) + vue: 3.5.17(typescript@5.7.2) - vue@3.5.16(typescript@5.7.2): + vue@3.5.17(typescript@5.7.2): dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-sfc': 3.5.16 - '@vue/runtime-dom': 3.5.16 - '@vue/server-renderer': 3.5.16(vue@3.5.16(typescript@5.7.2)) - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-sfc': 3.5.17 + '@vue/runtime-dom': 3.5.17 + '@vue/server-renderer': 3.5.17(vue@3.5.17(typescript@5.7.2)) + '@vue/shared': 3.5.17 optionalDependencies: typescript: 5.7.2 @@ -4729,15 +4724,15 @@ snapshots: yoctocolors@2.1.1: {} - zod-to-json-schema@3.24.5(zod@3.25.64): + zod-to-json-schema@3.24.5(zod@3.25.67): dependencies: - zod: 3.25.64 + zod: 3.25.67 - zod-to-ts@1.2.0(typescript@5.7.2)(zod@3.25.64): + zod-to-ts@1.2.0(typescript@5.7.2)(zod@3.25.67): dependencies: typescript: 5.7.2 - zod: 3.25.64 + zod: 3.25.67 - zod@3.25.64: {} + zod@3.25.67: {} zwitch@2.0.4: {} diff --git a/public/icon/question-mark-dark.svg b/public/icon/question-mark-dark.svg new file mode 100644 index 00000000..6c906002 --- /dev/null +++ b/public/icon/question-mark-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/icon/ruler-dark.svg b/public/icon/ruler-dark.svg new file mode 100644 index 00000000..cb6b6aae --- /dev/null +++ b/public/icon/ruler-dark.svg @@ -0,0 +1 @@ + diff --git a/public/icon/ruler.svg b/public/icon/ruler.svg new file mode 100644 index 00000000..17ea1152 --- /dev/null +++ b/public/icon/ruler.svg @@ -0,0 +1 @@ + diff --git a/public/icon/square-arrow-out-dark.svg b/public/icon/square-arrow-out-dark.svg new file mode 100644 index 00000000..7110a978 --- /dev/null +++ b/public/icon/square-arrow-out-dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/scss/_animations.scss b/src/assets/scss/_animations.scss index 47034ccd..48d97b9c 100644 --- a/src/assets/scss/_animations.scss +++ b/src/assets/scss/_animations.scss @@ -1,7 +1,7 @@ // Animations on load @media screen and (prefers-reduced-motion: no-preference) { .appear-from-top { - animation: fadeIn .2s cubic-bezier(0.785, 0.135, 0.15, 0.86); + animation: fadeIn .2s var(--timing-function); } @keyframes fadeIn { diff --git a/src/assets/scss/_buttons.scss b/src/assets/scss/_buttons.scss index c2bcc5bc..29ec4c25 100644 --- a/src/assets/scss/_buttons.scss +++ b/src/assets/scss/_buttons.scss @@ -5,12 +5,13 @@ gap: .5rem; font-size: .9em; font-weight: 500; + color: var(--foreground); border: 1px solid transparent; - border-radius: .2rem; + border-radius: var(--border-radius); cursor: pointer; transition-property: color, background-color, border-color; transition-duration: .2s; - transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); + transition-timing-function: var(--timing-function); &:disabled { cursor: not-allowed; @@ -18,40 +19,40 @@ &.btn-secondary { &:not(:disabled) { - background-color: var(--slate-200); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); &:hover, &:focus-visible { - color: var(--white); - background-color: var(--blue-500); + color: var(--background); + background-color: var(--accent); } } &:disabled { - color: var(--slate-500); - background-color: var(--slate-100); + color: color-mix(in srgb, var(--foreground) 50%, var(--background)); + background-color: color-mix(in srgb, var(--foreground) 10%, var(--background)); } } &.btn-info { &:not(:disabled) { - background-color: var(--slate-200); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); &:hover, &:focus-visible { - color: var(--white); - background-color: var(--blue-500); + color: var(--background); + background-color: var(--accent); } } } &.btn-danger { &:not(:disabled) { - background-color: var(--slate-200); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); &:hover, &:focus-visible { - color: var(--white); + color: var(--background); background-color: var(--red-500); } } @@ -76,7 +77,7 @@ } &.btn-shadow { - box-shadow: color-mix(in srgb, var(--black) 10%, transparent) 0 .2rem .3rem; + box-shadow: var(--shadow); } } @@ -85,41 +86,42 @@ place-items: center; height: 45px; aspect-ratio: 1; - background-color: var(--white); - border: 1px solid var(--slate-400); - box-shadow: color-mix(in srgb, var(--black) 10%, transparent) 0px 4px 12px; + background-color: var(--background); + border: 1px solid var(--border); + box-shadow: var(--shadow); border-radius: 100vmax; pointer-events: all; cursor: pointer; outline: .2rem solid transparent; transition-property: color, background-color, border-color, outline-color; transition-duration: .15s; - transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); + transition-timing-function: var(--timing-function); svg { + fill: var(--foreground); width: 1.15em; transition-property: fill; transition-duration: .15s; - transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); + transition-timing-function: var(--timing-function); } &:hover, &:focus-visible { - outline-color: color-mix(in srgb, var(--blue-500) 20%, transparent); - border-color: var(--blue-500); + outline-color: color-mix(in srgb, var(--accent) 20%, transparent); + border-color: var(--accent); svg { - fill: var(--blue-500); + fill: var(--accent); } } &.active { - color: var(--white); - background-color: var(--blue-500); - border-color: var(--blue-700); + color: var(--background); + background-color: var(--accent); + border-color: color-mix(in srgb, var(--accent) 75%, var(--background)); svg { - fill: var(--white); + fill: var(--background); } } } \ No newline at end of file diff --git a/src/assets/scss/_card.scss b/src/assets/scss/_card.scss index f58ced75..55da2ebe 100644 --- a/src/assets/scss/_card.scss +++ b/src/assets/scss/_card.scss @@ -2,13 +2,14 @@ padding-block: 0.75rem; padding-inline: .75rem; border-radius: 8px; - background-color: var(--white); - border: 1px solid var(--slate-100); - box-shadow: color-mix(in srgb, var(--black) 10%, transparent) 0px 4px 12px; + color: var(--foreground); + background-color: var(--background); + border: 1px solid var(--border); + box-shadow: var(--shadow); min-width: 15rem; .card-arrow { - fill: var(--white); + fill: var(--background); } &.p-sm { diff --git a/src/assets/scss/_forms.scss b/src/assets/scss/_forms.scss index 485875a1..f60df6a8 100644 --- a/src/assets/scss/_forms.scss +++ b/src/assets/scss/_forms.scss @@ -14,15 +14,15 @@ display: block; width: 100%; padding: .4rem .5rem; - border: 1px solid var(--slate-300); + border: 1px solid color-mix(in srgb, var(--foreground) 30%, var(--background)); font-size: .8em; - border-radius: .2rem; + border-radius: var(--border-radius); transition-property: box-shadow; transition-duration: .2s; - transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); + transition-timing-function: var(--timing-function); &:focus-visible { - box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--slate-300) 20%, transparent); + box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--accent) 20%, transparent); } } } diff --git a/src/assets/scss/_leaflet.scss b/src/assets/scss/_leaflet.scss index 100f7453..827f60e5 100644 --- a/src/assets/scss/_leaflet.scss +++ b/src/assets/scss/_leaflet.scss @@ -10,7 +10,9 @@ .leaflet-map-pane { .leaflet-popup-pane { .leaflet-popup-content-wrapper { - border-radius: .25rem; + color: var(--foreground); + background-color: var(--background); + border-radius: var(--border-radius); overflow: clip; .leaflet-popup-content { @@ -22,6 +24,7 @@ .leaflet-popup-tip { width: .8rem; height: .8rem; + background-color: var(--background); } } @@ -29,15 +32,18 @@ .leaflet-tooltip { &.capital-name { padding: .2rem .4rem; - color: #EEE; + color: var(--foreground); font-weight: bold; background: none; border: none; box-shadow: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; + transition-property: color, text-shadow; + transition-duration: .15s; + transition-timing-function: var(--timing-function); - @include text.stroke(2, #18181b); + @include text.stroke(2, var(--background)); &::before { display: none; @@ -47,3 +53,56 @@ } } } + +.leaflet-touch .leaflet-bar { + border-color: var(--border); + + .leaflet-control-zoom-in, + .leaflet-control-zoom-out { + color: var(--foreground); + background-color: var(--background); + border-color: var(--border); + transition-property: color, background-color, border-color, outline-color; + transition-duration: .15s; + transition-timing-function: var(--timing-function); + + &:hover, + &:focus-visible { + color: var(--background); + background-color: var(--accent); + } + } +} + +.leaflet-touch .leaflet-control-measure { + color: var(--foreground); + background-color: var(--background); + transition-property: color, background-color, border-color, outline-color; + transition-duration: .15s; + transition-timing-function: var(--timing-function); + + .leaflet-control-measure-toggle { + color: var(--foreground); + background-color: var(--background); + border-color: var(--border); + background-image: url('/icon/ruler.svg'); + background-size: 66%; + transition-property: color, background-color, border-color, outline-color; + transition-duration: .15s; + transition-timing-function: var(--timing-function); + + &:hover, + &:focus-visible { + color: var(--background); + background-color: var(--accent); + } + } +} + +.dark { + .leaflet-touch .leaflet-control-measure { + .leaflet-control-measure-toggle { + background-image: url('/icon/ruler-dark.svg'); + } + } +} \ No newline at end of file diff --git a/src/assets/scss/radix/_dialog.scss b/src/assets/scss/radix/_dialog.scss index dd7f68da..b1850f88 100644 --- a/src/assets/scss/radix/_dialog.scss +++ b/src/assets/scss/radix/_dialog.scss @@ -1,8 +1,8 @@ .dialog-overlay { - background-color: color-mix(in srgb, var(--black) 40%, transparent); + background-color: color-mix(in srgb, var(--black) 50%, transparent); position: fixed; inset: 0; - animation: show-overlay 150ms cubic-bezier(0.16, 1, 0.3, 1); + animation: show-overlay 150ms var(--timing-function); z-index: 100; } @@ -19,11 +19,12 @@ padding: 25px; display: grid; grid-template-rows: auto 1fr; - border-radius: 8px; - background-color: var(--white); - border: 1px solid var(--slate-100); - box-shadow: color-mix(in srgb, var(--black) 10%, transparent) 0px 4px 12px; - animation: show-content 150ms cubic-bezier(0.16, 1, 0.3, 1); + color: var(--foreground); + border-radius: var(--border-radius); + background-color: var(--background); + border: 1px solid var(--border); + box-shadow: var(--shadow); + animation: show-content 150ms var(--timing-function); &:focus { outline: none; @@ -46,7 +47,7 @@ } font-size: 1em; - color: var(--slate-800); + color: color-mix(in srgb, var(--foreground) 80%, var(--background)); line-height: 1.5; > * + * { @@ -63,11 +64,6 @@ text-decoration: none; color: var(--green-500); } - - &::after { - top: 50%; - transform: translateY(-70%); - } } } diff --git a/src/assets/scss/radix/_toast.scss b/src/assets/scss/radix/_toast.scss index 0e46aaf9..09e3a61c 100644 --- a/src/assets/scss/radix/_toast.scss +++ b/src/assets/scss/radix/_toast.scss @@ -23,16 +23,16 @@ grid-template-columns: auto max-content; column-gap: 15px; align-items: center; - color: var(--slate-800); - border: 1px solid var(--slate-400); - background-color: var(--white); - border-radius: 6px; + color: var(--foreground); + border: 1px solid var(--border); + background-color: var(--background); + border-radius: var(--border-radius); box-shadow: hsl(206 22% 7% / 35%) 0px 10px 38px -10px, hsl(206 22% 7% / 20%) 0px 10px 20px -15px; &.toast-success { color: var(--green-700); border: 1px solid var(--green-700); - background-color: color-mix(in srgb, var(--green-500) 17.5%, var(--white)); + background-color: color-mix(in srgb, var(--green-500) 17.5%, var(--background)); .toast-icon svg { fill: var(--green-700); @@ -51,20 +51,20 @@ } } .toast-root[data-state='open'] { - animation: slideIn 150ms cubic-bezier(0.16, 1, 0.3, 1); + animation: slideIn 150ms var(--timing-function); } .toast-root[data-state='closed'] { - animation: hide 100ms ease-in; + animation: hide 100ms var(--timing-function); } .toast-root[data-swipe='move'] { transform: translateX(var(--radix-toast-swipe-move-x)); } .toast-root[data-swipe='cancel'] { transform: translateX(0); - transition: transform 200ms ease-out; + transition: transform 200ms var(--timing-function); } .toast-root[data-swipe='end'] { - animation: swipeOut 100ms ease-out; + animation: swipeOut 100ms var(--timing-function); } @keyframes hide { diff --git a/src/assets/scss/theme.scss b/src/assets/scss/theme.scss index d047e7a2..efbd02c6 100644 --- a/src/assets/scss/theme.scss +++ b/src/assets/scss/theme.scss @@ -37,19 +37,34 @@ --orange-700: #c2410c; --purple-500: #8b5cf6; --purple-700: #6d28d9; + + --foreground: var(--black); + --background: var(--white); + --border: var(--slate-400); + --accent: var(--blue-500); + + --border-radius: .25rem; + --shadow: color-mix(in srgb, var(--foreground) 10%, transparent) 0px 4px 12px; + --timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); +} + +.dark { + --foreground: var(--slate-300); + --background: var(--slate-950); + --border: var(--slate-600); } html { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; - color: var(--slate-900); + color: var(--foreground); } a[href^='http'] { - padding-right: 1.25em; + white-space: nowrap; + orphans: 2; } a[href^='http']::after { - position: absolute; content: url('/icon/square-arrow-out.svg'); display: inline-block; width: 1em; @@ -57,6 +72,12 @@ a[href^='http']::after { margin-left: .25em; } +.dark { + a[href^='http']::after { + content: url('/icon/square-arrow-out-dark.svg'); + } +} + strong { font-weight: 600; } diff --git a/src/components/global/CopyText.astro b/src/components/global/CopyText.astro index 3eebe718..857b6c4c 100644 --- a/src/components/global/CopyText.astro +++ b/src/components/global/CopyText.astro @@ -62,7 +62,7 @@ button { display: inline-flex; align-items: center; gap: .5ch; - color: var(--slate-700); + color: color-mix(in srgb, var(--foreground) 70%, var(--background)); cursor: pointer; text-underline-offset: 2px; text-decoration: none; @@ -75,7 +75,7 @@ button { svg { width: 1rem; height: 1rem; - fill: var(--slate-700); + fill: color-mix(in srgb, var(--foreground) 70%, var(--background)); } } diff --git a/src/components/global/ThemeSwitch.vue b/src/components/global/ThemeSwitch.vue new file mode 100644 index 00000000..14cb80c3 --- /dev/null +++ b/src/components/global/ThemeSwitch.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/components/maps/MapOverlay.astro b/src/components/maps/MapOverlay.astro index ff0fd53d..10f7b10a 100644 --- a/src/components/maps/MapOverlay.astro +++ b/src/components/maps/MapOverlay.astro @@ -8,6 +8,7 @@ import SearchMarkers from "./overlay/SearchMarkers.vue"; import LangSwitcher from "./overlay/LangSwitcher.vue"; import MapOverlayBreadcrumbs from "./MapOverlayBreadcrumbs.astro"; import ToastService from "./overlay/ToastService.vue"; +import ThemeSwitch from "../global/ThemeSwitch.vue"; interface Props extends MapOverlayProps {} @@ -41,9 +42,14 @@ const currentUrl = Astro.url } - {ENABLE_I18N && - - } + +
+ {ENABLE_I18N && + + } + + +
{ENABLE_BREADCRUMB && @@ -71,5 +77,15 @@ const currentUrl = Astro.url align-items: top; gap: 1rem; } + + .right-menu { + display: grid; + gap: .5rem; + align-content: flex-start; + + @media screen and (width >= 900px) { + display: flex; + } + } } diff --git a/src/components/maps/MapOverlayBreadcrumbs.astro b/src/components/maps/MapOverlayBreadcrumbs.astro index a2751d22..873e7676 100644 --- a/src/components/maps/MapOverlayBreadcrumbs.astro +++ b/src/components/maps/MapOverlayBreadcrumbs.astro @@ -14,7 +14,7 @@ const { breadcrumbs = [] } = Astro.props {breadcrumbs.map((breadcrumb, index) => (
  • {index === breadcrumbs.length - 1 && - +

    @@ -23,7 +23,7 @@ const { breadcrumbs = [] } = Astro.props } {!(index === breadcrumbs.length - 1) && - + @@ -31,7 +31,7 @@ const { breadcrumbs = [] } = Astro.props - + }

  • ))} @@ -48,17 +48,25 @@ menu { margin-top: .5rem; padding-block: .25rem; padding-inline: .8rem; - border: 1px solid var(--slate-400); - background: var(--white); + color: var(--foreground); + border: 1px solid var(--border); + background: var(--background); border-radius: 100vmax; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; pointer-events: all; + transition-property: color, background-color, border-color, outline-color; + transition-duration: .15s; + transition-timing-function: var(--timing-function); li { display: flex; align-items: center; gap: .25ch; + svg { + fill: var(--foreground); + } + &:has(a:hover, a:focus-visible) { svg.folder { fill: var(--blue-500); @@ -83,7 +91,7 @@ menu { } .icon { - width: 1.1em; + fill: var(--foreground); } .label { diff --git a/src/components/maps/overlay/LangSwitcherButton.vue b/src/components/maps/overlay/LangSwitcherButton.vue index 502f51a4..f9fd3806 100644 --- a/src/components/maps/overlay/LangSwitcherButton.vue +++ b/src/components/maps/overlay/LangSwitcherButton.vue @@ -49,7 +49,7 @@ a { &:hover, &:focus-visible { - background-color: var(--slate-200); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); } &[aria-current="page"] { diff --git a/src/components/maps/overlay/MarkerCreator.vue b/src/components/maps/overlay/MarkerCreator.vue index 9130baac..abcef28c 100644 --- a/src/components/maps/overlay/MarkerCreator.vue +++ b/src/components/maps/overlay/MarkerCreator.vue @@ -275,10 +275,11 @@ menu { padding-block: .25rem; top: calc(var(--mouse-y) - .5rem); left: calc(var(--mouse-x) + .75rem); - background-color: var(--white); - border: 1px solid var(--slate-400); + color: var(--foreground); + background-color: var(--background); + border: 1px solid var(--border); border-radius: .3rem; - box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 12px; + box-shadow: var(--shadow); z-index: 1000; transition-property: top, left; transition-duration: .16s; @@ -295,13 +296,17 @@ menu { cursor: pointer; width: 100%; + svg { + fill: var(--foreground); + } + &:hover, &:focus-within { - color: var(--blue-700); - background-color: var(--slate-100); + color: color-mix(in srgb, var(--accent) 90%, var(--background)); + background-color: color-mix(in srgb, var(--accent) 10%, var(--background)); svg { - fill: var(--blue-700); + fill: color-mix(in srgb, var(--accent) 75%, var(--background)); } } } @@ -313,10 +318,11 @@ dialog { max-width: calc(100% - 6rem); padding: 1.5rem 2rem; z-index: 9999; - background-color: var(--white); - border: 1px solid var(--slate-400); + color: var(--foreground); + background-color: var(--background); + border: 1px solid var(--border); border-radius: .75rem; - box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 12px; + box-shadow: var(--shadow); overflow: visible; transform: translateY(1rem); transition: visibility 0s ease-out .3s, opacity .3s ease-out, transform .3s ease-out; diff --git a/src/components/maps/overlay/SearchMapSwitch.vue b/src/components/maps/overlay/SearchMapSwitch.vue index 894c8377..478e3927 100644 --- a/src/components/maps/overlay/SearchMapSwitch.vue +++ b/src/components/maps/overlay/SearchMapSwitch.vue @@ -94,8 +94,7 @@ const menus: Menu[] = [ { name: 'Mines Blanches', img: '/images/aldys-cantane-mines-blanches-cover.png', - url: `/${$currentLang.value}/aldys/cantane/mines-blanches`, - newItem: true + url: `/${$currentLang.value}/aldys/cantane/mines-blanches` }, ] } @@ -213,6 +212,10 @@ const menus: Menu[] = [ } } +.dark .legal::before { + content: url('/icon/question-mark-dark.svg'); +} + .map-menu { margin-top: .25rem; margin-bottom: .5rem; @@ -251,7 +254,7 @@ const menus: Menu[] = [ img { display: block; border-radius: .3rem; - border: .1rem solid var(--white); + border: .1rem solid var(--background); outline: .15rem solid transparent; } @@ -264,15 +267,15 @@ const menus: Menu[] = [ pointer-events: none; .fill { fill: var(--orange-500); } - .stroke { fill: var(--white); } + .stroke { fill: var(--background); } } } figcaption { font-size: .75em; text-align: center; - color: var(--slate-500); + color: color-mix(in srgb, var(--foreground) 80%, var(--background)); } } } - \ No newline at end of file + diff --git a/src/components/maps/overlay/SearchMarkers.vue b/src/components/maps/overlay/SearchMarkers.vue index 3c724abc..13609c78 100644 --- a/src/components/maps/overlay/SearchMarkers.vue +++ b/src/components/maps/overlay/SearchMarkers.vue @@ -308,11 +308,15 @@ function resetAllFields(actionAfter?: "focusAfter") { margin-left: calc(45px + .5rem); padding: .5rem 1.2rem; width: calc(100% - 3rem); - background: var(--white); - border: 1px solid var(--slate-400); + color: var(--foreground); + background: var(--background); + border: 1px solid var(--border); border-radius: 25px; - box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; + box-shadow: var(--shadow); pointer-events: all; + transition-property: color, background-color, border-color, outline-color; + transition-duration: .15s; + transition-timing-function: var(--timing-function); @media screen and (width >= 900px) { width: clamp(25rem, 35dvw, 30rem); @@ -338,7 +342,7 @@ function resetAllFields(actionAfter?: "focusAfter") { flex-grow: 1; &::placeholder { - color: var(--slate-400); + color: color-mix(in srgb, var(--foreground) 75%, var(--background)); } } @@ -348,7 +352,7 @@ function resetAllFields(actionAfter?: "focusAfter") { transform: translateY(-50%); left: 0; width: $search-icon-size; - fill: var(--slate-400); + fill: color-mix(in srgb, var(--foreground) 75%, var(--background)); pointer-events: none; } @@ -375,16 +379,20 @@ function resetAllFields(actionAfter?: "focusAfter") { } &:hover { + .icon { + color: var(--foreground); + } + &::before { - background-color: var(--slate-300); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); } } &:focus-visible { &::before { - background-color: var(--slate-200); - outline: 1px dotted var(--slate-500); - outline: 4px auto var(--slate-900); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); + outline: 1px dotted color-mix(in srgb, var(--foreground) 50%, var(--background)); + outline: 4px auto color-mix(in srgb, var(--foreground) 90%, var(--background)); } } } @@ -399,22 +407,22 @@ function resetAllFields(actionAfter?: "focusAfter") { &:hover { &::before { - background-color: var(--slate-300); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); } } &:focus-visible { &::before { - background-color: var(--slate-200); - outline: 1px dotted var(--slate-500); - outline: 4px auto var(--slate-900); + background-color: color-mix(in srgb, var(--foreground) 20%, var(--background)); + outline: 1px dotted color-mix(in srgb, var(--foreground) 50%, var(--background)); + outline: 4px auto color-mix(in srgb, var(--foreground) 90%, var(--background)); } } } .close-btn { font-size: 1.1em; - color: var(--slate-500); + color: color-mix(in srgb, var(--foreground) 75%, var(--background)); } } @@ -436,7 +444,7 @@ function resetAllFields(actionAfter?: "focusAfter") { } &::-webkit-scrollbar-thumb { - background-color: var(--slate-300); + background-color: color-mix(in srgb, var(--foreground) 30%, var(--background)); } > * + * { @@ -453,7 +461,7 @@ function resetAllFields(actionAfter?: "focusAfter") { } &:hover:not(:has(a:hover)) { - background-color: var(--slate-100); + background-color: color-mix(in srgb, var(--foreground) 10%, var(--background)); .title { text-decoration: underline; @@ -490,9 +498,14 @@ function resetAllFields(actionAfter?: "focusAfter") { .title { font-weight: 500; text-underline-offset: 2px; + + & + .desc { + margin-top: .25rem; + } } + .desc { - color: var(--slate-500); + color: color-mix(in srgb, var(--foreground) 50%, var(--background)); .map-link { margin-top: .5rem; @@ -528,12 +541,12 @@ function resetAllFields(actionAfter?: "focusAfter") { top: 50%; transform: translateY(-50%); right: .75rem; - fill: var(--slate-400); + fill: color-mix(in srgb, var(--foreground) 70%, var(--background)); } &:focus-visible { - outline: 1px dotted var(--slate-500); - outline: 4px auto var(--slate-900); + outline: 1px dotted color-mix(in srgb, var(--foreground) 50%, var(--background)); + outline: 4px auto color-mix(in srgb, var(--foreground) 90%, var(--background)); .title { text-decoration: underline; @@ -600,8 +613,9 @@ function resetAllFields(actionAfter?: "focusAfter") { &[data-focused="true"] { margin-bottom: 1em; + .input-w { - border-bottom: 1px solid var(--slate-200); + border-bottom: 1px solid color-mix(in srgb, var(--foreground) 20%, var(--background)); margin-bottom: .5rem; padding-bottom: .5rem; diff --git a/src/components/maps/overlay/SearchMarkersTags.vue b/src/components/maps/overlay/SearchMarkersTags.vue index d79654dc..39330989 100644 --- a/src/components/maps/overlay/SearchMarkersTags.vue +++ b/src/components/maps/overlay/SearchMarkersTags.vue @@ -125,10 +125,11 @@ function emitCategorySwitch(newCategory: MapMarkerGroup) { padding-inline: .8rem; font-weight: 600; font-size: .85em; - background: var(--white); - border: 1px solid var(--slate-400); + color: var(--foreground); + background: var(--background); + border: 1px solid var(--border); border-radius: 100vmax; - box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; + box-shadow: var(--shadow); white-space: nowrap; pointer-events: all; cursor: pointer; @@ -145,6 +146,10 @@ function emitCategorySwitch(newCategory: MapMarkerGroup) { width: 1.1em; } + svg { + fill: var(--foreground); + } + .label { text-underline-offset: .15rem; } @@ -154,12 +159,12 @@ function emitCategorySwitch(newCategory: MapMarkerGroup) { @each $c in $colors { &.#{$c} { &.active { - color: var(--white); + color: var(--background); background-color: var(--#{$c}-500); border-color: var(--#{$c}-700); .icon { - fill: var(--white); + fill: var(--background); } } diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 969f7720..2286a402 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -59,6 +59,54 @@ const lang = getLangFromUrl(Astro.url) || defaultLang; + +