diff --git a/package-lock.json b/package-lock.json index 2440cb8..103a38c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,8 +11,8 @@ "@headlessui/react": "^1.7.7", "@heroicons/react": "^2.0.13", "@tailwindcss/forms": "^0.5.3", - "mapbox-gl": "^2.11.1", "maplibre-gl": "^4.7.1", + "pmtiles": "^4.4.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-map-gl": "^7.1.9" @@ -20,368 +20,220 @@ "devDependencies": { "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", - "@vitejs/plugin-react": "^3.0.0", + "@vitejs/plugin-react": "^6.0.1", "autoprefixer": "^10.4.13", "postcss": "^8.4.20", "tailwindcss": "^3.2.4", - "vite": "^4.0.0" + "vite": "^8.0.8" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "node_modules/@emnapi/core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", - "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.7", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "node_modules/@emnapi/runtime": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" + "tslib": "^2.4.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "tslib": "^2.4.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, + "node_modules/@headlessui/react": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.7.tgz", + "integrity": "sha512-BqDOd/tB9u2tA0T3Z0fn18ktw+KbVwMnkxxsGPIH2hzssrQhKB5n/6StZOyvLYP/FsYtvuXfi9I0YowKPv2c1w==", "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "client-only": "^0.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "node_modules/@heroicons/react": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.13.tgz", + "integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==", + "peerDependencies": { + "react": ">= 16" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "dev": true, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "get-stream": "^6.0.1", + "minimist": "^1.2.6" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" + "bin": { + "geojson-rewind": "geojson-rewind" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.2" - }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", "engines": { - "node": ">=6.9.0" + "node": ">= 0.6" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } + "node_modules/@mapbox/mapbox-gl-supported": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-2.0.1.tgz", + "integrity": "sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==", + "optional": true, + "peer": true }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "node_modules/@mapbox/tiny-sdf": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", + "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==", + "license": "BSD-2-Clause" }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "license": "MIT", + "node_modules/@mapbox/vector-tile": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" + "@mapbox/point-geometry": "~0.1.0" } }, - "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.4" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", + "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", - "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC" + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.3.tgz", + "integrity": "sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@tybys/wasm-util": "^0.10.1" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "license": "MIT", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=6.9.0" + "node": ">= 8" } }, - "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", - "debug": "^4.3.1" - }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "engines": { - "node": ">=6.9.0" + "node": ">= 8" } }, - "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", - "dev": true, - "license": "MIT", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 8" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], + "node_modules/@oxc-project/types": { + "version": "0.124.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.124.0.tgz", + "integrity": "sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/sponsors/Boshen" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==", "cpu": [ "arm64" ], @@ -392,30 +244,13 @@ "android" ], "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==", "cpu": [ "arm64" ], @@ -426,13 +261,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==", "cpu": [ "x64" ], @@ -443,30 +278,13 @@ "darwin" ], "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==", "cpu": [ "x64" ], @@ -477,13 +295,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.15.tgz", + "integrity": "sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==", "cpu": [ "arm" ], @@ -494,13 +312,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==", "cpu": [ "arm64" ], @@ -511,49 +329,15 @@ "linux" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==", "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" + "arm64" ], "dev": true, "license": "MIT", @@ -562,13 +346,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==", "cpu": [ "ppc64" ], @@ -579,30 +363,13 @@ "linux" ], "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==", "cpu": [ "s390x" ], @@ -613,13 +380,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==", "cpu": [ "x64" ], @@ -630,13 +397,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==", "cpu": [ "x64" ], @@ -644,50 +411,52 @@ "license": "MIT", "optional": true, "os": [ - "netbsd" + "linux" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "openbsd" + "openharmony" ], "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.15.tgz", + "integrity": "sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==", "cpu": [ - "x64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "@emnapi/core": "1.9.2", + "@emnapi/runtime": "1.9.2", + "@napi-rs/wasm-runtime": "^1.1.3" + }, "engines": { - "node": ">=12" + "node": ">=14.0.0" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==", "cpu": [ "arm64" ], @@ -698,30 +467,13 @@ "win32" ], "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==", "cpu": [ "x64" ], @@ -732,196 +484,16 @@ "win32" ], "engines": { - "node": ">=12" - } - }, - "node_modules/@headlessui/react": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.7.tgz", - "integrity": "sha512-BqDOd/tB9u2tA0T3Z0fn18ktw+KbVwMnkxxsGPIH2hzssrQhKB5n/6StZOyvLYP/FsYtvuXfi9I0YowKPv2c1w==", - "dependencies": { - "client-only": "^0.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/@heroicons/react": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.13.tgz", - "integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==", - "peerDependencies": { - "react": ">= 16" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", "dev": true, "license": "MIT" }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mapbox/geojson-rewind": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", - "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", - "dependencies": { - "get-stream": "^6.0.1", - "minimist": "^1.2.6" - }, - "bin": { - "geojson-rewind": "geojson-rewind" - } - }, - "node_modules/@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@mapbox/mapbox-gl-supported": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-2.0.1.tgz", - "integrity": "sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==" - }, - "node_modules/@mapbox/point-geometry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", - "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" - }, - "node_modules/@mapbox/tiny-sdf": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", - "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==", - "license": "BSD-2-Clause" - }, - "node_modules/@mapbox/unitbezier": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", - "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" - }, - "node_modules/@mapbox/vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", - "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", - "dependencies": { - "@mapbox/point-geometry": "~0.1.0" - } - }, - "node_modules/@mapbox/whoots-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", - "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", - "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", - "license": "ISC", - "dependencies": { - "@mapbox/jsonlint-lines-primitives": "~2.0.2", - "@mapbox/unitbezier": "^0.0.1", - "json-stringify-pretty-compact": "^4.0.0", - "minimist": "^1.2.8", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "tinyqueue": "^3.0.0" - }, - "bin": { - "gl-style-format": "dist/gl-style-format.mjs", - "gl-style-migrate": "dist/gl-style-migrate.mjs", - "gl-style-validate": "dist/gl-style-validate.mjs" - } - }, - "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/tinyqueue": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", - "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", - "license": "ISC" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/@tailwindcss/forms": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", @@ -933,6 +505,17 @@ "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" } }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/geojson": { "version": "7946.0.16", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", @@ -1021,22 +604,29 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz", - "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.20.5", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.19.6", - "magic-string": "^0.27.0", - "react-refresh": "^0.14.0" + "@rolldown/pluginutils": "1.0.0-rc.7" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^4.0.0" + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } } }, "node_modules/acorn": { @@ -1136,6 +726,19 @@ "postcss": "^8.1.0" } }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.18", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.18.tgz", + "integrity": "sha512-VSnGQAOLtP5mib/DPyg2/t+Tlv65NTBz83BJBJvmLVHHuKJVaDOBvJJykiT5TR++em5nfAySPccDZDa4oSrn8A==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1157,9 +760,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -1169,13 +772,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -1212,9 +821,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001441", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", - "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "version": "1.0.30001787", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", + "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", "dev": true, "funding": [ { @@ -1224,8 +833,13 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chokidar": { "version": "3.5.3", @@ -1269,16 +883,12 @@ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, "node_modules/csscolorparser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==", + "optional": true, + "peer": true }, "node_modules/cssesc": { "version": "3.0.0", @@ -1297,23 +907,6 @@ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", "dev": true }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/defined": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", @@ -1322,6 +915,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detective": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", @@ -1351,57 +954,23 @@ "node_modules/earcut": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", - "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "optional": true, + "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "1.5.335", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.335.tgz", + "integrity": "sha512-q9n5T4BR4Xwa2cwbrwcsDJtHD/enpQ5S1xF1IAtdqf5AAgqDFmR/aakqH3ChFdqd/QXJhS3rnnXFtexU7rax6Q==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } + "license": "ISC" }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1452,6 +1021,12 @@ "reusify": "^1.0.4" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -1478,10 +1053,11 @@ } }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1495,19 +1071,12 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/geojson-vt": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "optional": true, + "peer": true }, "node_modules/get-stream": { "version": "6.0.1", @@ -1562,7 +1131,9 @@ "node_modules/grid-index": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" + "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==", + "optional": true, + "peer": true }, "node_modules/has": { "version": "1.0.3", @@ -1697,41 +1268,18 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/json-stringify-pretty-compact": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/kdbush": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "optional": true, + "peer": true }, "node_modules/kind-of": { "version": "6.0.3", @@ -1742,6 +1290,267 @@ "node": ">=0.10.0" } }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", @@ -1761,31 +1570,12 @@ "loose-envify": "cli.js" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/mapbox-gl": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-2.11.1.tgz", "integrity": "sha512-UzPi3m9i4t95M234sPmL3n9q2XpyHoyIFMXDjuJP+3OmzROwYUMzLcNMnPHrOmgwGicg99dr7rEJGYyEGr9i+A==", + "optional": true, + "peer": true, "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -1928,12 +1718,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/murmurhash-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", @@ -1958,10 +1742,11 @@ } }, "node_modules/node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", - "dev": true + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -2013,9 +1798,10 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -2031,10 +1817,19 @@ "node": ">=0.10.0" } }, + "node_modules/pmtiles": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-4.4.1.tgz", + "integrity": "sha512-5oTeQc/yX/ft1evbpIlnoCZugQuug/iYIAj/ZTqIqzdGek4uZEho99En890EE6NOSI3JTI3IG8R7r8+SltphxA==", + "license": "BSD-3-Clause", + "dependencies": { + "fflate": "^0.8.2" + } + }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", "funding": [ { "type": "opencollective", @@ -2121,6 +1916,15 @@ } } }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/postcss-nested": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", @@ -2273,15 +2077,6 @@ "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==", "license": "MIT" }, - "node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -2334,22 +2129,46 @@ "node": ">=0.10.0" } }, - "node_modules/rollup": { - "version": "3.29.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", - "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "node_modules/rolldown": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.15.tgz", + "integrity": "sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==", "dev": true, "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.124.0", + "@rolldown/pluginutils": "1.0.0-rc.15" + }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "fsevents": "~2.3.2" - } + "@rolldown/binding-android-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-x64": "1.0.0-rc.15", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.15", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.15", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.15", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.15", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.15", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.15", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.15" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.15.tgz", + "integrity": "sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==", + "dev": true, + "license": "MIT" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -2386,16 +2205,6 @@ "loose-envify": "^1.1.0" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -2496,6 +2305,8 @@ "version": "7.1.5", "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", + "optional": true, + "peer": true, "dependencies": { "kdbush": "^3.0.0" } @@ -2556,10 +2367,60 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", - "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "optional": true, + "peer": true }, "node_modules/to-regex-range": { "version": "5.0.1", @@ -2573,6 +2434,14 @@ "node": ">=8.0" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/typewise": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", @@ -2604,9 +2473,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -2616,14 +2485,19 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -2635,50 +2509,66 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", - "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.8.tgz", + "integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.15", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, - "less": { + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { "optional": true }, - "lightningcss": { + "jiti": { + "optional": true + }, + "less": { "optional": true }, "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, @@ -2687,451 +2577,111 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, - "node_modules/vt-pbf": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", - "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", - "dependencies": { - "@mapbox/point-geometry": "0.1.0", - "@mapbox/vector-tile": "^1.3.1", - "pbf": "^3.2.1" - } - }, - "node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - } - }, - "@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true - }, - "@babel/core": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", - "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.7", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", - "dev": true, - "requires": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "requires": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - } - }, - "@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", - "dev": true, - "requires": { - "@babel/types": "^7.28.4" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", - "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", - "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - } - }, - "@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", - "debug": "^4.3.1" - } - }, - "@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "dev": true, - "optional": true + "node_modules/vt-pbf": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "dependencies": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.2.1" + } }, - "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "dev": true, - "optional": true + "node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } }, - "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "dev": true, - "optional": true + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } }, - "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + } + }, + "dependencies": { + "@emnapi/core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", "dev": true, - "optional": true + "optional": true, + "requires": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } }, - "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "@emnapi/runtime": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "tslib": "^2.4.0" + } }, - "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, - "optional": true + "optional": true, + "requires": { + "tslib": "^2.4.0" + } }, "@headlessui/react": { "version": "1.7.7", @@ -3147,44 +2697,6 @@ "integrity": "sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==", "requires": {} }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, "@mapbox/geojson-rewind": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", @@ -3202,7 +2714,9 @@ "@mapbox/mapbox-gl-supported": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-2.0.1.tgz", - "integrity": "sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==" + "integrity": "sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==", + "optional": true, + "peer": true }, "@mapbox/point-geometry": { "version": "0.1.0", @@ -3253,6 +2767,16 @@ } } }, + "@napi-rs/wasm-runtime": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.3.tgz", + "integrity": "sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==", + "dev": true, + "optional": true, + "requires": { + "@tybys/wasm-util": "^0.10.1" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3276,6 +2800,128 @@ "fastq": "^1.6.0" } }, + "@oxc-project/types": { + "version": "0.124.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.124.0.tgz", + "integrity": "sha512-VBFWMTBvHxS11Z5Lvlr3IWgrwhMTXV+Md+EQF0Xf60+wAdsGFTBx7X7K/hP4pi8N7dcm1RvcHwDxZ16Qx8keUg==", + "dev": true + }, + "@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-YYe6aWruPZDtHNpwu7+qAHEMbQ/yRl6atqb/AhznLTnD3UY99Q1jE7ihLSahNWkF4EqRPVC4SiR4O0UkLK02tA==", + "dev": true, + "optional": true + }, + "@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-oArR/ig8wNTPYsXL+Mzhs0oxhxfuHRfG7Ikw7jXsw8mYOtk71W0OkF2VEVh699pdmzjPQsTjlD1JIOoHkLP1Fg==", + "dev": true, + "optional": true + }, + "@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-YzeVqOqjPYvUbJSWJ4EDL8ahbmsIXQpgL3JVipmN+MX0XnXMeWomLN3Fb+nwCmP/jfyqte5I3XRSm7OfQrbyxw==", + "dev": true, + "optional": true + }, + "@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.15.tgz", + "integrity": "sha512-9Erhx956jeQ0nNTyif1+QWAXDRD38ZNjr//bSHrt6wDwB+QkAfl2q6Mn1k6OBPerznjRmbM10lgRb1Pli4xZPw==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.15.tgz", + "integrity": "sha512-cVwk0w8QbZJGTnP/AHQBs5yNwmpgGYStL88t4UIaqcvYJWBfS0s3oqVLZPwsPU6M0zlW4GqjP0Zq5MnAGwFeGA==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-eBZ/u8iAK9SoHGanqe/jrPnY0JvBN6iXbVOsbO38mbz+ZJsaobExAm1Iu+rxa4S1l2FjG0qEZn4Rc6X8n+9M+w==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.15.tgz", + "integrity": "sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==", + "dev": true, + "optional": true + }, + "@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.15.tgz", + "integrity": "sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==", + "dev": true, + "optional": true + }, + "@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.15.tgz", + "integrity": "sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==", + "dev": true, + "optional": true + }, + "@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.15.tgz", + "integrity": "sha512-ApLruZq/ig+nhaE7OJm4lDjayUnOHVUa77zGeqnqZ9pn0ovdVbbNPerVibLXDmWeUZXjIYIT8V3xkT58Rm9u5Q==", + "dev": true, + "optional": true, + "requires": { + "@emnapi/core": "1.9.2", + "@emnapi/runtime": "1.9.2", + "@napi-rs/wasm-runtime": "^1.1.3" + } + }, + "@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-KmoUoU7HnN+Si5YWJigfTws1jz1bKBYDQKdbLspz0UaqjjFkddHsqorgiW1mxcAj88lYUE6NC/zJNwT+SloqtA==", + "dev": true, + "optional": true + }, + "@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.15.tgz", + "integrity": "sha512-3P2A8L+x75qavWLe/Dll3EYBJLQmtkJN8rfh+U/eR3MqMgL/h98PhYI+JFfXuDPgPeCB7iZAKiqii5vqOvnA0g==", + "dev": true, + "optional": true + }, + "@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true + }, "@tailwindcss/forms": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.3.tgz", @@ -3284,6 +2930,16 @@ "mini-svg-data-uri": "^1.2.3" } }, + "@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.4.0" + } + }, "@types/geojson": { "version": "7946.0.16", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", @@ -3366,16 +3022,12 @@ } }, "@vitejs/plugin-react": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.0.tgz", - "integrity": "sha512-1mvyPc0xYW5G8CHQvJIJXLoMjl5Ct3q2g5Y2s6Ccfgwm45y48LBvsla7az+GkkAtYikWQ4Lxqcsq5RHLcZgtNQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", "dev": true, "requires": { - "@babel/core": "^7.20.5", - "@babel/plugin-transform-react-jsx-self": "^7.18.6", - "@babel/plugin-transform-react-jsx-source": "^7.19.6", - "magic-string": "^0.27.0", - "react-refresh": "^0.14.0" + "@rolldown/pluginutils": "1.0.0-rc.7" } }, "acorn": { @@ -3436,6 +3088,12 @@ "postcss-value-parser": "^4.2.0" } }, + "baseline-browser-mapping": { + "version": "2.10.18", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.18.tgz", + "integrity": "sha512-VSnGQAOLtP5mib/DPyg2/t+Tlv65NTBz83BJBJvmLVHHuKJVaDOBvJJykiT5TR++em5nfAySPccDZDa4oSrn8A==", + "dev": true + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -3450,15 +3108,16 @@ } }, "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" } }, "bytewise": { @@ -3484,9 +3143,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001441", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", - "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "version": "1.0.30001787", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz", + "integrity": "sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==", "dev": true }, "chokidar": { @@ -3519,16 +3178,12 @@ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, "csscolorparser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==", + "optional": true, + "peer": true }, "cssesc": { "version": "3.0.0", @@ -3541,20 +3196,17 @@ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", "dev": true }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "defined": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" }, + "detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true + }, "detective": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", @@ -3578,48 +3230,20 @@ "earcut": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", - "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==" + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "optional": true, + "peer": true }, "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.5.335", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.335.tgz", + "integrity": "sha512-q9n5T4BR4Xwa2cwbrwcsDJtHD/enpQ5S1xF1IAtdqf5AAgqDFmR/aakqH3ChFdqd/QXJhS3rnnXFtexU7rax6Q==", "dev": true }, - "esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "extend-shallow": { @@ -3660,6 +3284,11 @@ "reusify": "^1.0.4" } }, + "fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==" + }, "fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -3675,9 +3304,9 @@ "dev": true }, "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "optional": true }, "function-bind": { @@ -3685,16 +3314,12 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, "geojson-vt": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "optional": true, + "peer": true }, "get-stream": { "version": "6.0.1", @@ -3732,7 +3357,9 @@ "grid-index": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" + "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==", + "optional": true, + "peer": true }, "has": { "version": "1.0.3", @@ -3814,33 +3441,120 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true - }, "json-stringify-pretty-compact": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==" }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, "kdbush": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "optional": true, + "peer": true }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, + "lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "requires": { + "detect-libc": "^2.0.3", + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "dev": true, + "optional": true + }, + "lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "dev": true, + "optional": true + }, + "lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "dev": true, + "optional": true + }, + "lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "dev": true, + "optional": true + }, + "lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "dev": true, + "optional": true + }, + "lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "dev": true, + "optional": true + }, + "lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "dev": true, + "optional": true + }, + "lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "dev": true, + "optional": true + }, + "lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "dev": true, + "optional": true + }, + "lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "dev": true, + "optional": true + }, + "lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "dev": true, + "optional": true + }, "lilconfig": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", @@ -3854,28 +3568,12 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, "mapbox-gl": { "version": "2.11.1", "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-2.11.1.tgz", "integrity": "sha512-UzPi3m9i4t95M234sPmL3n9q2XpyHoyIFMXDjuJP+3OmzROwYUMzLcNMnPHrOmgwGicg99dr7rEJGYyEGr9i+A==", + "optional": true, + "peer": true, "requires": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", @@ -3992,12 +3690,6 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "murmurhash-js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", @@ -4009,9 +3701,9 @@ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" }, "node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", "dev": true }, "normalize-path": { @@ -4050,19 +3742,27 @@ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==" }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" }, + "pmtiles": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/pmtiles/-/pmtiles-4.4.1.tgz", + "integrity": "sha512-5oTeQc/yX/ft1evbpIlnoCZugQuug/iYIAj/ZTqIqzdGek4uZEho99En890EE6NOSI3JTI3IG8R7r8+SltphxA==", + "requires": { + "fflate": "^0.8.2" + } + }, "postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.9.tgz", + "integrity": "sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==", "requires": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -4094,6 +3794,13 @@ "requires": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" + }, + "dependencies": { + "yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==" + } } }, "postcss-nested": { @@ -4189,12 +3896,6 @@ } } }, - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true - }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -4234,13 +3935,37 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, - "rollup": { - "version": "3.29.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", - "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "rolldown": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.15.tgz", + "integrity": "sha512-Ff31guA5zT6WjnGp0SXw76X6hzGRk/OQq2hE+1lcDe+lJdHSgnSX6nK3erbONHyCbpSj9a9E+uX/OvytZoWp2g==", "dev": true, "requires": { - "fsevents": "~2.3.2" + "@oxc-project/types": "=0.124.0", + "@rolldown/binding-android-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.15", + "@rolldown/binding-darwin-x64": "1.0.0-rc.15", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.15", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.15", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.15", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.15", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.15", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.15", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.15", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.15", + "@rolldown/pluginutils": "1.0.0-rc.15" + }, + "dependencies": { + "@rolldown/pluginutils": { + "version": "1.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.15.tgz", + "integrity": "sha512-UromN0peaE53IaBRe9W7CjrZgXl90fqGpK+mIZbA3qSTeYqg3pqpROBdIPvOG3F5ereDHNwoHBI2e50n1BDr1g==", + "dev": true + } } }, "run-parallel": { @@ -4264,12 +3989,6 @@ "loose-envify": "^1.1.0" } }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -4340,6 +4059,8 @@ "version": "7.1.5", "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", + "optional": true, + "peer": true, "requires": { "kdbush": "^3.0.0" } @@ -4386,10 +4107,37 @@ } } }, + "tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "requires": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "dependencies": { + "fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "requires": {} + }, + "picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true + } + } + }, "tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", - "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==" + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "optional": true, + "peer": true }, "to-regex-range": { "version": "5.0.1", @@ -4399,6 +4147,13 @@ "is-number": "^7.0.0" } }, + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "optional": true + }, "typewise": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", @@ -4424,13 +4179,13 @@ } }, "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" } }, "util-deprecate": { @@ -4439,15 +4194,25 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "vite": { - "version": "4.5.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", - "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", + "version": "8.0.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.8.tgz", + "integrity": "sha512-dbU7/iLVa8KZALJyLOBOQ88nOXtNG8vxKuOT4I2mD+Ya70KPceF4IAmDsmU0h1Qsn5bPrvsY9HJstCRh3hG6Uw==", "dev": true, "requires": { - "esbuild": "^0.18.10", - "fsevents": "~2.3.2", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "fsevents": "~2.3.3", + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.15", + "tinyglobby": "^0.2.15" + }, + "dependencies": { + "picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true + } } }, "vt-pbf": { @@ -4473,16 +4238,13 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "dev": true, + "optional": true, + "peer": true } } } diff --git a/package.json b/package.json index 9b967d5..7ba7dec 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "@headlessui/react": "^1.7.7", "@heroicons/react": "^2.0.13", "@tailwindcss/forms": "^0.5.3", - "mapbox-gl": "^2.11.1", "maplibre-gl": "^4.7.1", + "pmtiles": "^4.4.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-map-gl": "^7.1.9" @@ -21,10 +21,10 @@ "devDependencies": { "@types/react": "^18.0.26", "@types/react-dom": "^18.0.9", - "@vitejs/plugin-react": "^3.0.0", + "@vitejs/plugin-react": "^6.0.1", "autoprefixer": "^10.4.13", "postcss": "^8.4.20", "tailwindcss": "^3.2.4", - "vite": "^4.0.0" + "vite": "^8.0.8" } -} \ No newline at end of file +} diff --git a/public/planet_z6_20260414.pmtiles b/public/planet_z6_20260414.pmtiles new file mode 100644 index 0000000..1b3d843 Binary files /dev/null and b/public/planet_z6_20260414.pmtiles differ diff --git a/src/Countries.jsx b/src/Countries.jsx index e5c38cf..caf6feb 100644 --- a/src/Countries.jsx +++ b/src/Countries.jsx @@ -6,10 +6,11 @@ import { import { XMarkIcon } from "@heroicons/react/24/outline"; import { Fragment, useRef, useState } from "react"; -import 'maplibre-gl/dist/maplibre-gl.css'; import Map, { Layer, Popup, ScaleControl, Source } from "react-map-gl/maplibre"; +import basemap from "./assets/basemap.json"; import mapstyle from "./countries.json"; + mapstyle.sources.remap.url = import.meta.env.MODE === "development" ? "http://localhost:8080/capabilities/remap.json" : mapstyle.sources.remap.url const paintedLayers = mapstyle.layers.reduce((acc, cur) => ({ ...acc, [cur.id]: cur }), {}) @@ -620,13 +621,15 @@ export default function Countries({ mapOptions, onMapOptionClick }) { longitude: mapstyle.center[1], zoom: mapstyle.zoom, }} + mapStyle={basemap} minZoom={mapstyle.minZoom} - maxZoom={mapstyle.maxZoom} ref={mapRef} interactiveLayerIds={["power_fact_mw"]} onClick={handleClick} onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave} + maxZoom={6} + hash > {open && {open && {open && Protomaps © OpenStreetMap", + "url": "pmtiles://planet_z6_20260414.pmtiles" + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "#cccccc" + } + }, + { + "id": "earth", + "type": "fill", + "filter": [ + "==", + "$type", + "Polygon" + ], + "source": "protomaps", + "source-layer": "earth", + "paint": { + "fill-color": "#e2dfda" + } + }, + { + "id": "landcover", + "type": "fill", + "source": "protomaps", + "source-layer": "landcover", + "paint": { + "fill-color": [ + "match", + [ + "get", + "kind" + ], + "grassland", + "rgba(210, 239, 207, 1)", + "barren", + "rgba(255, 243, 215, 1)", + "urban_area", + "rgba(230, 230, 230, 1)", + "farmland", + "rgba(216, 239, 210, 1)", + "glacier", + "rgba(255, 255, 255, 1)", + "scrub", + "rgba(234, 239, 210, 1)", + "rgba(196, 231, 210, 1)" + ], + "fill-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 1, + 7, + 0 + ] + } + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course", + "wood", + "scrub", + "grassland", + "grass", + "glacier", + "sand", + "military", + "naval_base", + "airfield" + ], + "paint": { + "fill-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + 0, + 11, + 1 + ], + "fill-color": [ + "case", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course" + ] + ] + ], + "#9cd3b4", + [ + "==", + [ + "get", + "kind" + ], + "wood" + ], + "#a0d9a0", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "scrub", + "grassland", + "grass" + ] + ] + ], + "#99d2bb", + [ + "==", + [ + "get", + "kind" + ], + "glacier" + ], + "#e7e7e7", + [ + "==", + [ + "get", + "kind" + ], + "sand" + ], + "#e2e0d7", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "military", + "naval_base", + "airfield" + ] + ] + ], + "#c6dcdc", + "#e2dfda" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "allotments", + "village_green", + "playground" + ], + "paint": { + "fill-color": "#9cd3b4", + "fill-opacity": 0.7 + } + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "==", + "kind", + "hospital" + ], + "paint": { + "fill-color": "#e4dad9" + } + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "==", + "kind", + "industrial" + ], + "paint": { + "fill-color": "#d1dde1" + } + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "school", + "university", + "college" + ], + "paint": { + "fill-color": "#e4ded7" + } + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "beach" + ], + "paint": { + "fill-color": "#e8e4d0" + } + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "zoo" + ], + "paint": { + "fill-color": "#c6dcdc" + } + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "aerodrome" + ], + "paint": { + "fill-color": "#dadbdf" + } + }, + { + "id": "roads_runway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "==", + "kind_detail", + "runway" + ], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "roads_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "==", + "kind_detail", + "taxiway" + ], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "landuse_runway", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + [ + "in", + "kind", + "runway", + "taxiway" + ] + ], + "paint": { + "fill-color": "#e9e9ed" + } + }, + { + "id": "water", + "type": "fill", + "filter": [ + "==", + "$type", + "Polygon" + ], + "source": "protomaps", + "source-layer": "water", + "paint": { + "fill-color": "#80deea" + } + }, + { + "id": "water_stream", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 14, + "filter": [ + "in", + "kind", + "stream" + ], + "paint": { + "line-color": "#80deea", + "line-width": 0.5 + } + }, + { + "id": "water_river", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 9, + "filter": [ + "in", + "kind", + "river" + ], + "paint": { + "line-color": "#80deea", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "pedestrian", + "dam" + ], + "paint": { + "fill-color": "#e3e0d4" + } + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "==", + "kind", + "pier" + ], + "paint": { + "fill-color": "#e0e0e0" + } + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "in", + "kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "==", + "kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "has", + "is_link" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 3, + 2 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "highway" + ], + [ + "!has", + "is_link" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [ + 6, + 0.5 + ], + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "in", + "kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-dasharray": [ + 4.5, + 0.5 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "==", + "kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "has", + "is_link" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_tunnel" + ], + [ + "==", + [ + "get", + "kind" + ], + "highway" + ], + [ + "!", + [ + "has", + "is_link" + ] + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "filter": [ + "in", + "kind", + "building", + "building_part" + ], + "paint": { + "fill-color": "#cccccc", + "fill-opacity": 0.5 + } + }, + { + "id": "roads_pier", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "==", + "kind_detail", + "pier" + ], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "minor_road" + ], + [ + "==", + "kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "minor_road" + ], + [ + "!=", + "kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "has", + "is_link" + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "highway" + ], + [ + "!has", + "is_link" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "in", + "kind", + "other", + "path" + ], + [ + "!=", + "kind_detail", + "pier" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0.5, + 20, + 12 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "has", + "is_link" + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "minor_road" + ], + [ + "==", + "kind_detail", + "service" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "minor_road" + ], + [ + "!=", + "kind_detail", + "service" + ] + ], + "paint": { + "line-color": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + "#ebebeb", + 16, + "#ffffff" + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "highway" + ], + [ + "!has", + "is_link" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "!has", + "is_tunnel" + ], + [ + "!has", + "is_bridge" + ], + [ + "==", + "kind", + "highway" + ], + [ + "!has", + "is_link" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "roads_rail", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "==", + "kind", + "rail" + ], + "paint": { + "line-dasharray": [ + 0.3, + 0.75 + ], + "line-opacity": 0.5, + "line-color": "#a7b1b3", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "in", + "kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "has", + "is_link" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "==", + "kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "in", + "kind", + "other", + "path" + ] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [ + 2, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "==", + "kind", + "minor_road" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "has", + "is_link" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "==", + "kind", + "major_road" + ] + ], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "==", + "kind", + "highway" + ], + [ + "!has", + "is_link" + ] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "has", + "is_bridge" + ], + [ + "==", + "kind", + "highway" + ], + [ + "!has", + "is_link" + ] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "address_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "buildings", + "minzoom": 18, + "filter": [ + "==", + "kind", + "address" + ], + "layout": { + "symbol-placement": "point", + "text-font": [ + "Noto Sans Italic" + ], + "text-field": [ + "get", + "addr_housenumber" + ], + "text-size": 12 + }, + "paint": { + "text-color": "#91888b", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "water_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "minzoom": 13, + "filter": [ + "in", + "kind", + "river", + "stream" + ], + "layout": { + "symbol-placement": "line", + "text-font": [ + "Noto Sans Italic" + ], + "text-field": [ + "get", + "name:ru" + ], + "text-size": 12, + "text-letter-spacing": 0.2 + }, + "paint": { + "text-color": "#728dd4", + "text-halo-color": "#80deea", + "text-halo-width": 1 + } + }, + { + "id": "roads_oneway", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 16, + "filter": [ + "==", + [ + "get", + "oneway" + ], + "yes" + ], + "layout": { + "symbol-placement": "line", + "icon-image": "arrow", + "icon-rotate": 90, + "symbol-spacing": 100 + } + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": [ + "in", + "kind", + "minor_road", + "other", + "path" + ], + "layout": { + "symbol-sort-key": [ + "get", + "min_zoom" + ], + "symbol-placement": "line", + "text-font": [ + "Noto Sans Regular" + ], + "text-field": [ + "get", + "name:ru" + ], + "text-size": 12 + }, + "paint": { + "text-color": "#91888b", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "water_label_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "sea", + "ocean", + "bay", + "strait", + "fjord" + ], + "layout": { + "text-font": [ + "Noto Sans Italic" + ], + "text-field": [ + "get", + "name:ru" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#728dd4", + "text-halo-width": 1, + "text-halo-color": "#80deea" + } + }, + { + "id": "earth_label_islands", + "type": "symbol", + "source": "protomaps", + "source-layer": "earth", + "filter": [ + "in", + "kind", + "island" + ], + "layout": { + "text-font": [ + "Noto Sans Italic" + ], + "text-field": [ + "get", + "name:ru" + ], + "text-size": 10, + "text-letter-spacing": 0.1, + "text-max-width": 8 + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1 + } + }, + { + "id": "water_label_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "lake", + "water" + ], + "layout": { + "text-font": [ + "Noto Sans Italic" + ], + "text-field": [ + "get", + "name:ru" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 10, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": { + "text-color": "#728dd4", + "text-halo-color": "#80deea", + "text-halo-width": 1 + } + }, + { + "id": "roads_shields", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "highway", + "major_road" + ] + ] + ], + [ + "has", + "shield_text" + ], + [ + "<=", + [ + "length", + [ + "get", + "shield_text" + ] + ], + 5 + ] + ], + "layout": { + "icon-image": [ + "match", + [ + "get", + "network" + ], + "US:I", + [ + "concat", + "US:I-", + [ + "length", + [ + "get", + "shield_text" + ] + ], + "char" + ], + "NL:S-road", + [ + "concat", + "NL:S-road-", + [ + "length", + [ + "get", + "shield_text" + ] + ], + "char" + ], + [ + "concat", + "generic_shield-", + [ + "length", + [ + "get", + "shield_text" + ] + ], + "char" + ] + ], + "text-field": [ + "get", + "shield_text" + ], + "text-font": [ + "Noto Sans Medium" + ], + "text-size": 8, + "icon-size": 0.8, + "symbol-placement": "line", + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport" + }, + "paint": { + "text-color": "#938a8d" + } + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": [ + "in", + "kind", + "highway", + "major_road" + ], + "layout": { + "symbol-sort-key": [ + "get", + "min_zoom" + ], + "symbol-placement": "line", + "text-font": [ + "Noto Sans Regular" + ], + "text-field": [ + "get", + "name:ru" + ], + "text-size": 12 + }, + "paint": { + "text-color": "#938a8d", + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "pois", + "type": "symbol", + "source": "protomaps", + "source-layer": "pois", + "filter": [ + "all", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "beach", + "forest", + "marina", + "park", + "peak", + "zoo", + "garden", + "bench", + "aerodrome", + "station", + "bus_stop", + "ferry_terminal", + "stadium", + "university", + "library", + "school", + "animal", + "toilets", + "drinking_water", + "post_office", + "building", + "townhall", + "restaurant", + "fast_food", + "cafe", + "bar", + "supermarket", + "convenience", + "books", + "beauty", + "electronics", + "clothes", + "attraction", + "museum", + "theatre", + "artwork" + ] + ] + ], + [ + ">=", + [ + "zoom" + ], + [ + "+", + [ + "get", + "min_zoom" + ], + 0 + ] + ] + ], + "layout": { + "icon-image": [ + "match", + [ + "get", + "kind" + ], + "station", + "train_station", + [ + "get", + "kind" + ] + ], + "text-font": [ + "Noto Sans Regular" + ], + "text-justify": "auto", + "text-field": [ + "get", + "name:ru" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 17, + 10, + 19, + 16 + ], + "text-max-width": 8, + "text-offset": [ + 1.1, + 0 + ], + "text-variable-anchor": [ + "left", + "right" + ] + }, + "paint": { + "text-color": [ + "case", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "beach", + "forest", + "marina", + "park", + "peak", + "zoo", + "garden", + "bench" + ] + ] + ], + "#20834D", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "aerodrome", + "station", + "bus_stop", + "ferry_terminal" + ] + ] + ], + "#315BCF", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "stadium", + "university", + "library", + "school", + "animal", + "toilets", + "drinking_water", + "post_office", + "building", + "townhall" + ] + ] + ], + "#6A5B8F", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "supermarket", + "convenience", + "books", + "beauty", + "electronics", + "clothes" + ] + ] + ], + "#1A8CBD", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "restaurant", + "fast_food", + "cafe", + "bar" + ] + ] + ], + "#CB6704", + [ + "in", + [ + "get", + "kind" + ], + [ + "literal", + [ + "attraction", + "museum", + "theatre", + "artwork" + ] + ] + ], + "#EF56BA", + "#e2dfda" + ], + "text-halo-color": "#e2dfda", + "text-halo-width": 1 + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "in", + "kind", + "neighbourhood", + "macrohood" + ], + "layout": { + "symbol-sort-key": [ + "case", + [ + "has", + "sort_key" + ], + [ + "get", + "sort_key" + ], + [ + "get", + "min_zoom" + ] + ], + "text-field": [ + "get", + "name:ru" + ], + "text-font": [ + "Noto Sans Regular" + ], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1.2 + ], + [ + "zoom" + ], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "kind", + "region" + ], + "layout": { + "symbol-sort-key": [ + "get", + "sort_key" + ], + "text-field": [ + "step", + [ + "zoom" + ], + [ + "coalesce", + [ + "get", + "ref:en" + ], + [ + "get", + "ref" + ] + ], + 6, + [ + "case", + [ + "all", + [ + "any", + [ + "has", + "name" + ], + [ + "has", + "pgf:name" + ] + ], + [ + "!", + [ + "any", + [ + "has", + "name2" + ], + [ + "has", + "pgf:name2" + ] + ] + ], + [ + "!", + [ + "any", + [ + "has", + "name3" + ], + [ + "has", + "pgf:name3" + ] + ] + ] + ], + [ + "case", + [ + "!=", + [ + "get", + "script" + ], + "Cyrillic" + ], + [ + "case", + [ + "any", + [ + "is-supported-script", + [ + "get", + "name" + ] + ], + [ + "has", + "pgf:name" + ] + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "name:en" + ] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + [ + "has", + "name:ru" + ] + ], + [ + "has", + "name:en" + ], + [ + "!", + [ + "has", + "script" + ] + ] + ], + "", + [ + "coalesce", + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ], + [ + "get", + "name:en" + ] + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + {} + ] + ], + [ + "all", + [ + "any", + [ + "has", + "name" + ], + [ + "has", + "pgf:name" + ] + ], + [ + "any", + [ + "has", + "name2" + ], + [ + "has", + "pgf:name2" + ] + ], + [ + "!", + [ + "any", + [ + "has", + "name3" + ], + [ + "has", + "pgf:name3" + ] + ] + ] + ], + [ + "case", + [ + "all", + [ + "!=", + [ + "get", + "script" + ], + "Cyrillic" + ], + [ + "!=", + [ + "get", + "script2" + ], + "Cyrillic" + ] + ], + [ + "format", + [ + "get", + "name:ru" + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script2" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ], + [ + "case", + [ + "!=", + [ + "get", + "script2" + ], + "Cyrillic" + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script2" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + [ + "!=", + [ + "get", + "script" + ], + "Cyrillic" + ], + [ + "!=", + [ + "get", + "script2" + ], + "Cyrillic" + ], + [ + "!=", + [ + "get", + "script3" + ], + "Cyrillic" + ] + ], + [ + "format", + [ + "get", + "name:ru" + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script2" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name3" + ], + [ + "get", + "name3" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script3" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ], + [ + "case", + [ + "!", + [ + "!=", + [ + "get", + "script" + ], + "Cyrillic" + ] + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script2" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name3" + ], + [ + "get", + "name3" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script3" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ], + [ + "!", + [ + "!=", + [ + "get", + "script2" + ], + "Cyrillic" + ] + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name3" + ], + [ + "get", + "name3" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script3" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "pgf:name3" + ], + [ + "get", + "name3" + ] + ], + {}, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name" + ], + [ + "get", + "name" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + [ + "get", + "pgf:name2" + ], + [ + "get", + "name2" + ] + ], + { + "text-font": [ + "case", + [ + "==", + [ + "get", + "script2" + ], + "Devanagari" + ], + [ + "literal", + [ + "Noto Sans Devanagari Regular v1" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ] + } + ] + ] + ] + ] + ], + "text-font": [ + "Noto Sans Regular" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#b3b3b3", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1 + } + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "kind", + "locality" + ], + "layout": { + "icon-image": [ + "step", + [ + "zoom" + ], + [ + "case", + [ + "==", + [ + "get", + "capital" + ], + "yes" + ], + "capital", + "townspot" + ], + 8, + "" + ], + "icon-size": 0.7, + "text-field": [ + "get", + "name:ru" + ], + "text-font": [ + "case", + [ + "<=", + [ + "get", + "min_zoom" + ], + 5 + ], + [ + "literal", + [ + "Noto Sans Medium" + ] + ], + [ + "literal", + [ + "Noto Sans Regular" + ] + ] + ], + "symbol-sort-key": [ + "case", + [ + "has", + "sort_key" + ], + [ + "get", + "sort_key" + ], + [ + "get", + "min_zoom" + ] + ], + "text-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 13 + ], + 8, + [ + ">=", + [ + "get", + "population_rank" + ], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 13 + ], + 10, + [ + ">=", + [ + "get", + "population_rank" + ], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 12 + ], + 11, + [ + ">=", + [ + "get", + "population_rank" + ], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 11 + ], + 11, + [ + ">=", + [ + "get", + "population_rank" + ], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 9 + ], + 12, + [ + ">=", + [ + "get", + "population_rank" + ], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 8 + ], + 12, + [ + ">=", + [ + "get", + "population_rank" + ], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-justify": "auto", + "text-variable-anchor": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + "bottom", + "left", + "right", + "top" + ] + ], + 8, + [ + "literal", + [ + "center" + ] + ] + ], + "text-radial-offset": 0.3 + }, + "paint": { + "text-color": "#5c5c5c", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": [ + "==", + "kind", + "country" + ], + "layout": { + "symbol-sort-key": [ + "case", + [ + "has", + "sort_key" + ], + [ + "get", + "sort_key" + ], + [ + "get", + "min_zoom" + ] + ], + "text-field": [ + "format", + [ + "coalesce", + [ + "get", + "name:ru" + ], + [ + "get", + "name:en" + ] + ], + {} + ], + "text-font": [ + "Noto Sans Medium" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 2, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 10 + ], + 8, + [ + ">=", + [ + "get", + "population_rank" + ], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 8 + ], + 10, + [ + ">=", + [ + "get", + "population_rank" + ], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + [ + "get", + "population_rank" + ], + 7 + ], + 11, + [ + ">=", + [ + "get", + "population_rank" + ], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#a3a3a3", + "text-halo-color": "#e2dfda", + "text-halo-width": 1 + } + } + ], + "sprite": "https://protomaps.github.io/basemaps-assets/sprites/v4/light", + "glyphs": "https://protomaps.github.io/basemaps-assets/fonts/{fontstack}/{range}.pbf" +} \ No newline at end of file diff --git a/src/assets/outdoor-maptiler.json b/src/assets/outdoor-maptiler.json new file mode 100644 index 0000000..974944f --- /dev/null +++ b/src/assets/outdoor-maptiler.json @@ -0,0 +1,16998 @@ +{ + "version": 8, + "name": "Outdoor", + "sources": { + "contours": { + "url": "https://api.maptiler.com/tiles/contours-v2/tiles.json?key=O7VbOY3zrXxBupgrQtdE", + "type": "vector" + }, + "landform": { + "url": "https://api.maptiler.com/tiles/landform/tiles.json?key=O7VbOY3zrXxBupgrQtdE", + "type": "vector" + }, + "maptiler_planet_v4": { + "url": "https://api.maptiler.com/tiles/v4/tiles.json?key=O7VbOY3zrXxBupgrQtdE", + "type": "vector" + }, + "outdoor": { + "url": "https://api.maptiler.com/tiles/outdoor/tiles.json?key=O7VbOY3zrXxBupgrQtdE", + "type": "vector" + }, + "terrain-rgb": { + "url": "https://api.maptiler.com/tiles/terrain-rgb-v2/tiles.json?key=O7VbOY3zrXxBupgrQtdE", + "type": "raster-dem" + } + }, + "layers": [ + { + "id": "Background", + "type": "background", + "minzoom": 0, + "layout": { + "visibility": "visible" + }, + "paint": { + "background-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 5, + "hsl(95, 33%, 93%)", + 14, + "hsl(120, 4%, 95%)" + ] + } + }, + { + "id": "Scrub", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "scrub", + "maxzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": true, + "fill-color": "hsl(82, 31%, 85%)", + "fill-opacity": 1 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Residential", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "residential", + "minzoom": 4, + "maxzoom": 16, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 6, + "hsla(9, 0%, 71%, 0.3)", + 16, + "hsla(9, 0%, 89%, 0.3)" + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Wood", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "wood", + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(97, 33%, 80%)", + "fill-opacity": 1 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Forest", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "forest", + "minzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(99, 33%, 80%)" + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Grass", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "grass", + "minzoom": 7, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsla(90, 69%, 73%, 0.3)" + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Sand", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "sand", + "minzoom": 7, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(62, 53%, 88%)" + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Glacier", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "ice", + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(356, 0%, 100%)", + "fill-opacity": 1 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Industrial", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "industrial", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(40, 46%, 92%)", + "fill-opacity": 0.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Commercial", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "commercial", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(40, 46%, 92%)", + "fill-opacity": 0.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Construction", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "construction", + "minzoom": 13, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(31, 53%, 90%)", + "fill-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.05, + 16, + 0.1 + ], + "fill-pattern": "construction_pattern" + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Military", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "military", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(85, 0%, 50%)", + "fill-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + 0.25, + 16, + 0.15 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Cemetery", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "cemetery", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(98, 14%, 81%)", + "fill-opacity": 0.7 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Hospital", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "hospital", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(2, 43%, 91%)", + "fill-opacity": 0.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Leisure", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "leisure", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(104, 48%, 91%)" + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Polygon" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "dog_park", + "playground", + "recreation_ground", + "sports_centre", + "stadium", + "theme_park", + "track", + "winter_sports", + "zoo" + ], + true, + [ + "!", + [ + "has", + "class" + ] + ] + ] + ] + }, + { + "id": "Pitch", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "leisure", + "minzoom": 10, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(105, 42%, 87%)" + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Polygon" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "pitch" + ], + true, + false + ] + ] + }, + { + "id": "Hillshade", + "type": "hillshade", + "source": "terrain-rgb", + "minzoom": 3, + "layout": { + "visibility": "visible" + }, + "paint": { + "hillshade-accent-color": "hsl(107, 30%, 86%)", + "hillshade-exaggeration": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + 0.4, + 14, + 0.35, + 18, + 0.25 + ], + "hillshade-highlight-color": "hsl(200, 10%, 76%)", + "hillshade-shadow-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + "hsl(9, 3%, 41%)", + 13, + "hsl(17, 3%, 12%)", + 15, + "hsl(17, 3%, 41%)" + ] + } + }, + { + "id": "Contour index", + "type": "line", + "source": "contours", + "source-layer": "contour", + "minzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsla(45, 38%, 45%, 0.8)", + "line-opacity": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 9, + 0.3, + 14, + 0.4, + 18, + 0.5 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 10, + 1, + 14, + 1.5 + ] + }, + "filter": [ + "all", + [ + "in", + "nth_line", + 5, + 10 + ], + [ + "!has", + "glacier" + ] + ] + }, + { + "id": "Glacier contour index", + "type": "line", + "source": "contours", + "source-layer": "contour", + "minzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsla(209, 85%, 73%, 0.8)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0.3, + 14, + 0.4, + 18, + 0.5 + ], + "line-width": { + "stops": [ + [ + 10, + 0.8 + ], + [ + 14, + 1.3 + ] + ] + } + }, + "filter": [ + "all", + [ + "in", + "nth_line", + 5, + 10 + ], + [ + "==", + "glacier", + 1 + ] + ] + }, + { + "id": "Contour", + "type": "line", + "source": "contours", + "source-layer": "contour", + "minzoom": 9, + "layout": { + "line-cap": "square", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(45, 38%, 50%)", + "line-opacity": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "nth_line" + ], + 0, + 0, + 0.3 + ], + 15, + 0.3 + ], + "line-width": 0.8 + }, + "filter": [ + "all", + [ + "!in", + "nth_line", + 5, + 10 + ], + [ + "!has", + "glacier" + ] + ] + }, + { + "id": "Glacier contour", + "type": "line", + "source": "contours", + "source-layer": "contour", + "minzoom": 9, + "layout": { + "line-cap": "square", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(209, 85%, 80%)", + "line-opacity": [ + "step", + [ + "zoom" + ], + [ + "match", + [ + "get", + "nth_line" + ], + 0, + 0, + 0.3 + ], + 15, + 0.3 + ], + "line-width": 0.8 + }, + "filter": [ + "all", + [ + "!in", + "nth_line", + 5, + 10 + ], + [ + "==", + "glacier", + 1 + ] + ] + }, + { + "id": "Cliff line", + "type": "line", + "source": "landform", + "source-layer": "cliff", + "minzoom": 13, + "layout": { + "line-join": "miter", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 9%, 55%)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.5, + 17, + 0.8 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 15, + 0.5, + 22, + 4 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + }, + { + "id": "Cliff", + "type": "line", + "source": "landform", + "source-layer": "cliff", + "minzoom": 13, + "layout": { + "line-join": "miter", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 9%, 55%)", + "line-dasharray": [ + 0.2, + 1 + ], + "line-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 1.2, + 22, + 5 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0.3, + 17, + 0.6 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 2, + 22, + 10 + ] + } + }, + { + "id": "Contour labels", + "type": "symbol", + "source": "contours", + "source-layer": "contour", + "minzoom": 12, + "layout": { + "symbol-avoid-edges": true, + "symbol-placement": "line", + "text-allow-overlap": false, + "text-field": "{height}", + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-ignore-placement": false, + "text-padding": 1, + "text-rotation-alignment": "map", + "text-size": { + "base": 1, + "stops": [ + [ + 12, + 8 + ], + [ + 20, + 12 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(45, 38%, 31%)", + "icon-halo-color": "hsla(9, 0%, 100%, 0.8)", + "icon-halo-width": 0.8, + "icon-opacity": 0.8, + "text-color": "hsl(45, 38%, 25%)", + "text-halo-blur": 1, + "text-halo-color": "hsla(9, 0%, 100%, 0.6)", + "text-halo-width": 0.8, + "text-opacity": 0.8 + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + ">", + "height", + 0 + ], + [ + "in", + "nth_line", + 5, + 10 + ], + [ + "!has", + "glacier" + ] + ] + }, + { + "id": "Glacier contour labels", + "type": "symbol", + "source": "contours", + "source-layer": "contour", + "minzoom": 13, + "layout": { + "symbol-avoid-edges": true, + "symbol-placement": "line", + "text-allow-overlap": false, + "text-field": "{height}", + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-ignore-placement": false, + "text-padding": 1, + "text-rotation-alignment": "map", + "text-size": { + "base": 1, + "stops": [ + [ + 12, + 8 + ], + [ + 20, + 12 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(209, 13%, 47%)", + "icon-halo-color": "hsla(9, 0%, 100%, 0.8)", + "icon-halo-width": 0.8, + "icon-opacity": 0.8, + "text-color": "hsl(209, 13%, 47%)", + "text-halo-blur": 1, + "text-halo-color": "hsla(9, 0%, 100%, 0.8)", + "text-halo-width": 0.8, + "text-opacity": 0.8 + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "nth_line", + 10, + 5 + ], + [ + ">", + "height", + 0 + ], + [ + "has", + "glacier" + ] + ] + }, + { + "id": "Ridge labels", + "type": "symbol", + "source": "landform", + "source-layer": "ridge_label", + "minzoom": 16, + "layout": { + "icon-keep-upright": true, + "symbol-placement": "line-center", + "text-anchor": "center", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-letter-spacing": 0.2, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 13, + 22, + 16 + ], + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "rgba(255, 255, 255, 1)", + "icon-halo-width": 1, + "text-color": "hsl(11, 9%, 55%)", + "text-halo-color": "hsla(120, 4%, 95%, 0.5)", + "text-halo-width": 1 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + }, + { + "id": "Cliff labels", + "type": "symbol", + "source": "landform", + "source-layer": "cliff_label", + "minzoom": 16, + "layout": { + "icon-keep-upright": true, + "symbol-placement": "line-center", + "text-anchor": "bottom", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-letter-spacing": 0.2, + "text-line-height": 1.2, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 13, + 22, + 16 + ], + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "rgba(255, 255, 255, 1)", + "icon-halo-width": 1, + "text-color": "hsl(11, 9%, 45%)", + "text-halo-color": "hsl(120, 4%, 95%)", + "text-halo-width": 1 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + }, + { + "id": "River tunnel", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "waterway", + "minzoom": 3, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(215, 66%, 75%)", + "line-dasharray": [ + 2, + 4 + ], + "line-opacity": 0.7, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0.5, + 4, + 1, + 13, + 1.25, + 16, + 1.5, + 22, + 6 + ] + }, + "filter": [ + "==", + "brunnel", + "tunnel" + ] + }, + { + "id": "Stream", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "waterway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(215, 66%, 75%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 12, + 0.5, + 16, + 1.5, + 22, + 2 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "stream" + ], + true, + false + ] + ] + ] + }, + { + "id": "River", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "waterway", + "minzoom": 3, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(215, 66%, 75%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0.5, + 4, + 1, + 13, + 1.25, + 16, + 1.5, + 22, + 6 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "river" + ], + true, + false + ] + ] + ] + }, + { + "id": "Water", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "water", + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + "hsl(215, 66%, 80%)", + 22, + "hsl(215, 66%, 75%)" + ], + "fill-opacity": [ + "match", + [ + "get", + "intermittent" + ], + 1, + 0.85, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Polygon" + ], + [ + "any", + [ + "==", + [ + "get", + "covered" + ], + false + ], + [ + "!", + [ + "has", + "covered" + ] + ] + ] + ] + }, + { + "id": "Reef", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "water", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(208, 66%, 82%)", + "fill-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + 0.5, + 7, + 0.8 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Polygon" + ], + [ + "all", + [ + "any", + [ + "==", + [ + "get", + "covered" + ], + false + ], + [ + "!", + [ + "has", + "covered" + ] + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "reef" + ], + true, + false + ] + ] + ] + }, + { + "id": "Airport area", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "aviation", + "minzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(9, 0%, 89%)", + "fill-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0.2, + 11, + 1 + ] + } + }, + { + "id": "Runway", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aviation_line", + "minzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0.2, + 11, + 1 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 3 + ], + [ + 20, + 16 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "runway" + ], + true, + false + ] + ] + }, + { + "id": "Taxiway", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aviation_line", + "minzoom": 11, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-width": { + "base": 1.2, + "stops": [ + [ + 11, + 0.5 + ], + [ + 20, + 6 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "taxiway" + ], + true, + false + ] + ] + }, + { + "id": "Ferry", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "ferry", + "minzoom": 6, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(226, 42%, 69%)", + "line-dasharray": [ + 2, + 2 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + 0.5, + 7, + 0.8, + 8, + 1 + ], + "line-width": { + "stops": [ + [ + 10, + 0.5 + ], + [ + 14, + 1.1 + ] + ] + } + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + }, + { + "id": "Tunnel path", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 13, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsla(32, 48%, 24%, 0.3)", + "line-dasharray": [ + 2, + 2 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 14, + 0.5 + ], + [ + 16, + 1 + ], + [ + 20, + 1.5 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "footway", + "path", + "pedestrian" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "tunnel" + ], + true, + false + ] + ] + ] + }, + { + "id": "Tunnel", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 5, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsla(9, 85%, 100%, 0.3)", + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 0.5, + 0 + ], + 7, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 1, + 0 + ], + 9, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 2, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 3, + 0.5 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 15, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 11, + 10 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 16, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 12, + 11 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 24, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 24, + 12 + ], + 22, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 100, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 80, + [ + "minor", + "service", + "raceway" + ], + 50, + 40 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "minor", + "motorway", + "primary", + "raceway", + "secondary", + "service", + "tertiary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "tunnel" + ], + true, + false + ] + ] + ] + }, + { + "id": "Railway tunnel", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 50%)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0, + 0.3 + ], + 15, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0.1, + 0.3 + ] + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + 0.75, + 10, + 2, + 14, + 1.5, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "brunnel" + ], + [ + "tunnel" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "narrow_gauge", + "rail" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Railway tunnel dash", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 96%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 2, + 2 + ] + ], + 9, + [ + "literal", + [ + 2.5, + 3 + ] + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0, + 0.3 + ], + 15, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0.1, + 0.3 + ] + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + 0, + 9, + 0.5, + 14, + 1, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "brunnel" + ], + [ + "tunnel" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "narrow_gauge", + "rail" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Bridge", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "bridge", + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": true, + "fill-color": "hsla(9, 0%, 95%, 0.5)", + "fill-outline-color": "hsla(9, 0%, 95%, 0.5)" + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Pier", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "pier", + "minzoom": 9, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": true, + "fill-color": "hsl(129, 3%, 95%)" + } + }, + { + "id": "Track outline", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 14, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(0, 0%, 70%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0, + 16, + 4, + 18, + 8, + 20, + 17, + 22, + 52 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "track" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge", + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ] + ] + ] + }, + { + "id": "Minor road outline", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 14, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(0, 0%, 70%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0, + 16, + 4, + 18, + 8, + 20, + 17, + 22, + 52 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "minor", + "raceway", + "service" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Major road outline", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 9, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(0, 0%, 70%)", + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + 3, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 7, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 4, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 12, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 6, + 0 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 14, + 7 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 26, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 26, + 17 + ], + 22, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 104, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 82, + [ + "minor", + "service", + "raceway" + ], + 52, + 42 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "primary", + "secondary", + "tertiary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Track", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": [ + "case", + [ + "any", + [ + "==", + [ + "get", + "paved" + ], + false + ], + [ + "!", + [ + "has", + "paved" + ] + ] + ], + "hsl(0, 0%, 93%)", + "hsl(0,0%,100%)" + ], + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 13, + 0.5, + 14, + 0.5, + 16, + 3, + 18, + 7, + 20, + 15, + 22, + 50 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "track" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge", + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ] + ] + ] + }, + { + "id": "Minor road", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 13, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0.5, + 16, + 3, + 18, + 7, + 20, + 15, + 22, + 50 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "minor", + "raceway", + "service" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Major road", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 5, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 0.5, + 0 + ], + 7, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1, + 0 + ], + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 2, + 0 + ], + 12, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 1, + 0 + ], + 13, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 2, + 0.5 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 3, + 0.5 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 10, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 4.6, + 3 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 12, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 5, + 7 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 24, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 24, + 12 + ], + 22, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 100, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 80, + [ + "minor", + "service", + "raceway" + ], + 50, + 40 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "primary", + "secondary", + "tertiary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Major railway", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 50%)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0, + 1 + ], + 15, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0.5, + 1 + ] + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + 0.5, + 10, + 2, + 14, + 1.5, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "!", + [ + "has", + "brunnel" + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "narrow_gauge", + "rail" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Major railway dash", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 96%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 2, + 2 + ] + ], + 9, + [ + "literal", + [ + 2.5, + 3 + ] + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0, + 1 + ], + 15, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0.5, + 1 + ] + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + 0, + 9, + 0.5, + 14, + 1, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "!", + [ + "has", + "brunnel" + ] + ], + [ + "match", + [ + "get", + "class" + ], + [ + "narrow_gauge", + "rail" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Minor railway", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 73%)", + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 14, + 0.4 + ], + [ + 15, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "light_rail", + "tram" + ], + true, + false + ], + [ + "!", + [ + "has", + "brunnel" + ] + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Minor railway hatching", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 73%)", + "line-dasharray": [ + 0.2, + 4 + ], + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 14.5, + 0 + ], + [ + 15, + 2 + ], + [ + 20, + 6 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "light_rail", + "tram" + ], + true, + false + ], + [ + "!", + [ + "has", + "brunnel" + ] + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Steps", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 15, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(33, 9%, 60%)", + "line-dasharray": [ + 0.5, + 1 + ], + "line-width": { + "base": 1.4, + "stops": [ + [ + 14.5, + 0 + ], + [ + 15, + 3 + ], + [ + 20, + 8 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "steps" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge", + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ] + ] + ] + }, + { + "id": "Path", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 12, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(33, 9%, 60%)", + "line-dasharray": [ + 5, + 2 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.2 + ], + [ + "zoom" + ], + 13, + 0.5, + 16, + 1, + 20, + 2 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "footway", + "path", + "pedestrian" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge", + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "==", + [ + "get", + "paved" + ], + false + ] + ] + ] + }, + { + "id": "Pedestrian outline", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 13, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 13, + 0.5, + 16, + 3, + 20, + 8 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "footway", + "path", + "pedestrian" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge", + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "==", + [ + "get", + "paved" + ], + true + ] + ] + ] + }, + { + "id": "Pedestrian", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "pathway", + "minzoom": 13, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(33, 9%, 49%)", + "line-dasharray": [ + 1, + 1 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 13, + 0.5 + ], + [ + 16, + 1.3 + ], + [ + 20, + 2 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "footway", + "path", + "pedestrian" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge", + "ford" + ], + true, + [ + "!", + [ + "has", + "brunnel" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "paved" + ], + true + ], + [ + "!", + [ + "has", + "paved" + ] + ] + ] + ] + ] + }, + { + "id": "Road bridge outline", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 5, + "layout": { + "line-cap": "butt", + "line-join": "round", + "line-sort-key": [ + "+", + [ + "*", + [ + "match", + [ + "get", + "class" + ], + [ + "trunk", + "primary" + ], + 10, + [ + "secondary", + "tertiary", + "minor" + ], + 20, + "motorway", + 30, + [ + "service", + "track" + ], + 40, + 0 + ], + 100 + ], + [ + "coalesce", + [ + "to-number", + [ + "get", + "layer" + ] + ], + 0 + ], + [ + "case", + [ + "boolean", + [ + "get", + "ramp" + ], + false + ], + 0.5, + 0 + ] + ], + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(0, 0%, 70%)", + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + 3, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 0, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 7, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 4, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 12, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 6, + 0 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 14, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 7, + 7 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 26, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 26, + 17 + ], + 22, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 104, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 82, + [ + "minor", + "service", + "track" + ], + 52, + 42 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "minor", + "motorway", + "primary", + "raceway", + "secondary", + "service", + "tertiary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Road bridge", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "road", + "minzoom": 5, + "layout": { + "line-cap": "round", + "line-join": "round", + "line-sort-key": [ + "+", + [ + "*", + [ + "match", + [ + "get", + "class" + ], + [ + "trunk", + "primary" + ], + 10, + [ + "secondary", + "tertiary", + "minor" + ], + 20, + "motorway", + 30, + [ + "service", + "track" + ], + 40, + 0 + ], + 100 + ], + [ + "coalesce", + [ + "to-number", + [ + "get", + "layer" + ] + ], + 0 + ], + [ + "case", + [ + "boolean", + [ + "get", + "ramp" + ], + false + ], + 0.5, + 0 + ] + ], + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-width": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 5, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 0.5, + 0 + ], + 7, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1, + 0 + ], + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 2, + 0 + ], + 12, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 1, + 0 + ], + 13, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 2, + 0.5 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 5, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 3, + 0.5 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 10, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 4.6, + 3 + ], + 18, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 12, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 5, + 7 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 24, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 24, + 15 + ], + 22, + [ + "match", + [ + "get", + "class" + ], + "motorway", + 100, + [ + "primary", + "trunk", + "secondary", + "tertiary" + ], + 80, + [ + "minor", + "service", + "raceway" + ], + 50, + 40 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "minor", + "motorway", + "primary", + "raceway", + "secondary", + "service", + "tertiary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Minor railway bridge", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 73%)", + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 14, + 0.4 + ], + [ + 15, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "light_rail", + "tram" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Minor railway bridge hatching", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 73%)", + "line-dasharray": [ + 0.2, + 4 + ], + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 14.5, + 0 + ], + [ + 15, + 2 + ], + [ + 20, + 6 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "light_rail", + "tram" + ], + true, + false + ], + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Railway bridge", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 50%)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0, + 1 + ], + 15, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0.5, + 1 + ] + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + 0.5, + 10, + 2, + 14, + 1.5, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "narrow_gauge", + "rail" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Railway bridge dash", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "railway", + "minzoom": 6, + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 96%)", + "line-dasharray": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 2, + 2 + ] + ], + 9, + [ + "literal", + [ + 2.5, + 3 + ] + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0, + 1 + ], + 15, + [ + "match", + [ + "get", + "service" + ], + "yard", + 0.5, + 1 + ] + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + 0, + 9, + 0.5, + 14, + 1, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "brunnel" + ], + [ + "bridge" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "narrow_gauge", + "rail" + ], + true, + false + ], + [ + "any", + [ + "==", + [ + "get", + "construction" + ], + false + ], + [ + "!", + [ + "has", + "construction" + ] + ] + ] + ] + ] + }, + { + "id": "Military limit", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "military", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + "hsl(0, 26%, 62%)", + 16, + "hsl(0, 19%, 41%)" + ], + "line-dasharray": [ + 1, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 1, + 14, + 1.6, + 18, + 3, + 22, + 4 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Building", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "building", + "minzoom": 13, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": true, + "fill-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 13, + "hsl(9, 0%, 82%)", + 18, + "hsl(9, 0%, 52%)" + ], + "fill-outline-color": "hsl(9, 0%, 77%)" + } + }, + { + "id": "Building top", + "type": "fill", + "source": "maptiler_planet_v4", + "source-layer": "building", + "minzoom": 13, + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": true, + "fill-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 13, + "hsl(9, 0%, 82%)", + 16, + "hsl(9, 0%, 72%)" + ], + "fill-outline-color": "hsl(9, 0%, 77%)", + "fill-translate": [ + "step", + [ + "zoom" + ], + [ + "literal", + [ + 0, + 0 + ] + ], + 16, + [ + "literal", + [ + -2, + -2 + ] + ] + ] + } + }, + { + "id": "Country border outline", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "country_border", + "layout": { + "line-cap": "round", + "line-join": "miter", + "visibility": "visible" + }, + "paint": { + "line-blur": 5, + "line-color": "hsl(16, 7%, 86%)", + "line-opacity": 1, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0.4, + 3, + 0.9, + 5, + 1, + 12, + 14, + 16, + 20 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "==", + [ + "get", + "maritime" + ], + false + ] + ] + }, + { + "id": "Trail outline", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-blur": 0.5, + "line-color": "hsl(9, 0%, 100%)", + "line-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + 0, + 14, + [ + "match", + [ + "get", + "color" + ], + "orange", + 0.25, + "purple", + 0.75, + "black", + 1.25, + "brown", + 1.75, + "blue", + 2.25, + "green", + 2.75, + "yellow", + 3.25, + 0 + ], + 18, + [ + "match", + [ + "get", + "color" + ], + "orange", + 1, + "purple", + 2, + "black", + 3, + "brown", + 4, + "blue", + 5, + "green", + 6, + "yellow", + 8, + 0 + ] + ], + "line-opacity": 1, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + [ + "case", + [ + "==", + [ + "get", + "color" + ], + null + ], + 0, + 2 + ], + 12, + [ + "case", + [ + "==", + [ + "get", + "color" + ], + null + ], + 1.5, + 3 + ], + 14, + [ + "case", + [ + "==", + [ + "get", + "color" + ], + null + ], + 2.5, + 4 + ], + 18, + [ + "case", + [ + "==", + [ + "get", + "color" + ], + null + ], + 4, + 8 + ] + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "any", + [ + "!has", + "color" + ], + [ + "in", + "color", + "black", + "blue", + "brown", + "green", + "orange", + "purple", + "red" + ] + ], + [ + "in", + "class", + "foot", + "hiking" + ] + ] + ] + }, + { + "id": "Bicycle outline", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 100%)", + "line-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0, + 14, + -1, + 17, + -7 + ], + "line-opacity": [ + "step", + [ + "zoom" + ], + 0, + 6, + [ + "match", + [ + "get", + "network" + ], + [ + "icn", + "ncn" + ], + 1, + 0 + ], + 13, + 1 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, + 3, + 14, + 4, + 15, + 4.5, + 18, + 6 + ] + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "bicycle" + ], + [ + "!=", + "network", + "" + ] + ] + }, + { + "id": "Other trails", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(33, 9%, 50%)", + "line-dasharray": [ + 5, + 2 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1.2 + ], + [ + "zoom" + ], + 13, + 0.75, + 16, + 1, + 20, + 2 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "!has", + "color" + ], + [ + "!in", + "class", + "bicycle", + "horse", + "via_ferrata", + "wheelchair" + ] + ] + }, + { + "id": "Bicycle local", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 11, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(315, 68%, 64%)", + "line-dasharray": [ + 1.5, + 2 + ], + "line-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0, + 14, + -1, + 17, + -7 + ], + "line-opacity": 1, + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0.5, + 14, + 2, + 18, + 3 + ] + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "bicycle" + ], + [ + "!in", + "network", + "icn", + "ncn", + "" + ] + ] + }, + { + "id": "Yellow trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": { + "stops": [ + [ + 9, + 1 + ], + [ + 14, + 3 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(58, 100%, 50%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 3.25, + 18, + 8 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "yellow" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Green trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(104, 56%, 38%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 2.75, + 18, + 6 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "green" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Blue trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": { + "stops": [ + [ + 9, + 2 + ], + [ + 14, + 3 + ] + ] + }, + "line-round-limit": 1.05, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(226, 60%, 51%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 2.25, + 18, + 5 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "blue" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Brown trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(35, 33%, 41%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 1.75, + 18, + 4 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "brown" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Black trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 18%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 1.25, + 18, + 3 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "black" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Purple trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": { + "stops": [ + [ + 9, + 8 + ], + [ + 14, + 3 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(290, 56%, 59%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 0.75, + 18, + 2 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "purple" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Orange trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": { + "stops": [ + [ + 9, + 8 + ], + [ + 12, + 12 + ], + [ + 13, + 16 + ], + [ + 14, + 3 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(44, 85%, 49%)", + "line-offset": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 0, + 14, + 0.75, + 18, + 1 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "orange" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Red trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 10, + "layout": { + "line-cap": "round", + "line-join": "bevel", + "line-miter-limit": { + "stops": [ + [ + 9, + 1 + ], + [ + 14, + 3 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(19, 85%, 50%)", + "line-offset": 0, + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 0, + 10, + 0.2, + 11, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "color", + "red" + ], + [ + "!=", + "class", + "bicycle" + ] + ] + }, + { + "id": "Longdistance trail outline", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 5, + "layout": { + "line-cap": "round", + "line-join": "round", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": "hsla(9, 85%, 100%, 0.75)", + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 0, + 8, + 2, + 14, + 4, + 18, + 8 + ] + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "network", + "iwn", + "nwn" + ], + [ + "has", + "ref" + ] + ] + }, + { + "id": "Longdistance trail", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 5, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 10, + "hsl(10, 68%, 56%)", + 14, + "hsl(10, 83%, 41%)" + ], + "line-opacity": 1, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 0.5, + 8, + 1.5, + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "network", + "iwn", + "nwn" + ], + [ + "has", + "ref" + ] + ] + }, + { + "id": "Via ferrata outline", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(19, 83%, 41%)", + "line-opacity": 1, + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "via_ferrata" + ] + ] + }, + { + "id": "Via ferrata", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 12, + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 85%, 100%)", + "line-dasharray": [ + 0.5, + 2 + ], + "line-opacity": 1, + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 14, + 2, + 18, + 3 + ] + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "via_ferrata" + ] + ] + }, + { + "id": "Via ferrata symbol", + "type": "symbol", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 16, + "layout": { + "icon-anchor": "bottom", + "symbol-placement": "line", + "symbol-spacing": 20, + "text-field": ".", + "text-font": [ + "Open Sans Bold", + "Noto Sans Bold" + ], + "text-size": 16, + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(19, 83%, 40%)", + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1 + }, + "filter": [ + "==", + "class", + "via_ferrata" + ] + }, + { + "id": "Bicycle longdistance", + "type": "line", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 5, + "layout": { + "line-cap": "round", + "line-join": "miter", + "line-miter-limit": 3, + "visibility": "visible" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 10, + "hsl(316, 68%, 63%)", + 14, + "hsl(316, 85%, 63%)" + ], + "line-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 0, + 14, + -1, + 17, + -7 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 0.5, + 8, + 1.5, + 10, + 2, + 12, + 2.5, + 14, + 2, + 18, + 3 + ] + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "network", + "icn", + "ncn" + ], + [ + "has", + "ref" + ] + ] + }, + { + "id": "Minor lift", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aerialway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 60%)", + "line-width": { + "base": 1, + "stops": [ + [ + 11, + 1 + ], + [ + 19, + 2.5 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "chair_lift", + "mixed_lift", + "cable_car", + "gondola" + ], + false, + true + ] + ] + }, + { + "id": "Minor lift dash", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aerialway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 60%)", + "line-dasharray": [ + 0.05, + 3 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 3, + 19, + 6 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "chair_lift", + "mixed_lift", + "cable_car", + "gondola" + ], + false, + true + ] + ] + }, + { + "id": "Chair lift", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aerialway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 55%)", + "line-width": { + "base": 1, + "stops": [ + [ + 11, + 1 + ], + [ + 19, + 2.5 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "chair_lift", + "mixed_lift" + ], + true, + false + ] + ] + }, + { + "id": "Chair lift dash", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aerialway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 55%)", + "line-dasharray": [ + 1, + 3 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 3, + 19, + 5 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "chair_lift", + "mixed_lift" + ], + true, + false + ] + ] + }, + { + "id": "Cable car", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aerialway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(9, 0%, 45%)", + "line-width": { + "base": 1, + "stops": [ + [ + 11, + 1 + ], + [ + 19, + 2.5 + ] + ] + } + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola" + ], + true, + false + ] + ] + }, + { + "id": "Cable car dash", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "aerialway", + "minzoom": 12, + "layout": { + "line-cap": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(0, 0%, 45%)", + "line-dasharray": [ + 2, + 3 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 3, + 19, + 5 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola" + ], + true, + false + ] + ] + }, + { + "id": "Aerialway labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "aerialway_label", + "minzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 250, + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ], + [ + "get", + "ref" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-offset": [ + "match", + [ + "get", + "subclass" + ], + "ferry", + [ + "literal", + [ + 0, + 0.8 + ] + ], + "pedestrian", + [ + "literal", + [ + 0, + -0.1 + ] + ], + [ + "literal", + [ + 0, + 0.15 + ] + ] + ], + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 13, + [ + "match", + [ + "get", + "class" + ], + "track", + 12, + 10 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "track", + 13, + 11 + ], + 16, + 13 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(9, 0%, 30%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(9, 85%, 100%)", + "text-halo-width": 1.5 + } + }, + { + "id": "Pathway labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "pathway_label", + "minzoom": 12, + "layout": { + "symbol-placement": "line", + "symbol-spacing": [ + "step", + [ + "zoom" + ], + 250, + 21, + 1000 + ], + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Regular", + "Noto Sans Regular" + ], + "text-offset": [ + 0, + 0.15 + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 10, + 14, + 11, + 16, + 13, + 22, + 15 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(9, 0%, 20%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsla(9, 85%, 100%, 0.9)", + "text-halo-width": 1.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + }, + { + "id": "Road labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "road_label", + "minzoom": 8, + "layout": { + "symbol-placement": "line", + "symbol-spacing": [ + "step", + [ + "zoom" + ], + 250, + 21, + 1000 + ], + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Regular", + "Noto Sans Regular" + ], + "text-offset": [ + 0, + 0.15 + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 10, + 14, + 11, + 16, + 13, + 22, + 15 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(9, 0%, 20%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsla(9, 85%, 100%, 0.9)", + "text-halo-width": 1.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + }, + { + "id": "Highway shield", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "road_label", + "minzoom": 12, + "layout": { + "icon-anchor": "center", + "icon-image": "road_{ref_length}", + "symbol-placement": "line", + "symbol-spacing": [ + "step", + [ + "zoom" + ], + 250, + 21, + 1000 + ], + "text-anchor": "center", + "text-field": "{ref}", + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-offset": [ + 0, + 0.05 + ], + "text-rotation-alignment": "viewport", + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + 9, + 14, + 10 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(0, 0%, 100%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(0, 0%, 45%)", + "icon-halo-width": 1, + "text-color": "hsl(0, 0%, 20%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "network" + ], + [ + "ca-provincial", + "ca-provincial-arterial", + "ca-transcanada", + "gb-motorway", + "gb-primary", + "gb-trunk", + "ie-motorway", + "ie-national", + "ie-regional", + "road" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "primary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "ref_length" + ], + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + true, + false + ] + ] + ] + }, + { + "id": "Highway shield (US)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "road_label", + "minzoom": 12, + "layout": { + "icon-anchor": "center", + "icon-image": [ + "concat", + [ + "get", + "network" + ], + "_", + [ + "get", + "ref_length" + ] + ], + "symbol-placement": "line", + "symbol-spacing": [ + "step", + [ + "zoom" + ], + 250, + 21, + 1000 + ], + "text-anchor": "center", + "text-field": "{ref}", + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-offset": [ + 0, + 0.05 + ], + "text-rotation-alignment": "viewport", + "text-size": 10, + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(0, 0%, 100%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(0, 0%, 45%)", + "icon-halo-width": 1, + "text-color": "hsl(0, 0%, 20%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "network" + ], + [ + "us-highway", + "us-interstate", + "us-state" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "primary", + "trunk" + ], + true, + false + ], + [ + "match", + [ + "get", + "ref_length" + ], + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + true, + false + ] + ] + ] + }, + { + "id": "Other border z9", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "sub_border", + "minzoom": 9, + "maxzoom": 13, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + "hsl(16, 7%, 45%)", + 12, + "hsl(16, 7%, 65%)" + ], + "line-dasharray": [ + 5, + 1 + ], + "line-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "case", + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ], + 1, + 0 + ], + 10, + [ + "case", + [ + "<=", + [ + "get", + "admin_level" + ], + 60 + ], + 1, + 0 + ], + 11, + [ + "case", + [ + "<=", + [ + "get", + "admin_level" + ], + 70 + ], + 1, + 0 + ], + 12, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 4, + 0.3, + 5, + 0.6, + 12, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "admin_level" + ], + [ + 50, + 60, + 61, + 70, + 80, + 90, + 100, + 110 + ], + true, + false + ], + [ + "==", + [ + "get", + "maritime" + ], + false + ] + ] + ] + }, + { + "id": "Other border z7", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "sub_border", + "minzoom": 7, + "maxzoom": 13, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + "hsl(16, 7%, 45%)", + 12, + "hsl(16, 7%, 65%)" + ], + "line-dasharray": [ + 5, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 4, + 0.3, + 5, + 0.6, + 12, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "any", + [ + "==", + [ + "get", + "maritime" + ], + false + ], + [ + "!", + [ + "has", + "maritime" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ], + [ + "all", + [ + "in", + [ + "get", + "iso_a2" + ], + [ + "literal", + [ + "AR", + "US", + "FR" + ] + ] + ], + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ] + ] + ] + ] + }, + { + "id": "Other border z3", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "sub_border", + "minzoom": 3, + "maxzoom": 13, + "layout": { + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + "hsl(16, 7%, 45%)", + 12, + "hsl(16, 7%, 65%)" + ], + "line-dasharray": [ + 5, + 1 + ], + "line-opacity": [ + "step", + [ + "zoom" + ], + 0, + 3, + [ + "case", + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ], + 0, + 1 + ], + 6, + 1 + ], + "line-width": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 4, + 0.3, + 5, + 0.6, + 12, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "any", + [ + "==", + [ + "get", + "maritime" + ], + false + ], + [ + "!", + [ + "has", + "maritime" + ] + ] + ], + [ + "any", + [ + "==", + [ + "get", + "admin_level" + ], + 30 + ], + [ + "all", + [ + "==", + [ + "get", + "iso_a2" + ], + "BR" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ] + ], + [ + "all", + [ + "==", + [ + "get", + "iso_a2" + ], + "FR" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ] + ] + ] + ] + }, + { + "id": "Disputed border", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "country_border_disputed", + "layout": { + "line-cap": "round", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(16, 7%, 45%)", + "line-dasharray": [ + 2, + 2 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 4, + 0.6, + 6, + 1 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0.4, + 3, + 0.9, + 5, + 1.3, + 12, + 3 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "==", + [ + "get", + "maritime" + ], + false + ] + ] + }, + { + "id": "Country border", + "type": "line", + "source": "maptiler_planet_v4", + "source-layer": "country_border", + "layout": { + "line-cap": "butt", + "line-join": "round", + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(16, 7%, 45%)", + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 4, + 0.6, + 6, + 1 + ], + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 0.4, + 3, + 0.9, + 5, + 1.3, + 12, + 3, + 15, + 3, + 16, + 4 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "==", + [ + "get", + "maritime" + ], + false + ] + ] + }, + { + "id": "Country border labels right", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "country_border", + "minzoom": 12, + "layout": { + "icon-keep-upright": true, + "symbol-placement": "line", + "symbol-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 12, + 250, + 16, + 500 + ], + "text-field": "{admin_r}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-ignore-placement": false, + "text-letter-spacing": 0.1, + "text-max-angle": 30, + "text-offset": [ + 0, + 0.7 + ], + "text-overlap": "never", + "text-pitch-alignment": "auto", + "text-rotation-alignment": "map", + "text-size": { + "stops": [ + [ + 6, + 11 + ], + [ + 16, + 14 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": 1, + "text-color": "hsl(16, 7%, 35%)", + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "has", + "admin_r" + ], + [ + "has", + "admin_l" + ] + ] + }, + { + "id": "Country border labels left", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "country_border", + "minzoom": 12, + "layout": { + "icon-keep-upright": true, + "symbol-avoid-edges": false, + "symbol-placement": "line", + "symbol-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 12, + 250, + 16, + 500 + ], + "symbol-z-order": "auto", + "text-field": "{admin_l}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-ignore-placement": true, + "text-letter-spacing": 0.1, + "text-max-angle": 30, + "text-offset": [ + 0, + -0.7 + ], + "text-overlap": "never", + "text-pitch-alignment": "auto", + "text-rotation-alignment": "auto", + "text-size": { + "stops": [ + [ + 6, + 11 + ], + [ + 16, + 14 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": 1, + "text-color": "hsl(16, 7%, 35%)", + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "has", + "admin_r" + ], + [ + "has", + "admin_l" + ] + ] + }, + { + "id": "River labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_label", + "minzoom": 13, + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 6, + "text-offset": [ + 0, + 0 + ], + "text-rotation-alignment": "map", + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 6, + 11, + 16, + 13 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(215, 56%, 45%)", + "text-halo-blur": 1.6, + "text-halo-color": "hsla(216, 85%, 96%, 0.85)", + "text-halo-width": 0.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "canal", + "river", + "stream" + ], + true, + false + ], + [ + "has", + "name" + ] + ] + ] + }, + { + "id": "Pond labels (points)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_centroid", + "minzoom": 14, + "layout": { + "icon-keep-upright": true, + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 7, + "text-rotate": [ + "get", + "rotation" + ], + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + 10, + 22, + 14 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(215, 56%, 45%)", + "text-halo-blur": 1, + "text-halo-color": "hsla(215, 66%, 75%, 0.5)", + "text-halo-width": 1.4, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "pond" + ], + true, + false + ], + [ + "all", + [ + "has", + "length" + ], + [ + "all", + [ + ">=", + [ + "get", + "length" + ], + 0 + ], + [ + "<=", + [ + "get", + "length" + ], + 2 + ] + ] + ] + ] + ] + }, + { + "id": "Pond labels (lines)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_label", + "minzoom": 9, + "layout": { + "symbol-placement": "line-center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 6, + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + 10, + 22, + 14 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(215, 56%, 45%)", + "text-halo-blur": 1, + "text-halo-color": "hsla(215, 66%, 75%, 0.5)", + "text-halo-width": 1.4, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "pond" + ], + true, + false + ], + [ + "all", + [ + "has", + "length" + ], + [ + "all", + [ + ">=", + [ + "get", + "length" + ], + 2 + ], + [ + "<=", + [ + "get", + "length" + ], + 15388 + ] + ] + ] + ] + ] + }, + { + "id": "Lake labels (points)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_centroid", + "minzoom": 14, + "layout": { + "icon-keep-upright": true, + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 7, + "text-rotate": [ + "get", + "rotation" + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 14, + 14, + 18, + 15 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(215, 56%, 45%)", + "text-halo-blur": 1.6, + "text-halo-color": "hsla(215, 66%, 75%, 0.5)", + "text-halo-width": 1.4 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "lake", + "reservoir" + ], + true, + false + ], + [ + "all", + [ + "has", + "ipq" + ], + [ + "all", + [ + ">=", + [ + "get", + "ipq" + ], + 50 + ], + [ + "<=", + [ + "get", + "ipq" + ], + 99 + ] + ] + ], + [ + "all", + [ + "has", + "length" + ], + [ + "all", + [ + ">=", + [ + "get", + "length" + ], + 0 + ], + [ + "<=", + [ + "get", + "length" + ], + 5 + ] + ] + ] + ] + ] + }, + { + "id": "Lake labels (lines)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_label", + "minzoom": 9, + "layout": { + "symbol-placement": "line-center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 5, + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 13, + 14, + 15 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(215, 56%, 45%)", + "text-halo-blur": 1.6, + "text-halo-color": "hsla(215, 66%, 75%, 0.4)", + "text-halo-width": 1.4 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "lake", + "reservoir" + ], + true, + false + ], + [ + "has", + "ipq" + ], + [ + ">=", + [ + "get", + "ipq" + ], + 0 + ], + [ + "<=", + [ + "get", + "ipq" + ], + 50 + ], + [ + "all", + [ + "has", + "area" + ], + [ + "all", + [ + ">=", + [ + "get", + "area" + ], + 0 + ], + [ + "<=", + [ + "get", + "area" + ], + 299 + ] + ] + ] + ] + ] + }, + { + "id": "Lake labels major", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_label", + "minzoom": 5, + "layout": { + "symbol-placement": "line-center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 6, + 12, + 9, + 14, + 14, + 16, + 22, + 20 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(215, 56%, 45%)", + "text-halo-blur": 1.6, + "text-halo-color": "hsla(215, 66%, 75%, 0.4)", + "text-halo-width": 1.4 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "lake", + "reservoir" + ], + true, + false + ], + [ + "has", + "ipq" + ], + [ + ">=", + [ + "get", + "ipq" + ], + 0 + ], + [ + "<=", + [ + "get", + "ipq" + ], + 50 + ], + [ + "all", + [ + "has", + "area" + ], + [ + "all", + [ + ">=", + [ + "get", + "area" + ], + 300 + ], + [ + "<=", + [ + "get", + "area" + ], + 4254074 + ] + ] + ] + ] + ] + }, + { + "id": "Ocean labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_centroid", + "maxzoom": 5, + "layout": { + "icon-keep-upright": true, + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.2, + "text-line-height": 1.2, + "text-max-width": 7, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 9, + 1, + 12, + 3, + 18 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 6, + "hsl(225, 40%, 61%)", + 10, + "hsl(223, 72%, 46%)" + ], + "text-halo-blur": 1.6, + "text-halo-color": "hsla(215, 85%, 85%, 0.4)", + "text-halo-width": 1.4, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "ocean" + ], + true, + false + ] + ] + }, + { + "id": "Tree", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "tree", + "minzoom": 17, + "layout": { + "icon-image": "park", + "icon-size": 0.8 + }, + "paint": { + "icon-color": "hsl(90, 19%, 71%)" + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Construction (point)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "construction", + "minzoom": 16, + "layout": { + "icon-allow-overlap": false, + "icon-anchor": "center", + "icon-image": "construction", + "icon-optional": false, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-font": [ + "Noto Sans Regular" + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(31, 29%, 70%)", + "icon-halo-color": "rgba(255, 255, 255, 1)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "restaurant" + ], + 1, + 0 + ], + 16, + 1 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Polygon" + ] + }, + { + "id": "Trail labels", + "type": "symbol", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 16, + "layout": { + "symbol-placement": "line", + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-letter-spacing": 0, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 10, + 16, + 11 + ], + "visibility": "visible" + }, + "paint": { + "icon-opacity": 1, + "text-color": [ + "match", + [ + "get", + "color" + ], + "red", + "hsl(19, 85%, 50%)", + "orange", + "hsl(44, 85%, 49%)", + "yellow", + "hsl(50, 100%, 40%)", + "green", + "hsl(104, 56%, 38%)", + "blue", + "hsl(226, 60%, 51%)", + "purple", + "hsl(290, 56%, 59%)", + "brown", + "hsl(35, 33%, 41%)", + "black", + "hsl(9, 0%, 18%)", + "hsl(0, 0%, 60%)" + ], + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 2, + "text-opacity": 1 + }, + "metadata": {}, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "color" + ], + [ + "black", + "blue", + "brown", + "green", + "orange", + "purple", + "red", + "yellow" + ], + true, + false + ], + [ + "match", + [ + "get", + "class" + ], + [ + "hiking" + ], + true, + false + ] + ] + ] + }, + { + "id": "Street furniture", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "street_furniture", + "minzoom": 17, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "subclass" + ], + [ + "defibrillator", + "drinking_water", + "fountain", + "recycling", + "shower", + "toilets" + ], + [ + "get", + "subclass" + ], + "mountain_rescue", + "hospital", + [ + "water_point", + "water_tap" + ], + "water", + "" + ], + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": { + "stops": [ + [ + 16, + 11 + ], + [ + 22, + 14 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-color": [ + "match", + [ + "get", + "class" + ], + [ + "drinking_water", + "fountain", + "water_point", + "water_tap" + ], + "hsl(216, 49%, 49%)", + "hsl(34, 0%, 40%)" + ], + "icon-halo-blur": 0.5, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "mountain_rescue", + "fountain", + "toilets" + ], + 1, + 0 + ], + 18, + 1 + ], + "text-color": [ + "match", + [ + "get", + "class" + ], + [ + "drinking_water", + "fountain", + "water_point", + "water_tap" + ], + "hsl(216, 49%, 49%)", + "hsl(34, 0%, 40%)" + ], + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "mountain_rescue", + "fountain", + "toilets" + ], + 1, + 0 + ], + 18, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "defibrillator", + "drinking_water", + "fountain", + "mountain_rescue", + "recycling", + "shower", + "toilets", + "water_point", + "water_tap" + ], + true, + false + ] + ] + }, + { + "id": "Public", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_public", + "minzoom": 17, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "subclass" + ], + [ + "atm", + "bank", + "bbq", + "bureau_de_change", + "fire_station", + "police", + "post_box", + "post_office", + "sauna", + "shelter" + ], + [ + "get", + "subclass" + ], + "parcel_locker", + "post", + "townhall", + "museum", + "" + ], + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": { + "stops": [ + [ + 16, + 11 + ], + [ + 22, + 14 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(34, 0%, 40%)", + "icon-halo-blur": 0.5, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(34, 0%, 40%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "atm", + "bank", + "bbq", + "bureau_de_change", + "fire_station", + "parcel_locker", + "police", + "post_box", + "post_office", + "sauna", + "shelter", + "townhall" + ], + true, + false + ] + ] + }, + { + "id": "Outdoor shop", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_shopping", + "minzoom": 17, + "layout": { + "icon-anchor": "bottom", + "icon-image": "outdoor", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(35, 48%, 27%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(35, 48%, 27%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "outdoor" + ], + true, + false + ] + ] + }, + { + "id": "Sport", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_sport", + "minzoom": 15, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "table_tennis", + "american_football", + "archery", + "athletics", + "baseball", + "basketball", + "boxing", + "climbing", + "golf", + "pitch", + "playground", + "rugby", + "running", + "skateboard", + "soccer", + "sports_centre", + "stadium", + "swimming_pool", + "tennis", + "volleyball", + "yoga" + ], + [ + "get", + "class" + ], + "equestrian", + "horse_riding", + [ + "fitness", + "fitness_centre" + ], + "gym", + "football", + "soccer", + [ + "motor", + "multi" + ], + "", + [ + "rugby_league", + "rugby_union" + ], + "rugby", + "sports_hall", + "sports_centre", + [ + "swimming", + "swimming_area" + ], + "swimming_pool", + "" + ], + "symbol-sort-key": [ + "case", + [ + "==", + [ + "get", + "class" + ], + "stadium" + ], + 0, + [ + "to-number", + [ + "get", + "rank" + ] + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(9, 0%, 14%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "stadium", + "swimming", + "swimming_pool", + "water_park" + ], + 1, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "fitness_centre", + "golf", + "sports_centre", + "stadium", + "swimming", + "swimming_pool", + "water_park" + ], + 1, + 0 + ], + 17, + 1 + ], + "text-color": "hsl(9, 0%, 14%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "stadium", + "swimming", + "swimming_pool", + "water_park" + ], + 1, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "fitness_centre", + "golf", + "sports_centre", + "stadium", + "swimming", + "swimming_pool", + "water_park" + ], + 1, + 0 + ], + 17, + 1 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Outdoor water", + "type": "symbol", + "source": "outdoor", + "source-layer": "outdoor_poi", + "minzoom": 12, + "layout": { + "icon-anchor": "center", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "drinking_water", + "fountain", + "hot_spring", + "spring" + ], + [ + "get", + "class" + ], + "waterfall", + "triangle", + "" + ], + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "icon-rotate": [ + "match", + [ + "get", + "class" + ], + "waterfall", + 180, + 0 + ], + "icon-size": 0.75, + "icon-text-fit": "none", + "symbol-sort-key": [ + "match", + [ + "get", + "class" + ], + "waterfall", + 0, + 1 + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 10, + "text-optional": true, + "text-padding": 30, + "text-rotate": 0, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(216, 49%, 49%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "match", + [ + "get", + "class" + ], + "waterfall", + 1, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "fountain", + "hot_spring", + "waterfall" + ], + 1, + 0 + ], + 17, + 1 + ], + "text-color": "hsl(216, 49%, 49%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "match", + [ + "get", + "class" + ], + "waterfall", + 1, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "fountain", + "hot_spring", + "waterfall" + ], + 1, + 0 + ], + 17, + 1 + ], + "text-translate": [ + 0, + 7 + ] + }, + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "in", + "class", + "drinking_water", + "fountain", + "hot_spring", + "spring", + "waterfall" + ] + ] + }, + { + "id": "Food", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_food", + "minzoom": 15, + "layout": { + "icon-allow-overlap": false, + "icon-anchor": "bottom", + "icon-image": [ + "coalesce", + [ + "image", + [ + "get", + "cuisine" + ] + ], + [ + "image", + [ + "get", + "class" + ] + ], + [ + "image", + "restaurant" + ] + ], + "icon-optional": false, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": { + "stops": [ + [ + 16, + 11 + ], + [ + 22, + 14 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(34, 0%, 14%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "restaurant" + ], + 1, + 0 + ], + 16, + 1 + ], + "text-color": "hsl(34, 0%, 14%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 15, + 0, + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "restaurant" + ], + 1, + 0 + ], + 17, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "has", + "name" + ] + ] + }, + { + "id": "Transport", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_transport", + "minzoom": 15, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "coalesce", + [ + "image", + [ + "get", + "subclass" + ] + ], + [ + "image", + [ + "get", + "class" + ] + ], + [ + "image", + "" + ] + ], + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "icon-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0.8, + 22, + 1 + ], + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-line-height": 0.9, + "text-max-width": 10, + "text-offset": [ + 0, + 0 + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(232, 61%, 33%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "fuel" + ], + 1, + 0 + ], + 17, + 1 + ], + "text-color": "hsl(232, 61%, 33%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "fuel" + ], + 1, + 0 + ], + 17, + 1 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Park labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_public", + "minzoom": 14, + "layout": { + "icon-anchor": "bottom", + "icon-image": "park", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 6, + "text-optional": true, + "text-padding": 30, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(108, 54%, 25%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(108, 54%, 25%)", + "text-halo-blur": 0.2, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "subclass" + ], + [ + "park" + ], + true, + false + ], + [ + "has", + "name" + ] + ] + ] + }, + { + "id": "Pharmacy", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_healthcare", + "minzoom": 15, + "layout": { + "icon-anchor": "center", + "icon-image": "hospital", + "icon-optional": false, + "symbol-sort-key": [ + "case", + [ + "==", + [ + "get", + "subclass" + ], + "hospital" + ], + 0, + [ + "to-number", + [ + "get", + "rank" + ] + ] + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 8, + "text-offset": [ + 0, + 0.8 + ], + "text-optional": true, + "text-padding": 2, + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(137, 79%, 28%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(137, 79%, 28%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "pharmacy" + ], + true, + false + ] + ] + }, + { + "id": "Healthcare", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_healthcare", + "minzoom": 14, + "layout": { + "icon-anchor": "center", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "dentist", + "doctors", + "hospital", + "veterinary" + ], + [ + "get", + "class" + ], + "clinic", + "hospital", + "nursing_home", + "dot", + [ + "case", + [ + "has", + "class" + ], + "", + "dot" + ] + ], + "icon-optional": false, + "symbol-sort-key": [ + "case", + [ + "==", + [ + "get", + "class" + ], + "hospital" + ], + 0, + [ + "to-number", + [ + "get", + "rank" + ] + ] + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 8, + "text-offset": [ + 0, + 0.8 + ], + "text-optional": true, + "text-padding": 2, + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(2, 66%, 43%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "hospital" + ], + 1, + 0 + ], + 17, + 1 + ], + "text-color": "hsl(2, 66%, 43%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "hospital" + ], + 1, + 0 + ], + 17, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "clinic", + "dentist", + "doctors", + "hospital", + "nursing_home", + "veterinary" + ], + true, + [ + "!", + [ + "has", + "class" + ] + ] + ] + ] + }, + { + "id": "Accommodation", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_accommodation", + "layout": { + "icon-allow-overlap": false, + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "bed_and_breakfast", + "camp_site", + "caravan_site", + "chalet", + "guest_house", + "hostel", + "hotel", + "motel" + ], + [ + "get", + "class" + ], + "apartment", + "lodging", + [ + "case", + [ + "has", + "class" + ], + "lodging", + "" + ] + ], + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(281, 46%, 37%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(281, 46%, 37%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Outdoor minor", + "type": "symbol", + "source": "outdoor", + "source-layer": "outdoor_poi", + "minzoom": 16, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "bench", + "observation_tower", + "picnic_site", + "shelter" + ], + [ + "get", + "class" + ], + "fireplace", + "campfire", + [ + "first_aid", + "mountain_rescue" + ], + "hospital", + "map", + "board", + "rental", + "", + "" + ], + "icon-optional": false, + "icon-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0.8, + 22, + 1 + ], + "symbol-sort-key": [ + "match", + [ + "get", + "class" + ], + "fireplace", + 0, + "picnic_site", + 0, + "observation_tower", + 0, + "shelter", + 0, + 1 + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-max-width": 6, + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 12, + 22, + 16 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(35, 48%, 27%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 0, + 0, + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "first_aid", + "mountain_rescue", + "observation_tower", + "rental", + "shelter" + ], + 1, + 0 + ], + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "bench" + ], + 0, + 1 + ], + 18, + 1 + ], + "text-color": "hsl(35, 48%, 27%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 0, + 0, + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "first_aid", + "mountain_rescue", + "observation_tower", + "rental", + "shelter" + ], + 1, + 0 + ], + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "bench" + ], + 0, + 1 + ], + 18, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "bench", + "fireplace", + "first_aid", + "map", + "mountain_rescue", + "observation_tower", + "picnic_site", + "rental", + "shelter" + ], + true, + false + ] + ] + }, + { + "id": "Culture", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_culture", + "minzoom": 14, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "coalesce", + [ + "image", + [ + "get", + "subclass" + ] + ], + [ + "image", + [ + "get", + "class" + ] + ], + [ + "image", + "" + ] + ], + "icon-optional": false, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(281, 46%, 37%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(281, 46%, 37%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "museum", + "place_of_worship" + ], + 1, + 0 + ], + 16, + 1 + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Tourism", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_tourism", + "layout": { + "icon-allow-overlap": false, + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "tower", + "mineshaft", + "manor", + "adit", + "alpine_hut", + "aquarium", + "attraction", + "information", + "ruins", + "theme_park", + "wilderness_hut", + "zoo" + ], + [ + "get", + "class" + ], + "mine_shaft", + "mineshaft", + "memorial", + "monument", + "viewpoint", + "viewpoint_direction", + [ + "case", + [ + "has", + "class" + ], + [ + "get", + "class" + ], + "dot" + ] + ], + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(281, 46%, 37%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "attraction", + "zoo" + ], + 1, + 0 + ], + 16, + 1 + ], + "text-color": "hsl(281, 46%, 37%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "attraction", + "zoo" + ], + 1, + 0 + ], + 16, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "adit", + "alpine_hut", + "aquarium", + "attraction", + "information", + "manor", + "memorial", + "mine_shaft", + "mineshaft", + "ruins", + "theme_park", + "tower", + "viewpoint", + "wilderness_hut", + "zoo" + ], + true, + [ + "!", + [ + "has", + "class" + ] + ] + ] + ] + }, + { + "id": "Outdoor", + "type": "symbol", + "source": "outdoor", + "source-layer": "outdoor_poi", + "minzoom": 13, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + [ + "board", + "camp_site", + "castle", + "fortress", + "guidepost", + "hut", + "monument", + "ruins" + ], + [ + "get", + "class" + ], + "cave_entrance", + "square", + "memorial", + "statue", + "" + ], + "icon-optional": false, + "icon-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0.8, + 22, + 1 + ], + "symbol-sort-key": [ + "match", + [ + "get", + "class" + ], + "camp_site", + 0, + "guidepost", + 0, + "hut", + 0, + "cave_entrance", + 0, + 1 + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-max-width": 6, + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 12, + 22, + 16 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(35, 48%, 27%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 0, + 0, + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "guidepost" + ], + 1, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "castle", + "guidepost", + "fortress", + "hut", + "ruins" + ], + 1, + 0 + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "castle", + "cave_entrance", + "guidepost", + "fortress", + "hut", + "ruins" + ], + 1, + 0 + ], + 16, + 1 + ], + "text-color": "hsl(35, 48%, 27%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 0, + 0, + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "guidepost" + ], + 1, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "castle", + "fortress", + "guidepost", + "ruins" + ], + 1, + 0 + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "castle", + "cave_entrance", + "guidepost", + "fortress", + "hut", + "ruins" + ], + 1, + 0 + ], + 17, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "board", + "camp_site", + "castle", + "cave_entrance", + "fortress", + "guidepost", + "hut", + "memorial", + "monument", + "ruins" + ], + true, + false + ] + ] + }, + { + "id": "Viewpoint", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_tourism", + "layout": { + "icon-allow-overlap": false, + "icon-anchor": "bottom", + "icon-image": "viewpoint_direction", + "icon-optional": false, + "icon-rotate": [ + "get", + "direction" + ], + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-line-height": 0.9, + "text-offset": [ + "case", + [ + "all", + [ + ">=", + [ + "get", + "direction" + ], + 90 + ], + [ + "<=", + [ + "get", + "direction" + ], + 350 + ] + ], + [ + "literal", + [ + 0, + 2 + ] + ], + [ + "literal", + [ + 0, + 0 + ] + ] + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(281, 46%, 37%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(281, 46%, 37%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "tower", + "viewpoint" + ], + true, + false + ] + ] + ] + }, + { + "id": "Information", + "type": "symbol", + "source": "outdoor", + "source-layer": "outdoor_poi", + "minzoom": 13, + "layout": { + "icon-anchor": "bottom", + "icon-image": "information", + "icon-optional": false, + "icon-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 0.8, + 22, + 1 + ], + "symbol-sort-key": [ + "match", + [ + "get", + "class" + ], + "camp_site", + 0, + "guidepost", + 0, + "info_office", + 0, + "hut", + 0, + "cave_entrance", + 0, + 1 + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-max-width": 6, + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 12, + 22, + 16 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(150, 49%, 33%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 0, + 0, + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "guidepost" + ], + 1, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "info_office", + "cave_entrance", + "guidepost", + "fortress", + "hut", + "ruins" + ], + 1, + 0 + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "info_office", + "camp_site", + "cave_entrance", + "fortress", + "guidepost", + "hut", + "ruins", + "memorial", + "monument" + ], + 1, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "camp_site", + "cave_entrance", + "first_aid", + "fortress", + "guidepost", + "hut", + "info_office", + "memorial", + "monument", + "mountain_rescue", + "rental", + "ruins", + "shelter" + ], + 1, + 0 + ], + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "bench" + ], + 0, + 1 + ], + 18, + 1 + ], + "text-color": "hsl(150, 49%, 33%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 0, + 0, + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "guidepost" + ], + 1, + 0 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "info_office", + "cave_entrance", + "fortress", + "guidepost", + "ruins" + ], + 1, + 0 + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "info_office", + "camp_site", + "cave_entrance", + "fortress", + "guidepost", + "hut", + "ruins", + "memorial", + "monument", + "viewpoint" + ], + 1, + 0 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "camp_site", + "cave_entrance", + "first_aid", + "fortress", + "guidepost", + "hut", + "info_office", + "memorial", + "monument", + "mountain_rescue", + "rental", + "ruins", + "shelter" + ], + 1, + 0 + ], + 17, + [ + "match", + [ + "get", + "class" + ], + [ + "board" + ], + 0, + 1 + ], + 18, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "info_office" + ], + true, + false + ] + ] + }, + { + "id": "Station", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_station", + "minzoom": 12, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "coalesce", + [ + "image", + [ + "get", + "subclass" + ] + ], + [ + "image", + [ + "get", + "class" + ] + ], + [ + "image", + "bus_stop" + ] + ], + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "icon-size": 1, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-line-height": 0.9, + "text-max-width": 10, + "text-offset": [ + 0, + 0.2 + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 14, + [ + "match", + [ + "get", + "class" + ], + "railway", + 11, + 10 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + "railway", + 13, + 11 + ], + 22, + [ + "match", + [ + "get", + "class" + ], + "railway", + 16, + 14 + ] + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(232, 67%, 44%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "match", + [ + "get", + "subclass" + ], + "station", + 1, + 0 + ], + 14, + [ + "match", + [ + "get", + "subclass" + ], + [ + "station", + "bus_station", + "bus_stop", + "subway", + "tram_stop" + ], + 1, + 0 + ], + 15, + 1 + ], + "text-color": "hsl(232, 67%, 44%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 85%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "match", + [ + "get", + "subclass" + ], + "station", + 1, + 0 + ], + 16, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "bus", + "railway" + ], + true, + false + ] + ] + }, + { + "id": "Aerialway station (US)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_station", + "minzoom": 12, + "layout": { + "icon-anchor": "bottom", + "icon-image": "aerialway", + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "icon-padding": 2, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "get", + "name" + ], + 15, + [ + "case", + [ + "has", + "ele_ft" + ], + [ + "concat", + [ + "get", + "name" + ], + "\n", + [ + "get", + "ele_ft" + ], + " ft" + ], + [ + "get", + "name" + ] + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-line-height": 1.2, + "text-max-width": 10, + "text-offset": [ + 0, + 0.2 + ], + "text-optional": true, + "text-padding": 2, + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 14, + 10, + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(0, 0%, 35%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 85%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "case", + [ + "has", + "name" + ], + 1, + 0 + ], + 14, + 1 + ], + "text-color": "hsl(0, 0%, 35%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(9, 85%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "case", + [ + "has", + "name" + ], + 1, + 0 + ], + 14, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "aerialway" + ], + true, + false + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "ft" + ], + true, + false + ] + ] + }, + { + "id": "Aerialway station", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_station", + "minzoom": 12, + "layout": { + "icon-anchor": "bottom", + "icon-image": "aerialway", + "icon-offset": [ + 0, + 0 + ], + "icon-optional": false, + "icon-padding": 2, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "get", + "name" + ], + 15, + [ + "case", + [ + "has", + "ele" + ], + [ + "concat", + [ + "get", + "name" + ], + "\n", + [ + "get", + "ele" + ], + " m" + ], + [ + "get", + "name" + ] + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-line-height": 1.2, + "text-max-width": 10, + "text-offset": [ + 0, + 0.2 + ], + "text-optional": true, + "text-padding": 2, + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 14, + 10, + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(0, 0%, 35%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 85%, 100%)", + "icon-halo-width": 1.5, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "case", + [ + "has", + "name" + ], + 1, + 0 + ], + 14, + 1 + ], + "text-color": "hsl(0, 0%, 35%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(9, 85%, 100%)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 12, + [ + "case", + [ + "has", + "name" + ], + 1, + 0 + ], + 14, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "aerialway" + ], + true, + false + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "m" + ], + true, + [ + "!", + [ + "has", + "customary_units" + ] + ] + ] + ] + ] + }, + { + "id": "Castle", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_tourism", + "minzoom": 13, + "layout": { + "icon-anchor": "bottom", + "icon-image": "castle", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": "{name}", + "text-font": [ + "Open Sans Semi Bold", + "Noto Sans Semi Bold" + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(35, 48%, 27%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(35, 48%, 27%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "castle" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "Point" + ] + ] + }, + { + "id": "Volcano labels (US)", + "type": "symbol", + "source": "landform", + "source-layer": "volcano", + "minzoom": 9, + "layout": { + "icon-image": "triangle", + "icon-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 0.9, + 0.7 + ], + 14, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0.8 + ] + ], + "symbol-avoid-edges": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + 11, + [ + "concat", + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "\n", + [ + "get", + "ele_ft" + ], + " ft" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": { + "stops": [ + [ + 12, + 4 + ], + [ + 15, + 4 + ] + ] + }, + "text-offset": [ + 0, + 0.7 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 7, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 9, + 8 + ], + 11, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 10, + 9 + ], + 13, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 13, + 12 + ] + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(32, 100%, 40%)", + "icon-halo-blur": 0.2, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ], + "text-color": "hsl(32, 100%, 40%)", + "text-halo-blur": { + "stops": [ + [ + 11, + 2 + ], + [ + 15, + 0 + ] + ] + }, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 1, + 14, + 1.5 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "has", + "name" + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "ft" + ], + true, + false + ] + ] + ] + }, + { + "id": "Volcano labels", + "type": "symbol", + "source": "landform", + "source-layer": "volcano", + "minzoom": 9, + "layout": { + "icon-image": "triangle", + "icon-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 0.9, + 0.7 + ], + 14, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0.8 + ] + ], + "symbol-avoid-edges": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + 11, + [ + "concat", + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "\n", + [ + "get", + "ele" + ], + " m" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": { + "stops": [ + [ + 12, + 4 + ], + [ + 15, + 4 + ] + ] + }, + "text-offset": [ + 0, + 0.7 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 7, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 9, + 8 + ], + 11, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 10, + 9 + ], + 13, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 13, + 12 + ] + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(32, 100%, 40%)", + "icon-halo-blur": 0.2, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ], + "text-color": "hsl(32, 100%, 40%)", + "text-halo-blur": { + "stops": [ + [ + 11, + 2 + ], + [ + 15, + 0 + ] + ] + }, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 1, + 14, + 1.5 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "has", + "name" + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "m" + ], + true, + false + ] + ] + ] + }, + { + "id": "Peak labels (US)", + "type": "symbol", + "source": "landform", + "source-layer": "peak", + "minzoom": 9, + "layout": { + "icon-image": "triangle", + "icon-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 0.9, + 0.7 + ], + 14, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0.8 + ] + ], + "symbol-avoid-edges": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + 11, + [ + "concat", + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "\n", + [ + "get", + "ele_ft" + ], + " ft" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": { + "stops": [ + [ + 12, + 4 + ], + [ + 15, + 4 + ] + ] + }, + "text-offset": [ + 0, + 0.7 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 7, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 9, + 8 + ], + 11, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 10, + 9 + ], + 13, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 13, + 12 + ] + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(32, 48%, 24%)", + "icon-halo-blur": 0.2, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ], + "text-color": "hsl(32, 48%, 24%)", + "text-halo-blur": { + "stops": [ + [ + 11, + 2 + ], + [ + 15, + 0 + ] + ] + }, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 1, + 14, + 1.5 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "has", + "name" + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "ft" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ] + ] + ] + }, + { + "id": "Peak labels", + "type": "symbol", + "source": "landform", + "source-layer": "peak", + "minzoom": 9, + "layout": { + "icon-image": "triangle", + "icon-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 0.9, + 0.7 + ], + 14, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0.8 + ] + ], + "symbol-avoid-edges": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + 11, + [ + "concat", + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "\n", + [ + "get", + "ele" + ], + " m" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": { + "stops": [ + [ + 12, + 4 + ], + [ + 15, + 4 + ] + ] + }, + "text-offset": [ + 0, + 0.7 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 7, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 9, + 8 + ], + 11, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 10, + 9 + ], + 13, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 13, + 12 + ] + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(32, 48%, 24%)", + "icon-halo-blur": 0.2, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 1, + 14, + 1.5 + ], + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ], + "text-color": "hsl(32, 48%, 24%)", + "text-halo-blur": { + "stops": [ + [ + 11, + 2 + ], + [ + 15, + 0 + ] + ] + }, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 1, + 14, + 1.5 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 12, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 14, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 20 + ], + 1, + 0 + ], + 15, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "has", + "name" + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "m" + ], + true, + false + ] + ] + ] + }, + { + "id": "Place labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "place_label", + "minzoom": 9, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "center", + "text-field": "{name}", + "text-font": [ + "Open Sans Regular", + "Noto Sans Regular" + ], + "text-letter-spacing": [ + "match", + [ + "get", + "class" + ], + [ + "suburb", + "neighbourhood", + "quarter", + "island" + ], + 0.2, + 0 + ], + "text-max-width": [ + "match", + [ + "get", + "class" + ], + [ + "island" + ], + 6, + 8 + ], + "text-offset": [ + 0, + -0.2 + ], + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "suburb", + "neighbourhood", + "quarter", + "hamlet", + "isolated_dwelling" + ], + 9, + "island", + 8, + 12 + ], + 16, + [ + "match", + [ + "get", + "class" + ], + [ + "suburb", + "neighbourhood", + "quarter", + "hamlet", + "isolated_dwelling" + ], + 15, + "island", + 11, + 16 + ] + ], + "text-transform": [ + "match", + [ + "get", + "class" + ], + [ + "suburb", + "neighbourhood", + "quarter", + "island" + ], + "uppercase", + "none" + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(9, 0%, 26%)", + "text-halo-blur": 0.1, + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.2, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 8, + [ + "match", + [ + "get", + "class" + ], + [ + "island" + ], + 0, + 1 + ], + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "island" + ], + 1, + 1 + ], + 18, + 0 + ] + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "hamlet", + "isolated_dwelling", + "neighbourhood", + "quarter", + "suburb" + ], + true, + [ + "!", + [ + "has", + "class" + ] + ] + ], + [ + "==", + [ + "geometry-type" + ], + "Point" + ] + ] + }, + { + "id": "Village labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "place_label", + "minzoom": 9, + "maxzoom": 17, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "bottom", + "text-field": "{name}", + "text-font": [ + "Open Sans Regular", + "Noto Sans Regular" + ], + "text-letter-spacing": 0, + "text-max-width": 8, + "text-offset": [ + 0, + -0.2 + ], + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 11, + 12, + 16, + 18 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(249, 5%, 13%)", + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.6 + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "village" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "Point" + ] + ] + }, + { + "id": "Airport labels (US)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_station", + "minzoom": 8, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + "international", + "airport", + [ + "case", + [ + "has", + "class" + ], + "airfield", + "" + ] + ], + "icon-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + [ + "match", + [ + "get", + "class" + ], + "other", + [ + "literal", + [ + 0, + 0 + ] + ], + [ + "literal", + [ + 0, + 0 + ] + ] + ], + 12, + [ + "match", + [ + "get", + "class" + ], + "other", + [ + "literal", + [ + 0, + 0 + ] + ], + [ + "literal", + [ + 0, + 0 + ] + ] + ] + ], + "icon-padding": 2, + "icon-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "class" + ], + "other" + ], + 0.5, + 0.6 + ], + 16, + [ + "case", + [ + "==", + [ + "get", + "class" + ], + "other" + ], + 1.3, + 1.5 + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + " ", + 8.99, + " ", + 9, + [ + "coalesce", + [ + "get", + "iata" + ], + [ + "get", + "icao" + ], + [ + "get", + "name" + ] + ], + 12, + [ + "get", + "name" + ], + 13, + [ + "case", + [ + "has", + "ele_ft" + ], + [ + "concat", + [ + "get", + "name" + ], + "\n", + [ + "get", + "ele_ft" + ], + " ft" + ], + [ + "get", + "name" + ] + ] + ], + "text-font": [ + "Open Sans Regular", + "Noto Sans Regular" + ], + "text-line-height": 1.2, + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 9, + 12, + 11, + 14, + 13 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(36, 82%, 14%)", + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 8, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 11, + 1 + ], + "text-color": "hsl(36, 82%, 14%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 85%, 100%)", + "text-halo-width": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 8, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 11, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "class" + ], + [ + "aerodrome" + ], + true, + false + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "ft" + ], + true, + false + ] + ] + }, + { + "id": "Airport labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "poi_station", + "minzoom": 8, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + "international", + "airport", + [ + "case", + [ + "has", + "class" + ], + "airfield", + "" + ] + ], + "icon-offset": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + [ + "match", + [ + "get", + "class" + ], + "other", + [ + "literal", + [ + 0, + 0 + ] + ], + [ + "literal", + [ + 0, + 0 + ] + ] + ], + 12, + [ + "match", + [ + "get", + "class" + ], + "other", + [ + "literal", + [ + 0, + 0 + ] + ], + [ + "literal", + [ + 0, + 0 + ] + ] + ] + ], + "icon-padding": 2, + "icon-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "class" + ], + "other" + ], + 0.5, + 0.6 + ], + 16, + [ + "case", + [ + "==", + [ + "get", + "class" + ], + "other" + ], + 1.3, + 1.5 + ] + ], + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + " ", + 8.99, + " ", + 9, + [ + "coalesce", + [ + "get", + "iata" + ], + [ + "get", + "icao" + ], + [ + "get", + "name" + ] + ], + 12, + [ + "get", + "name" + ], + 13, + [ + "case", + [ + "has", + "ele" + ], + [ + "concat", + [ + "get", + "name" + ], + "\n", + [ + "get", + "ele" + ], + " m" + ], + [ + "get", + "name" + ] + ] + ], + "text-font": [ + "Open Sans Regular", + "Noto Sans Regular" + ], + "text-line-height": 1.2, + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 10, + 9, + 12, + 11, + 14, + 13 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(36, 82%, 14%)", + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 1, + 8, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 11, + 1 + ], + "text-color": "hsl(36, 82%, 14%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 85%, 100%)", + "text-halo-width": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 8, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 11, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "aerodrome" + ], + true, + false + ], + [ + "match", + [ + "get", + "customary_units" + ], + [ + "m" + ], + true, + [ + "!", + [ + "has", + "customary_units" + ] + ] + ] + ] + ] + }, + { + "id": "Longdistance trail labels", + "type": "symbol", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 11, + "layout": { + "symbol-placement": "line", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 12, + 10, + 14, + 11, + 16, + 13 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(19, 83%, 41%)", + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 2, + "text-color": "hsl(19, 83%, 41%)", + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 2 + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "network", + "iwn", + "nwn" + ], + [ + "has", + "ref" + ] + ] + }, + { + "id": "Bicycle longdistance labels", + "type": "symbol", + "source": "outdoor", + "source-layer": "trail", + "minzoom": 11, + "layout": { + "symbol-placement": "line", + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-offset": [ + 0, + 0.2 + ], + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 12, + 10, + 14, + 11, + 16, + 13 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(315, 68%, 64%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 2, + "text-color": "hsl(315, 68%, 64%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 2 + }, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "network", + "icn", + "ncn" + ], + [ + "has", + "ref" + ] + ] + }, + { + "id": "Saddle", + "type": "symbol", + "source": "landform", + "source-layer": "saddle", + "minzoom": 17, + "layout": { + "icon-anchor": "bottom", + "icon-image": [ + "match", + [ + "get", + "class" + ], + "mountain_pass", + "triangle", + "saddle", + "dot", + [ + "case", + [ + "has", + "class" + ], + "dot", + "" + ] + ], + "icon-rotate": [ + "match", + [ + "get", + "class" + ], + "mountain_pass", + 180, + 0 + ], + "icon-size": 0.8, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-allow-overlap": false, + "text-anchor": "top", + "text-field": [ + "step", + [ + "zoom" + ], + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + 11, + [ + "concat", + [ + "case", + [ + "any", + [ + "has", + "name:en" + ], + [ + "has", + "name" + ] + ], + [ + "concat", + [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "\n" + ], + "" + ], + [ + "get", + "ele" + ], + " m" + ] + ], + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-max-width": 6, + "text-offset": [ + "match", + [ + "get", + "class" + ], + [ + "mountain_pass" + ], + [ + "literal", + [ + 0, + 1.2 + ] + ], + [ + "literal", + [ + 0, + 0 + ] + ] + ], + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 16, + 11, + 22, + 14 + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(35, 48%, 27%)", + "icon-halo-blur": 0.5, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.5, + "text-color": "hsl(35, 48%, 27%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.5 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Protected area labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "protected_area_minor_label", + "minzoom": 11, + "maxzoom": 17, + "layout": { + "symbol-avoid-edges": true, + "symbol-placement": "point", + "symbol-spacing": 750, + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Bold", + "Noto Sans Bold" + ], + "text-ignore-placement": false, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 0, + 30, + 16, + 200 + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 11, + 10, + 14, + 12 + ], + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(108, 54%, 25%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1.2, + "text-color": "hsl(108, 54%, 25%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.2 + } + }, + { + "id": "Town labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "town_label", + "minzoom": 6, + "maxzoom": 16, + "layout": { + "icon-anchor": "top", + "icon-image": "dot", + "icon-size": 0.7, + "symbol-sort-key": [ + "+", + [ + "case", + [ + "==", + [ + "get", + "capital" + ], + 20 + ], + -1000, + 0 + ], + [ + "to-number", + [ + "get", + "rank" + ] + ] + ], + "text-anchor": "bottom", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 8, + "text-offset": [ + 0, + 0.1 + ], + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 6, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 12 + ], + 11, + 10 + ], + 9, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 15 + ], + 13, + 12 + ], + 16, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 15 + ], + 22, + 20 + ] + ], + "visibility": "visible" + }, + "paint": { + "icon-color": "hsl(9, 0%, 100%)", + "icon-halo-blur": 0, + "icon-halo-color": "hsl(9, 0%, 35%)", + "icon-halo-width": 1, + "text-color": "hsl(249, 5%, 13%)", + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.6 + }, + "metadata": {}, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "State labels z9", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "state_label", + "minzoom": 9, + "maxzoom": 11, + "layout": { + "symbol-sort-key": [ + "case", + [ + "has", + "iso3166" + ], + 1, + 2 + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Semi Condensed Medium", + "Noto Sans Semi Condensed Medium" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, + 13, + 11, + 14 + ], + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "icon-halo-blur": 0, + "icon-halo-color": "hsla(9, 85%, 100%, 0.85)", + "icon-halo-width": 1.5, + "text-color": "hsl(57, 3%, 30%)", + "text-halo-blur": 0, + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.5 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "admin_level" + ], + [ + 50 + ], + true, + false + ], + [ + "has", + "iso3166" + ] + ] + ] + }, + { + "id": "State labels z7", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "state_label", + "minzoom": 7, + "maxzoom": 9, + "layout": { + "symbol-sort-key": [ + "case", + [ + "has", + "iso3166" + ], + 1, + 2 + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Semi Condensed Medium", + "Noto Sans Semi Condensed Medium" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + 12, + 9, + 14 + ], + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "icon-halo-blur": 0, + "icon-halo-color": "hsla(9, 85%, 100%, 0.85)", + "icon-halo-width": 1.5, + "text-color": "hsl(57, 3%, 30%)", + "text-halo-blur": 0, + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 2, + [ + "case", + [ + "all", + [ + "==", + [ + "get", + "iso_a2" + ], + "GB" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ] + ], + 0, + 1 + ], + 6, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "any", + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ], + [ + "all", + [ + "in", + [ + "get", + "iso_a2" + ], + [ + "literal", + [ + "AR", + "FR", + "US" + ] + ] + ], + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ] + ] + ] + ] + }, + { + "id": "State labels z4", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "state_label", + "minzoom": 4, + "maxzoom": 7, + "layout": { + "symbol-sort-key": [ + "case", + [ + "has", + "iso3166" + ], + 1, + 2 + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Semi Condensed Medium", + "Noto Sans Semi Condensed Medium" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 4, + 8, + 7, + 12, + 9, + 14 + ], + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "icon-halo-blur": 0, + "icon-halo-color": "hsla(9, 85%, 100%, 0.85)", + "icon-halo-width": 1.5, + "text-color": "hsl(57, 3%, 30%)", + "text-halo-blur": 0, + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 2, + [ + "case", + [ + "all", + [ + "==", + [ + "get", + "iso_a2" + ], + "GB" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ] + ], + 0, + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ], + 0, + 1 + ], + 6, + [ + "case", + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ], + 1, + [ + "==", + [ + "get", + "admin_level" + ], + 30 + ], + 1, + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ], + 1, + 0 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "any", + [ + "all", + [ + "==", + [ + "get", + "admin_level" + ], + 30 + ], + [ + "!=", + [ + "get", + "iso_a2" + ], + "BR" + ] + ], + [ + "all", + [ + "==", + [ + "get", + "iso_a2" + ], + "BR" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 40 + ] + ], + [ + "all", + [ + "==", + [ + "get", + "iso_a2" + ], + "FR" + ], + [ + "==", + [ + "get", + "admin_level" + ], + 50 + ] + ] + ] + ] + }, + { + "id": "State abbreviations", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "state_label", + "minzoom": 3, + "maxzoom": 4, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": "{abbrev}", + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-letter-spacing": 0.1, + "text-max-width": 8, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 10, + 4, + 11 + ], + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "icon-halo-blur": 0, + "icon-halo-color": "hsla(9, 85%, 100%, 0.85)", + "icon-halo-width": 1.5, + "text-color": "hsl(51, 3%, 44%)", + "text-halo-blur": 0, + "text-halo-color": "hsla(9, 85%, 100%, 0.85)", + "text-halo-width": 1.5, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 3, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 3 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 0 + ], + 0, + 1 + ] + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "iso_a2" + ], + [ + "RU" + ], + false, + true + ], + [ + "has", + "iso3166" + ] + ] + ] + }, + { + "id": "City labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "city_label", + "minzoom": 5, + "maxzoom": 16, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 8, + "text-padding": 2, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 12, + 7, + 16, + 9, + 22, + 11, + 24 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(255, 6%, 13%)", + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.6, + "text-translate": [ + 0, + -2 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "capital" + ], + [ + 20 + ], + false, + true + ] + ] + }, + { + "id": "Protected area major labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "protected_area_major_label", + "minzoom": 4, + "maxzoom": 17, + "layout": { + "icon-keep-upright": true, + "symbol-placement": "line-center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Bold", + "Noto Sans Bold" + ], + "text-letter-spacing": 0.2, + "text-size": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 6, + 10, + 9, + 12, + 12, + 16 + ], + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "text-color": "hsl(108, 54%, 25%)", + "text-halo-color": "hsl(9, 0%, 100%)", + "text-halo-width": 1.2 + } + }, + { + "id": "Capital city labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "city_label", + "minzoom": 4, + "maxzoom": 16, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium", + "Noto Sans Medium" + ], + "text-max-width": 8, + "text-padding": 2, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 5, + 14, + 7, + 19, + 9, + 25, + 11, + 28 + ], + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(249, 5%, 13%)", + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1.6, + "text-translate": [ + 0, + -2 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "capital" + ], + [ + 20 + ], + true, + false + ] + ] + }, + { + "id": "Country labels disputed", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "country_disputed_label", + "minzoom": 3, + "maxzoom": 7, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": "{name:en}", + "text-font": [ + "Open Sans Bold", + "Noto Sans Bold" + ], + "text-line-height": 1.2, + "text-max-width": [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 8.25, + 6.25 + ], + "text-padding": 0, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 9, + 4, + 14, + 7, + 18 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(9, 3%, 25%)", + "text-halo-blur": 1.6, + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ] + ] + }, + { + "id": "Country labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "country_label", + "minzoom": 2, + "maxzoom": 10, + "layout": { + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Bold", + "Noto Sans Bold" + ], + "text-line-height": 1.2, + "text-max-width": [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 8.25, + 6.25 + ], + "text-padding": 0, + "text-size": [ + "interpolate", + [ + "linear", + 1 + ], + [ + "zoom" + ], + 2, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 10, + 8 + ], + 3, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 12, + [ + ">=", + [ + "get", + "rank" + ], + 3 + ], + 10, + 9 + ], + 4, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 16, + [ + ">=", + [ + "get", + "rank" + ], + 3 + ], + 14, + 12 + ], + 7, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 22, + [ + ">=", + [ + "get", + "rank" + ], + 3 + ], + 18, + 16 + ] + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(9, 3%, 25%)", + "text-halo-blur": 1.6, + "text-halo-color": "hsla(9, 85%, 100%, 0.8)", + "text-halo-width": [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1.4, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 1, + 2, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + 0 + ], + 3, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 1, + [ + ">=", + [ + "get", + "rank" + ], + 3 + ], + 1, + 0 + ], + 4, + 1, + 7, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 0, + 1 + ], + 8, + [ + "case", + [ + "<=", + [ + "get", + "rank" + ], + 2 + ], + 0, + [ + ">=", + [ + "get", + "rank" + ], + 3 + ], + 0, + 1 + ] + ] + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + }, + { + "id": "Archipelago labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "archipelago_label", + "minzoom": 3, + "maxzoom": 7, + "layout": { + "symbol-avoid-edges": false, + "symbol-placement": "line-center", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "symbol-spacing": 100, + "symbol-z-order": "source", + "text-anchor": "center", + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-ignore-placement": false, + "text-letter-spacing": 0.2, + "text-max-width": 10, + "text-overlap": "never", + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 13, + 5, + 14 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "rgba(255, 255, 255, 1)", + "icon-halo-width": 1, + "text-color": "hsl(51, 3%, 34%)", + "text-halo-color": "hsla(0, 0%, 100%, 0.4)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "rank" + ], + [ + 1 + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ] + ] + ] + }, + { + "id": "Island labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "island_label", + "minzoom": 7, + "maxzoom": 11, + "layout": { + "icon-keep-upright": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Medium Italic", + "Noto Sans Medium Italic" + ], + "text-letter-spacing": 0.2, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 7, + 14, + 11, + 16 + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(51, 3%, 34%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "match", + [ + "get", + "rank" + ], + [ + 5 + ], + true, + false + ] + ] + }, + { + "id": "Bay labels (lines)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_label", + "minzoom": 4, + "layout": { + "icon-keep-upright": true, + "symbol-placement": "line-center", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 12, + 6, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 14, + 12 + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 18, + 16 + ] + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "text-color": "hsl(216, 67%, 94%)", + "text-halo-color": "hsl(215, 66%, 80%)", + "text-halo-width": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 3, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 5, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "reef", + "strait" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ], + [ + "match", + [ + "get", + "name" + ], + [ + "Bay of Bengal", + "Golfe de Gascogne/Golfo de Vizcaya/Bay of Biscay", + "Golfo de México", + "Great Australian Bight", + "Gulf of America", + "Gulf of Guinea", + "Hudson Bay" + ], + false, + true + ] + ] + ] + }, + { + "id": "Bay labels (points)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_centroid", + "minzoom": 4, + "layout": { + "icon-keep-upright": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 12, + 6, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 14, + 12 + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 18, + 16 + ] + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "icon-halo-color": "hsl(9, 0%, 100%)", + "icon-halo-width": 1, + "text-color": "hsl(216, 67%, 94%)", + "text-halo-color": "hsl(215, 66%, 80%)", + "text-halo-width": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 3, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 1, + 0 + ], + 5, + 1 + ] + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "bay", + "reef", + "strait" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ], + [ + "match", + [ + "get", + "name" + ], + [ + "Bay of Bengal", + "Golfe de Gascogne/Golfo de Vizcaya/Bay of Biscay", + "Golfo de México", + "Great Australian Bight", + "Gulf of America", + "Gulf of Guinea", + "Hudson Bay" + ], + true, + false + ] + ] + ] + }, + { + "id": "Sea labels (points)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_centroid", + "minzoom": 3, + "layout": { + "icon-keep-upright": true, + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 6, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 12, + 4, + 13, + 6, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 16, + 14 + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 20, + 18 + ] + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 6, + "hsl(225, 40%, 61%)", + 10, + "hsl(223, 72%, 46%)" + ], + "text-halo-blur": 1.6, + "text-halo-color": "hsla(215, 85%, 85%, 0.4)", + "text-halo-width": 1.4, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "Point" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "sea" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ], + [ + "match", + [ + "get", + "name:en" + ], + [ + "Adriatic Sea", + "Balearic Sea", + "Baltic Sea", + "Red Sea" + ], + false, + true + ] + ] + ] + }, + { + "id": "Sea labels (lines)", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "water_label", + "minzoom": 3, + "layout": { + "symbol-placement": "line-center", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Italic", + "Noto Sans Italic" + ], + "text-letter-spacing": 0.1, + "text-max-width": 6, + "text-optional": true, + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 3, + 12, + 4, + 13, + 6, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 16, + 14 + ], + 8, + [ + "case", + [ + "==", + [ + "get", + "rank" + ], + 1 + ], + 20, + 18 + ] + ], + "text-transform": "none", + "visibility": "visible" + }, + "paint": { + "text-color": [ + "interpolate", + [ + "exponential", + 1 + ], + [ + "zoom" + ], + 6, + "hsl(225, 40%, 61%)", + 10, + "hsl(223, 72%, 46%)" + ], + "text-halo-blur": 1.6, + "text-halo-color": "hsla(215, 85%, 85%, 0.4)", + "text-halo-width": 1.4, + "text-opacity": 1 + }, + "filter": [ + "all", + [ + "==", + [ + "geometry-type" + ], + "LineString" + ], + [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "sea" + ], + true, + false + ], + [ + "match", + [ + "get", + "worldview:ch" + ], + [ + "recognized" + ], + true, + [ + "!", + [ + "has", + "worldview:ch" + ] + ] + ], + [ + "match", + [ + "get", + "name:en" + ], + [ + "Adriatic Sea", + "Balearic Sea", + "Baltic Sea", + "Red Sea" + ], + true, + false + ] + ] + ] + }, + { + "id": "Continent labels", + "type": "symbol", + "source": "maptiler_planet_v4", + "source-layer": "continent_label", + "minzoom": 0, + "maxzoom": 2, + "layout": { + "text-field": [ + "coalesce", + [ + "get", + "name:en" + ], + [ + "get", + "name" + ] + ], + "text-font": [ + "Open Sans Bold", + "Noto Sans Bold" + ], + "text-justify": "center", + "text-padding": 0, + "text-size": { + "stops": [ + [ + 1, + 12 + ], + [ + 4, + 24 + ] + ] + }, + "text-transform": "uppercase", + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(242, 6%, 24%)", + "text-halo-color": "hsl(76, 22%, 93%)", + "text-halo-width": 1.3 + }, + "filter": [ + "==", + [ + "geometry-type" + ], + "Point" + ] + } + ], + "metadata": { + "maptiler": { + "copyright": "You are licensed to use the style or its derivate for serving map tiles exclusively with MapTiler Server or MapTiler Cloud and in accordance with their licenses and terms. If you plan to use the style in a different way, contact us at sales@maptiler.com.", + "groups": [ + { + "icon": "poi", + "id": "poi", + "layers": [ + "Outdoor shop", + "Sport", + "Outdoor water", + "Food", + "Transport", + "Park labels", + "Pharmacy", + "Healthcare", + "Accommodation", + "Outdoor minor", + "Culture", + "Tourism", + "Outdoor", + "Viewpoint", + "Information", + "Station", + "Aerialway station", + "Castle", + "Aerialway station (US)", + "Public", + "Street furniture" + ], + "name": "POI" + }, + { + "icon": "outdoor", + "id": "outdoor", + "layers": [ + "Trail outline", + "Bicycle outline", + "Other trails", + "Bicycle local", + "Yellow trail", + "Green trail", + "Blue trail", + "Brown trail", + "Black trail", + "Purple trail", + "Orange trail", + "Red trail", + "Longdistance trail outline", + "Longdistance trail", + "Via ferrata outline", + "Via ferrata", + "Via ferrata symbol", + "Bicycle longdistance", + "Trail labels", + "Longdistance trail labels", + "Bicycle longdistance labels" + ], + "name": "Outdoor" + }, + { + "icon": "administrative", + "id": "administrative", + "layers": [ + "Country border outline", + "Other border z9", + "Disputed border", + "Country border", + "Country border labels right", + "Country border labels left", + "Place labels", + "Village labels", + "Town labels", + "State labels z9", + "State abbreviations", + "City labels", + "Capital city labels", + "Country labels", + "Island labels", + "Continent labels", + "Archipelago labels", + "Country labels disputed", + "State labels z4", + "Other border z3", + "Other border z7", + "State labels z7" + ], + "name": "Administrative" + }, + { + "icon": "built-up", + "id": "built-up", + "layers": [ + "Residential", + "Industrial", + "Building", + "Building top", + "Military limit", + "Leisure", + "Hospital", + "Cemetery", + "Military", + "Commercial", + "Pitch", + "Construction (point)", + "Construction" + ], + "name": "Built-up" + }, + { + "icon": "roads", + "id": "roads", + "layers": [ + "Highway shield (US)", + "Highway shield", + "Road labels", + "Pathway labels", + "Pedestrian outline", + "Path", + "Track", + "Track outline", + "Steps", + "Major road", + "Pedestrian", + "Pier", + "Bridge", + "Tunnel", + "Tunnel path", + "Major road outline", + "Minor road", + "Minor road outline", + "Road bridge", + "Road bridge outline" + ], + "name": "Roads" + }, + { + "icon": "transit", + "id": "transit", + "layers": [ + "Ferry", + "Railway tunnel", + "Railway tunnel dash", + "Minor railway", + "Minor railway hatching", + "Major railway", + "Major railway dash", + "Minor lift", + "Minor lift dash", + "Chair lift", + "Chair lift dash", + "Cable car", + "Cable car dash", + "Aerialway labels", + "Taxiway", + "Runway", + "Airport area", + "Airport labels", + "Airport labels (US)", + "Railway bridge dash", + "Railway bridge", + "Minor railway bridge hatching", + "Minor railway bridge" + ], + "name": "Transit" + }, + { + "icon": "water", + "id": "water", + "layers": [ + "River tunnel", + "Stream", + "River", + "Water", + "River labels", + "Pond labels (points)", + "Pond labels (lines)", + "Lake labels (points)", + "Lake labels (lines)", + "Lake labels major", + "Ocean labels", + "Bay labels (lines)", + "Sea labels (points)", + "Sea labels (lines)", + "Bay labels (points)", + "Reef" + ], + "name": "Water" + }, + { + "icon": "nature", + "id": "nature", + "layers": [ + "Scrub", + "Wood", + "Forest", + "Grass", + "Sand", + "Glacier", + "Tree", + "Protected area major labels", + "Protected area labels" + ], + "name": "Nature" + }, + { + "icon": "terrain", + "id": "terrain", + "layers": [ + "Hillshade", + "Contour index", + "Glacier contour index", + "Contour", + "Glacier contour", + "Contour labels", + "Glacier contour labels", + "Peak labels (US)", + "Peak labels", + "Volcano labels", + "Volcano labels (US)", + "Cliff line", + "Cliff", + "Ridge labels", + "Cliff labels", + "Saddle" + ], + "name": "Terrain" + }, + { + "icon": "background", + "id": "background", + "layers": [ + "Background" + ], + "name": "Background" + } + ], + "halo": { + "scale": 1, + "stops": [ + [ + 0, + "rgba(255, 255, 255, 0.25)" + ], + [ + 0.25, + "rgba(255, 255, 255, 0)" + ] + ] + }, + "space": { + "color": "hsl(214, 69%, 90%)" + }, + "spaceColor": "#D5E3F6" + } + }, + "glyphs": "https://api.maptiler.com/fonts/{fontstack}/{range}.pbf?key=O7VbOY3zrXxBupgrQtdE", + "sprite": "https://api.maptiler.com/maps/outdoor-v4/sprite", + "bearing": 0, + "pitch": 0, + "center": [ + 0, + 0 + ], + "zoom": 1, + "id": "outdoor-v4" +} \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index fc60ba4..3d6c798 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -5,12 +5,19 @@ import Countries from './Countries'; import Points from './Points'; import Regions from './Regions'; +import maplibregl from 'maplibre-gl'; +import { Protocol } from "pmtiles"; + +import 'maplibre-gl/dist/maplibre-gl.css'; + const initialMapOptions = [ { name: "Объекты ВИЭ", current: true }, { name: "Регионы РФ", current: false }, { name: "Страны мира", current: false }, ]; +let protocol = new Protocol(); +maplibregl.addProtocol("pmtiles", protocol.tile); function Maps() { diff --git a/vite.config.js b/vite.config.js index 2bf5882..f8b3ca4 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,5 +1,5 @@ -import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' +import { defineConfig } from 'vite' // https://vitejs.dev/config/ export default defineConfig({