diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 6dec123..ad209f8 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -10,7 +10,7 @@ jobs: - name: Install dependencies run: bun i - run: bun run check - + build: runs-on: ubuntu-latest steps: @@ -23,4 +23,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: dist - path: dist/ \ No newline at end of file + path: dist/ diff --git a/.gitignore b/.gitignore index a547bf3..49ef0bd 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ dist-ssr # Editor directories and files .vscode/* !.vscode/extensions.json +!.vscode/settings.json .idea .DS_Store *.suo diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..aa41e55 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +android/ +dist/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..274bb40 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "useTabs": true, + "plugins": ["prettier-plugin-svelte"], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index bdef820..28d1e67 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["svelte.svelte-vscode"] + "recommendations": ["svelte.svelte-vscode"] } diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..8d7c4c6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "eslint.validate": ["javascript", "typescript", "svelte"] +} diff --git a/README.md b/README.md index 3586bad..249e607 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ **TrafficCue** is a FOSS navigation app built for vehicles that max out at 45 km/h, so mopeds, microcars, LEVs, and the like (but not limited to them!). Mainstream navigation often routes these vehicles onto roads they're not legally allowed to use. **We don’t.** -Built with **Svelte + Vite**, powered by **Capacitor** for mobile, and focused on *respectful routing*, **TrafficCue** fills the gap. +Built with **Svelte + Vite**, powered by **Capacitor** for mobile, and focused on _respectful routing_, **TrafficCue** fills the gap. --- diff --git a/bun.lock b/bun.lock index e176795..6930fa9 100644 --- a/bun.lock +++ b/bun.lock @@ -7,8 +7,13 @@ "@capacitor/android": "^7.3.0", "@capacitor/cli": "^7.3.0", "@capacitor/core": "^7.3.0", + "@eslint/js": "^9.29.0", + "eslint": "^9.29.0", + "eslint-plugin-svelte": "^3.9.3", + "globals": "^16.2.0", "opening_hours": "^3.8.0", "svelte-maplibre-gl": "^0.1.8", + "typescript-eslint": "^8.34.1", }, "devDependencies": { "@internationalized/date": "^3.8.1", @@ -19,13 +24,15 @@ "@types/node": "^22.15.24", "bits-ui": "^2.7.0", "clsx": "^2.1.1", - "svelte": "^5.28.1", + "eslint-config-prettier": "^10.1.5", + "prettier-plugin-svelte": "^3.4.0", + "svelte": "^5.34.7", "svelte-check": "^4.1.6", "tailwind-merge": "^3.0.2", "tailwind-variants": "^1.0.0", "tailwindcss": "^4.0.0", "tw-animate-css": "^1.3.2", - "typescript": "~5.8.3", + "typescript": "^5.8.3", "vaul-svelte": "^1.0.0-next.7", "vite": "^6.3.5", }, @@ -98,12 +105,38 @@ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.7.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw=="], + + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="], + + "@eslint/config-array": ["@eslint/config-array@0.20.1", "", { "dependencies": { "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" } }, "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw=="], + + "@eslint/config-helpers": ["@eslint/config-helpers@0.2.3", "", {}, "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg=="], + + "@eslint/core": ["@eslint/core@0.14.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg=="], + + "@eslint/eslintrc": ["@eslint/eslintrc@3.3.1", "", { "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ=="], + + "@eslint/js": ["@eslint/js@9.29.0", "", {}, "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ=="], + + "@eslint/object-schema": ["@eslint/object-schema@2.1.6", "", {}, "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA=="], + + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.3.2", "", { "dependencies": { "@eslint/core": "^0.15.0", "levn": "^0.4.1" } }, "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg=="], + "@floating-ui/core": ["@floating-ui/core@1.7.0", "", { "dependencies": { "@floating-ui/utils": "^0.2.9" } }, "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA=="], "@floating-ui/dom": ["@floating-ui/dom@1.7.0", "", { "dependencies": { "@floating-ui/core": "^1.7.0", "@floating-ui/utils": "^0.2.9" } }, "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg=="], "@floating-ui/utils": ["@floating-ui/utils@0.2.9", "", {}, "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg=="], + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], + + "@humanfs/node": ["@humanfs/node@0.16.6", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.3.0" } }, "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw=="], + + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], + + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + "@internationalized/date": ["@internationalized/date@3.8.1", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA=="], "@ionic/cli-framework-output": ["@ionic/cli-framework-output@2.2.8", "", { "dependencies": { "@ionic/utils-terminal": "2.3.5", "debug": "^4.0.0", "tslib": "^2.0.1" } }, "sha512-TshtaFQsovB4NWRBydbNFawql6yul7d5bMiW1WYYf17hd99V6xdDdk3vtF51bw6sLkxON3bDQpWsnUc9/hVo3g=="], @@ -184,6 +217,12 @@ "@math.gl/web-mercator": ["@math.gl/web-mercator@4.1.0", "", { "dependencies": { "@math.gl/core": "4.1.0" } }, "sha512-HZo3vO5GCMkXJThxRJ5/QYUYRr3XumfT8CzNNCwoJfinxy5NtKUd7dusNTXn7yJ40UoB8FMIwkVwNlqaiRZZAw=="], + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + "@probe.gl/env": ["@probe.gl/env@4.1.0", "", {}, "sha512-5ac2Jm2K72VCs4eSMsM7ykVRrV47w32xOGMvcgqn8vQdEMF9PRXyBGYEV9YbqRKWNKpNKmQJVi4AHM/fkCxs9w=="], "@probe.gl/log": ["@probe.gl/log@4.1.0", "", { "dependencies": { "@probe.gl/env": "4.1.0" } }, "sha512-r4gRReNY6f+OZEMgfWEXrAE2qJEt8rX0HsDJQXUBMoc+5H47bdB7f/5HBHAmapK8UydwPKL9wCDoS22rJ0yq7Q=="], @@ -278,6 +317,8 @@ "@types/geojson-vt": ["@types/geojson-vt@3.2.5", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g=="], + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + "@types/mapbox__point-geometry": ["@types/mapbox__point-geometry@0.1.4", "", {}, "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA=="], "@types/mapbox__vector-tile": ["@types/mapbox__vector-tile@1.3.4", "", { "dependencies": { "@types/geojson": "*", "@types/mapbox__point-geometry": "*", "@types/pbf": "*" } }, "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg=="], @@ -292,14 +333,40 @@ "@types/supercluster": ["@types/supercluster@7.1.3", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA=="], + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.34.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.34.1", "@typescript-eslint/type-utils": "8.34.1", "@typescript-eslint/utils": "8.34.1", "@typescript-eslint/visitor-keys": "8.34.1", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.34.1", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.34.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.34.1", "@typescript-eslint/types": "8.34.1", "@typescript-eslint/typescript-estree": "8.34.1", "@typescript-eslint/visitor-keys": "8.34.1", "debug": "^4.3.4" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.34.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.34.1", "@typescript-eslint/types": "^8.34.1", "debug": "^4.3.4" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.34.1", "", { "dependencies": { "@typescript-eslint/types": "8.34.1", "@typescript-eslint/visitor-keys": "8.34.1" } }, "sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.34.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.34.1", "", { "dependencies": { "@typescript-eslint/typescript-estree": "8.34.1", "@typescript-eslint/utils": "8.34.1", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.34.1", "", {}, "sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.34.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.34.1", "@typescript-eslint/tsconfig-utils": "8.34.1", "@typescript-eslint/types": "8.34.1", "@typescript-eslint/visitor-keys": "8.34.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { "typescript": ">=4.8.4 <5.9.0" } }, "sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.34.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", "@typescript-eslint/scope-manager": "8.34.1", "@typescript-eslint/types": "8.34.1", "@typescript-eslint/typescript-estree": "8.34.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.34.1", "", { "dependencies": { "@typescript-eslint/types": "8.34.1", "eslint-visitor-keys": "^4.2.1" } }, "sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw=="], + "@xmldom/xmldom": ["@xmldom/xmldom@0.8.10", "", {}, "sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw=="], - "acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="], + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], "astral-regex": ["astral-regex@2.0.0", "", {}, "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="], @@ -318,10 +385,16 @@ "bplist-parser": ["bplist-parser@0.3.2", "", { "dependencies": { "big-integer": "1.6.x" } }, "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ=="], - "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + "brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="], @@ -334,12 +407,18 @@ "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], "css.escape": ["css.escape@1.5.1", "", {}, "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg=="], + "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], "define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], @@ -360,9 +439,41 @@ "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@9.29.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.20.1", "@eslint/config-helpers": "^0.2.1", "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.29.0", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ=="], + + "eslint-config-prettier": ["eslint-config-prettier@10.1.5", "", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw=="], + + "eslint-plugin-svelte": ["eslint-plugin-svelte@3.9.3", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.6.1", "@jridgewell/sourcemap-codec": "^1.5.0", "esutils": "^2.0.3", "globals": "^16.0.0", "known-css-properties": "^0.37.0", "postcss": "^8.4.49", "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^7.0.0", "semver": "^7.6.3", "svelte-eslint-parser": "^1.2.0" }, "peerDependencies": { "eslint": "^8.57.1 || ^9.0.0", "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" }, "optionalPeers": ["svelte"] }, "sha512-PlcyK80sqAZ43IITeZkgl3zPFWJytx/Joup9iKGqIOsXM2m3pWfPbWuXPr5PN3loXFEypqTY/JyZwNqlSpSvRw=="], + + "eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + "esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="], - "esrap": ["esrap@1.4.6", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw=="], + "espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], + + "esquery": ["esquery@1.6.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg=="], + + "esrap": ["esrap@1.4.9", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], @@ -370,6 +481,16 @@ "fflate": ["fflate@0.8.2", "", {}, "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="], + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.3.3", "", {}, "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg=="], + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], "fs-extra": ["fs-extra@11.3.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew=="], @@ -386,16 +507,30 @@ "glob": ["glob@11.0.2", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^4.0.1", "minimatch": "^10.0.0", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ=="], + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + "global-prefix": ["global-prefix@4.0.0", "", { "dependencies": { "ini": "^4.1.3", "kind-of": "^6.0.3", "which": "^4.0.0" } }, "sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA=="], + "globals": ["globals@16.2.0", "", {}, "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg=="], + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + "graphemer": ["graphemer@1.4.0", "", {}, "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + "i18next": ["i18next@21.10.0", "", { "dependencies": { "@babel/runtime": "^7.17.2" } }, "sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg=="], "i18next-browser-languagedetector": ["i18next-browser-languagedetector@6.1.8", "", { "dependencies": { "@babel/runtime": "^7.19.0" } }, "sha512-Svm+MduCElO0Meqpj1kJAriTC6OhI41VhlT/A0UPjGoPZBhAHIaGE5EfsHlTpgdH09UVX7rcc72pSDDBeKSQQA=="], "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], "ini": ["ini@4.1.3", "", {}, "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg=="], @@ -404,8 +539,14 @@ "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + "is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.6" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="], "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], @@ -416,16 +557,30 @@ "jiti": ["jiti@2.4.2", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A=="], + "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + "json-stringify-pretty-compact": ["json-stringify-pretty-compact@4.0.0", "", {}, "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q=="], "jsonfile": ["jsonfile@6.1.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="], "kdbush": ["kdbush@4.0.2", "", {}, "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA=="], + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], + "known-css-properties": ["known-css-properties@0.37.0", "", {}, "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + "lightningcss": ["lightningcss@1.30.1", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.30.1", "lightningcss-darwin-x64": "1.30.1", "lightningcss-freebsd-x64": "1.30.1", "lightningcss-linux-arm-gnueabihf": "1.30.1", "lightningcss-linux-arm64-gnu": "1.30.1", "lightningcss-linux-arm64-musl": "1.30.1", "lightningcss-linux-x64-gnu": "1.30.1", "lightningcss-linux-x64-musl": "1.30.1", "lightningcss-win32-arm64-msvc": "1.30.1", "lightningcss-win32-x64-msvc": "1.30.1" } }, "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg=="], "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], @@ -448,8 +603,14 @@ "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.1", "", { "os": "win32", "cpu": "x64" }, "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg=="], + "lilconfig": ["lilconfig@2.1.0", "", {}, "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="], + "locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="], + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash.merge": ["lodash.merge@4.6.2", "", {}, "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="], + "lru-cache": ["lru-cache@11.1.0", "", {}, "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A=="], "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], @@ -458,7 +619,11 @@ "maplibre-gl": ["maplibre-gl@5.5.0", "", { "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", "@mapbox/point-geometry": "^0.1.0", "@mapbox/tiny-sdf": "^2.0.6", "@mapbox/unitbezier": "^0.0.1", "@mapbox/vector-tile": "^1.3.1", "@mapbox/whoots-js": "^3.1.0", "@maplibre/maplibre-gl-style-spec": "^23.2.2", "@types/geojson": "^7946.0.16", "@types/geojson-vt": "3.2.5", "@types/mapbox__point-geometry": "^0.1.4", "@types/mapbox__vector-tile": "^1.3.4", "@types/pbf": "^3.0.5", "@types/supercluster": "^7.1.3", "earcut": "^3.0.1", "geojson-vt": "^4.0.2", "gl-matrix": "^3.4.3", "global-prefix": "^4.0.0", "kdbush": "^4.0.2", "murmurhash-js": "^1.0.0", "pbf": "^3.3.0", "potpack": "^2.0.0", "quickselect": "^3.0.0", "supercluster": "^8.0.1", "tinyqueue": "^3.0.0", "vt-pbf": "^3.1.3" } }, "sha512-p8AOPuzzqn1ZA9gcXxKw0IED715we/2Owa/YUr6PANmgMvNMe/JG+V/C1hRra43Wm62Biz+Aa8AgbOLJimA8tA=="], - "minimatch": ["minimatch@10.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ=="], + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], @@ -480,12 +645,24 @@ "native-run": ["native-run@2.0.1", "", { "dependencies": { "@ionic/utils-fs": "^3.1.7", "@ionic/utils-terminal": "^2.3.4", "bplist-parser": "^0.3.2", "debug": "^4.3.4", "elementtree": "^0.1.7", "ini": "^4.1.1", "plist": "^3.1.0", "split2": "^4.2.0", "through2": "^4.0.2", "tslib": "^2.6.2", "yauzl": "^2.10.0" }, "bin": { "native-run": "bin/native-run" } }, "sha512-XfG1FBZLM50J10xH9361whJRC9SHZ0Bub4iNRhhI61C8Jv0e1ud19muex6sNKB51ibQNUJNuYn25MuYET/rE6w=="], + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], + "open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], "opening_hours": ["opening_hours@3.8.0", "", { "dependencies": { "i18next": "^21.8.3", "i18next-browser-languagedetector": "^6.1.4", "suncalc": "^1.9.0" } }, "sha512-bRJroECQSe/itVcNmC3j9PPicxn/LBowdd1Hi+4Aa7hCswdt7w81WHfUwrEMbtk1BBYmGJEbSepl8oYYPviSuA=="], + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], + + "p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], "path-scurry": ["path-scurry@2.0.0", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg=="], @@ -504,24 +681,48 @@ "postcss": ["postcss@8.5.4", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w=="], + "postcss-load-config": ["postcss-load-config@3.1.4", "", { "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" }, "peerDependencies": { "postcss": ">=8.0.9", "ts-node": ">=9.0.0" }, "optionalPeers": ["postcss", "ts-node"] }, "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg=="], + + "postcss-safe-parser": ["postcss-safe-parser@7.0.1", "", { "peerDependencies": { "postcss": "^8.4.31" } }, "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A=="], + + "postcss-scss": ["postcss-scss@4.0.9", "", { "peerDependencies": { "postcss": "^8.4.29" } }, "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A=="], + + "postcss-selector-parser": ["postcss-selector-parser@7.1.0", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA=="], + "potpack": ["potpack@2.0.0", "", {}, "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw=="], + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], + + "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="], + + "prettier-plugin-svelte": ["prettier-plugin-svelte@3.4.0", "", { "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" } }, "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ=="], + "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], "protocol-buffers-schema": ["protocol-buffers-schema@3.6.0", "", {}, "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw=="], + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + "quickselect": ["quickselect@3.0.0", "", {}, "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g=="], "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + "resolve-protobuf-schema": ["resolve-protobuf-schema@2.1.0", "", { "dependencies": { "protocol-buffers-schema": "^3.3.1" } }, "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ=="], + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + "rimraf": ["rimraf@6.0.1", "", { "dependencies": { "glob": "^11.0.0", "package-json-from-dist": "^1.0.0" }, "bin": { "rimraf": "dist/esm/bin.mjs" } }, "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A=="], "rollup": ["rollup@4.41.1", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.41.1", "@rollup/rollup-android-arm64": "4.41.1", "@rollup/rollup-darwin-arm64": "4.41.1", "@rollup/rollup-darwin-x64": "4.41.1", "@rollup/rollup-freebsd-arm64": "4.41.1", "@rollup/rollup-freebsd-x64": "4.41.1", "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", "@rollup/rollup-linux-arm-musleabihf": "4.41.1", "@rollup/rollup-linux-arm64-gnu": "4.41.1", "@rollup/rollup-linux-arm64-musl": "4.41.1", "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-musl": "4.41.1", "@rollup/rollup-linux-s390x-gnu": "4.41.1", "@rollup/rollup-linux-x64-gnu": "4.41.1", "@rollup/rollup-linux-x64-musl": "4.41.1", "@rollup/rollup-win32-arm64-msvc": "4.41.1", "@rollup/rollup-win32-ia32-msvc": "4.41.1", "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw=="], + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + "runed": ["runed@0.28.0", "", { "dependencies": { "esm-env": "^1.0.0" }, "peerDependencies": { "svelte": "^5.7.0" } }, "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ=="], "rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="], @@ -558,16 +759,22 @@ "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + "style-to-object": ["style-to-object@1.0.8", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g=="], "suncalc": ["suncalc@1.9.0", "", {}, "sha512-vMJ8Byp1uIPoj+wb9c1AdK4jpkSKVAywgHX0lqY7zt6+EWRRC3Z+0Ucfjy/0yxTVO1hwwchZe4uoFNqrIC24+A=="], "supercluster": ["supercluster@8.0.1", "", { "dependencies": { "kdbush": "^4.0.2" } }, "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ=="], - "svelte": ["svelte@5.33.7", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^1.4.6", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-qQYkNHE3L26ahV4VvW4DhEHOrAT6LfZHjIIW7htZs2bFP0/ayep/t4RvA6Km7Yosxo0nR+o2vZHf99553l4ZtQ=="], + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "svelte": ["svelte@5.34.7", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^1.4.8", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-5PEg+QQKce4t1qiOtVUhUS3AQRTtxJyGBTpxLcNWnr0Ve8q4r06bMo0Gv8uhtCPWlztZHoi3Ye7elLhu+PCTMg=="], "svelte-check": ["svelte-check@4.2.1", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA=="], + "svelte-eslint-parser": ["svelte-eslint-parser@1.2.0", "", { "dependencies": { "eslint-scope": "^8.2.0", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.0", "postcss": "^8.4.49", "postcss-scss": "^4.0.9", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" }, "optionalPeers": ["svelte"] }, "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw=="], + "svelte-maplibre-gl": ["svelte-maplibre-gl@0.1.8", "", { "peerDependencies": { "@deck.gl/core": "^9.1.0", "@deck.gl/layers": "^9.1.0", "@deck.gl/mapbox": "^9.1.0", "maplibre-contour": ">=0.1.0", "maplibre-gl": "^5.0.0 || ^4.0.0", "pmtiles": "^4.0.0", "svelte": ">=5.0.0", "terra-draw": "^1.0.0", "terra-draw-maplibre-gl-adapter": "^1.0.3" } }, "sha512-YvMo25q/rpNDNE4iBvOuYYt+E+6jT+PBLxX7vR20LE5ZD2K3cLV9cR34S4SX7w81E00lP7InD2+CvFr7T0vBxg=="], "svelte-toolbelt": ["svelte-toolbelt@0.9.1", "", { "dependencies": { "clsx": "^2.1.1", "runed": "^0.28.0", "style-to-object": "^1.0.8" }, "peerDependencies": { "svelte": "^5.30.2" } }, "sha512-wBX6MtYw/kpht80j5zLpxJyR9soLizXPIAIWEVd9llAi17SR44ZdG291bldjB7r/K5duC0opDFcuhk2cA1hb8g=="], @@ -594,20 +801,30 @@ "tinyqueue": ["tinyqueue@3.0.0", "", {}, "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g=="], + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], + "ts-api-utils": ["ts-api-utils@2.1.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "tw-animate-css": ["tw-animate-css@1.3.2", "", {}, "sha512-khGYcg4sHWFWcjpiWvy0KN0Bd6yVy6Ecc4r9ZP2u7FV+n4/Fp8MQscCWJkM0KMIRvrpGyKpIQnIbEd1hrewdeg=="], + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + "typescript-eslint": ["typescript-eslint@8.34.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.34.1", "@typescript-eslint/parser": "8.34.1", "@typescript-eslint/utils": "8.34.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <5.9.0" } }, "sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow=="], + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], "untildify": ["untildify@4.0.0", "", {}, "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw=="], + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], "vaul-svelte": ["vaul-svelte@1.0.0-next.7", "", { "dependencies": { "runed": "^0.23.2", "svelte-toolbelt": "^0.7.1" }, "peerDependencies": { "svelte": "^5.0.0" } }, "sha512-7zN7Bi3dFQixvvbUJY9uGDe7Ws/dGZeBQR2pXdXmzQiakjrxBvWo0QrmsX3HK+VH+SZOltz378cmgmCS9f9rSg=="], @@ -622,6 +839,8 @@ "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], @@ -632,10 +851,22 @@ "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], + "yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="], + "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], + "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + "zimmerframe": ["zimmerframe@1.1.2", "", {}, "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w=="], + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@eslint/eslintrc/globals": ["globals@14.0.0", "", {}, "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ=="], + + "@eslint/plugin-kit/@eslint/core": ["@eslint/core@0.15.0", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw=="], + + "@humanfs/node/@humanwhocodes/retry": ["@humanwhocodes/retry@0.3.1", "", {}, "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA=="], + "@ionic/utils-fs/fs-extra": ["fs-extra@9.1.0", "", { "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ=="], "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], @@ -660,18 +891,28 @@ "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "@typescript-eslint/typescript-estree/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "elementtree/sax": ["sax@1.1.4", "", {}, "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg=="], + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + "foreground-child/signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], + "glob/minimatch": ["minimatch@10.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ=="], + "glob/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], "global-prefix/which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], "maplibre-gl/earcut": ["earcut@3.0.1", "", {}, "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw=="], + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], "path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], @@ -702,6 +943,10 @@ "@tailwindcss/oxide/tar/yallist": ["yallist@5.0.0", "", {}, "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw=="], + "@typescript-eslint/typescript-estree/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + "global-prefix/which/isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], } } diff --git a/capacitor.config.ts b/capacitor.config.ts index 1d98698..8060c34 100644 --- a/capacitor.config.ts +++ b/capacitor.config.ts @@ -1,9 +1,9 @@ -import type { CapacitorConfig } from '@capacitor/cli'; +import type { CapacitorConfig } from "@capacitor/cli"; const config: CapacitorConfig = { - appId: 'de.trafficcue.trafficcue', - appName: 'TrafficCue', - webDir: 'dist' + appId: "de.trafficcue.trafficcue", + appName: "TrafficCue", + webDir: "dist", }; export default config; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..f02b984 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,55 @@ +// @ts-check + +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; +import eslintConfigPrettier from "eslint-config-prettier/flat"; +import { globalIgnores } from "eslint/config"; +import svelte from "eslint-plugin-svelte"; +import globals from "globals"; +import svelteConfig from "./svelte.config.js"; + +export default tseslint.config( + eslint.configs.recommended, + tseslint.configs.recommended, + tseslint.configs.stylistic, + ...svelte.configs.recommended, + eslintConfigPrettier, + { + rules: { + "@typescript-eslint/no-unused-vars": [ + "error", + { + argsIgnorePattern: "^_", + varsIgnorePattern: "^_", + caughtErrorsIgnorePattern: "^_", + }, + ], + }, + }, + [globalIgnores(["./android", "./dist"])], + { + languageOptions: { + globals: { + ...globals.browser, + }, + }, + }, + { + files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"], + languageOptions: { + parserOptions: { + projectService: true, + extraFileExtensions: [".svelte"], // Add support for additional file extensions, such as .svelte + parser: tseslint.parser, + // We recommend importing and specifying svelte.config.js. + // By doing so, some rules in eslint-plugin-svelte will automatically read the configuration and adjust their behavior accordingly. + // While certain Svelte settings may be statically loaded from svelte.config.js even if you don’t specify it, + // explicitly specifying it ensures better compatibility and functionality. + svelteConfig, + }, + }, + rules: { + "no-undef": "off", + }, + }, +); diff --git a/index.html b/index.html index b7184ed..be6a39c 100644 --- a/index.html +++ b/index.html @@ -1,14 +1,14 @@ - - - - - - TrafficCue - - -
- - + + + + + + TrafficCue + + +
+ + diff --git a/package.json b/package.json index e407387..89ba69d 100644 --- a/package.json +++ b/package.json @@ -1,38 +1,45 @@ { - "name": "librenav", - "version": "0.0.0", - "devDependencies": { - "@internationalized/date": "^3.8.1", - "@lucide/svelte": "^0.515.0", - "@sveltejs/vite-plugin-svelte": "^5.0.3", - "@tailwindcss/vite": "^4.0.0", - "@tsconfig/svelte": "^5.0.4", - "@types/node": "^22.15.24", - "bits-ui": "^2.7.0", - "clsx": "^2.1.1", - "svelte": "^5.28.1", - "svelte-check": "^4.1.6", - "tailwind-merge": "^3.0.2", - "tailwind-variants": "^1.0.0", - "tailwindcss": "^4.0.0", - "tw-animate-css": "^1.3.2", - "typescript": "~5.8.3", - "vaul-svelte": "^1.0.0-next.7", - "vite": "^6.3.5" - }, - "private": true, - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json" - }, - "type": "module", - "dependencies": { - "@capacitor/android": "^7.3.0", - "@capacitor/cli": "^7.3.0", - "@capacitor/core": "^7.3.0", - "opening_hours": "^3.8.0", - "svelte-maplibre-gl": "^0.1.8" - } + "name": "librenav", + "version": "0.0.0", + "devDependencies": { + "@internationalized/date": "^3.8.1", + "@lucide/svelte": "^0.515.0", + "@sveltejs/vite-plugin-svelte": "^5.0.3", + "@tailwindcss/vite": "^4.0.0", + "@tsconfig/svelte": "^5.0.4", + "@types/node": "^22.15.24", + "bits-ui": "^2.7.0", + "clsx": "^2.1.1", + "eslint-config-prettier": "^10.1.5", + "prettier-plugin-svelte": "^3.4.0", + "svelte": "^5.34.7", + "svelte-check": "^4.1.6", + "tailwind-merge": "^3.0.2", + "tailwind-variants": "^1.0.0", + "tailwindcss": "^4.0.0", + "tw-animate-css": "^1.3.2", + "typescript": "^5.8.3", + "vaul-svelte": "^1.0.0-next.7", + "vite": "^6.3.5" + }, + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json" + }, + "type": "module", + "dependencies": { + "@capacitor/android": "^7.3.0", + "@capacitor/cli": "^7.3.0", + "@capacitor/core": "^7.3.0", + "@eslint/js": "^9.29.0", + "eslint": "^9.29.0", + "eslint-plugin-svelte": "^3.9.3", + "globals": "^16.2.0", + "opening_hours": "^3.8.0", + "svelte-maplibre-gl": "^0.1.8", + "typescript-eslint": "^8.34.1" + } } diff --git a/public/manifest.json b/public/manifest.json index 9ea8166..f4b6a33 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,17 +1,17 @@ { - "name": "TrafficCue", - "icons": [ - { - "src": "img/icon512.png", - "type": "image/png", - "sizes": "512x512" - }, - { - "src": "img/icon192.png", - "type": "image/png", - "sizes": "192x192" - } - ], + "name": "TrafficCue", + "icons": [ + { + "src": "img/icon512.png", + "type": "image/png", + "sizes": "512x512" + }, + { + "src": "img/icon192.png", + "type": "image/png", + "sizes": "192x192" + } + ], "start_url": "/", "display": "standalone" } diff --git a/public/style.json b/public/style.json index 4b94b4c..d5d30db 100644 --- a/public/style.json +++ b/public/style.json @@ -1,6035 +1,3000 @@ { - "version": 8, - "sources": { - "ne2_shaded": { - "maxzoom": 6, - "tileSize": 256, - "tiles": [ - "https://tiles.openfreemap.org/natural_earth/ne2sr/{z}/{x}/{y}.png" - ], - "type": "raster" - }, - "openmaptiles": { - "type": "vector", - "tiles": ["https://tiles.openfreemap.org/planet/20250528_001001_pt/{z}/{x}/{y}.pbf"], + "version": 8, + "sources": { + "ne2_shaded": { + "maxzoom": 6, + "tileSize": 256, + "tiles": [ + "https://tiles.openfreemap.org/natural_earth/ne2sr/{z}/{x}/{y}.png" + ], + "type": "raster" + }, + "openmaptiles": { + "type": "vector", + "tiles": [ + "https://tiles.openfreemap.org/planet/20250528_001001_pt/{z}/{x}/{y}.pbf" + ], "maxzoom": 14 - } - }, - "sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", - "glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", - "layers": [ - { - "id": "background", - "type": "background", - "paint": { - "background-color": "#f8f4f0" - } - }, - { - "id": "natural_earth", - "type": "raster", - "source": "ne2_shaded", - "maxzoom": 7, - "paint": { - "raster-opacity": [ - "interpolate", - [ - "exponential", - 1.5 - ], - [ - "zoom" - ], - 0, - 0.6, - 6, - 0.1 - ] - } - }, - { - "id": "park", - "type": "fill", - "source": "openmaptiles", - "source-layer": "park", - "paint": { - "fill-color": "#d8e8c8", - "fill-opacity": 0.7, - "fill-outline-color": "rgba(95, 208, 100, 1)" - } - }, - { - "id": "park_outline", - "type": "line", - "source": "openmaptiles", - "source-layer": "park", - "paint": { - "line-color": "rgba(228, 241, 215, 1)", - "line-dasharray": [ - 1, - 1.5 - ] - } - }, - { - "id": "landuse_residential", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landuse", - "maxzoom": 12, - "filter": [ - "==", - [ - "get", - "class" - ], - "residential" - ], - "paint": { - "fill-color": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 9, - "hsla(0,3%,85%,0.84)", - 12, - "hsla(35,57%,88%,0.49)" - ] - } - }, - { - "id": "landcover_wood", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landcover", - "filter": [ - "==", - [ - "get", - "class" - ], - "wood" - ], - "paint": { - "fill-antialias": false, - "fill-color": "hsla(98,61%,72%,0.7)", - "fill-opacity": 0.4 - } - }, - { - "id": "landcover_grass", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landcover", - "filter": [ - "==", - [ - "get", - "class" - ], - "grass" - ], - "paint": { - "fill-antialias": false, - "fill-color": "rgba(176, 213, 154, 1)", - "fill-opacity": 0.3 - } - }, - { - "id": "landcover_ice", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landcover", - "filter": [ - "==", - [ - "get", - "class" - ], - "ice" - ], - "paint": { - "fill-antialias": false, - "fill-color": "rgba(224, 236, 236, 1)", - "fill-opacity": 0.8 - } - }, - { - "id": "landcover_wetland", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landcover", - "minzoom": 12, - "filter": [ - "==", - [ - "get", - "class" - ], - "wetland" - ], - "paint": { - "fill-antialias": true, - "fill-opacity": 0.8, - "fill-pattern": "wetland_bg_11", - "fill-translate-anchor": "map" - } - }, - { - "id": "landuse_pitch", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landuse", - "filter": [ - "==", - [ - "get", - "class" - ], - "pitch" - ], - "paint": { - "fill-color": "#DEE3CD" - } - }, - { - "id": "landuse_track", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landuse", - "filter": [ - "==", - [ - "get", - "class" - ], - "track" - ], - "paint": { - "fill-color": "#DEE3CD" - } - }, - { - "id": "landuse_cemetery", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landuse", - "filter": [ - "==", - [ - "get", - "class" - ], - "cemetery" - ], - "paint": { - "fill-color": "hsl(75,37%,81%)" - } - }, - { - "id": "landuse_hospital", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landuse", - "filter": [ - "==", - [ - "get", - "class" - ], - "hospital" - ], - "paint": { - "fill-color": "#fde" - } - }, - { - "id": "landuse_school", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landuse", - "filter": [ - "==", - [ - "get", - "class" - ], - "school" - ], - "paint": { - "fill-color": "rgb(236,238,204)" - } - }, - { - "id": "waterway_tunnel", - "type": "line", - "source": "openmaptiles", - "source-layer": "waterway", - "filter": [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - "paint": { - "line-color": "#a0c8f0", - "line-dasharray": [ - 3, - 3 - ], - "line-gap-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0, - 20, - 6 - ], - "line-opacity": 1, - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 8, - 1, - 20, - 2 - ] - } - }, - { - "id": "waterway_river", - "type": "line", - "source": "openmaptiles", - "source-layer": "waterway", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "river" - ], - [ - "!=", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-cap": "round" - }, - "paint": { - "line-color": "#a0c8f0", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 11, - 0.5, - 20, - 6 - ] - } - }, - { - "id": "waterway_other", - "type": "line", - "source": "openmaptiles", - "source-layer": "waterway", - "filter": [ - "all", - [ - "!=", - [ - "get", - "class" - ], - "river" - ], - [ - "!=", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-cap": "round" - }, - "paint": { - "line-color": "#a0c8f0", - "line-width": [ - "interpolate", - [ - "exponential", - 1.3 - ], - [ - "zoom" - ], - 13, - 0.5, - 20, - 6 - ] - } - }, - { - "id": "water", - "type": "fill", - "source": "openmaptiles", - "source-layer": "water", - "filter": [ - "!=", - [ - "get", - "brunnel" - ], - "tunnel" - ], - "paint": { - "fill-color": "rgb(158,189,255)" - } - }, - { - "id": "landcover_sand", - "type": "fill", - "source": "openmaptiles", - "source-layer": "landcover", - "filter": [ - "==", - [ - "get", - "class" - ], - "sand" - ], - "paint": { - "fill-color": "rgba(247, 239, 195, 1)" - } - }, - { - "id": "aeroway_fill", - "type": "fill", - "source": "openmaptiles", - "source-layer": "aeroway", - "minzoom": 11, - "filter": [ - "match", - [ - "geometry-type" - ], - [ - "MultiPolygon", - "Polygon" - ], - true, - false - ], - "paint": { - "fill-color": "rgba(229, 228, 224, 1)", - "fill-opacity": 0.7 - } - }, - { - "id": "aeroway_runway", - "type": "line", - "source": "openmaptiles", - "source-layer": "aeroway", - "minzoom": 11, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "==", - [ - "get", - "class" - ], - "runway" - ] - ], - "paint": { - "line-color": "#f0ede9", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 11, - 3, - 20, - 16 - ] - } - }, - { - "id": "aeroway_taxiway", - "type": "line", - "source": "openmaptiles", - "source-layer": "aeroway", - "minzoom": 11, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "==", - [ - "get", - "class" - ], - "taxiway" - ] - ], - "paint": { - "line-color": "#f0ede9", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 11, - 0.5, - 20, - 6 - ] - } - }, - { - "id": "tunnel_motorway_link_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-dasharray": [ - 0.5, - 0.25 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 1, - 13, - 3, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "tunnel_service_track_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#cfcdca", - "line-dasharray": [ - 0.5, - 0.25 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 15, - 1, - 16, - 4, - 20, - 11 - ] - } - }, - { - "id": "tunnel_link_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 1, - 13, - 3, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "tunnel_street_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "street", - "street_limited" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#cfcdca", - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0, - 12.5, - 1 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 0.5, - 13, - 1, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "tunnel_secondary_tertiary_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "secondary", - "tertiary" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 8, - 1.5, - 20, - 17 - ] - } - }, - { - "id": "tunnel_trunk_primary_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "trunk" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0.4, - 6, - 0.7, - 7, - 1.75, - 20, - 22 - ] - } - }, - { - "id": "tunnel_motorway_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-dasharray": [ - 0.5, - 0.25 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0.4, - 6, - 0.7, - 7, - 1.75, - 20, - 22 - ] - } - }, - { - "id": "tunnel_path_pedestrian", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "path", - "pedestrian" - ], - true, - false - ] - ], - "paint": { - "line-color": "hsl(0,0%,100%)", - "line-dasharray": [ - 1, - 0.75 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 14, - 0.5, - 20, - 10 - ] - } - }, - { - "id": "tunnel_motorway_link", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fc8", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12.5, - 0, - 13, - 1.5, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "tunnel_service_track", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 15.5, - 0, - 16, - 2, - 20, - 7.5 - ] - } - }, - { - "id": "tunnel_link", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff4c6", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12.5, - 0, - 13, - 1.5, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "tunnel_minor", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "minor" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 13.5, - 0, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "tunnel_secondary_tertiary", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "secondary", - "tertiary" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff4c6", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 6.5, - 0, - 7, - 0.5, - 20, - 10 - ] - } - }, - { - "id": "tunnel_trunk_primary", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "trunk" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff4c6", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0, - 7, - 1, - 20, - 18 - ] - } - }, - { - "id": "tunnel_motorway", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#ffdaa6", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0, - 7, - 1, - 20, - 18 - ] - } - }, - { - "id": "tunnel_major_rail", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - true, - false - ] - ], - "paint": { - "line-color": "#bbb", - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14, - 0.4, - 15, - 0.75, - 20, - 2 - ] - } - }, - { - "id": "tunnel_major_rail_hatching", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "==", - [ - "get", - "class" - ], - "rail" - ] - ], - "paint": { - "line-color": "#bbb", - "line-dasharray": [ - 0.2, - 8 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14.5, - 0, - 15, - 3, - 20, - 8 - ] - } - }, - { - "id": "tunnel_transit_rail", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "transit" - ], - true, - false - ] - ], - "paint": { - "line-color": "#bbb", - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14, - 0.4, - 15, - 0.75, - 20, - 2 - ] - } - }, - { - "id": "tunnel_transit_rail_hatching", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "tunnel" - ], - [ - "==", - [ - "get", - "class" - ], - "transit" - ] - ], - "paint": { - "line-color": "#bbb", - "line-dasharray": [ - 0.2, - 8 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14.5, - 0, - 15, - 3, - 20, - 8 - ] - } - }, - { - "id": "road_area_pattern", - "type": "fill", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "match", - [ - "geometry-type" - ], - [ - "MultiPolygon", - "Polygon" - ], - true, - false - ], - "paint": { - "fill-pattern": "pedestrian_polygon" - } - }, - { - "id": "road_motorway_link_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 12, - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 1, - 13, - 3, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "road_service_track_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#cfcdca", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 15, - 1, - 16, - 4, - 20, - 11 - ] - } - }, - { - "id": "road_link_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 13, - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "path", - "pedestrian", - "service", - "track" - ], - false, - true - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 1, - 13, - 3, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "road_minor_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "minor" - ], - true, - false - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#cfcdca", - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0, - 12.5, - 1 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 0.5, - 13, - 1, - 14, - 4, - 20, - 20 - ] - } - }, - { - "id": "road_secondary_tertiary_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "secondary", - "tertiary" - ], - true, - false - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 8, - 1.5, - 20, - 17 - ] - } - }, - { - "id": "road_trunk_primary_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "trunk" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0.4, - 6, - 0.7, - 7, - 1.75, - 20, - 22 - ] - } - }, - { - "id": "road_motorway_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 5, - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0.4, - 6, - 0.7, - 7, - 1.75, - 20, - 22 - ] - } - }, - { - "id": "road_path_pedestrian", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 14, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "path", - "pedestrian" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "hsl(0,0%,100%)", - "line-dasharray": [ - 1, - 0.7 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 14, - 1, - 20, - 10 - ] - } - }, - { - "id": "road_motorway_link", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 12, - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#fc8", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12.5, - 0, - 13, - 1.5, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "road_service_track", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#fff", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 15.5, - 0, - 16, - 2, - 20, - 7.5 - ] - } - }, - { - "id": "road_link", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 13, - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "path", - "pedestrian", - "service", - "track" - ], - false, - true - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#fea", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12.5, - 0, - 13, - 1.5, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "road_minor", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "minor" - ], - true, - false - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#fff", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 13.5, - 0, - 14, - 2.5, - 20, - 18 - ] - } - }, - { - "id": "road_secondary_tertiary", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "secondary", - "tertiary" - ], - true, - false - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "#fea", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 6.5, - 0, - 8, - 0.5, - 20, - 13 - ] - } - }, - { - "id": "road_trunk_primary", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "trunk" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fea", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0, - 7, - 1, - 20, - 18 - ] - } - }, - { - "id": "road_motorway", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 5, - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 5, - "hsl(26,87%,62%)", - 6, - "#fc8" - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0, - 7, - 1, - 20, - 18 - ] - } - }, - { - "id": "road_major_rail", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "rail" - ] - ], - "paint": { - "line-color": "#bbb", - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14, - 0.4, - 15, - 0.75, - 20, - 2 - ] - } - }, - { - "id": "road_major_rail_hatching", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "rail" - ] - ], - "paint": { - "line-color": "#bbb", - "line-dasharray": [ - 0.2, - 8 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14.5, - 0, - 15, - 3, - 20, - 8 - ] - } - }, - { - "id": "road_transit_rail", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "transit" - ] - ], - "paint": { - "line-color": "#bbb", - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14, - 0.4, - 15, - 0.75, - 20, - 2 - ] - } - }, - { - "id": "road_transit_rail_hatching", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "get", - "brunnel" - ], - [ - "bridge", - "tunnel" - ], - false, - true - ], - [ - "==", - [ - "get", - "class" - ], - "transit" - ] - ], - "paint": { - "line-color": "#bbb", - "line-dasharray": [ - 0.2, - 8 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14.5, - 0, - 15, - 3, - 20, - 8 - ] - } - }, - { - "id": "road_one_way_arrow", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 16, - "filter": [ - "==", - [ - "get", - "oneway" - ], - 1 - ], - "layout": { - "icon-image": "arrow", - "symbol-placement": "line" - } - }, - { - "id": "road_one_way_arrow_opposite", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation", - "minzoom": 16, - "filter": [ - "==", - [ - "get", - "oneway" - ], - -1 - ], - "layout": { - "icon-image": "arrow", - "icon-rotate": 180, - "symbol-placement": "line" - } - }, - { - "id": "bridge_motorway_link_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 1, - 13, - 3, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "bridge_service_track_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#cfcdca", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 15, - 1, - 16, - 4, - 20, - 11 - ] - } - }, - { - "id": "bridge_link_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "link" - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 1, - 13, - 3, - 14, - 4, - 20, - 15 - ] - } - }, - { - "id": "bridge_street_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "street", - "street_limited" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "hsl(36,6%,74%)", - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0, - 12.5, - 1 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12, - 0.5, - 13, - 1, - 14, - 4, - 20, - 25 - ] - } - }, - { - "id": "bridge_path_pedestrian_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "path", - "pedestrian" - ], - true, - false - ] - ], - "paint": { - "line-color": "hsl(35,6%,80%)", - "line-dasharray": [ - 1, - 0 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 14, - 1.5, - 20, - 18 - ] - } - }, - { - "id": "bridge_secondary_tertiary_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "secondary", - "tertiary" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 8, - 1.5, - 20, - 17 - ] - } - }, - { - "id": "bridge_trunk_primary_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "trunk" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0.4, - 6, - 0.7, - 7, - 1.75, - 20, - 22 - ] - } - }, - { - "id": "bridge_motorway_casing", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#e9ac77", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0.4, - 6, - 0.7, - 7, - 1.75, - 20, - 22 - ] - } - }, - { - "id": "bridge_path_pedestrian", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "path", - "pedestrian" - ], - true, - false - ] - ], - "paint": { - "line-color": "hsl(0,0%,100%)", - "line-dasharray": [ - 1, - 0.3 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 14, - 0.5, - 20, - 10 - ] - } - }, - { - "id": "bridge_motorway_link", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "==", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fc8", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12.5, - 0, - 13, - 1.5, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "bridge_service_track", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 15.5, - 0, - 16, - 2, - 20, - 7.5 - ] - } - }, - { - "id": "bridge_link", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "link" - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fea", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 12.5, - 0, - 13, - 1.5, - 14, - 2.5, - 20, - 11.5 - ] - } - }, - { - "id": "bridge_street", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "minor" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fff", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 13.5, - 0, - 14, - 2.5, - 20, - 18 - ] - } - }, - { - "id": "bridge_secondary_tertiary", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "secondary", - "tertiary" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fea", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 6.5, - 0, - 7, - 0.5, - 20, - 10 - ] - } - }, - { - "id": "bridge_trunk_primary", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ], - [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "trunk" - ], - true, - false - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fea", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0, - 7, - 1, - 20, - 18 - ] - } - }, - { - "id": "bridge_motorway", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "motorway" - ], - [ - "!=", - [ - "get", - "ramp" - ], - 1 - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "layout": { - "line-join": "round" - }, - "paint": { - "line-color": "#fc8", - "line-width": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 5, - 0, - 7, - 1, - 20, - 18 - ] - } - }, - { - "id": "bridge_major_rail", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "rail" - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "paint": { - "line-color": "#bbb", - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14, - 0.4, - 15, - 0.75, - 20, - 2 - ] - } - }, - { - "id": "bridge_major_rail_hatching", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "rail" - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "paint": { - "line-color": "#bbb", - "line-dasharray": [ - 0.2, - 8 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14.5, - 0, - 15, - 3, - 20, - 8 - ] - } - }, - { - "id": "bridge_transit_rail", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "transit" - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "paint": { - "line-color": "#bbb", - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14, - 0.4, - 15, - 0.75, - 20, - 2 - ] - } - }, - { - "id": "bridge_transit_rail_hatching", - "type": "line", - "source": "openmaptiles", - "source-layer": "transportation", - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "transit" - ], - [ - "==", - [ - "get", - "brunnel" - ], - "bridge" - ] - ], - "paint": { - "line-color": "#bbb", - "line-dasharray": [ - 0.2, - 8 - ], - "line-width": [ - "interpolate", - [ - "exponential", - 1.4 - ], - [ - "zoom" - ], - 14.5, - 0, - 15, - 3, - 20, - 8 - ] - } - }, - { - "id": "building", - "type": "fill", - "source": "openmaptiles", - "source-layer": "building", - "minzoom": 13, - "maxzoom": 14, - "paint": { - "fill-color": "hsl(35,8%,85%)", - "fill-outline-color": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 13, - "hsla(35,6%,79%,0.32)", - 14, - "hsl(35,6%,79%)" - ] - } - }, - { - "id": "building-3d", - "type": "fill-extrusion", - "source": "openmaptiles", - "source-layer": "building", - "minzoom": 14, - "paint": { - "fill-extrusion-base": [ - "get", - "render_min_height" - ], - "fill-extrusion-color": "hsl(35,8%,85%)", - "fill-extrusion-height": [ - "get", - "render_height" - ], - "fill-extrusion-opacity": 0.8 - } - }, - { - "id": "boundary_3", - "type": "line", - "source": "openmaptiles", - "source-layer": "boundary", - "minzoom": 5, - "filter": [ - "all", - [ - ">=", - [ - "get", - "admin_level" - ], - 3 - ], - [ - "<=", - [ - "get", - "admin_level" - ], - 6 - ], - [ - "!=", - [ - "get", - "maritime" - ], - 1 - ], - [ - "!=", - [ - "get", - "disputed" - ], - 1 - ], - [ - "!", - [ - "has", - "claimed_by" - ] - ] - ], - "paint": { - "line-color": "hsl(0,0%,70%)", - "line-dasharray": [ - 1, - 1 - ], - "line-width": [ - "interpolate", - [ - "linear", - 1 - ], - [ - "zoom" - ], - 7, - 1, - 11, - 2 - ] - } - }, - { - "id": "boundary_2", - "type": "line", - "source": "openmaptiles", - "source-layer": "boundary", - "filter": [ - "all", - [ - "==", - [ - "get", - "admin_level" - ], - 2 - ], - [ - "!=", - [ - "get", - "maritime" - ], - 1 - ], - [ - "!=", - [ - "get", - "disputed" - ], - 1 - ], - [ - "!", - [ - "has", - "claimed_by" - ] - ] - ], - "layout": { - "line-cap": "round", - "line-join": "round" - }, - "paint": { - "line-color": "hsl(248,1%,41%)", - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 0, - 0.4, - 4, - 1 - ], - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 3, - 1, - 5, - 1.2, - 12, - 3 - ] - } - }, - { - "id": "boundary_disputed", - "type": "line", - "source": "openmaptiles", - "source-layer": "boundary", - "filter": [ - "all", - [ - "!=", - [ - "get", - "maritime" - ], - 1 - ], - [ - "==", - [ - "get", - "disputed" - ], - 1 - ] - ], - "paint": { - "line-color": "hsl(248,1%,41%)", - "line-dasharray": [ - 1, - 2 - ], - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 3, - 1, - 5, - 1.2, - 12, - 3 - ] - } - }, - { - "id": "waterway_line_label", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "waterway", - "minzoom": 10, - "filter": [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 350, - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - " ", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-letter-spacing": 0.2, - "text-max-width": 5, - "text-size": 14 - }, - "paint": { - "text-color": "#74aee9", - "text-halo-color": "rgba(255,255,255,0.7)", - "text-halo-width": 1.5 - } - }, - { - "id": "water_name_point_label", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "water_name", - "filter": [ - "match", - [ - "geometry-type" - ], - [ - "MultiPoint", - "Point" - ], - true, - false - ], - "layout": { - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-letter-spacing": 0.2, - "text-max-width": 5, - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 0, - 10, - 8, - 14 - ] - }, - "paint": { - "text-color": "#495e91", - "text-halo-color": "rgba(255,255,255,0.7)", - "text-halo-width": 1.5 - } - }, - { - "id": "water_name_line_label", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "water_name", - "filter": [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - "layout": { - "symbol-placement": "line", - "symbol-spacing": 350, - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - " ", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-letter-spacing": 0.2, - "text-max-width": 5, - "text-size": 14 - }, - "paint": { - "text-color": "#495e91", - "text-halo-color": "rgba(255,255,255,0.7)", - "text-halo-width": 1.5 - } - }, - { - "id": "poi_r20", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "poi", - "minzoom": 17, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "MultiPoint", - "Point" - ], - true, - false - ], - [ - ">=", - [ - "get", - "rank" - ], - 20 - ] - ], - "layout": { - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "florist", - "furniture" - ], - [ - "get", - "subclass" - ], - [ - "get", - "class" - ] - ], - "text-anchor": "top", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-max-width": 9, - "text-offset": [ - 0, - 0.6 - ], - "text-size": 12 - }, - "paint": { - "text-color": "#666", - "text-halo-blur": 0.5, - "text-halo-color": "#ffffff", - "text-halo-width": 1 - } - }, - { - "id": "poi_r7", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "poi", - "minzoom": 16, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "MultiPoint", - "Point" - ], - true, - false - ], - [ - ">=", - [ - "get", - "rank" - ], - 7 - ], - [ - "<", - [ - "get", - "rank" - ], - 20 - ] - ], - "layout": { - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "florist", - "furniture" - ], - [ - "get", - "subclass" - ], - [ - "get", - "class" - ] - ], - "text-anchor": "top", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-max-width": 9, - "text-offset": [ - 0, - 0.6 - ], - "text-size": 12 - }, - "paint": { - "text-color": "#666", - "text-halo-blur": 0.5, - "text-halo-color": "#ffffff", - "text-halo-width": 1 - } - }, - { - "id": "poi_r1", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "poi", - "minzoom": 15, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "MultiPoint", - "Point" - ], - true, - false - ], - [ - ">=", - [ - "get", - "rank" - ], - 1 - ], - [ - "<", - [ - "get", - "rank" - ], - 7 - ] - ], - "layout": { - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "florist", - "furniture" - ], - [ - "get", - "subclass" - ], - [ - "get", - "class" - ] - ], - "text-anchor": "top", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-max-width": 9, - "text-offset": [ - 0, - 0.6 - ], - "text-size": 12 - }, - "paint": { - "text-color": "#666", - "text-halo-blur": 0.5, - "text-halo-color": "#ffffff", - "text-halo-width": 1 - } - }, - { - "id": "poi_transit", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "poi", - "filter": [ - "match", - [ - "get", - "class" - ], - [ - "airport", - "bus", - "rail" - ], - true, - false - ], - "layout": { - "icon-image": [ - "to-string", - [ - "get", - "class" - ] - ], - "icon-size": 0.7, - "text-anchor": "left", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-max-width": 9, - "text-offset": [ - 0.9, - 0 - ], - "text-size": 12 - }, - "paint": { - "text-color": "#2e5a80", - "text-halo-blur": 0.5, - "text-halo-color": "#ffffff", - "text-halo-width": 1 - } - }, - { - "id": "highway-name-path", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation_name", - "minzoom": 15.5, - "filter": [ - "==", - [ - "get", - "class" - ], - "path" - ], - "layout": { - "symbol-placement": "line", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - " ", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-rotation-alignment": "map", - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 13, - 12, - 14, - 13 - ] - }, - "paint": { - "text-color": "hsl(30,23%,62%)", - "text-halo-color": "#f8f4f0", - "text-halo-width": 0.5 - } - }, - { - "id": "highway-name-minor", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation_name", - "minzoom": 15, - "filter": [ - "all", - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "class" - ], - [ - "minor", - "service", - "track" - ], - true, - false - ] - ], - "layout": { - "symbol-placement": "line", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - " ", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-rotation-alignment": "map", - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 13, - 12, - 14, - 13 - ] - }, - "paint": { - "text-color": "#666", - "text-halo-blur": 0.5, - "text-halo-width": 1 - } - }, - { - "id": "highway-name-major", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation_name", - "minzoom": 12.2, - "filter": [ - "match", - [ - "get", - "class" - ], - [ - "primary", - "secondary", - "tertiary", - "trunk" - ], - true, - false - ], - "layout": { - "symbol-placement": "line", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - " ", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-rotation-alignment": "map", - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 13, - 12, - 14, - 13 - ] - }, - "paint": { - "text-color": "#666", - "text-halo-blur": 0.5, - "text-halo-width": 1 - } - }, - { - "id": "highway-shield-non-us", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation_name", - "minzoom": 8, - "filter": [ - "all", - [ - "<=", - [ - "get", - "ref_length" - ], - 6 - ], - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "network" - ], - [ - "us-highway", - "us-interstate", - "us-state" - ], - false, - true - ] - ], - "layout": { - "icon-image": [ - "concat", - "road_", - [ - "get", - "ref_length" - ] - ], - "icon-rotation-alignment": "viewport", - "icon-size": 1, - "symbol-placement": [ - "step", - [ - "zoom" - ], - "point", - 11, - "line" - ], - "symbol-spacing": 200, - "text-field": [ - "to-string", - [ - "get", - "ref" - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-rotation-alignment": "viewport", - "text-size": 10 - } - }, - { - "id": "highway-shield-us-interstate", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation_name", - "minzoom": 7, - "filter": [ - "all", - [ - "<=", - [ - "get", - "ref_length" - ], - 6 - ], - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "network" - ], - [ - "us-interstate" - ], - true, - false - ] - ], - "layout": { - "icon-image": [ - "concat", - [ - "get", - "network" - ], - "_", - [ - "get", - "ref_length" - ] - ], - "icon-rotation-alignment": "viewport", - "icon-size": 1, - "symbol-placement": [ - "step", - [ - "zoom" - ], - "point", - 7, - "line", - 8, - "line" - ], - "symbol-spacing": 200, - "text-field": [ - "to-string", - [ - "get", - "ref" - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-rotation-alignment": "viewport", - "text-size": 10 - } - }, - { - "id": "road_shield_us", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "transportation_name", - "minzoom": 9, - "filter": [ - "all", - [ - "<=", - [ - "get", - "ref_length" - ], - 6 - ], - [ - "match", - [ - "geometry-type" - ], - [ - "LineString", - "MultiLineString" - ], - true, - false - ], - [ - "match", - [ - "get", - "network" - ], - [ - "us-highway", - "us-state" - ], - true, - false - ] - ], - "layout": { - "icon-image": [ - "concat", - [ - "get", - "network" - ], - "_", - [ - "get", - "ref_length" - ] - ], - "icon-rotation-alignment": "viewport", - "icon-size": 1, - "symbol-placement": [ - "step", - [ - "zoom" - ], - "point", - 11, - "line" - ], - "symbol-spacing": 200, - "text-field": [ - "to-string", - [ - "get", - "ref" - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-rotation-alignment": "viewport", - "text-size": 10 - } - }, - { - "id": "airport", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "aerodrome_label", - "minzoom": 10, - "filter": [ - "all", - [ - "has", - "iata" - ] - ], - "layout": { - "icon-image": "airport_11", - "icon-size": 1, - "text-anchor": "top", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-max-width": 9, - "text-offset": [ - 0, - 0.6 - ], - "text-optional": true, - "text-padding": 2, - "text-size": 12 - }, - "paint": { - "text-color": "#666", - "text-halo-blur": 0.5, - "text-halo-color": "#ffffff", - "text-halo-width": 1 - } - }, - { - "id": "label_other", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 8, - "filter": [ - "match", - [ - "get", - "class" - ], - [ - "city", - "continent", - "country", - "state", - "town", - "village" - ], - false, - true - ], - "layout": { - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-letter-spacing": 0.1, - "text-max-width": 9, - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 9, - 12, - 10 - ], - "text-transform": "uppercase" - }, - "paint": { - "text-color": "#333", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_village", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 9, - "filter": [ - "==", - [ - "get", - "class" - ], - "village" - ], - "layout": { - "icon-allow-overlap": true, - "icon-image": [ - "step", - [ - "zoom" - ], - "circle_11_black", - 10, - "" - ], - "icon-optional": false, - "icon-size": 0.2, - "text-anchor": "bottom", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-max-width": 8, - "text-size": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 7, - 10, - 11, - 12 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_town", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 6, - "filter": [ - "==", - [ - "get", - "class" - ], - "town" - ], - "layout": { - "icon-allow-overlap": true, - "icon-image": [ - "step", - [ - "zoom" - ], - "circle_11_black", - 10, - "" - ], - "icon-optional": false, - "icon-size": 0.2, - "text-anchor": "bottom", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-max-width": 8, - "text-size": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 7, - 12, - 11, - 14 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_state", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 5, - "maxzoom": 8, - "filter": [ - "==", - [ - "get", - "class" - ], - "state" - ], - "layout": { - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Italic" - ], - "text-letter-spacing": 0.2, - "text-max-width": 9, - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 5, - 10, - 8, - 14 - ], - "text-transform": "uppercase" - }, - "paint": { - "text-color": "#333", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_city", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 3, - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "city" - ], - [ - "!=", - [ - "get", - "capital" - ], - 2 - ] - ], - "layout": { - "icon-allow-overlap": true, - "icon-image": [ - "step", - [ - "zoom" - ], - "circle_11_black", - 9, - "" - ], - "icon-optional": false, - "icon-size": 0.4, - "text-anchor": "bottom", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Regular" - ], - "text-max-width": 8, - "text-offset": [ - 0, - -0.1 - ], - "text-size": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 4, - 11, - 7, - 13, - 11, - 18 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_city_capital", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 3, - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "city" - ], - [ - "==", - [ - "get", - "capital" - ], - 2 - ] - ], - "layout": { - "icon-allow-overlap": true, - "icon-image": [ - "step", - [ - "zoom" - ], - "circle_11_black", - 9, - "" - ], - "icon-optional": false, - "icon-size": 0.5, - "text-anchor": "bottom", - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Bold" - ], - "text-max-width": 8, - "text-offset": [ - 0, - -0.2 - ], - "text-size": [ - "interpolate", - [ - "exponential", - 1.2 - ], - [ - "zoom" - ], - 4, - 12, - 7, - 14, - 11, - 20 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_country_3", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "minzoom": 2, - "maxzoom": 9, - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "country" - ], - [ - ">=", - [ - "get", - "rank" - ], - 3 - ] - ], - "layout": { - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Bold" - ], - "text-max-width": 6.25, - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 3, - 9, - 7, - 17 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_country_2", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "maxzoom": 9, - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "country" - ], - [ - "==", - [ - "get", - "rank" - ], - 2 - ] - ], - "layout": { - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Bold" - ], - "text-max-width": 6.25, - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 2, - 9, - 5, - 17 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - }, - { - "id": "label_country_1", - "type": "symbol", - "source": "openmaptiles", - "source-layer": "place", - "maxzoom": 9, - "filter": [ - "all", - [ - "==", - [ - "get", - "class" - ], - "country" - ], - [ - "==", - [ - "get", - "rank" - ], - 1 - ] - ], - "layout": { - "text-field": [ - "case", - [ - "has", - "name:nonlatin" - ], - [ - "concat", - [ - "get", - "name:latin" - ], - "\n", - [ - "get", - "name:nonlatin" - ] - ], - [ - "coalesce", - [ - "get", - "name_en" - ], - [ - "get", - "name" - ] - ] - ], - "text-font": [ - "Noto Sans Bold" - ], - "text-max-width": 6.25, - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 1, - 9, - 4, - 17 - ] - }, - "paint": { - "text-color": "#000", - "text-halo-blur": 1, - "text-halo-color": "#fff", - "text-halo-width": 1 - } - } - ] + } + }, + "sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", + "glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "#f8f4f0" + } + }, + { + "id": "natural_earth", + "type": "raster", + "source": "ne2_shaded", + "maxzoom": 7, + "paint": { + "raster-opacity": [ + "interpolate", + ["exponential", 1.5], + ["zoom"], + 0, + 0.6, + 6, + 0.1 + ] + } + }, + { + "id": "park", + "type": "fill", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "fill-color": "#d8e8c8", + "fill-opacity": 0.7, + "fill-outline-color": "rgba(95, 208, 100, 1)" + } + }, + { + "id": "park_outline", + "type": "line", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "line-color": "rgba(228, 241, 215, 1)", + "line-dasharray": [1, 1.5] + } + }, + { + "id": "landuse_residential", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "maxzoom": 12, + "filter": ["==", ["get", "class"], "residential"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 9, + "hsla(0,3%,85%,0.84)", + 12, + "hsla(35,57%,88%,0.49)" + ] + } + }, + { + "id": "landcover_wood", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "wood"], + "paint": { + "fill-antialias": false, + "fill-color": "hsla(98,61%,72%,0.7)", + "fill-opacity": 0.4 + } + }, + { + "id": "landcover_grass", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "grass"], + "paint": { + "fill-antialias": false, + "fill-color": "rgba(176, 213, 154, 1)", + "fill-opacity": 0.3 + } + }, + { + "id": "landcover_ice", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "ice"], + "paint": { + "fill-antialias": false, + "fill-color": "rgba(224, 236, 236, 1)", + "fill-opacity": 0.8 + } + }, + { + "id": "landcover_wetland", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "minzoom": 12, + "filter": ["==", ["get", "class"], "wetland"], + "paint": { + "fill-antialias": true, + "fill-opacity": 0.8, + "fill-pattern": "wetland_bg_11", + "fill-translate-anchor": "map" + } + }, + { + "id": "landuse_pitch", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "pitch"], + "paint": { + "fill-color": "#DEE3CD" + } + }, + { + "id": "landuse_track", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "track"], + "paint": { + "fill-color": "#DEE3CD" + } + }, + { + "id": "landuse_cemetery", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "cemetery"], + "paint": { + "fill-color": "hsl(75,37%,81%)" + } + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "hospital"], + "paint": { + "fill-color": "#fde" + } + }, + { + "id": "landuse_school", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "school"], + "paint": { + "fill-color": "rgb(236,238,204)" + } + }, + { + "id": "waterway_tunnel", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["==", ["get", "brunnel"], "tunnel"], + "paint": { + "line-color": "#a0c8f0", + "line-dasharray": [3, 3], + "line-gap-width": ["interpolate", ["linear"], ["zoom"], 12, 0, 20, 6], + "line-opacity": 1, + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 8, + 1, + 20, + 2 + ] + } + }, + { + "id": "waterway_river", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + ["==", ["get", "class"], "river"], + ["!=", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-color": "#a0c8f0", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "waterway_other", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + ["!=", ["get", "class"], "river"], + ["!=", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-color": "#a0c8f0", + "line-width": [ + "interpolate", + ["exponential", 1.3], + ["zoom"], + 13, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "water", + "type": "fill", + "source": "openmaptiles", + "source-layer": "water", + "filter": ["!=", ["get", "brunnel"], "tunnel"], + "paint": { + "fill-color": "rgb(158,189,255)" + } + }, + { + "id": "landcover_sand", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "sand"], + "paint": { + "fill-color": "rgba(247, 239, 195, 1)" + } + }, + { + "id": "aeroway_fill", + "type": "fill", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "match", + ["geometry-type"], + ["MultiPolygon", "Polygon"], + true, + false + ], + "paint": { + "fill-color": "rgba(229, 228, 224, 1)", + "fill-opacity": 0.7 + } + }, + { + "id": "aeroway_runway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "class"], "runway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 3, + 20, + 16 + ] + } + }, + { + "id": "aeroway_taxiway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "class"], "taxiway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "tunnel_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#cfcdca", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "tunnel_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#cfcdca", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "tunnel_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.75], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "tunnel_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#ffdaa6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["rail"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "tunnel_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["transit"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_area_pattern", + "type": "fill", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "match", + ["geometry-type"], + ["MultiPolygon", "Polygon"], + true, + false + ], + "paint": { + "fill-pattern": "pedestrian_polygon" + } + }, + { + "id": "road_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "road_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#cfcdca", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "road_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 13, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + [ + "match", + ["get", "class"], + ["motorway", "path", "pedestrian", "service", "track"], + false, + true + ], + ["==", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "road_minor_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["minor"], true, false], + ["!=", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#cfcdca", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 20 + ] + } + }, + { + "id": "road_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false], + ["!=", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "road_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "road_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "road_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 14, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.7], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 1, + 20, + 10 + ] + } + }, + { + "id": "road_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "road_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "road_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 13, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "ramp"], 1], + [ + "match", + ["get", "class"], + ["motorway", "path", "pedestrian", "service", "track"], + false, + true + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "road_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 18 + ] + } + }, + { + "id": "road_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 8, + 0.5, + 20, + 13 + ] + } + }, + { + "id": "road_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "road_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + "hsl(26,87%,62%)", + 6, + "#fc8" + ], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "road_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_one_way_arrow", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 16, + "filter": ["==", ["get", "oneway"], 1], + "layout": { + "icon-image": "arrow", + "symbol-placement": "line" + } + }, + { + "id": "road_one_way_arrow_opposite", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 16, + "filter": ["==", ["get", "oneway"], -1], + "layout": { + "icon-image": "arrow", + "icon-rotate": 180, + "symbol-placement": "line" + } + }, + { + "id": "bridge_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "bridge_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#cfcdca", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "bridge_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "bridge_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "hsl(36,6%,74%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 25 + ] + } + }, + { + "id": "bridge_path_pedestrian_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(35,6%,80%)", + "line-dasharray": [1, 0], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 1.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "bridge_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "bridge_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "bridge_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.3], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "bridge_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "bridge_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "bridge_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "bridge_street", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "bridge_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "bridge_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "bridge_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "bridge_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "building", + "type": "fill", + "source": "openmaptiles", + "source-layer": "building", + "minzoom": 13, + "maxzoom": 14, + "paint": { + "fill-color": "hsl(35,8%,85%)", + "fill-outline-color": [ + "interpolate", + ["linear"], + ["zoom"], + 13, + "hsla(35,6%,79%,0.32)", + 14, + "hsl(35,6%,79%)" + ] + } + }, + { + "id": "building-3d", + "type": "fill-extrusion", + "source": "openmaptiles", + "source-layer": "building", + "minzoom": 14, + "paint": { + "fill-extrusion-base": ["get", "render_min_height"], + "fill-extrusion-color": "hsl(35,8%,85%)", + "fill-extrusion-height": ["get", "render_height"], + "fill-extrusion-opacity": 0.8 + } + }, + { + "id": "boundary_3", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 5, + "filter": [ + "all", + [">=", ["get", "admin_level"], 3], + ["<=", ["get", "admin_level"], 6], + ["!=", ["get", "maritime"], 1], + ["!=", ["get", "disputed"], 1], + ["!", ["has", "claimed_by"]] + ], + "paint": { + "line-color": "hsl(0,0%,70%)", + "line-dasharray": [1, 1], + "line-width": ["interpolate", ["linear", 1], ["zoom"], 7, 1, 11, 2] + } + }, + { + "id": "boundary_2", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "all", + ["==", ["get", "admin_level"], 2], + ["!=", ["get", "maritime"], 1], + ["!=", ["get", "disputed"], 1], + ["!", ["has", "claimed_by"]] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 4, 1], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "boundary_disputed", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "all", + ["!=", ["get", "maritime"], 1], + ["==", ["get", "disputed"], 1] + ], + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-dasharray": [1, 2], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "waterway_line_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "waterway", + "minzoom": 10, + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": 14 + }, + "paint": { + "text-color": "#74aee9", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1.5 + } + }, + { + "id": "water_name_point_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["MultiPoint", "Point"], + true, + false + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": ["interpolate", ["linear"], ["zoom"], 0, 10, 8, 14] + }, + "paint": { + "text-color": "#495e91", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1.5 + } + }, + { + "id": "water_name_line_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": 14 + }, + "paint": { + "text-color": "#495e91", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1.5 + } + }, + { + "id": "poi_r20", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 17, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_r7", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 16, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 7], + ["<", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_r1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 15, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 1], + ["<", ["get", "rank"], 7] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_transit", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "filter": [ + "match", + ["get", "class"], + ["airport", "bus", "rail"], + true, + false + ], + "layout": { + "icon-image": ["to-string", ["get", "class"]], + "icon-size": 0.7, + "text-anchor": "left", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0.9, 0], + "text-size": 12 + }, + "paint": { + "text-color": "#2e5a80", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "highway-name-path", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 15.5, + "filter": ["==", ["get", "class"], "path"], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "hsl(30,23%,62%)", + "text-halo-color": "#f8f4f0", + "text-halo-width": 0.5 + } + }, + { + "id": "highway-name-minor", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 15, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "class"], ["minor", "service", "track"], true, false] + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-width": 1 + } + }, + { + "id": "highway-name-major", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 12.2, + "filter": [ + "match", + ["get", "class"], + ["primary", "secondary", "tertiary", "trunk"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-width": 1 + } + }, + { + "id": "highway-shield-non-us", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 8, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + [ + "match", + ["get", "network"], + ["us-highway", "us-interstate", "us-state"], + false, + true + ] + ], + "layout": { + "icon-image": ["concat", "road_", ["get", "ref_length"]], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 11, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + } + }, + { + "id": "highway-shield-us-interstate", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 7, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "network"], ["us-interstate"], true, false] + ], + "layout": { + "icon-image": [ + "concat", + ["get", "network"], + "_", + ["get", "ref_length"] + ], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 7, "line", 8, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + } + }, + { + "id": "road_shield_us", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 9, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "network"], ["us-highway", "us-state"], true, false] + ], + "layout": { + "icon-image": [ + "concat", + ["get", "network"], + "_", + ["get", "ref_length"] + ], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 11, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + } + }, + { + "id": "airport", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "aerodrome_label", + "minzoom": 10, + "filter": ["all", ["has", "iata"]], + "layout": { + "icon-image": "airport_11", + "icon-size": 1, + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-optional": true, + "text-padding": 2, + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "label_other", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 8, + "filter": [ + "match", + ["get", "class"], + ["city", "continent", "country", "state", "town", "village"], + false, + true + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-size": ["interpolate", ["linear"], ["zoom"], 8, 9, 12, 10], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#333", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_village", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 9, + "filter": ["==", ["get", "class"], "village"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 10, ""], + "icon-optional": false, + "icon-size": 0.2, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 10, + 11, + 12 + ] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_town", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 6, + "filter": ["==", ["get", "class"], "town"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 10, ""], + "icon-optional": false, + "icon-size": 0.2, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 12, + 11, + 14 + ] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_state", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 5, + "maxzoom": 8, + "filter": ["==", ["get", "class"], "state"], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 9, + "text-size": ["interpolate", ["linear"], ["zoom"], 5, 10, 8, 14], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#333", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_city", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 3, + "filter": [ + "all", + ["==", ["get", "class"], "city"], + ["!=", ["get", "capital"], 2] + ], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 9, ""], + "icon-optional": false, + "icon-size": 0.4, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-offset": [0, -0.1], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 4, + 11, + 7, + 13, + 11, + 18 + ] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_city_capital", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 3, + "filter": [ + "all", + ["==", ["get", "class"], "city"], + ["==", ["get", "capital"], 2] + ], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 9, ""], + "icon-optional": false, + "icon-size": 0.5, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 8, + "text-offset": [0, -0.2], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 4, + 12, + 7, + 14, + 11, + 20 + ] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_country_3", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 2, + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + [">=", ["get", "rank"], 3] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 3, 9, 7, 17] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_country_2", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + ["==", ["get", "rank"], 2] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 2, 9, 5, 17] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + }, + { + "id": "label_country_1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + ["==", ["get", "rank"], 1] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 1, 9, 4, 17] + }, + "paint": { + "text-color": "#000", + "text-halo-blur": 1, + "text-halo-color": "#fff", + "text-halo-width": 1 + } + } + ] } diff --git a/src/App.svelte b/src/App.svelte index 55a2fd2..602e144 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,6 +1,5 @@ - - - + + + {@render children()} - - - Add Vehicle - + + + Add Vehicle +
{@const Icon = getVehicleIcon(vehicle.type)} - {vehicle.type === "car" ? "Car" : vehicle.type === "motor_scooter" ? "Moped" : "?"} + {vehicle.type === "car" + ? "Car" + : vehicle.type === "motor_scooter" + ? "Moped" + : "?"} @@ -110,7 +130,11 @@
- {vehicle.fuelType === "diesel" ? "Diesel" : vehicle.fuelType === "petrol" ? "Petrol" : "Electric"} + {vehicle.fuelType === "diesel" + ? "Diesel" + : vehicle.fuelType === "petrol" + ? "Petrol" + : "Electric"} Diesel @@ -137,33 +161,38 @@
- - - - \ No newline at end of file + + diff --git a/src/lib/components/lnv/EVConnectorSelect.svelte b/src/lib/components/lnv/EVConnectorSelect.svelte index 6f93c1a..e44788d 100644 --- a/src/lib/components/lnv/EVConnectorSelect.svelte +++ b/src/lib/components/lnv/EVConnectorSelect.svelte @@ -3,8 +3,8 @@ import * as Select from "../ui/select"; -{#each EVConnectors as connector} +{#each EVConnectors as connector (connector)} {connector} -{/each} \ No newline at end of file +{/each} diff --git a/src/lib/components/lnv/LocationSelect.svelte b/src/lib/components/lnv/LocationSelect.svelte index 67531ea..d0e99e5 100644 --- a/src/lib/components/lnv/LocationSelect.svelte +++ b/src/lib/components/lnv/LocationSelect.svelte @@ -6,7 +6,7 @@ import * as Popover from "$lib/components/ui/popover/index.js"; import { Button } from "$lib/components/ui/button/index.js"; import { cn } from "$lib/utils.js"; - + const frameworks = [ { value: "sveltekit", @@ -29,15 +29,13 @@ label: "Astro", }, ]; - + let open = $state(false); let value = $state(""); let triggerRef = $state(null!); - - const selectedValue = $derived( - value === "location" ? "My Location" : value - ); - + + const selectedValue = $derived(value === "location" ? "My Location" : value); + // We want to refocus the trigger button when the user selects // an item from the list so users can continue navigating the // rest of the form with the keyboard. @@ -51,7 +49,7 @@ - {#snippet child({ props }: { props: Record })} + {#snippet child({ props }: { props: Record })} {/each} - +
-
-
\ No newline at end of file + +
diff --git a/src/lib/components/lnv/info/FuelStation.svelte b/src/lib/components/lnv/info/FuelStation.svelte index 282ab90..60d4603 100644 --- a/src/lib/components/lnv/info/FuelStation.svelte +++ b/src/lib/components/lnv/info/FuelStation.svelte @@ -1,13 +1,13 @@

Fuel Types