diff --git a/.cspell/custom-dictionary.txt b/.cspell/custom-dictionary.txt
index 062ae2ed..d488c5a4 100644
--- a/.cspell/custom-dictionary.txt
+++ b/.cspell/custom-dictionary.txt
@@ -11,10 +11,13 @@ fontnik
Geoportal
geouri
GNIS
+Haettenschweiler
+inconsolata
JURDSG
JURFIPSDSG
JURNM
latlng
+lato
lcov
mlat
mlon
diff --git a/index.html b/index.html
index f3a3ffc3..53cfacc1 100644
--- a/index.html
+++ b/index.html
@@ -22,7 +22,7 @@
- %VITE_TITLE%
+
diff --git a/package-lock.json b/package-lock.json
index 7acf4fe6..8bb6436f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -34,7 +34,7 @@
"eslint-plugin-sonarjs": "^1.0.3",
"gh-pages": "^6.1.1",
"jsdom": "^24.0.0",
- "lefthook": "^1.6.12",
+ "lefthook": "1.6.11",
"optionator": "^0.9.4",
"prettier": "^3.2.5",
"tsx": "^4.10.5",
@@ -3911,20 +3911,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -4730,29 +4716,29 @@
}
},
"node_modules/lefthook": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.6.12.tgz",
- "integrity": "sha512-SoHhB0L1D5twH5KKsGAT1h4qF+RhGfPo/JC5z60H0RDuFWtSwFNOeFpT4Qa7XwM6J9c1fvqZzOH9/4XF7dG9Uw==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.6.11.tgz",
+ "integrity": "sha512-2KE1thWjxr3R5SFwX6rDTNM87AXRU3p67st+xelooKtuOsW6/jW9pXkii2WaxmeUaWW567v5EozUqynSQANHwA==",
"dev": true,
"hasInstallScript": true,
"bin": {
"lefthook": "bin/index.js"
},
"optionalDependencies": {
- "lefthook-darwin-arm64": "1.6.12",
- "lefthook-darwin-x64": "1.6.12",
- "lefthook-freebsd-arm64": "1.6.12",
- "lefthook-freebsd-x64": "1.6.12",
- "lefthook-linux-arm64": "1.6.12",
- "lefthook-linux-x64": "1.6.12",
- "lefthook-windows-arm64": "1.6.12",
- "lefthook-windows-x64": "1.6.12"
+ "lefthook-darwin-arm64": "1.6.11",
+ "lefthook-darwin-x64": "1.6.11",
+ "lefthook-freebsd-arm64": "1.6.11",
+ "lefthook-freebsd-x64": "1.6.11",
+ "lefthook-linux-arm64": "1.6.11",
+ "lefthook-linux-x64": "1.6.11",
+ "lefthook-windows-arm64": "1.6.11",
+ "lefthook-windows-x64": "1.6.11"
}
},
"node_modules/lefthook-darwin-arm64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.6.12.tgz",
- "integrity": "sha512-IJa50i+78nGxtSvnxLSDfSjBjjM7Ixl03V4+yl3Kdn+S+FwzEZet3LYTLbnKFUVy9Bg23obI3yXgwUx+tJjFXg==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.6.11.tgz",
+ "integrity": "sha512-PgCqdD1fv+DDKjNLOzGte+g10FmZmeILMnKewBy+GswtwnxSQknFj1ZoQ7jnXyxO6UstztHXQzogx8/qC5pUuA==",
"cpu": [
"arm64"
],
@@ -4763,9 +4749,9 @@
]
},
"node_modules/lefthook-darwin-x64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.6.12.tgz",
- "integrity": "sha512-h11ByUtwM78FShgWgSUyyZtwKW6pjYfYvTygw24c/lZXKjupfowK5Ps5A73hCsjr0AEJNVpgW1S5Jd22gIJJCA==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.6.11.tgz",
+ "integrity": "sha512-cMuItUfWaJ4gN2DywcwPEUxL2IOPkE1ERWWmsl1yL0evOF3FUl7cz4hHaVCPRP8Tqeu9zQf8ZEINOUVzBWXqxQ==",
"cpu": [
"x64"
],
@@ -4776,9 +4762,9 @@
]
},
"node_modules/lefthook-freebsd-arm64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.6.12.tgz",
- "integrity": "sha512-Aw1+AosL8r/LFSVKG7i8GI1FpHnWFG66/6DBDUgCwNAwhNCXt7tERAM8dj9S6EqmqHCQCC0nI/6qKNBsFPk7Ow==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.6.11.tgz",
+ "integrity": "sha512-VhL/XNguxFCCAMMjtvBPi50vaPBdvkU4UhOqZFY9PzhJHHxzgMURKTijs0VKv8rPVwVH1U/GehbzMNtpm9OQrg==",
"cpu": [
"arm64"
],
@@ -4789,9 +4775,9 @@
]
},
"node_modules/lefthook-freebsd-x64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.6.12.tgz",
- "integrity": "sha512-G8Dg7UuRstXrqaEA8MSOZikz6PpjPUQu3QmiihzcyGdzI76jFsmjJb2vkrnvMsH9u2gWb3J4sp3TULhbMHXwSw==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.6.11.tgz",
+ "integrity": "sha512-G1t40OK6eocScka6VOEy/UBzigbo5gI2YuN4srjNgjkx4GxAbLnZc/MxlB6n5+VfjuqXz9Oq5VhiwAP0fNyVbA==",
"cpu": [
"x64"
],
@@ -4802,9 +4788,9 @@
]
},
"node_modules/lefthook-linux-arm64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.6.12.tgz",
- "integrity": "sha512-fwO0i6x5EPelL66EwaySzGzvVbN2vLFZDUWuTi8nZzEgBsCBuG0mORxZg91cNCGLRPT3sgzWPraTkyzIJa7kHg==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.6.11.tgz",
+ "integrity": "sha512-821liECaVeVIjADr1Me/zKpxsXGxGaUThBy1swghzhHMX3JmM6gcRMR5cC8gsMnt7/rxOGK4CJBibgomwhWq4Q==",
"cpu": [
"arm64"
],
@@ -4815,9 +4801,9 @@
]
},
"node_modules/lefthook-linux-x64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.6.12.tgz",
- "integrity": "sha512-pRAZKZhSoirjRwDF0TrqxgkeXtUmJqaUi0kGmMJmutToqo9IXQcnpueVmyV9Z1m6lLJn4PpKoFydY6tFXqvyNQ==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.6.11.tgz",
+ "integrity": "sha512-enjQZjftjA22GIAriLgWLycNQiGGWvmKcDoIr2o5Tcw++dUuOAqtT34SOQv2bN1pPJ7M1wRHCBH/9Y7cjUrS0A==",
"cpu": [
"x64"
],
@@ -4828,9 +4814,9 @@
]
},
"node_modules/lefthook-windows-arm64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.6.12.tgz",
- "integrity": "sha512-jMMIoqNKtiqGrwyWeN3JXGXi7H7iAXsGB5v4DkcUbdw9y50qhruxWz84I2PoxwYmZVeMxRR+VpYvS7nOvBmzWA==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.6.11.tgz",
+ "integrity": "sha512-g07uiJRYq649QDXtkHlg/JyAi5yN7FjsEG3tMxnqTHw1nk0743ai8Ui4VjYP6cU5J3OI/+uvIUDUskYwCo/z5w==",
"cpu": [
"arm64"
],
@@ -4841,9 +4827,9 @@
]
},
"node_modules/lefthook-windows-x64": {
- "version": "1.6.12",
- "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.6.12.tgz",
- "integrity": "sha512-XqEBVIhp/Fd1Fs+VBlPhrSJlUkyXEJuxQmiYSYow3C18RNpQQrJFVFpz0wE/IDTn2jOXx+p5+hcdlJb+s6bnpA==",
+ "version": "1.6.11",
+ "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.6.11.tgz",
+ "integrity": "sha512-VV8MDnBwd4zpmARZ0fq6RaHc8jmO4A7lU0YShbXeiIrpFE5UJ4qoxmZpV+vFNRJ5tGUVVyWdnPgUmNsf9zKcKA==",
"cpu": [
"x64"
],
diff --git a/package.json b/package.json
index 8dbc0c7a..f03df529 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"clean": "git clean -dfx --exclude \"node_modules/**\" --exclude \".mailmap\"",
"dev": "vite",
"lint": "eslint . --fix",
- "prettier": "prettier .",
+ "prettier": "prettier . --write",
"publish": "npm run build && node tools/publish.mjs",
"test": "vitest run",
"test:watch": "vitest",
@@ -38,7 +38,7 @@
"eslint-plugin-sonarjs": "^1.0.3",
"gh-pages": "^6.1.1",
"jsdom": "^24.0.0",
- "lefthook": "^1.6.12",
+ "lefthook": "1.6.11",
"optionator": "^0.9.4",
"prettier": "^3.2.5",
"tsx": "^4.10.5",
diff --git a/src/index.css b/src/index.css
index 627e3393..b3c35655 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,4 +1,11 @@
+:root {
+ font-family: "Lato", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
+}
+#wsdot-logo {
+ fill: var(--wsdot-logo-green);
+ margin-right: 1rem;
+}
html,
body,
@@ -29,4 +36,4 @@ calcite-loader {
calcite-rating {
margin-top: 0.25rem;
-}
\ No newline at end of file
+}
diff --git a/src/main.ts b/src/main.ts
index 7a1f1505..c0555572 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -2,6 +2,31 @@ import { createElcErrorAlert } from "./createElcErrorAlert";
import { emitErrorEvent } from "./errorEvent";
import type MapView from "@arcgis/core/views/MapView";
import "@esri/calcite-components";
+import "@fontsource/inconsolata";
+import "@fontsource/lato";
+
+import("@wsdot/web-styles/css/wsdot-colors.css");
+
+async function addWsdotLogo() {
+ const { default: svg } = await import(
+ "@wsdot/web-styles/images/wsdot-logo/wsdot-logo-black.svg?raw"
+ );
+ const dp = new DOMParser();
+ const wsdotLogo = dp.parseFromString(svg, "image/svg+xml").documentElement;
+
+ wsdotLogo.id = "wsdot-logo";
+
+ /* __PURE__ */ console.debug("wsdot logo", wsdotLogo);
+ const headingSelector = "h2";
+ const headingElement = document.body.querySelector(headingSelector);
+ if (!headingElement) {
+ throw new Error("Heading element not found");
+ }
+ headingElement.prepend(wsdotLogo);
+ return wsdotLogo;
+}
+
+void addWsdotLogo();
window.addEventListener("elc-error", (event) => {
/* __PURE__ */ console.group("elc-error event listener");