From fadcd7632d491db021752a4f7a5c0e7dff1f3708 Mon Sep 17 00:00:00 2001 From: Jeff Jacobson Date: Tue, 21 May 2024 12:07:05 -0700 Subject: [PATCH] UI/wsdot (#348) * feat: :sparkles: Added WSDOT logo to header * build: :heavy_plus_sign: Added @wsdot/web-styles dependency * build: :down_arrow: Downgraded lefthook dependency due to issues Reverted to the previous version of lefthook due to it not working. That newer version was also being detected as a virus. (See https://github.com/evilmartians/lefthook/issues/722) My issue could possibly be related to this one: - https://github.com/evilmartians/lefthook/issues/708 --- .cspell/custom-dictionary.txt | 3 + index.html | 2 +- package-lock.json | 107 ++++++++++++++++++---------------- package.json | 5 +- src/index.css | 9 ++- src/main.ts | 25 ++++++++ 6 files changed, 97 insertions(+), 54 deletions(-) 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%

+

%VITE_TITLE%

diff --git a/package-lock.json b/package-lock.json index 38a93bcb..8bb6436f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@esri/calcite-components": "^2.8.2", "@types/geojson": "^7946.0.14", + "@wsdot/web-styles": "github:WSDOT-GIS/wsdot-web-styles", "dms-conversion": "^3.1.3" }, "devDependencies": { @@ -33,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", @@ -1177,6 +1178,18 @@ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" }, + "node_modules/@fontsource/inconsolata": { + "version": "4.5.10", + "resolved": "https://registry.npmjs.org/@fontsource/inconsolata/-/inconsolata-4.5.10.tgz", + "integrity": "sha512-kShpiWE3RD4LH4YlZPbyE4VMt826DA7Ugw1jNJt54mxpP7nUsI9gflQOLWSJ9AMLkqPLpjza9iZkKRmU8Q7MOQ==", + "optional": true + }, + "node_modules/@fontsource/lato": { + "version": "4.5.10", + "resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.5.10.tgz", + "integrity": "sha512-2hYR6r661Cq9B8zugtu6yxuOKqrVhAgfOSaPSq8XoxbC4ebsl0KOTy/vPoP+9U7JuQVLfrmikirW4a9Z0nDUug==", + "optional": true + }, "node_modules/@fontsource/overpass": { "version": "5.0.18", "resolved": "https://registry.npmjs.org/@fontsource/overpass/-/overpass-5.0.18.tgz", @@ -2148,6 +2161,14 @@ "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", "dev": true }, + "node_modules/@wsdot/web-styles": { + "version": "1.0.0", + "resolved": "git+ssh://git@github.com/WSDOT-GIS/wsdot-web-styles.git#4a41e1f8fdb93432f19be81a22a46d1f34232738", + "optionalDependencies": { + "@fontsource/inconsolata": "^4.5.9", + "@fontsource/lato": "^4.5.10" + } + }, "node_modules/@zip.js/zip.js": { "version": "2.7.35", "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.35.tgz", @@ -3890,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", @@ -4709,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" ], @@ -4742,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" ], @@ -4755,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" ], @@ -4768,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" ], @@ -4781,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" ], @@ -4794,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" ], @@ -4807,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" ], @@ -4820,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 9e41ae36..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", @@ -71,6 +71,7 @@ "dependencies": { "@esri/calcite-components": "^2.8.2", "@types/geojson": "^7946.0.14", + "@wsdot/web-styles": "github:WSDOT-GIS/wsdot-web-styles", "dms-conversion": "^3.1.3" } } 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");