diff --git a/package-lock.json b/package-lock.json index f26b9ce326900be7eca94c42daaa71ebb38b972d..d1a9606f6b7a88688cace3c1d975b2189bd48cf9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,10 +18,12 @@ "@angular/platform-browser": "19.2.1", "@angular/platform-browser-dynamic": "19.2.1", "@angular/router": "19.2.1", + "@arcgis/core": "^4.32.9", + "@arcgis/map-components": "^4.32.12", "@bluehalo/ngx-leaflet": "^19.0.0", "@compodoc/compodoc": "^1.1.26", "@ghsc/disagg-d3": "^0.13.0", - "@ghsc/nshmp-lib-ng": "^19.8.0", + "@ghsc/nshmp-lib-ng": "^19.9.0", "@ghsc/nshmp-template": "^19.5.0", "@ghsc/nshmp-utils-ts": "^3.14.1", "angular-plotly.js": "^6.0.0", @@ -910,6 +912,96 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@arcgis/components-controllers": { + "version": "4.32.12", + "resolved": "https://registry.npmjs.org/@arcgis/components-controllers/-/components-controllers-4.32.12.tgz", + "integrity": "sha512-giGr//q8lyokcwvL7hNi+u9NQZtld5tUHu7FwOyJEGn2Dh84L4E3hFs+arJWMu30iWDcxhJQT6tGuGw2m3phCg==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/components-utils": "4.32.12", + "tslib": "^2.7.0" + } + }, + "node_modules/@arcgis/components-utils": { + "version": "4.32.12", + "resolved": "https://registry.npmjs.org/@arcgis/components-utils/-/components-utils-4.32.12.tgz", + "integrity": "sha512-qETwTNoSUH6DDQCMawXHxcCPdyc+KvrYaBfL6+2mABJGyfAEfnlc5IwV/p0ooPlKesZ/YrQt6nsmKhSEdzkFqw==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "tslib": "^2.7.0" + } + }, + "node_modules/@arcgis/core": { + "version": "4.32.9", + "resolved": "https://registry.npmjs.org/@arcgis/core/-/core-4.32.9.tgz", + "integrity": "sha512-w174cWsIkE6fsalkwFnqErO2saGB1lZcCYMC2yVCaaj50N7PM4brSNc5Myb7OWtDWsTNQPbkVSYW7d96iqNpHA==", + "license": "SEE LICENSE IN copyright.txt", + "dependencies": { + "@esri/arcgis-html-sanitizer": "~4.1.0", + "@esri/calcite-components": "^3.0.3", + "@vaadin/grid": "~24.6.4", + "@zip.js/zip.js": "~2.7.57", + "luxon": "~3.5.0", + "marked": "~15.0.6" + } + }, + "node_modules/@arcgis/core-adapter": { + "version": "4.32.12", + "resolved": "https://registry.npmjs.org/@arcgis/core-adapter/-/core-adapter-4.32.12.tgz", + "integrity": "sha512-qDCPs6lHQNSPFmG50LAgCWJSDUlOHRvo5+BJxOJasUrpHqVy1VQeOWG1GSAJlkVaSOcUwMSszvt+PdxAOQyyjQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "tslib": "^2.7.0" + }, + "peerDependencies": { + "@arcgis/core": "~4.32.0" + } + }, + "node_modules/@arcgis/core/node_modules/marked": { + "version": "15.0.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.7.tgz", + "integrity": "sha512-dgLIeKGLx5FwziAnsk4ONoGwHwGPJzselimvlVskE9XLN4Orv9u2VA3GWw/lYUqjfA0rUT/6fqKwfZJapP9BEg==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@arcgis/lumina": { + "version": "4.32.12", + "resolved": "https://registry.npmjs.org/@arcgis/lumina/-/lumina-4.32.12.tgz", + "integrity": "sha512-zYPnMK0dlkzYwwcPZik5jHIlx1VpZrDWarkrZtbqypXyEyq7SOUzVcuUHOL2ErlpyWW8ipS2oRstAQ9sGRtr2w==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/components-controllers": "4.32.12", + "@arcgis/components-utils": "4.32.12", + "@lit-labs/ssr": "^3.2.2", + "@lit-labs/ssr-client": "^1.1.7", + "@lit/context": "^1.1.3", + "csstype": "^3.1.3", + "lit": "^3.2.0", + "tslib": "^2.7.0" + } + }, + "node_modules/@arcgis/map-components": { + "version": "4.32.12", + "resolved": "https://registry.npmjs.org/@arcgis/map-components/-/map-components-4.32.12.tgz", + "integrity": "sha512-14dUa4I3Chq50uSvBLEQBExuMCVHGRNCGVUF+1aG5VlUlf967Rdus+g9xc2+h8gZBkPMAXon1IscirGaSk8l3A==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@arcgis/components-controllers": "4.32.12", + "@arcgis/components-utils": "4.32.12", + "@arcgis/core-adapter": "4.32.12", + "@arcgis/lumina": "4.32.12", + "tslib": "^2.7.0" + }, + "peerDependencies": { + "@arcgis/core": "~4.32.0", + "@esri/calcite-components": "^3.0.3" + } + }, "node_modules/@aws-cdk/asset-awscli-v1": { "version": "2.2.211", "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.211.tgz", @@ -4079,6 +4171,89 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@esri/arcgis-html-sanitizer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@esri/arcgis-html-sanitizer/-/arcgis-html-sanitizer-4.1.0.tgz", + "integrity": "sha512-einEveDJ/k1180NOp78PB/4Hje9eBy3dyOGLLtLn6bSkizpUfCwuYBIXOA7Y3F/k/BsTQXgKqUVwQ0eiscWMdA==", + "license": "Apache-2.0", + "dependencies": { + "xss": "1.0.13" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@esri/calcite-components": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@esri/calcite-components/-/calcite-components-3.0.3.tgz", + "integrity": "sha512-MTaNCQuxFe2VkCUzeQ3CG3i5SND/fH/hr8lmcgemPMcqRZBTx4xHE/PRBZ2nLS1jgjgMJT1Qd+W3MBQpfsB1eQ==", + "license": "SEE LICENSE.md", + "dependencies": { + "@arcgis/components-controllers": "^4.32.0-next.129", + "@arcgis/components-utils": "^4.32.0-next.129", + "@arcgis/lumina": "^4.32.0-next.129", + "@esri/calcite-ui-icons": "4.0.0", + "@floating-ui/dom": "^1.6.12", + "@floating-ui/utils": "^0.2.8", + "@types/color": "^4.2.0", + "@types/sortablejs": "^1.15.8", + "color": "^4.2.3", + "composed-offset-position": "^0.0.6", + "dayjs": "^1.11.13", + "focus-trap": "^7.6.2", + "interactjs": "^1.10.27", + "lodash-es": "^4.17.21", + "sortablejs": "^1.15.6", + "timezone-groups": "^0.10.4", + "type-fest": "^4.30.1" + } + }, + "node_modules/@esri/calcite-components/node_modules/type-fest": { + "version": "4.37.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.37.0.tgz", + "integrity": "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@esri/calcite-ui-icons": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@esri/calcite-ui-icons/-/calcite-ui-icons-4.0.0.tgz", + "integrity": "sha512-LcL35NydvXI93u/pU6fXXg/kY2LXR5zWEvOytDoqgu1GPL7xgvrYuIutkvuDJpDh3PhcGXsCX4Axw5i6sCEXsA==", + "license": "SEE LICENSE.md", + "bin": { + "spriter": "bin/spriter.js" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, "node_modules/@ghsc/disagg-d3": { "version": "0.13.0", "resolved": "https://code.usgs.gov/api/v4/projects/4335/packages/npm/@ghsc/disagg-d3/-/@ghsc/disagg-d3-0.13.0.tgz", @@ -4089,9 +4264,9 @@ } }, "node_modules/@ghsc/nshmp-lib-ng": { - "version": "19.8.0", - "resolved": "https://code.usgs.gov/api/v4/projects/12416/packages/npm/@ghsc/nshmp-lib-ng/-/@ghsc/nshmp-lib-ng-19.8.0.tgz", - "integrity": "sha1-LSMaTWiPWlUMb/Yp3VDjVKg48dc=", + "version": "19.9.0", + "resolved": "https://code.usgs.gov/api/v4/projects/12416/packages/npm/@ghsc/nshmp-lib-ng/-/@ghsc/nshmp-lib-ng-19.9.0.tgz", + "integrity": "sha1-tJNjWcqLHh4YlnjxdYPqe8zP2rE=", "dependencies": { "tslib": "^2.3.0" }, @@ -4510,6 +4685,12 @@ } } }, + "node_modules/@interactjs/types": { + "version": "1.10.27", + "resolved": "https://registry.npmjs.org/@interactjs/types/-/types-1.10.27.tgz", + "integrity": "sha512-BUdv0cvs4H5ODuwft2Xp4eL8Vmi3LcihK42z0Ft/FbVJZoRioBsxH+LlsBdK4tAie7PqlKGy+1oyOncu1nQ6eA==", + "license": "MIT" + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -5265,6 +5446,69 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@lit-labs/ssr": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr/-/ssr-3.3.1.tgz", + "integrity": "sha512-JlF1PempxvzrGEpRFrF+Ki0MHzR3HA51SK8Zv0cFpW9p0bPW4k0FeCwrElCu371UEpXF7RcaE2wgYaE1az0XKg==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-client": "^1.1.7", + "@lit-labs/ssr-dom-shim": "^1.3.0", + "@lit/reactive-element": "^2.0.4", + "@parse5/tools": "^0.3.0", + "@types/node": "^16.0.0", + "enhanced-resolve": "^5.10.0", + "lit": "^3.1.2", + "lit-element": "^4.0.4", + "lit-html": "^3.1.2", + "node-fetch": "^3.2.8", + "parse5": "^7.1.1" + }, + "engines": { + "node": ">=13.9.0" + } + }, + "node_modules/@lit-labs/ssr-client": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-client/-/ssr-client-1.1.7.tgz", + "integrity": "sha512-VvqhY/iif3FHrlhkzEPsuX/7h/NqnfxLwVf0p8ghNIlKegRyRqgeaJevZ57s/u/LiFyKgqksRP5n+LmNvpxN+A==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.0.4", + "lit": "^3.1.2", + "lit-html": "^3.1.2" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", + "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@lit-labs/ssr/node_modules/@types/node": { + "version": "16.18.126", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.126.tgz", + "integrity": "sha512-OTcgaiwfGFBKacvfwuHzzn1KLxH/er8mluiy8/uM3sGXHaRe73RrSIj01jow9t4kJEW633Ov+cOexXeiApTyAw==", + "license": "MIT" + }, + "node_modules/@lit/context": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.4.tgz", + "integrity": "sha512-0b8wOWNUPcXjGHFtVP+odwhrZBZw+PpCjKWn8IGO10iHT95Xd6FcUAxe1aE7PUtOBvHZoxvrfdBzweYnDW7VNQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^1.6.2 || ^2.0.0" + } + }, + "node_modules/@lit/reactive-element": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", + "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0" + } + }, "node_modules/@lmdb/lmdb-darwin-arm64": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.2.6.tgz", @@ -6691,6 +6935,12 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@open-wc/dedupe-mixin": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.4.0.tgz", + "integrity": "sha512-Sj7gKl1TLcDbF7B6KUhtvr+1UCxdhMbNY5KxdU5IfMFWqL8oy1ZeAcCANjoB1TL0AJTcPmcCFsCbHf8X2jGDUA==", + "license": "MIT" + }, "node_modules/@parcel/watcher": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", @@ -6771,6 +7021,15 @@ "license": "MIT", "optional": true }, + "node_modules/@parse5/tools": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@parse5/tools/-/tools-0.3.0.tgz", + "integrity": "sha512-zxRyTHkqb7WQMV8kTNBKWb1BeOFUKXBXTBWuxg9H9hfvQB3IwP6Iw2U75Ia5eyRxPNltmY7E8YAlz6zWwUnjKg==", + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + } + }, "node_modules/@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -6937,6 +7196,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@polymer/polymer": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.5.2.tgz", + "integrity": "sha512-fWwImY/UH4bb2534DVSaX+Azs2yKg8slkMBHOyGeU2kKx7Xmxp6Lee0jP8p6B3d7c1gFUPB2Z976dTUtX81pQA==", + "license": "BSD-3-Clause", + "dependencies": { + "@webcomponents/shadycss": "^1.9.1" + } + }, "node_modules/@rollup/plugin-json": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", @@ -7723,6 +7991,30 @@ "@types/node": "*" } }, + "node_modules/@types/color": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/color/-/color-4.2.0.tgz", + "integrity": "sha512-6+xrIRImMtGAL2X3qYkd02Mgs+gFGs+WsK0b7VVMaO4mYRISwyTjcqNrO0mNSmYEoq++rSLDB2F5HDNmqfOe+A==", + "license": "MIT", + "dependencies": { + "@types/color-convert": "*" + } + }, + "node_modules/@types/color-convert": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.4.tgz", + "integrity": "sha512-Ub1MmDdyZ7mX//g25uBAoH/mWGd9swVbt8BseymnaE18SU4po/PjmCrHxqIIRjBo3hV/vh1KGr0eMxUhp+t+dQ==", + "license": "MIT", + "dependencies": { + "@types/color-name": "^1.1.0" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.5.tgz", + "integrity": "sha512-j2K5UJqGTxeesj6oQuGpMgifpT5k9HprgQd8D1Y0lOFqKHl3PJu5GMeS4Y5EgjS55AE6OQxf8mPED9uaGbf4Cg==", + "license": "MIT" + }, "node_modules/@types/connect": { "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", @@ -8118,6 +8410,12 @@ "@types/node": "*" } }, + "node_modules/@types/sortablejs": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/sortablejs/-/sortablejs-1.15.8.tgz", + "integrity": "sha512-b79830lW+RZfwaztgs1aVPgbasJ8e7AXtZYHTELNXZPsERt4ymJdjV4OccDbHQAvHrCcFpbF78jkm0R6h/pZVg==", + "license": "MIT" + }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", @@ -8170,6 +8468,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, "node_modules/@types/webxr": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", @@ -8431,6 +8735,187 @@ "dev": true, "license": "ISC" }, + "node_modules/@vaadin/a11y-base": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.6.7.tgz", + "integrity": "sha512-CJYYTWPBEEaVt4AvBE8RzEn3hqUZbGUGLzqs6NGBFTw0c5cfkqoO2ZMkKhz5Z52QF+2mCXpEtyg6s+t0h171Qg==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/checkbox": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.6.7.tgz", + "integrity": "sha512-/Vl5codokNdN5ku1l/iAkdjUmYTUZGKyAleHjM7V3ZFpwkK2IoWN4HrbWyhPuf1gL3T85bKMLSPuYoOX/ymrFw==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.6.7", + "@vaadin/component-base": "~24.6.7", + "@vaadin/field-base": "~24.6.7", + "@vaadin/vaadin-lumo-styles": "~24.6.7", + "@vaadin/vaadin-material-styles": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/component-base": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.6.7.tgz", + "integrity": "sha512-LcZQZEwouPDHBoXfXRREb1mRScsPSPeKTUZdgrXh180Piy57VzpNzslIMrdfVFSye9lLMs2/g2o8HCUDgnY/OQ==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-development-mode-detector": "^2.0.0", + "@vaadin/vaadin-usage-statistics": "^2.1.0", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/field-base": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.6.7.tgz", + "integrity": "sha512-5MXpAQGZA15/hRdnZrJK5q5Mv8rgOraSyBpC/gjRJ1W1IQ5DrCcb3ltvPATguv0K3vpJwunXGXrGqm/+SGEk0w==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.6.7", + "@vaadin/component-base": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/grid": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.6.7.tgz", + "integrity": "sha512-G3o+T0A995GEqiTbdPvmEYQEVA69pwLq5L8A5qw6q+onbyEFAbJEpRz/r9IcxgnD5yYDmsXVSNFTTVU6NKAYUw==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.6.7", + "@vaadin/checkbox": "~24.6.7", + "@vaadin/component-base": "~24.6.7", + "@vaadin/lit-renderer": "~24.6.7", + "@vaadin/text-field": "~24.6.7", + "@vaadin/vaadin-lumo-styles": "~24.6.7", + "@vaadin/vaadin-material-styles": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/icon": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.6.7.tgz", + "integrity": "sha512-+Cv3hLyFSXJAhnuGuPQ+hQcv9/ijZpIprJ6rqWeChvFk+bQOoPgUPx/tj67mOiTcrmV5hYt+dYs4QM7JZ//dGg==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.6.7", + "@vaadin/vaadin-lumo-styles": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/input-container": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.6.7.tgz", + "integrity": "sha512-376ZyD74jrKvjiM+gE0xNScyZPU7REMBbGXpmM4DpoLYgw60m01D3fliZaOTVDyXc3gvxWIai3L1vCY0KYpD6w==", + "license": "Apache-2.0", + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.6.7", + "@vaadin/vaadin-lumo-styles": "~24.6.7", + "@vaadin/vaadin-material-styles": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/lit-renderer": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.6.7.tgz", + "integrity": "sha512-S9daJnGW/X+HBhOriENRYNf8hCFYABmea756onaLS0QoWLkaU3QVPKrhHjZtzNVf/15UcIeAx4C5JlIas2osFA==", + "license": "Apache-2.0", + "dependencies": { + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/text-field": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.6.7.tgz", + "integrity": "sha512-34YmuH6+F0qDyiNTcMtTsU3+xMWiOfPi4630DBJ8+99J+GBHIGt4BZB0QRrEfpiPWVbykVg27MGUP4KVTfH8Uw==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.6.7", + "@vaadin/component-base": "~24.6.7", + "@vaadin/field-base": "~24.6.7", + "@vaadin/input-container": "~24.6.7", + "@vaadin/vaadin-lumo-styles": "~24.6.7", + "@vaadin/vaadin-material-styles": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/vaadin-development-mode-detector": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.7.tgz", + "integrity": "sha512-9FhVhr0ynSR3X2ao+vaIEttcNU5XfzCbxtmYOV8uIRnUCtNgbvMOIcyGBvntsX9I5kvIP2dV3cFAOG9SILJzEA==", + "license": "Apache-2.0" + }, + "node_modules/@vaadin/vaadin-lumo-styles": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.6.7.tgz", + "integrity": "sha512-DNamU8cVxbaVn3HfRm3pN8ul95xvaem92ByVeEQwdvKaHwLI4m7AdSWKEA+13ST9TdBtCeDW6DjmtGcoEqbqiw==", + "license": "Apache-2.0", + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.6.7", + "@vaadin/icon": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7" + } + }, + "node_modules/@vaadin/vaadin-material-styles": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.6.7.tgz", + "integrity": "sha512-7ecHOEZrFEbUz5UVSGapOt/uC7lSYV05RADCNhG16c+WsuN+oxkGIIaThMMCdBcclg5ej/BeTxZlZha8JoNO3g==", + "license": "Apache-2.0", + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.6.7", + "@vaadin/vaadin-themable-mixin": "~24.6.7" + } + }, + "node_modules/@vaadin/vaadin-themable-mixin": { + "version": "24.6.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.6.7.tgz", + "integrity": "sha512-fiVBvJWInNBq/oXeE0UAQmzadQ7UJE3ns768D1taKOwTMOxiio1UMoUXcVGwni9ASzXrd96S7F6c4aIaVqNx6A==", + "license": "Apache-2.0", + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "lit": "^3.0.0" + } + }, + "node_modules/@vaadin/vaadin-usage-statistics": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.3.tgz", + "integrity": "sha512-8r4TNknD7OJQADe3VygeofFR7UNAXZ2/jjBFP5dgI8+2uMfnuGYgbuHivasKr9WSQ64sPej6m8rDoM1uSllXjQ==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@vaadin/vaadin-development-mode-detector": "^2.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", @@ -8590,6 +9075,12 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@webcomponents/shadycss": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.2.tgz", + "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", + "license": "BSD-3-Clause" + }, "node_modules/@webgpu/types": { "version": "0.1.51", "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.51.tgz", @@ -8661,6 +9152,17 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@zip.js/zip.js": { + "version": "2.7.57", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.57.tgz", + "integrity": "sha512-BtonQ1/jDnGiMed6OkV6rZYW78gLmLswkHOzyMrMb+CAR7CZO8phOHO6c2qw6qb1g1betN7kwEHhhZk30dv+NA==", + "license": "BSD-3-Clause", + "engines": { + "bun": ">=0.7.0", + "deno": ">=1.0.0", + "node": ">=16.5.0" + } + }, "node_modules/@zkochan/js-yaml": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", @@ -11142,6 +11644,19 @@ "dev": true, "license": "MIT" }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-alpha": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", @@ -11237,6 +11752,16 @@ "mumath": "^3.3.4" } }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -11322,6 +11847,15 @@ "dev": true, "license": "MIT" }, + "node_modules/composed-offset-position": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/composed-offset-position/-/composed-offset-position-0.0.6.tgz", + "integrity": "sha512-Q7dLompI6lUwd7LWyIcP66r4WcS9u7AL2h8HaeipiRfCRPLMWqRx8fYsjb4OHi6UQFifO7XtNC2IlEJ1ozIFxw==", + "license": "MIT", + "peerDependencies": { + "@floating-ui/utils": "^0.2.5" + } + }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -11862,6 +12396,12 @@ "node": ">=4" } }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "license": "MIT" + }, "node_modules/cssom": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", @@ -11889,6 +12429,12 @@ "dev": true, "license": "MIT" }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, "node_modules/cypress": { "version": "13.16.1", "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.16.1.tgz", @@ -12629,6 +13175,15 @@ "node": ">=0.10" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/data-urls": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", @@ -12702,7 +13257,6 @@ "version": "1.11.13", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", - "dev": true, "license": "MIT" }, "node_modules/debounce": { @@ -15315,6 +15869,29 @@ } } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", @@ -15510,6 +16087,15 @@ "dtype": "^2.0.0" } }, + "node_modules/focus-trap": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.4.tgz", + "integrity": "sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==", + "license": "MIT", + "dependencies": { + "tabbable": "^6.2.0" + } + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -15599,6 +16185,18 @@ "node": ">= 6" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -17596,6 +18194,15 @@ "dev": true, "license": "0BSD" }, + "node_modules/interactjs": { + "version": "1.10.27", + "resolved": "https://registry.npmjs.org/interactjs/-/interactjs-1.10.27.tgz", + "integrity": "sha512-y/8RcCftGAF24gSp76X2JS3XpHiUvDQyhF8i7ujemBz77hwiHDuJzftHx7thY8cxGogwGiPJ+o97kWB6eAXnsA==", + "license": "MIT", + "dependencies": { + "@interactjs/types": "1.10.27" + } + }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -20001,6 +20608,37 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/lit": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.1.tgz", + "integrity": "sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit/reactive-element": "^2.0.4", + "lit-element": "^4.1.0", + "lit-html": "^3.2.0" + } + }, + "node_modules/lit-element": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.1.tgz", + "integrity": "sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==", + "license": "BSD-3-Clause", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit/reactive-element": "^2.0.4", + "lit-html": "^3.2.0" + } + }, + "node_modules/lit-html": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.1.tgz", + "integrity": "sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==", + "license": "BSD-3-Clause", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, "node_modules/lmdb": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz", @@ -20069,6 +20707,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "license": "MIT" }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -20348,6 +20992,15 @@ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "license": "MIT" }, + "node_modules/luxon": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", + "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/macos-release": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", @@ -22069,6 +22722,43 @@ "license": "MIT", "optional": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -25831,6 +26521,21 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, "node_modules/sirv": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", @@ -25956,6 +26661,12 @@ "node": ">= 14" } }, + "node_modules/sortablejs": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.6.tgz", + "integrity": "sha512-aNfiuwMEpfBM/CN6LY0ibyhxPfPbyFeBTYJKCvzkJ2GkUpazIt3H+QIPAMHwqQ7tMKaHz1Qj+rJJCqljnf4p3A==", + "license": "MIT" + }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -26623,6 +27334,12 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "license": "MIT" + }, "node_modules/tablesort": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/tablesort/-/tablesort-5.3.0.tgz", @@ -26974,6 +27691,15 @@ "dev": true, "license": "MIT" }, + "node_modules/timezone-groups": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/timezone-groups/-/timezone-groups-0.10.4.tgz", + "integrity": "sha512-AnkJYrbb7uPkDCEqGeVJiawZNiwVlSkkeX4jZg1gTEguClhyX+/Ezn07KB6DT29tG3UN418ldmS/W6KqGOTDjg==", + "license": "MIT", + "engines": { + "node": ">=18.12.0" + } + }, "node_modules/tiny-binary-search": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-binary-search/-/tiny-binary-search-1.0.3.tgz", @@ -28087,6 +28813,15 @@ "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==", "license": "Apache-2.0" }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/webgl-context": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", @@ -28811,6 +29546,28 @@ "dev": true, "license": "MIT" }, + "node_modules/xss": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.13.tgz", + "integrity": "sha512-clu7dxTm1e8Mo5fz3n/oW3UCXBfV89xZ72jM8yzo1vR/pIS0w3sgB3XV2H8Vm6zfGnHL0FzvLJPJEBhd86/z4Q==", + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xss/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 3d7022c3585e947b0f8d2b138b0dd8e420164e96..2007cdbfca9476c5970fd175205909356063a5e4 100644 --- a/package.json +++ b/package.json @@ -47,10 +47,12 @@ "@angular/platform-browser": "19.2.1", "@angular/platform-browser-dynamic": "19.2.1", "@angular/router": "19.2.1", + "@arcgis/core": "^4.32.9", + "@arcgis/map-components": "^4.32.12", "@bluehalo/ngx-leaflet": "^19.0.0", "@compodoc/compodoc": "^1.1.26", "@ghsc/disagg-d3": "^0.13.0", - "@ghsc/nshmp-lib-ng": "^19.8.0", + "@ghsc/nshmp-lib-ng": "^19.9.0", "@ghsc/nshmp-template": "^19.5.0", "@ghsc/nshmp-utils-ts": "^3.14.1", "angular-plotly.js": "^6.0.0", diff --git a/projects/nshmp-apps/jest.config.ts b/projects/nshmp-apps/jest.config.ts index 394a5fb645b9007c232ba0e5b2e9fcebdba6ff88..8c158b476344411fa96945c3778a8e4500f414cb 100644 --- a/projects/nshmp-apps/jest.config.ts +++ b/projects/nshmp-apps/jest.config.ts @@ -16,7 +16,18 @@ const config: Config.InitialOptions = { setupFilesAfterEnv: ['<rootDir>/setup-jest.ts'], testPathIgnorePatterns: ['<rootDir>/cypress'], transformIgnorePatterns: [ - 'node_modules/(?!.*\\.mjs$|d3|d3-*|delaunator|robust-predicates|internmap|@ghsc/nshmp-utils-ts/node_modules/d3-format|yaml|change-case)', + `node_modules/( + ?!.*\\.mjs$| + d3| + d3-*| + delaunator| + robust-predicates| + internmap| + @ghsc/nshmp-utils-ts/node_modules/d3-format| + yaml| + change-case| + @arcgis/* + )`, ], }; diff --git a/projects/nshmp-apps/setup-jest.ts b/projects/nshmp-apps/setup-jest.ts index b291248544538be1bf16d936531a16392fd5d20e..99e3d552f757c945d7a3463455776a18747d5205 100644 --- a/projects/nshmp-apps/setup-jest.ts +++ b/projects/nshmp-apps/setup-jest.ts @@ -32,4 +32,10 @@ Object.defineProperty(document.body.style, 'transform', { }, }); +global.ResizeObserver = class ResizeObserver { + observe() {} + unobserve() {} + disconnect() {} +}; + setupZoneTestEnv(); diff --git a/projects/nshmp-apps/src/app/designmaps/rtgm/components/control-panel-hazard/control-panel-hazard.component.ts b/projects/nshmp-apps/src/app/designmaps/rtgm/components/control-panel-hazard/control-panel-hazard.component.ts index 114dffeaf12f20df4a74b699a9fc7f47c921b22c..662bfb0f437f99c2ab860a431c0d4def7b4a5c8f 100644 --- a/projects/nshmp-apps/src/app/designmaps/rtgm/components/control-panel-hazard/control-panel-hazard.component.ts +++ b/projects/nshmp-apps/src/app/designmaps/rtgm/components/control-panel-hazard/control-panel-hazard.component.ts @@ -19,7 +19,7 @@ import { } from '@ghsc/nshmp-lib-ng/nshmp'; import {Location} from '@ghsc/nshmp-utils-ts/libs/nshmp-lib/geo'; import {environment} from 'projects/nshmp-apps/src/environments/environment'; -import {Subscription} from 'rxjs'; +import {combineLatest, Subscription} from 'rxjs'; import {AppService} from '../../services/app.service'; import {BuildingCodeControlComponent} from '../building-code-control/building-code-control.component'; @@ -84,13 +84,20 @@ export class ControlPanelHazardComponent implements OnInit, OnDestroy { const controls = this.formGroup.controls; this.subs.push( - controls.latitude.valueChanges.subscribe(() => this.service.resetState()), - ); - - this.subs.push( - controls.longitude.valueChanges.subscribe(() => - this.service.resetState(), - ), + combineLatest([ + controls.latitude.valueChanges, + controls.longitude.valueChanges, + ]).subscribe(() => { + this.service.resetState(); + const values = this.formGroup.getRawValue(); + + if (values.latitude && values.longitude) { + this.selectSiteData().site = { + latitude: values.latitude, + longitude: values.longitude, + }; + } + }), ); this.subs.push( diff --git a/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/components/control-panel/control-panel.component.ts index bb37bcf16a86fdf9c32b9b1b504e74074cc27c70..dbfb553d885c797418402a3eda12ce833cab352d 100644 --- a/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/components/control-panel/control-panel.component.ts +++ b/projects/nshmp-apps/src/app/dev/hazard/dynamic-compare/components/control-panel/control-panel.component.ts @@ -24,7 +24,7 @@ import { } from '@ghsc/nshmp-lib-ng/nshmp'; import {NshmId} from '@ghsc/nshmp-utils-ts/libs/nshmp-lib/nshm'; import {environment} from 'projects/nshmp-apps/src/environments/environment'; -import {Subscription} from 'rxjs'; +import {combineLatest, Subscription} from 'rxjs'; import {AppService} from '../../services/app.service'; @@ -87,13 +87,7 @@ export class ControlPanelComponent implements OnInit, OnDestroy { () => this.service.usage()?.response?.model.siteClasses, ); - private imtSubscription = new Subscription(); - private maxDirectionSubscription = new Subscription(); - private modelCompareSubscription = new Subscription(); - private modelSubscription = new Subscription(); - private returnPeriodSubscription = new Subscription(); - private truncateSubscription = new Subscription(); - private vs30Subscription = new Subscription(); + private subs: Subscription[] = []; constructor( public service: AppService, @@ -101,48 +95,66 @@ export class ControlPanelComponent implements OnInit, OnDestroy { ) {} ngOnInit(): void { - this.modelSubscription = - this.formGroup.controls.model.valueChanges.subscribe(() => { + const controls = this.formGroup.controls; + + this.subs.push( + controls.model.valueChanges.subscribe(() => { this.service.onModelChange(); - }); + }), + ); - this.modelCompareSubscription = - this.formGroup.controls.modelCompare.valueChanges.subscribe( - modelCompare => this.onModelCompare(modelCompare), - ); + this.subs.push( + controls.modelCompare.valueChanges.subscribe(modelCompare => + this.onModelCompare(modelCompare), + ), + ); - this.imtSubscription = this.formGroup.controls.imt.valueChanges.subscribe( - () => this.service.createPlots(), + this.subs.push( + controls.imt.valueChanges.subscribe(() => this.service.createPlots()), ); - this.maxDirectionSubscription = - this.formGroup.controls.maxDirection.valueChanges.subscribe(() => + this.subs.push( + controls.maxDirection.valueChanges.subscribe(() => this.service.createPlots(), - ); + ), + ); - this.returnPeriodSubscription = - this.formGroup.controls.returnPeriod.valueChanges.subscribe(() => + this.subs.push( + controls.returnPeriod.valueChanges.subscribe(() => this.service.createPlots(), - ); + ), + ); - this.truncateSubscription = - this.formGroup.controls.truncate.valueChanges.subscribe(() => + this.subs.push( + controls.truncate.valueChanges.subscribe(() => this.service.createPlots(), - ); + ), + ); + + this.subs.push( + controls.vs30.valueChanges.subscribe(() => this.service.resetState()), + ); - this.vs30Subscription = this.formGroup.controls.vs30.valueChanges.subscribe( - () => this.service.resetState(), + this.subs.push( + combineLatest([ + controls.latitude.valueChanges, + controls.longitude.valueChanges, + ]).subscribe(() => { + this.service.resetState(); + const values = this.formGroup.getRawValue(); + + if (values.latitude && values.longitude) { + this.selectSiteData().site = { + latitude: values.latitude, + longitude: values.longitude, + }; + } + }), ); } ngOnDestroy(): void { - this.imtSubscription.unsubscribe(); - this.maxDirectionSubscription.unsubscribe(); - this.modelCompareSubscription.unsubscribe(); - this.modelSubscription.unsubscribe(); - this.returnPeriodSubscription.unsubscribe(); - this.truncateSubscription.unsubscribe(); - this.vs30Subscription.unsubscribe(); + this.subs.forEach(sub => sub.unsubscribe()); } /** diff --git a/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.ts index c2d54454a17ee81dfcf5cada2513f9916837ee02..7a288573ed48713439e8a6000d5e3e6d431d9040 100644 --- a/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.ts +++ b/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.ts @@ -122,10 +122,25 @@ export class ControlPanelComponent implements OnInit, OnDestroy { this.subs.push( combineLatest([ - controls.iml.valueChanges, - controls.imt.valueChanges, controls.latitude.valueChanges, controls.longitude.valueChanges, + ]).subscribe(() => { + this.service.resetState(); + const values = this.form.getRawValue(); + + if (values.latitude && values.longitude) { + this.selectSiteData().site = { + latitude: values.latitude, + longitude: values.longitude, + }; + } + }), + ); + + this.subs.push( + combineLatest([ + controls.iml.valueChanges, + controls.imt.valueChanges, controls.returnPeriod.valueChanges, controls.vs30.valueChanges, ]).subscribe(() => { diff --git a/projects/nshmp-apps/src/app/hazard/dynamic/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/hazard/dynamic/components/control-panel/control-panel.component.ts index d32ba225c69c513379f7a0d4f0d548222ab5c141..1e2e8ba66258cb5d2b8e8762e83e72494e590ad9 100644 --- a/projects/nshmp-apps/src/app/hazard/dynamic/components/control-panel/control-panel.component.ts +++ b/projects/nshmp-apps/src/app/hazard/dynamic/components/control-panel/control-panel.component.ts @@ -117,7 +117,17 @@ export class ControlPanelComponent implements OnInit, OnDestroy { controls.latitude.valueChanges, controls.longitude.valueChanges, controls.vs30.valueChanges, - ]).subscribe(() => this.service.resetState()), + ]).subscribe(() => { + this.service.resetState(); + const values = this.formGroup.getRawValue(); + + if (values.latitude && values.longitude) { + this.selectSiteData().site = { + latitude: values.latitude, + longitude: values.longitude, + }; + } + }), ); this.subs.push( diff --git a/projects/nshmp-apps/src/app/hazard/static/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/hazard/static/components/control-panel/control-panel.component.ts index f2e6b0d284c345b003e84d25003799e07bd1f203..4fd2bd9959310c79c7f532c713ca6fdee653753f 100644 --- a/projects/nshmp-apps/src/app/hazard/static/components/control-panel/control-panel.component.ts +++ b/projects/nshmp-apps/src/app/hazard/static/components/control-panel/control-panel.component.ts @@ -94,7 +94,17 @@ export class ControlPanelComponent implements OnInit, OnDestroy { combineLatest([ controls.latitude.valueChanges, controls.longitude.valueChanges, - ]).subscribe(() => this.service.resetState()), + ]).subscribe(() => { + this.service.resetState(); + const values = this.formGroup.getRawValue(); + + if (values.latitude && values.longitude) { + this.selectSiteData().site = { + latitude: values.latitude, + longitude: values.longitude, + }; + } + }), ); this.subs.push( diff --git a/projects/nshmp-apps/src/app/source/rates/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/source/rates/components/control-panel/control-panel.component.ts index 93c1b8534dad45a990608a6a1072d7206a6569f1..b14aa9620ed958a7d17dd8b00af6c9fc9d7d5434 100644 --- a/projects/nshmp-apps/src/app/source/rates/components/control-panel/control-panel.component.ts +++ b/projects/nshmp-apps/src/app/source/rates/components/control-panel/control-panel.component.ts @@ -16,7 +16,7 @@ import { } from '@ghsc/nshmp-lib-ng/nshmp'; import {Location} from '@ghsc/nshmp-utils-ts/libs/nshmp-lib/geo'; import {environment} from 'projects/nshmp-apps/src/environments/environment'; -import {Subscription} from 'rxjs'; +import {combineLatest, Subscription} from 'rxjs'; import {AppService} from '../../services/app.service'; @@ -69,20 +69,29 @@ export class ControlPanelComponent implements OnInit, OnDestroy { this.subs.push( controls.model.valueChanges.subscribe(() => this.onModelChange()), ); - this.subs.push( - controls.latitude.valueChanges.subscribe(() => this.service.resetState()), - ); - this.subs.push( - controls.longitude.valueChanges.subscribe(() => - this.service.resetState(), - ), - ); this.subs.push( controls.distance.valueChanges.subscribe(() => this.service.resetState()), ); this.subs.push( controls.timespan.valueChanges.subscribe(() => this.service.resetState()), ); + + this.subs.push( + combineLatest([ + controls.latitude.valueChanges, + controls.longitude.valueChanges, + ]).subscribe(() => { + this.service.resetState(); + const values = this.formGroup.getRawValue(); + + if (values.latitude && values.longitude) { + this.selectSiteData().site = { + latitude: values.latitude, + longitude: values.longitude, + }; + } + }), + ); } ngOnDestroy(): void { diff --git a/tsconfig.json b/tsconfig.json index 4789584f6ee675120f8b127233d38a41c94182e0..139ee14c033dd6a6240b83816dc4926a1acf3f10 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,6 +18,7 @@ "useDefineForClassFields": false, "lib": ["es2022", "dom"], "noImplicitAny": true, + "skipLibCheck": true, "paths": { "nshmp-apps": ["dist/nshmp-apps/nshmp-apps", "dist/nshmp-apps"] }