diff --git a/README.md b/README.md index 80089b3f..1e06eb2f 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ Repository for interactive maps using Leim's Wiki data ## Demo -Live demo available at https://maps.alexcreates.fr/ \ No newline at end of file +Live demo available at https://maps.alexcreates.fr \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c09702b6..a20dc2ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,15 +8,15 @@ "name": "leim-maps", "version": "2.0.0", "dependencies": { - "@astrojs/sitemap": "^3.0.4", + "@astrojs/sitemap": "^3.1.1", "@astrojs/vue": "^4.0.8", "@types/leaflet": "^1.9.8", - "@vueuse/core": "^10.7.1", - "astro": "^4.1.2", - "vue": "^3.4.14" + "@vueuse/core": "^10.8.0", + "astro": "^4.4.5", + "vue": "^3.4.20" }, "devDependencies": { - "sass": "^1.68.0" + "sass": "^1.71.1" } }, "node_modules/@ampproject/remapping": { @@ -32,9 +32,9 @@ } }, "node_modules/@astrojs/compiler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.4.1.tgz", - "integrity": "sha512-4M6G6UBI84gPYzyN6jSG3c+jeZ3dBVOnGPzp47SS5ayc2tsWhbXZ4nnNWGJU+ESiQ6ScjywJnpddxTO2w41Qeg==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.6.0.tgz", + "integrity": "sha512-c74k8iGHL3DzkosSJ0tGcHIEBEiIfBhr7eadSaPyvWlVKaieDVzVs8OW1tnRSQyBsfMc8DZQ4RcN2KAcESD8UQ==" }, "node_modules/@astrojs/internal-helpers": { "version": "0.2.1", @@ -42,9 +42,9 @@ "integrity": "sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==" }, "node_modules/@astrojs/markdown-remark": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.0.1.tgz", - "integrity": "sha512-RU4ESnqvyLpj8WZs0n5elS6idaDdtIIm7mIpMaRNPCebpxMjfcfdwcmBwz83ktAj5d2eO5bC3z92TcGdli+lRw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-4.2.1.tgz", + "integrity": "sha512-2RQBIwrq+2qPYtp99bH+eL5hfbK0BoxXla85lHsRpIX/IsGqFrPX6pXI2cbWPihBwGbKCdxS6uZNX2QerZWwpQ==", "dependencies": { "@astrojs/prism": "^3.0.0", "github-slugger": "^2.0.0", @@ -56,7 +56,7 @@ "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "remark-smartypants": "^2.0.0", - "shikiji": "^0.6.13", + "shikiji": "^0.9.18", "unified": "^11.0.4", "unist-util-visit": "^5.0.0", "vfile": "^6.0.1" @@ -74,9 +74,9 @@ } }, "node_modules/@astrojs/sitemap": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.0.4.tgz", - "integrity": "sha512-RSqiqs0oD8zTGaClHM0YB8n7e5En+Ihi+6qKthWf47pRkzHpENwlPGvKuEL0kUFXq+GzYot9e2JYH58gtr2q0w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.1.1.tgz", + "integrity": "sha512-qPgdBIcDUaea98mTtLfi5z9oXZpzSjEn/kes70/Ex8FOZZ+DIHVKRYOLOtvy8p+FTXr/9oc7BjmIbTYmYLLJVg==", "dependencies": { "sitemap": "^7.1.1", "zod": "^3.22.4" @@ -171,13 +171,13 @@ } }, "node_modules/@astrojs/vue/node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", "peer": true, "dependencies": { "esbuild": "^0.19.3", - "postcss": "^8.4.32", + "postcss": "^8.4.35", "rollup": "^4.2.0" }, "bin": { @@ -550,9 +550,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1057,6 +1057,11 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@medv/finder": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@medv/finder/-/finder-3.1.0.tgz", + "integrity": "sha512-ojkXjR3K0Zz3jnCR80tqPL+0yvbZk/lEodb6RIVjLz7W8RVA2wrw8ym/CzCpXO9SYVUIKHFUpc7jvf8UKfIM3w==" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1411,12 +1416,12 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.14.tgz", - "integrity": "sha512-ro4Zzl/MPdWs7XwxT7omHRxAjMbDFRZEEjD+2m3NBf8YzAe3HuoSEZosXQo+m1GQ1G3LQ1LdmNh1RKTYe+ssEg==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.20.tgz", + "integrity": "sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==", "dependencies": { - "@babel/parser": "^7.23.6", - "@vue/shared": "3.4.14", + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.20", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" @@ -1428,27 +1433,27 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-dom": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.14.tgz", - "integrity": "sha512-nOZTY+veWNa0DKAceNWxorAbWm0INHdQq7cejFaWM1WYnoNSJbSEKYtE7Ir6lR/+mo9fttZpPVI9ZFGJ1juUEQ==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.20.tgz", + "integrity": "sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==", "dependencies": { - "@vue/compiler-core": "3.4.14", - "@vue/shared": "3.4.14" + "@vue/compiler-core": "3.4.20", + "@vue/shared": "3.4.20" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.14.tgz", - "integrity": "sha512-1vHc9Kv1jV+YBZC/RJxQJ9JCxildTI+qrhtDh6tPkR1O8S+olBUekimY0km0ZNn8nG1wjtFAe9XHij+YLR8cRQ==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.20.tgz", + "integrity": "sha512-nPuTZz0yxTPzjyYe+9nQQsFYImcz/57UX8N3jyhl5oIUUs2jqqAMaULsAlJwve3qNYfjQzq0bwy3pqJrN9ecZw==", "dependencies": { - "@babel/parser": "^7.23.6", - "@vue/compiler-core": "3.4.14", - "@vue/compiler-dom": "3.4.14", - "@vue/compiler-ssr": "3.4.14", - "@vue/shared": "3.4.14", + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.20", + "@vue/compiler-dom": "3.4.20", + "@vue/compiler-ssr": "3.4.20", + "@vue/shared": "3.4.20", "estree-walker": "^2.0.2", - "magic-string": "^0.30.5", - "postcss": "^8.4.33", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", "source-map-js": "^1.0.2" } }, @@ -1458,76 +1463,76 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.14.tgz", - "integrity": "sha512-bXT6+oAGlFjTYVOTtFJ4l4Jab1wjsC0cfSfOe2B4Z0N2vD2zOBSQ9w694RsCfhjk+bC2DY5Gubb1rHZVii107Q==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.20.tgz", + "integrity": "sha512-b3gFQPiHLvI12C56otzBPpQhZ5kgkJ5RMv/zpLjLC2BIFwX5GktDqYQ7xg0Q2grP6uFI8al3beVKvAVxFtXmIg==", "dependencies": { - "@vue/compiler-dom": "3.4.14", - "@vue/shared": "3.4.14" + "@vue/compiler-dom": "3.4.20", + "@vue/shared": "3.4.20" } }, "node_modules/@vue/reactivity": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.14.tgz", - "integrity": "sha512-xRYwze5Q4tK7tT2J4uy4XLhK/AIXdU5EBUu9PLnIHcOKXO0uyXpNNMzlQKuq7B+zwtq6K2wuUL39pHA6ZQzObw==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.20.tgz", + "integrity": "sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==", "dependencies": { - "@vue/shared": "3.4.14" + "@vue/shared": "3.4.20" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.14.tgz", - "integrity": "sha512-qu+NMkfujCoZL6cfqK5NOfxgXJROSlP2ZPs4CTcVR+mLrwl4TtycF5Tgo0QupkdBL+2kigc6EsJlTcuuZC1NaQ==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.20.tgz", + "integrity": "sha512-MPvsQpGAxoBqLHjqopt4YPtUYBpq0K6oAWDTwIR1CTNZ3y9O/J2ZVh+i2JpxKNYwANJBiZ20O99NE20uisB7xw==", "dependencies": { - "@vue/reactivity": "3.4.14", - "@vue/shared": "3.4.14" + "@vue/reactivity": "3.4.20", + "@vue/shared": "3.4.20" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.14.tgz", - "integrity": "sha512-B85XmcR4E7XsirEHVqhmy4HPbRT9WLFWV9Uhie3OapV9m1MEN9+Er6hmUIE6d8/l2sUygpK9RstFM2bmHEUigA==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.20.tgz", + "integrity": "sha512-OkbPVP69H+8m74543zMAAx/LIkajxufYyow41gc0s5iF0uplT5uTQ4llDYu1GeJZEI8wjL5ueiPQruk4qwOMmA==", "dependencies": { - "@vue/runtime-core": "3.4.14", - "@vue/shared": "3.4.14", + "@vue/runtime-core": "3.4.20", + "@vue/shared": "3.4.20", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.14.tgz", - "integrity": "sha512-pwSKXQfYdJBTpvWHGEYI+akDE18TXAiLcGn+Q/2Fj8wQSHWztoo7PSvfMNqu6NDhp309QXXbPFEGCU5p85HqkA==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.20.tgz", + "integrity": "sha512-w3VH2GuwxQHA6pJo/HCV22OfVC8Mw4oeHQM+vKeqtRK0OPE1Wilnh+P/SDVGGxPjJsGmyfphi0dbw8UKZQJH9w==", "dependencies": { - "@vue/compiler-ssr": "3.4.14", - "@vue/shared": "3.4.14" + "@vue/compiler-ssr": "3.4.20", + "@vue/shared": "3.4.20" }, "peerDependencies": { - "vue": "3.4.14" + "vue": "3.4.20" } }, "node_modules/@vue/shared": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.14.tgz", - "integrity": "sha512-nmi3BtLpvqXAWoRZ6HQ+pFJOHBU4UnH3vD3opgmwXac7vhaHKA9nj1VeGjMggdB9eLtW83eHyPCmOU1qzdsC7Q==" + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.20.tgz", + "integrity": "sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==" }, "node_modules/@vueuse/core": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.2.tgz", - "integrity": "sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.8.0.tgz", + "integrity": "sha512-G9Ok9fjx10TkNIPn8V1dJmK1NcdJCtYmDRyYiTMUyJ1p0Tywc1zmOoCQ2xhHYyz8ULBU4KjIJQ9n+Lrty74iVw==", "dependencies": { "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.7.2", - "@vueuse/shared": "10.7.2", - "vue-demi": ">=0.14.6" + "@vueuse/metadata": "10.8.0", + "@vueuse/shared": "10.8.0", + "vue-demi": ">=0.14.7" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -1550,28 +1555,28 @@ } }, "node_modules/@vueuse/metadata": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.2.tgz", - "integrity": "sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.8.0.tgz", + "integrity": "sha512-Nim/Vle5OgXcXhAvGOgkJQXB1Yb+Kq/fMbLuv3YYDYbiQrwr39ljuD4k9fPeq4yUyokYRo2RaNQmbbIMWB/9+w==", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.2.tgz", - "integrity": "sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.8.0.tgz", + "integrity": "sha512-dUdy6zwHhULGxmr9YUg8e+EnB39gcM4Fe2oKBSrh3cOsV30JcMPtsyuspgFCUo5xxFNaeMf/W2yyKfST7Bg8oQ==", "dependencies": { - "vue-demi": ">=0.14.6" + "vue-demi": ">=0.14.7" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.6", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", - "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -1711,13 +1716,13 @@ } }, "node_modules/astro": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/astro/-/astro-4.1.2.tgz", - "integrity": "sha512-C/CrsIjRnRZYsLIBquAoTKj3ZPyGPVRByEcPMs6CrJLiHmcYnjpRMVd7oBFepU6772U1ZcXLy0zdxoRYjHFf5w==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.4.5.tgz", + "integrity": "sha512-ccat42P5qr281JExywVsK/BLeKgwSL+oLxJP195s4Wvj3nL32djw+WNJNctuDDTJ5XWgvPdHZjBtSDNO5OgagQ==", "dependencies": { - "@astrojs/compiler": "^2.3.4", + "@astrojs/compiler": "^2.5.3", "@astrojs/internal-helpers": "0.2.1", - "@astrojs/markdown-remark": "4.0.1", + "@astrojs/markdown-remark": "4.2.1", "@astrojs/telemetry": "3.0.4", "@babel/core": "^7.23.3", "@babel/generator": "^7.23.3", @@ -1725,6 +1730,7 @@ "@babel/plugin-transform-react-jsx": "^7.22.5", "@babel/traverse": "^7.23.3", "@babel/types": "^7.23.3", + "@medv/finder": "^3.1.0", "@types/babel__core": "^7.20.4", "acorn": "^8.11.2", "aria-query": "^5.3.0", @@ -1735,6 +1741,7 @@ "clsx": "^2.0.0", "common-ancestor-path": "^1.0.1", "cookie": "^0.6.0", + "cssesc": "^3.0.0", "debug": "^4.3.4", "deterministic-object-hash": "^2.0.1", "devalue": "^4.3.2", @@ -1761,19 +1768,18 @@ "p-queue": "^8.0.1", "path-to-regexp": "^6.2.1", "preferred-pm": "^3.1.2", - "probe-image-size": "^7.2.3", "prompts": "^2.4.2", "rehype": "^13.0.1", "resolve": "^1.22.4", "semver": "^7.5.4", - "server-destroy": "^1.0.1", - "shikiji": "^0.6.13", + "shikiji": "^0.9.19", + "shikiji-core": "^0.9.19", "string-width": "^7.0.0", "strip-ansi": "^7.1.0", "tsconfck": "^3.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.1", - "vite": "^5.0.10", + "vite": "^5.1.2", "vitefu": "^0.2.5", "which-pm": "^2.1.1", "yargs-parser": "^21.1.1", @@ -1817,12 +1823,12 @@ } }, "node_modules/astro/node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", "dependencies": { "esbuild": "^0.19.3", - "postcss": "^8.4.32", + "postcss": "^8.4.35", "rollup": "^4.2.0" }, "bin": { @@ -2329,6 +2335,17 @@ "node": ">= 8" } }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -3013,17 +3030,6 @@ "node": ">=16.17.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -3366,11 +3372,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, "node_modules/log-symbols": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", @@ -3415,9 +3416,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -3593,9 +3594,9 @@ } }, "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -4292,30 +4293,6 @@ "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", "optional": true }, - "node_modules/needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/nlcst-to-string": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz", @@ -4662,9 +4639,9 @@ } }, "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { "type": "opencollective", @@ -4811,16 +4788,6 @@ "node": ">=6" } }, - "node_modules/probe-image-size": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", - "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", - "dependencies": { - "lodash.merge": "^4.6.2", - "needle": "^2.5.2", - "stream-parser": "~0.3.1" - } - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -5545,15 +5512,10 @@ } ] }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "node_modules/sass": { - "version": "1.68.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz", - "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==", + "version": "1.71.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", + "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -5614,11 +5576,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" - }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", @@ -5662,13 +5619,18 @@ } }, "node_modules/shikiji": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.6.13.tgz", - "integrity": "sha512-4T7X39csvhT0p7GDnq9vysWddf2b6BeioiN3Ymhnt3xcy9tXmDcnsEFVxX18Z4YcQgEE/w48dLJ4pPPUcG9KkA==", + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz", + "integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==", "dependencies": { - "hast-util-to-html": "^9.0.0" + "shikiji-core": "0.9.19" } }, + "node_modules/shikiji-core": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz", + "integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==" + }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -5793,27 +5755,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", - "dependencies": { - "debug": "2" - } - }, - "node_modules/stream-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/stream-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, "node_modules/streamx": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", @@ -6238,15 +6179,15 @@ } }, "node_modules/vue": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.14.tgz", - "integrity": "sha512-Rop5Al/ZcBbBz+KjPZaZDgHDX0kUP4duEzDbm+1o91uxYUNmJrZSBuegsNIJvUGy+epLevNRNhLjm08VKTgGyw==", + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.20.tgz", + "integrity": "sha512-xF4zDKXp67NjgORFX/HOuaiaKYjgxkaToK0KWglFQEYlCw9AqgBlj1yu5xa6YaRek47w2IGiuvpvrGg/XuQFCw==", "dependencies": { - "@vue/compiler-dom": "3.4.14", - "@vue/compiler-sfc": "3.4.14", - "@vue/runtime-dom": "3.4.14", - "@vue/server-renderer": "3.4.14", - "@vue/shared": "3.4.14" + "@vue/compiler-dom": "3.4.20", + "@vue/compiler-sfc": "3.4.20", + "@vue/runtime-dom": "3.4.20", + "@vue/server-renderer": "3.4.20", + "@vue/shared": "3.4.20" }, "peerDependencies": { "typescript": "*" diff --git a/package.json b/package.json index ae874317..fb989ecd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "leim-maps", "type": "module", - "version": "2.0.0", + "version": "1.2.4", "scripts": { "dev": "astro dev", "start": "astro dev", @@ -10,14 +10,14 @@ "astro": "astro" }, "dependencies": { - "@astrojs/sitemap": "^3.0.4", + "@astrojs/sitemap": "^3.1.1", "@astrojs/vue": "^4.0.8", "@types/leaflet": "^1.9.8", - "@vueuse/core": "^10.7.1", - "astro": "^4.1.2", - "vue": "^3.4.14" + "@vueuse/core": "^10.8.0", + "astro": "^4.4.5", + "vue": "^3.4.20" }, "devDependencies": { - "sass": "^1.68.0" + "sass": "^1.71.1" } } diff --git a/public/icon/graduation-cap-shadow.png b/public/icon/graduation-cap-shadow.png new file mode 100644 index 00000000..8db8ba6f Binary files /dev/null and b/public/icon/graduation-cap-shadow.png differ diff --git a/public/icon/graduation-cap.png b/public/icon/graduation-cap.png new file mode 100644 index 00000000..1b61ba07 Binary files /dev/null and b/public/icon/graduation-cap.png differ diff --git a/src/components/maps/WorldMap.astro b/src/components/maps/WorldMap.astro index e41b6f9e..5da74647 100644 --- a/src/components/maps/WorldMap.astro +++ b/src/components/maps/WorldMap.astro @@ -106,6 +106,7 @@ for (let i = 0; i < markers.length; i++) { const coords = [convertYToScale(m.markerCoords.y), convertXToScale(m.markerCoords.x)] let markerIcon + let markerIconOverride switch (m.group) { case "capitals": @@ -154,7 +155,20 @@ for (let i = 0; i < markers.length; i++) { break } - const marker = L.marker(coords, { icon: markerIcon }).addTo(map) + // Handle icon override if it's specified + markerIconOverride = markerIcon + if (m.icon) { + markerIconOverride = L.icon({ + iconUrl: `icon/${m.icon}.png`, + shadowUrl: `icon/${m.icon}-shadow.png`, + iconSize: [25, 25], + shadowSize: [35, 30], + iconAnchor: [12.5, 8], + shadowAnchor: [11, 12] + }) + } + + const marker = L.marker(coords, { icon: markerIconOverride }).addTo(map) let popupContent = "" if (m.link) { popupContent = ` diff --git a/src/components/maps/data/markers.json b/src/components/maps/data/markers.json index 91bbb8ce..912521cb 100644 --- a/src/components/maps/data/markers.json +++ b/src/components/maps/data/markers.json @@ -784,6 +784,94 @@ "x": 105.79962111804268, "y": -82.40552057309549 } + }, + { + "group": "landmarks", + "title": "Faculté de Magie Appliquée", + "description": "Établissement d'enseignements arcaniques tout public, mais à la qualité lacunaire.", + "link": "https://alexcreates.fr/leim/index.php/Facult%C3%A9_de_Magie_Appliqu%C3%A9e", + "markerCoords": { + "x": 103.96761286182101, + "y": -79.90785827537563 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "Académie Artistique Arcanique", + "description": "Institut d'apprentissage public centré sur les arts.", + "link": "https://alexcreates.fr/leim/index.php/Acad%C3%A9mie_Artistique_Arcanique", + "markerCoords": { + "x": 75.84445789595449, + "y": -199.14437153165204 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "Académie Centrale Kaldélienne", + "description": "Une des plus grandes académies dispensant des cours de magie de l'Alliance. L'examen d'entrée est public, mais les coûts de scolarité restent à la charge des étudiants.", + "link": "https://alexcreates.fr/leim/index.php/Acad%C3%A9mie_Centrale_Kald%C3%A9lienne", + "markerCoords": { + "x": 83.80737652386473, + "y": -184.52963682119173 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "Grande Maison de Flamberge", + "description": "La plus prestigieuse école des Terres de Syaltha. La Grande Maison est une des rares entités à certifier les sal'kayas.", + "link": "https://alexcreates.fr/leim/index.php/Grande_Maison_de_Flamberge", + "markerCoords": { + "x": 302.23491236190273, + "y": -110.07337124956246 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "Haute-École de Magistrature Cordouenne", + "description": "Institut de l'Alliance formant les magistrats, juges et politiciens de demain.", + "link": "https://alexcreates.fr/leim/index.php/Haute-%C3%89cole_de_Magistrature_Cordouenne", + "markerCoords": { + "x": 131.07900289783518, + "y": -148.801890020031 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "Institut du Fer Blanc", + "description": "Première école militaire de l'Alliance Kaldélienne.", + "link": "https://alexcreates.fr/leim/index.php/Institut_du_Fer_Blanc", + "markerCoords": { + "x": 140.3159943633407, + "y": -191.78102982328744 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "Maison d'Études de Tourgrise", + "description": "Établissement pluridisciplinaires axé vers les études de législations mais possèdant un cursus d'études arcaniques général.", + "link": "https://alexcreates.fr/leim/index.php/Maison_d%27%C3%89tudes_de_Tourgrise", + "markerCoords": { + "x": 132.82148271354282, + "y": -98.7924395350658 + }, + "icon": "graduation-cap" + }, + { + "group": "landmarks", + "title": "École des Arts Spirituels", + "description": "Institut privé spécialisé dans les maîtrises des arcanes spirituelles.", + "link": "https://alexcreates.fr/leim/index.php/%C3%89cole_des_Arts_Spirituels", + "markerCoords": { + "x": 124.8585640856326, + "y": -95.86995303475213 + }, + "icon": "graduation-cap" } ] } \ No newline at end of file diff --git a/src/components/maps/overlay/SearchMarkers.vue b/src/components/maps/overlay/SearchMarkers.vue index 8de50a8c..1532504e 100644 --- a/src/components/maps/overlay/SearchMarkers.vue +++ b/src/components/maps/overlay/SearchMarkers.vue @@ -31,10 +31,7 @@ onMounted(() => { }) const hasQuery = computed(() => q.value.length > 0) -const shouldBeActive = computed(() => - (hasQuery.value && currentSearchMode.value === "query" && isComponentFocused.value) - || currentSearchMode.value !== "query" -) +const shouldBeActive = computed(() => hasQuery.value || currentSearchMode.value !== "query") const q = ref("") @@ -227,9 +224,14 @@ function resetAllFields(actionAfter?: "focusAfter") {
- - - +
+ +
+
+ + + +
diff --git a/src/types/Leaflet.ts b/src/types/Leaflet.ts index 50c3736a..ec67cfba 100644 --- a/src/types/Leaflet.ts +++ b/src/types/Leaflet.ts @@ -1,4 +1,5 @@ export type MapMarkerGroup = "capitals" | "cities" | "towns" | "landmarks" | "quests" | "custom"; +export type MapMarkerIcon = "castle" | "flag" | "graduation-cap" | "location-pin" | "monument" | "push-pin" export type MapCoords = { x: number, @@ -11,6 +12,7 @@ export type MapMarker = { description?: string, link?: string, group?: MapMarkerGroup, + icon?: MapMarkerIcon, } export type PlayerMarker = {