Przeglądaj źródła

build: upgrade HSL to 2.5

TODO: SCSS Bootstrap styles of loader & forms
jmacura 4 lat temu
rodzic
commit
c7bbbdabbb
8 zmienionych plików z 472 dodań i 251 usunięć
  1. 421 224
      package-lock.json
  2. 5 3
      package.json
  3. 2 2
      src/adjuster/adjuster.directive.html
  4. 19 19
      src/app-js.ts
  5. 2 2
      src/app.component.ts
  6. 4 0
      src/custom.scss
  7. 3 1
      tsconfig.json
  8. 16 0
      webpack.common.js

+ 421 - 224
package-lock.json

@@ -5,39 +5,39 @@
   "requires": true,
   "dependencies": {
     "@angular/common": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.12.tgz",
-      "integrity": "sha512-XSIqkbM6VV1yixF9zuzeE5eqN1VsiXS517K2VU0XgCRSAzhVhLOeKsdYjeLf7PdSu/HgW/Tr81H+isi9A9I0YA=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.13.tgz",
+      "integrity": "sha512-QACUhJWlly/nfHUmjopVS1p6ayxxa/NqjyftdCeBJaoyM2YohqWixP/n/keu1K/srJ96aFpUNsZQgmgoRv5SOQ=="
     },
     "@angular/compiler": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.12.tgz",
-      "integrity": "sha512-suefk0OFkaJpUUKnV+phbL4T8fmVGHvzkereY5eqybQlumOez8NPL1PJcygAylh/E6OIAYm8SWookYwM6ZY9dg=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.13.tgz",
+      "integrity": "sha512-9MLB1Xx7odKuxDoybVwiOB1ZEUZpL8FurYm4RVuW39ntsUt0IMC9Hb8UagZLTAWhaWSHydkD/KBQVVobGqd0lA=="
     },
     "@angular/core": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.12.tgz",
-      "integrity": "sha512-WVA/eh3fzjx0apOzkKot4YRRUsGkHj50zFQWrAOMgivGaj1YVrvhf+m3hpglj5fn/BkLiFDl8RT0wAE8z9X+gQ=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.13.tgz",
+      "integrity": "sha512-mBm24Q9GjkAsxMAzqQ86U1078+yTEpr0+syMEruUtJ0HUH6Fzn3J+6xTLb+BVcGb9RkCkFaV9T5mcn6ZM0f++g=="
     },
     "@angular/forms": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.12.tgz",
-      "integrity": "sha512-LhjnZlC4WEsEsAJfOZLte+Lks3WBAFVeRv2lzoQNFVr/IMzBNDVfjEaaSqKF1cei3cjY39Df2nYDMJM7HfqbJA=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.13.tgz",
+      "integrity": "sha512-soGVZmPq2bzkxvtTyeJB8p3ejzm4xxt+43hJw6Ag8NxpwUFPVa30oJge3JV+u8Y4yBtl5SbOZ4bBX3EkMxLcGQ=="
     },
     "@angular/platform-browser": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.12.tgz",
-      "integrity": "sha512-rPa/hJcLfdId6bYB0b6pFUo3QIgjZlvUlmtKMGdrLNLYR8XQxPa2Y/UdN/5YeZ12htGw6GXrX9U8U7nTbUSpkw=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.13.tgz",
+      "integrity": "sha512-F3iTz1zNbtrs7KFKUxbj8qmTsd/fiuTNcpBExjE5TtatRiE6J8vNvN1+Z/1FgPe0UXBSdTzSwZ8/RxWKw20RMw=="
     },
     "@angular/platform-browser-dynamic": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.12.tgz",
-      "integrity": "sha512-NmwUZaQeMnA6f+vP9Fp9P+qjL72H8dKlxLS76ujlKHVf75pP5oahWS8wfl7KXel1tKW3FQWMMffmKf5/NHRiSw=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.13.tgz",
+      "integrity": "sha512-jCeHyAZ4Nap1/FOqAlKEg9UxQaSkHrxnQr6hYtWwC4ZDVUn3zLWQf6J+mbeYNOXN5yQxEiIqqhORYeOCLLqf1w=="
     },
     "@angular/upgrade": {
-      "version": "9.1.12",
-      "resolved": "https://registry.npmjs.org/@angular/upgrade/-/upgrade-9.1.12.tgz",
-      "integrity": "sha512-glIxlWo1z0tFWBTXNmw2hfv0c9kdxV6DTyzp1H6dMf+xZv+6eqVw6V3MyW+WoyibjF+jdNk9BHj5AEp38rVAUw=="
+      "version": "9.1.13",
+      "resolved": "https://registry.npmjs.org/@angular/upgrade/-/upgrade-9.1.13.tgz",
+      "integrity": "sha512-vNFB+T6gjsMhVqjOw1MvSwGlAggiSaVx5rStFnp3tm67niCIw44rB3TI0ZsyFimjWDLJfvscOeyjr2yF1s35Xw=="
     },
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -711,9 +711,9 @@
       "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ="
     },
     "@mapbox/mapbox-gl-style-spec": {
-      "version": "13.17.1",
-      "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.17.1.tgz",
-      "integrity": "sha512-8Z+53JP3TAUC2FihyCDNEiOkfSNnQH/iZ7Jkm02xRKdWeTWAKtmsyCcPn2HKXkundiaYvaZsbEd4AwvX3+MsrQ==",
+      "version": "13.19.0",
+      "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.19.0.tgz",
+      "integrity": "sha512-qA9P4WHU4a1iLKM/W2EIxCxcwlxa6isPF6P+jSPaIs4VlZKYO1DMVWNiY03SXu6a+K3dB3GEhRLvEh1f/8VG2w==",
       "requires": {
         "@mapbox/jsonlint-lines-primitives": "~2.0.2",
         "@mapbox/point-geometry": "^0.1.0",
@@ -756,9 +756,9 @@
       },
       "dependencies": {
         "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+          "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A=="
         }
       }
     },
@@ -1318,21 +1318,11 @@
       "resolved": "https://registry.npmjs.org/angular-aria/-/angular-aria-1.8.2.tgz",
       "integrity": "sha512-xWT1Lm+Xug2GM6nGNMioBP4hXt3sj2eGaExa4cVCZUYSVWezgyuD1RiLgzJzwTkBGYplHQUzQaz3yDY8jVI6yQ=="
     },
-    "angular-cookies": {
-      "version": "1.8.2",
-      "resolved": "https://registry.npmjs.org/angular-cookies/-/angular-cookies-1.8.2.tgz",
-      "integrity": "sha512-M6fCnsnw1pj1+nXuO28ilJ+h6pFCIXQKSEgy9/PIoN0sZr5FqsE9BK18PdBQa8dif+fnHCAYpPU8MgDzT/sZSg=="
-    },
     "angular-drag-and-drop-lists": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/angular-drag-and-drop-lists/-/angular-drag-and-drop-lists-2.1.0.tgz",
       "integrity": "sha1-2hDMhcgEJR+6qoTYN/c4D7DNeA8="
     },
-    "angular-gettext": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/angular-gettext/-/angular-gettext-2.4.1.tgz",
-      "integrity": "sha512-+Ba6mY5hPdka68rxLuXk7HCDFeiS6EIHFTKgTT0tTVtgap6gNdJzmydb8Niqs5aylf8U3B7+m1ETzppE/qtgKw=="
-    },
     "angular-lazy-image": {
       "version": "0.3.4",
       "resolved": "https://registry.npmjs.org/angular-lazy-image/-/angular-lazy-image-0.3.4.tgz",
@@ -1344,9 +1334,9 @@
       "integrity": "sha512-UyaVnPSGwZO4cG7zGYXnqHQ5emTDbl7TKAUA5+CDRS/c3d9pxtpHUlZH+jHvhgJAQyIkky4115L/R6bXJsf+EQ=="
     },
     "angular-material": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/angular-material/-/angular-material-1.2.1.tgz",
-      "integrity": "sha512-YEf+ah9Ja23Def06W2os3CFvvc6+IShIXJWEuo1kRsx+nnU58/5vlLO84jnVj0I7mwRexjpkMmyYBDKM7anb/g=="
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/angular-material/-/angular-material-1.2.2.tgz",
+      "integrity": "sha512-GtrBzYDg5zHYX/OUqxo72zb9bsY0RDuIA+4ZsZjuv1r+L4q9UAtkeIZzMXVGua6CCNgfB58cKep3TmxtAZhNwg=="
     },
     "angular-messages": {
       "version": "1.8.2",
@@ -2648,9 +2638,9 @@
       "dev": true
     },
     "bootstrap": {
-      "version": "4.5.3",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz",
-      "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ=="
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
+      "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw=="
     },
     "brace-expansion": {
       "version": "1.1.11",
@@ -2988,9 +2978,9 @@
       "dev": true
     },
     "cesium": {
-      "version": "1.75.0",
-      "resolved": "https://registry.npmjs.org/cesium/-/cesium-1.75.0.tgz",
-      "integrity": "sha512-CPf1XHkOBXeabRrZD/fDDGf5ajA+13eXv5GciDmKx151umL7WVnd8Pfgdz0dWcCBIMI7arSK7ZaVyQKMLdUZ+Q=="
+      "version": "1.78.0",
+      "resolved": "https://registry.npmjs.org/cesium/-/cesium-1.78.0.tgz",
+      "integrity": "sha512-ulEILDn0G2czV7CONX0IGMUqcaH3igBkZ/1pXBTQldANw9ntxaWjF3F6IzP1MOY2lZtvEdsroYB30ML9SDRSBg=="
     },
     "chalk": {
       "version": "2.4.2",
@@ -3496,6 +3486,11 @@
         "sha.js": "^2.4.8"
       }
     },
+    "create-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
+    },
     "cross-spawn": {
       "version": "6.0.5",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
@@ -3980,9 +3975,12 @@
       "dev": true
     },
     "d3-array": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.8.0.tgz",
-      "integrity": "sha512-6V272gsOeg7+9pTW1jSYOR1QE37g95I3my1hBmY+vOUNHRrk9yt4OTz/gK7PMkVAVDrYYq4mq3grTiZ8iJdNIw=="
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.11.0.tgz",
+      "integrity": "sha512-26clcwmHQEdsLv34oNKq5Ia9tQ26Y/4HqS3dQzF42QBUqymZJ+9PORcN1G52bt37NsL2ABoX4lvyYZc+A9Y0zw==",
+      "requires": {
+        "internmap": "^1.0.0"
+      }
     },
     "d3-color": {
       "version": "2.0.0",
@@ -4176,6 +4174,11 @@
       "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
       "dev": true
     },
+    "deepmerge": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+      "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
+    },
     "default-gateway": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
@@ -6390,11 +6393,6 @@
         "minimalistic-crypto-utils": "^1.0.1"
       }
     },
-    "hoek": {
-      "version": "6.1.3",
-      "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz",
-      "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ=="
-    },
     "home-or-tmp": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
@@ -6444,9 +6442,9 @@
       "dev": true
     },
     "hslayers-ng": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/hslayers-ng/-/hslayers-ng-2.4.1.tgz",
-      "integrity": "sha512-MViXsFZr7xSknfaNUbomjKsaPXmfm2UOIhawtSDfKDf6ZVRaI+3UZwC2Hky4k58c0tmvQlqMSS9Ssy1Alm+0hA==",
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/hslayers-ng/-/hslayers-ng-2.5.0.tgz",
+      "integrity": "sha512-3MaDKyOeJlx5o1PzEz6ZMrB0Mlcz3LqWyM/OVuuD/I6ikbctBWrOqE3qGdZleqmMdxZBwu3OhocvhOR29dNbUA==",
       "requires": {
         "@angular/common": "^9.1.12",
         "@angular/compiler": "^9.1.12",
@@ -6462,9 +6460,7 @@
         "angular": "^1.7.9",
         "angular-animate": "^1.7.9",
         "angular-aria": "^1.7.9",
-        "angular-cookies": "^1.7.9",
         "angular-drag-and-drop-lists": ">=2.1.0",
-        "angular-gettext": "2.4.x",
         "angular-lazy-image": "^0.3.4",
         "angular-loader": "1.8.x",
         "angular-material": "^1.1.21",
@@ -6478,24 +6474,19 @@
         "cesium": "^1.71.0",
         "clipboard": "^2.0.4",
         "cors-anywhere": "^0.4.1",
+        "deepmerge": "^4.2.2",
         "dynamic-pub-path-plugin": "0.0.4",
         "gyronorm": "^2.0.6",
         "hammerjs": "^2.0.8",
-        "hoek": "6.1.3",
-        "html5-boilerplate-npm": "^4.1.0",
-        "jquery": "^3.4.1",
-        "js-cookie": "2.2.1",
         "karma-webpack": "^4.0.2",
         "md-color-picker": "^0.2.6",
         "moment": "^2.24.0",
         "moment-interval": "^0.2.1",
-        "ng-focus-if": "^1.0.7",
         "ngclipboard": "^2.0.0",
         "ngma": "^1.0.6",
         "ngx-cookie-service": "^10.0.1",
         "ol": "^6.3.1",
         "ol-popup": "^4.0.0",
-        "ol-popup-umd": "^1.3.1",
         "proj4": "^2.6.0",
         "reflect-metadata": "^0.1.13",
         "rxjs": "^6.5.5",
@@ -6503,8 +6494,9 @@
         "tinycolor2": "^1.4.1",
         "ttf2eot": "^2.0.0",
         "unidecode": "^0.1.8",
-        "vega": "5.15.0",
-        "vega-embed": "6.12.2",
+        "vega": "5.17.0",
+        "vega-embed": "6.14.0",
+        "xml-js": "^1.6.11",
         "zone.js": "^0.10.3"
       }
     },
@@ -6698,11 +6690,6 @@
         "util.promisify": "1.0.0"
       }
     },
-    "html5-boilerplate-npm": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/html5-boilerplate-npm/-/html5-boilerplate-npm-4.1.0.tgz",
-      "integrity": "sha1-iDBXNEv6KoNzg425+U6tpkLrWvU="
-    },
     "htmlparser2": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
@@ -7043,6 +7030,11 @@
         "ipaddr.js": "^1.9.0"
       }
     },
+    "internmap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.0.tgz",
+      "integrity": "sha512-SdoDWwNOTE2n4JWUsLn4KXZGuZPjPF9yyOGc8bnfWnBQh7BD/l80rzSznKc/r4Y0aQ7z3RTk9X+tV4tHBpu+dA=="
+    },
     "interpret": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
@@ -7371,16 +7363,6 @@
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
       "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
     },
-    "jquery": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
-      "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
-    },
-    "js-cookie": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
-      "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
-    },
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -7475,6 +7457,12 @@
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
     },
+    "klona": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
+      "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==",
+      "dev": true
+    },
     "last-call-webpack-plugin": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
@@ -8186,11 +8174,6 @@
         "loader-utils": "^1.1.0"
       }
     },
-    "ng-focus-if": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/ng-focus-if/-/ng-focus-if-1.0.7.tgz",
-      "integrity": "sha1-eZRf1LbJfzKa7I+nykP/pFbkm8c="
-    },
     "ngclipboard": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ngclipboard/-/ngclipboard-2.0.0.tgz",
@@ -8229,9 +8212,9 @@
       },
       "dependencies": {
         "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+          "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A=="
         }
       }
     },
@@ -8526,9 +8509,9 @@
       "dev": true
     },
     "ol": {
-      "version": "6.4.3",
-      "resolved": "https://registry.npmjs.org/ol/-/ol-6.4.3.tgz",
-      "integrity": "sha512-JcoZ/VJE9cUoxfhpa2EFYH0AHFYty1x47aITsQgLkyvWIWWigWp1N9LBcCSlCuu2QkE+DutomI2oKfnFbQA/xw==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/ol/-/ol-6.5.0.tgz",
+      "integrity": "sha512-a5ebahrjF5yCPFle1rc0aHzKp/9A4LlUnjh+S3I+x4EgcvcddDhpOX3WDOs0Pg9/wEElrikHSGEvbeej2Hh4Ug==",
       "requires": {
         "ol-mapbox-style": "^6.1.1",
         "pbf": "3.2.1",
@@ -8536,9 +8519,9 @@
       }
     },
     "ol-mapbox-style": {
-      "version": "6.1.4",
-      "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-6.1.4.tgz",
-      "integrity": "sha512-XyOk6oGTGtFnj6gRvMwdKZft9s1QeSh9toQRGT7vFr8fS9yV8fSVJnrdmicGTYDYkUVmL+B3Sebi2jc1oEdouQ==",
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-6.3.1.tgz",
+      "integrity": "sha512-hZsvPVkk1Y+qmifxRX/gCaZJ5Mo04vWj6lbFhXpHDloQquHD3kTY0q8o3xbg4FehucuG7HyQteKWeFJRh3FMww==",
       "requires": {
         "@mapbox/mapbox-gl-style-spec": "^13.14.0",
         "mapbox-to-css-font": "^2.4.0",
@@ -8550,11 +8533,6 @@
       "resolved": "https://registry.npmjs.org/ol-popup/-/ol-popup-4.0.0.tgz",
       "integrity": "sha512-4EMI7+QOAHcPI4RSc2XqEOHgl6922zmk4D1nwuJZsMn3o1qH2IsZg6JggXL+Bm2JmbTQl4dPoZaUZaqSKpm6mw=="
     },
-    "ol-popup-umd": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/ol-popup-umd/-/ol-popup-umd-1.3.1.tgz",
-      "integrity": "sha1-SLRtRXt+0p5ONa6++LXfWU4DQwc="
-    },
     "on-finished": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -10485,9 +10463,9 @@
       "dev": true
     },
     "proj4": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.6.2.tgz",
-      "integrity": "sha512-Pn0+HZtXb4JzuN8RR0VM7yyseegiYHbXkF+2FOdGpzRojcZ1BTjWxOh7qfp2vH0EyLu8pvcrhLxidwzgyUy/Gw==",
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.7.0.tgz",
+      "integrity": "sha512-UVhulf8m70/dREOBrJagWq8cDYUgjQUWILRqys/gqo/+ZLeNB/04zbtPhJbz8+cCPzZNQMychfBaWUCP60U9mQ==",
       "requires": {
         "mgrs": "1.0.0",
         "wkt-parser": "^1.2.4"
@@ -10509,9 +10487,9 @@
       }
     },
     "protocol-buffers-schema": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.4.0.tgz",
-      "integrity": "sha512-G/2kcamPF2S49W5yaMGdIpkG6+5wZF0fzBteLKgEHjbNzqjZQ85aAs1iJGto31EJaSTkNvHs5IXuHSaTLWBAiA=="
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.1.tgz",
+      "integrity": "sha512-YVCvdhxWNDP8/nJDyXLuM+UFsuPk4+1PB7WGPVDzm3HTHbzFLxQYeW2iZpS4mmnXrQJGBzt230t/BbEb7PrQaw=="
     },
     "proxy-addr": {
       "version": "2.0.6",
@@ -11227,11 +11205,137 @@
       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
+    "sass": {
+      "version": "1.32.7",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.7.tgz",
+      "integrity": "sha512-C8Z4bjqGWnsYa11o8hpKAuoyFdRhrSHcYjCr+XAWVPSIQqC8mp2f5Dx4em0dKYehPzg5XSekmCjqJnEZbIls9A==",
+      "dev": true,
+      "requires": {
+        "chokidar": ">=2.0.0 <4.0.0"
+      }
+    },
+    "sass-loader": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz",
+      "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==",
+      "dev": true,
+      "requires": {
+        "klona": "^2.0.4",
+        "loader-utils": "^2.0.0",
+        "neo-async": "^2.6.2",
+        "schema-utils": "^3.0.0",
+        "semver": "^7.3.2"
+      },
+      "dependencies": {
+        "@types/json-schema": {
+          "version": "7.0.7",
+          "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+          "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
+          "dev": true
+        },
+        "ajv": {
+          "version": "6.12.6",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "3.5.2",
+          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+          "dev": true
+        },
+        "emojis-list": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+          "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+          "dev": true
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "json5": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
+          "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "loader-utils": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+          "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
+        "lru-cache": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+          "dev": true,
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
+        "neo-async": {
+          "version": "2.6.2",
+          "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+          "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
+          "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.6",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "semver": {
+          "version": "7.3.4",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+          "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        },
+        "yallist": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+          "dev": true
+        }
+      }
+    },
     "sax": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
-      "dev": true
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
     },
     "schema-utils": {
       "version": "1.0.0",
@@ -12592,9 +12696,9 @@
       }
     },
     "ts-node-dev": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.0.0.tgz",
-      "integrity": "sha512-leA/3TgGtnVU77fGngBwVZztqyDRXirytR7dMtMWZS5b2hGpLl+VDnB0F/gf3A+HEPSzS/KwxgXFP7/LtgX4MQ==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.1.1.tgz",
+      "integrity": "sha512-kAO8LUZgXZSY0+PucMPsQ0Bbdv0x+lgbN7j8gcD4PuTI4uKC6YchekaspmYTBNilkiu+rQYkWJA7cK+Q8/B0tQ==",
       "requires": {
         "chokidar": "^3.4.0",
         "dateformat": "~1.0.4-1.2.3",
@@ -12619,9 +12723,9 @@
           }
         },
         "binary-extensions": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
-          "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ=="
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+          "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
         },
         "braces": {
           "version": "3.0.2",
@@ -12632,13 +12736,13 @@
           }
         },
         "chokidar": {
-          "version": "3.4.3",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
-          "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
+          "version": "3.5.1",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
+          "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
           "requires": {
             "anymatch": "~3.1.1",
             "braces": "~3.0.2",
-            "fsevents": "~2.1.2",
+            "fsevents": "~2.3.1",
             "glob-parent": "~5.1.0",
             "is-binary-path": "~2.1.0",
             "is-glob": "~4.0.1",
@@ -12660,9 +12764,9 @@
           }
         },
         "fsevents": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
-          "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+          "version": "2.3.2",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+          "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
           "optional": true
         },
         "glob-parent": {
@@ -12713,11 +12817,12 @@
           }
         },
         "ts-node": {
-          "version": "9.0.0",
-          "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.0.0.tgz",
-          "integrity": "sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==",
+          "version": "9.1.1",
+          "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
+          "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
           "requires": {
             "arg": "^4.1.0",
+            "create-require": "^1.1.0",
             "diff": "^4.0.1",
             "make-error": "^1.1.1",
             "source-map-support": "^0.5.17",
@@ -13198,36 +13303,37 @@
       "dev": true
     },
     "vega": {
-      "version": "5.15.0",
-      "resolved": "https://registry.npmjs.org/vega/-/vega-5.15.0.tgz",
-      "integrity": "sha512-uygUtkZJm3/HNvNGLQSugZld4qvaiOMtH34tOGuS/MSGj7MaP0CLoFrthlas30lyMPQ42UfzX8tk5X+I91dFKQ==",
-      "requires": {
-        "vega-crossfilter": "~4.0.4",
-        "vega-dataflow": "~5.7.2",
-        "vega-encode": "~4.8.2",
-        "vega-event-selector": "~2.0.5",
-        "vega-expression": "~2.7.0",
-        "vega-force": "~4.0.6",
-        "vega-format": "~1.0.3",
-        "vega-functions": "~5.7.3",
-        "vega-geo": "~4.3.6",
-        "vega-hierarchy": "~4.0.8",
-        "vega-loader": "~4.3.2",
-        "vega-parser": "~6.0.3",
-        "vega-projection": "~1.4.4",
-        "vega-regression": "~1.0.8",
-        "vega-runtime": "~6.1.2",
-        "vega-scale": "~7.1.0",
-        "vega-scenegraph": "~4.9.1",
-        "vega-statistics": "~1.7.8",
-        "vega-time": "~2.0.3",
-        "vega-transforms": "~4.9.2",
-        "vega-typings": "~0.18.2",
-        "vega-util": "~1.15.1",
-        "vega-view": "~5.8.2",
-        "vega-view-transforms": "~4.5.7",
-        "vega-voronoi": "~4.1.4",
-        "vega-wordcloud": "~4.1.2"
+      "version": "5.17.0",
+      "resolved": "https://registry.npmjs.org/vega/-/vega-5.17.0.tgz",
+      "integrity": "sha512-2Rm9aS3cSMXE55YgjfkuOmvSBMtiM/85/qX/WHLc+YiJacKGiwY9yzeC+w2Ft50JUs3nKZc1KB90ePgf5mfo0Q==",
+      "requires": {
+        "vega-crossfilter": "~4.0.5",
+        "vega-dataflow": "~5.7.3",
+        "vega-encode": "~4.8.3",
+        "vega-event-selector": "~2.0.6",
+        "vega-expression": "~3.0.0",
+        "vega-force": "~4.0.7",
+        "vega-format": "~1.0.4",
+        "vega-functions": "~5.8.0",
+        "vega-geo": "~4.3.7",
+        "vega-hierarchy": "~4.0.9",
+        "vega-label": "~1.0.0",
+        "vega-loader": "~4.4.0",
+        "vega-parser": "~6.1.0",
+        "vega-projection": "~1.4.5",
+        "vega-regression": "~1.0.9",
+        "vega-runtime": "~6.1.3",
+        "vega-scale": "~7.1.1",
+        "vega-scenegraph": "~4.9.2",
+        "vega-statistics": "~1.7.9",
+        "vega-time": "~2.0.4",
+        "vega-transforms": "~4.9.3",
+        "vega-typings": "~0.19.0",
+        "vega-util": "~1.16.0",
+        "vega-view": "~5.9.0",
+        "vega-view-transforms": "~4.5.8",
+        "vega-voronoi": "~4.1.5",
+        "vega-wordcloud": "~4.1.3"
       }
     },
     "vega-canvas": {
@@ -13256,22 +13362,38 @@
       }
     },
     "vega-embed": {
-      "version": "6.12.2",
-      "resolved": "https://registry.npmjs.org/vega-embed/-/vega-embed-6.12.2.tgz",
-      "integrity": "sha512-oYRnadLq9PgKL6I5uVTa4hiEXujv8EYqhy2eb9Afb5GrdHNOHsWOVIyiin0gSYa16hLM/Av0uRcsJdDk8vi9vA==",
+      "version": "6.14.0",
+      "resolved": "https://registry.npmjs.org/vega-embed/-/vega-embed-6.14.0.tgz",
+      "integrity": "sha512-s6vWWK+A7ejLX37o3e8s7gSXJJwlCAMDH1l2SyQHYLQvYGFDUIFmkagqim3LRvP7sKtTGapTLuFxAEgnjXeybQ==",
       "requires": {
         "fast-json-patch": "^3.0.0-1",
         "json-stringify-pretty-compact": "^2.0.0",
-        "semver": "^7.3.2",
+        "semver": "^7.3.4",
         "vega-schema-url-parser": "^2.1.0",
-        "vega-themes": "^2.9.0",
-        "vega-tooltip": "^0.24.0"
+        "vega-themes": "^2.9.1",
+        "vega-tooltip": "^0.24.2"
       },
       "dependencies": {
+        "lru-cache": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+          "requires": {
+            "yallist": "^4.0.0"
+          }
+        },
         "semver": {
-          "version": "7.3.2",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
-          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
+          "version": "7.3.4",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+          "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+          "requires": {
+            "lru-cache": "^6.0.0"
+          }
+        },
+        "yallist": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
         }
       }
     },
@@ -13293,11 +13415,11 @@
       "integrity": "sha512-UwCu50Sqd8kNZ1X/XgiAY+QAyQUmGFAwyDu7y0T5fs6/TPQnDo/Bo346NgSgINBEhEKOAMY1Nd/rPOk4UEm/ew=="
     },
     "vega-expression": {
-      "version": "2.7.0",
-      "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-2.7.0.tgz",
-      "integrity": "sha512-fMnHtcFfVAxuwjsKGh0qqP8OJNVABGIg0aSp33Jxh1D86LwDwaRe+EtwF1fv8YKD2AEiBl4UObC68QMT56MekQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-3.0.1.tgz",
+      "integrity": "sha512-+UwOFEkBnAWo8Zud6i8O4Pd2W6QqmPUOaAhjNtj0OxRL+d+Duoy7M4edUDZ+YuoUcMnjjBFfDQu7oRAA1fIMEQ==",
       "requires": {
-        "vega-util": "^1.15.1"
+        "vega-util": "^1.15.2"
       }
     },
     "vega-force": {
@@ -13323,27 +13445,27 @@
       }
     },
     "vega-functions": {
-      "version": "5.7.3",
-      "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.7.3.tgz",
-      "integrity": "sha512-9X9bKhKZvglfRaFIDg2yRyBzayabsQHRAyVk0bJBU04mgfj6myKRhO6JF4av+LgNHyJFsOPeJxkiOYZ3x6Z6rg==",
+      "version": "5.8.0",
+      "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.8.0.tgz",
+      "integrity": "sha512-xaUqWZHEX+EuJuKfN0Biux3rrCHDEHmMbW7LHYyyEqguR0i6+zhtOSUEWmYqDfzB/+BlIwCk5Vif6q6/mzJxbQ==",
       "requires": {
-        "d3-array": "^2.7.0",
+        "d3-array": "^2.7.1",
         "d3-color": "^2.0.0",
         "d3-geo": "^2.0.1",
-        "vega-dataflow": "^5.7.2",
-        "vega-expression": "^2.7.0",
-        "vega-scale": "^7.1.0",
-        "vega-scenegraph": "^4.9.1",
-        "vega-selections": "^5.1.3",
-        "vega-statistics": "^1.7.8",
-        "vega-time": "^2.0.3",
-        "vega-util": "^1.15.1"
+        "vega-dataflow": "^5.7.3",
+        "vega-expression": "^3.0.0",
+        "vega-scale": "^7.1.1",
+        "vega-scenegraph": "^4.9.2",
+        "vega-selections": "^5.1.4",
+        "vega-statistics": "^1.7.9",
+        "vega-time": "^2.0.4",
+        "vega-util": "^1.15.2"
       }
     },
     "vega-geo": {
-      "version": "4.3.7",
-      "resolved": "https://registry.npmjs.org/vega-geo/-/vega-geo-4.3.7.tgz",
-      "integrity": "sha512-5HC1D9Z/WYuM1Gmlk8PxuRKgeN8snNWsfKO4E9PTmR7wo7tuU/2SGlRoE27aTsgwMMpBIrpRbSgKtgh5l/fMUQ==",
+      "version": "4.3.8",
+      "resolved": "https://registry.npmjs.org/vega-geo/-/vega-geo-4.3.8.tgz",
+      "integrity": "sha512-fsGxV96Q/QRgPqOPtMBZdI+DneIiROKTG3YDZvGn0EdV16OG5LzFhbNgLT5GPzI+kTwgLpAsucBHklexlB4kfg==",
       "requires": {
         "d3-array": "^2.7.1",
         "d3-color": "^2.0.0",
@@ -13365,28 +13487,67 @@
         "vega-util": "^1.15.2"
       }
     },
+    "vega-label": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/vega-label/-/vega-label-1.0.0.tgz",
+      "integrity": "sha512-hCdm2pcHgkKgxnzW9GvX5JmYNiUMlOXOibtMmBzvFBQHX3NiV9giQ5nsPiQiFbV08VxEPtM+VYXr2HyrIcq5zQ==",
+      "requires": {
+        "vega-canvas": "^1.2.5",
+        "vega-dataflow": "^5.7.3",
+        "vega-scenegraph": "^4.9.2",
+        "vega-util": "^1.15.2"
+      }
+    },
     "vega-loader": {
-      "version": "4.3.3",
-      "resolved": "https://registry.npmjs.org/vega-loader/-/vega-loader-4.3.3.tgz",
-      "integrity": "sha512-ZcAMi6C7yfbA3gpxDnFe3PvsP/jcDwUjgPIpZ2IYsaQS+JijZAj5g3i4mpQCao0Atc+C/g7htg0Ir3twFLPjkQ==",
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/vega-loader/-/vega-loader-4.4.0.tgz",
+      "integrity": "sha512-e5enQECdau7rJob0NFB5pGumh3RaaSWWm90+boxMy3ay2b4Ki/3XIvo+C4F1Lx04qSxvQF7tO2LJcklRm6nqRA==",
       "requires": {
         "d3-dsv": "^2.0.0",
         "node-fetch": "^2.6.1",
         "topojson-client": "^3.1.0",
         "vega-format": "^1.0.4",
-        "vega-util": "^1.15.2"
+        "vega-util": "^1.16.0"
       }
     },
     "vega-parser": {
-      "version": "6.0.4",
-      "resolved": "https://registry.npmjs.org/vega-parser/-/vega-parser-6.0.4.tgz",
-      "integrity": "sha512-AxFvM0JgS/hyqlIdcN1B74PRO5cpU9SRRh8wBfirHRkFWPxqfP2EeFmQxisGV5wSqAUVTqqqk0suWQuU3YHPcQ==",
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/vega-parser/-/vega-parser-6.1.3.tgz",
+      "integrity": "sha512-8oiVhhW26GQ4GZBvolId8FVFvhn3s1KGgPlD7Z+4P2wkV+xe5Nqu0TEJ20F/cn3b88fd0Vj48X3BH3dlSeKNFg==",
       "requires": {
-        "vega-dataflow": "^5.7.2",
-        "vega-event-selector": "^2.0.5",
-        "vega-functions": "^5.7.2",
-        "vega-scale": "^7.1.0",
-        "vega-util": "^1.15.1"
+        "vega-dataflow": "^5.7.3",
+        "vega-event-selector": "^2.0.6",
+        "vega-functions": "^5.12.0",
+        "vega-scale": "^7.1.1",
+        "vega-util": "^1.16.0"
+      },
+      "dependencies": {
+        "vega-expression": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-4.0.1.tgz",
+          "integrity": "sha512-ZrDj0hP8NmrCpdLFf7Rd/xMUHGoSYsAOTaYp7uXZ2dkEH5x0uPy5laECMc8TiQvL8W+8IrN2HAWCMRthTSRe2Q==",
+          "requires": {
+            "vega-util": "^1.16.0"
+          }
+        },
+        "vega-functions": {
+          "version": "5.12.0",
+          "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.12.0.tgz",
+          "integrity": "sha512-3hljmGs+gR7TbO/yYuvAP9P5laKISf1GKk4yRHLNdM61fWgKm8pI3f6LY2Hvq9cHQFTiJ3/5/Bx2p1SX5R4quQ==",
+          "requires": {
+            "d3-array": "^2.7.1",
+            "d3-color": "^2.0.0",
+            "d3-geo": "^2.0.1",
+            "vega-dataflow": "^5.7.3",
+            "vega-expression": "^4.0.1",
+            "vega-scale": "^7.1.1",
+            "vega-scenegraph": "^4.9.3",
+            "vega-selections": "^5.3.0",
+            "vega-statistics": "^1.7.9",
+            "vega-time": "^2.0.4",
+            "vega-util": "^1.16.0"
+          }
+        }
       }
     },
     "vega-projection": {
@@ -13431,9 +13592,9 @@
       }
     },
     "vega-scenegraph": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.9.2.tgz",
-      "integrity": "sha512-epm1CxcB8AucXQlSDeFnmzy0FCj+HV2k9R6ch2lfLRln5lPLEfgJWgFcFhVf5jyheY0FSeHH52Q5zQn1vYI1Ow==",
+      "version": "4.9.3",
+      "resolved": "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.9.3.tgz",
+      "integrity": "sha512-lBvqLbXqrqRCTGJmSgzZC/tLR/o+TXfakbdhDzNdpgTavTaQ65S/67Gpj5hPpi77DvsfZUIY9lCEeO37aJhy0Q==",
       "requires": {
         "d3-path": "^2.0.0",
         "d3-shape": "^2.0.0",
@@ -13449,20 +13610,20 @@
       "integrity": "sha512-JHT1PfOyVzOohj89uNunLPirs05Nf59isPT5gnwIkJph96rRgTIBJE7l7yLqndd7fLjr3P8JXHGAryRp74sCaQ=="
     },
     "vega-selections": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/vega-selections/-/vega-selections-5.1.4.tgz",
-      "integrity": "sha512-L7CHwcIjVf90GoW2tS2x5O496O5Joaerp5A1KM6VJ1uo4z6KfqxY6M/328a/uaAs0LC5qbQgXT3htFbtUrPW/A==",
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/vega-selections/-/vega-selections-5.3.0.tgz",
+      "integrity": "sha512-vC4NPsuN+IffruFXfH0L3i2A51RgG4PqpLv85TvrEAIYnSkyKDE4bf+wVraR3aPdnLLkc3+tYuMi6le5FmThIA==",
       "requires": {
-        "vega-expression": "^3.0.0",
-        "vega-util": "^1.15.2"
+        "vega-expression": "^4.0.1",
+        "vega-util": "^1.16.0"
       },
       "dependencies": {
         "vega-expression": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-3.0.0.tgz",
-          "integrity": "sha512-/ObjIOK94MB+ziTuh8HZt2eWlKUPT/piRJLal5tx5QL1sQbfRi++7lHKTaKMLXLqc4Xqp9/DewE3PqQ6tYzaUA==",
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-4.0.1.tgz",
+          "integrity": "sha512-ZrDj0hP8NmrCpdLFf7Rd/xMUHGoSYsAOTaYp7uXZ2dkEH5x0uPy5laECMc8TiQvL8W+8IrN2HAWCMRthTSRe2Q==",
           "requires": {
-            "vega-util": "^1.15.2"
+            "vega-util": "^1.16.0"
           }
         }
       }
@@ -13511,31 +13672,59 @@
       }
     },
     "vega-typings": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/vega-typings/-/vega-typings-0.18.2.tgz",
-      "integrity": "sha512-t7PAmcqPUmSV44l2NVJOoblhomPlgjO7rxAUs/HXnmyVbGHI+6ulUPjGBWWZU1ebu09T+SYazAwjr6lAd2CHgQ==",
+      "version": "0.19.2",
+      "resolved": "https://registry.npmjs.org/vega-typings/-/vega-typings-0.19.2.tgz",
+      "integrity": "sha512-YU/S9rDk4d+t4+4eTa9fzuw87PMNteeVtpcL51kUO8H7HvGaoW7ll8RHKLkR0NYBEGPRoFDKUxnoyMvhgjsdYw==",
       "requires": {
-        "vega-util": "^1.15.1"
+        "vega-util": "^1.15.2"
       }
     },
     "vega-util": {
-      "version": "1.15.3",
-      "resolved": "https://registry.npmjs.org/vega-util/-/vega-util-1.15.3.tgz",
-      "integrity": "sha512-NCbfCPMVgdP4geLrFtCDN9PTEXrgZgJBBLvpyos7HGv2xSe9bGjDCysv6qcueHrc1myEeCQzrHDFaShny6wXDg=="
+      "version": "1.16.0",
+      "resolved": "https://registry.npmjs.org/vega-util/-/vega-util-1.16.0.tgz",
+      "integrity": "sha512-6mmz6mI+oU4zDMeKjgvE2Fjz0Oh6zo6WGATcvCfxH2gXBzhBHmy5d25uW5Zjnkc6QBXSWPLV9Xa6SiqMsrsKog=="
     },
     "vega-view": {
-      "version": "5.8.2",
-      "resolved": "https://registry.npmjs.org/vega-view/-/vega-view-5.8.2.tgz",
-      "integrity": "sha512-d+u5FGs3t7LUVRoGimvroHkbO2orrtJMUt2P8UVu4alMdDcgZUSmwOZWc/gMkBGlWD8P9q7832xTWdJ3gSXL4A==",
+      "version": "5.9.2",
+      "resolved": "https://registry.npmjs.org/vega-view/-/vega-view-5.9.2.tgz",
+      "integrity": "sha512-XAwKWyVjLClR3aCbTLCWdZj7aZozOULNg7078GxJIgVcBJOENCAidceI/H7JieyUZ96p3AiEHLQdWr167InBpg==",
       "requires": {
-        "d3-array": "^2.7.0",
+        "d3-array": "^2.7.1",
         "d3-timer": "^2.0.0",
-        "vega-dataflow": "^5.7.2",
-        "vega-format": "^1.0.3",
-        "vega-functions": "^5.7.3",
-        "vega-runtime": "^6.1.2",
-        "vega-scenegraph": "^4.9.1",
-        "vega-util": "^1.15.1"
+        "vega-dataflow": "^5.7.3",
+        "vega-format": "^1.0.4",
+        "vega-functions": "^5.10.0",
+        "vega-runtime": "^6.1.3",
+        "vega-scenegraph": "^4.9.2",
+        "vega-util": "^1.15.2"
+      },
+      "dependencies": {
+        "vega-expression": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-4.0.1.tgz",
+          "integrity": "sha512-ZrDj0hP8NmrCpdLFf7Rd/xMUHGoSYsAOTaYp7uXZ2dkEH5x0uPy5laECMc8TiQvL8W+8IrN2HAWCMRthTSRe2Q==",
+          "requires": {
+            "vega-util": "^1.16.0"
+          }
+        },
+        "vega-functions": {
+          "version": "5.12.0",
+          "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.12.0.tgz",
+          "integrity": "sha512-3hljmGs+gR7TbO/yYuvAP9P5laKISf1GKk4yRHLNdM61fWgKm8pI3f6LY2Hvq9cHQFTiJ3/5/Bx2p1SX5R4quQ==",
+          "requires": {
+            "d3-array": "^2.7.1",
+            "d3-color": "^2.0.0",
+            "d3-geo": "^2.0.1",
+            "vega-dataflow": "^5.7.3",
+            "vega-expression": "^4.0.1",
+            "vega-scale": "^7.1.1",
+            "vega-scenegraph": "^4.9.3",
+            "vega-selections": "^5.3.0",
+            "vega-statistics": "^1.7.9",
+            "vega-time": "^2.0.4",
+            "vega-util": "^1.16.0"
+          }
+        }
       }
     },
     "vega-view-transforms": {
@@ -14135,6 +14324,14 @@
         "async-limiter": "~1.0.0"
       }
     },
+    "xml-js": {
+      "version": "1.6.11",
+      "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz",
+      "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==",
+      "requires": {
+        "sax": "^1.2.4"
+      }
+    },
     "xtend": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",

+ 5 - 3
package.json

@@ -5,8 +5,8 @@
   "main": "build/index.html",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
-    "build": "node node_modules/hslayers-ng/scripts/bootstrap-isolate.js && webpack --config ./webpack.prod.js --progress",
-    "build-dev": "node node_modules/hslayers-ng/scripts/bootstrap-isolate.js && webpack --config ./webpack.dev.js --progress",
+    "build": "webpack --config ./webpack.prod.js --progress",
+    "build-dev": "webpack --config ./webpack.dev.js --progress",
     "start": "http-server ./build -p 8080",
     "start-dev": "webpack-dev-server --config ./webpack.dev.js --watch"
   },
@@ -25,7 +25,7 @@
   "license": "MIT",
   "dependencies": {
     "csvtojson": "^2.0.10",
-    "hslayers-ng": "^2.4.1",
+    "hslayers-ng": "^2.5.0",
     "hsv2rgb": "^1.1.0",
     "http-server": "^0.12.3"
   },
@@ -54,6 +54,8 @@
     "optimize-css-assets-webpack-plugin": "^5.0.4",
     "postcss": "^8.1.1",
     "postcss-prefix-selector": "^1.7.1",
+    "sass": "^1.32.7",
+    "sass-loader": "^10.1.1",
     "style-loader": "^1.3.0",
     "ts-loader": "^8.0.3",
     "typescript": "^4.0.2",

+ 2 - 2
src/adjuster/adjuster.directive.html

@@ -10,7 +10,7 @@
     </div>
     <div class="p-2 center-block">
       <div class="pt-2 text-secondary">Number of clusters to create: {{adjusterService.numberOfClusters}}</div>
-      <input type="range" class="custom-range" [(ngModel)]="adjusterService.numberOfClusters" min="5" max="15" step="1">
+      <input type="range" class="form-range" [(ngModel)]="adjusterService.numberOfClusters" min="5" max="15" step="1">
     </div>
     <div *ngFor="let factor of adjusterService.factors; let datasetlistVisible = false">
       <div class="d-flex flex-row">
@@ -22,7 +22,7 @@
         </div>
         <div class="p-2">{{(factor.weight * 100).toFixed(0)}}&nbsp;%</div>
       </div>
-      <input type="range" class="custom-range" [(ngModel)]="factor.weight" min="0" max="1.0" step="0.05">
+      <input type="range" class="form-range" [(ngModel)]="factor.weight" min="0" max="1.0" step="0.05">
       <div [hidden]="!datasetlistVisible">
         <div *ngFor="let dataset of factor.datasets; let descriptionVisible = false">
           <button type="button" class="btn btn-sm btn-light hs-lm-item-visibility"

+ 19 - 19
src/app-js.ts

@@ -1,7 +1,7 @@
 'use strict';
-import 'hslayers-ng/components/add-layers/add-layers.module';
-//import 'hslayers-ng/components/core';
-import 'hslayers-ng/components/datasource-selector/datasource-selector.module';
+//import 'hslayers-ng/components/add-layers/add-layers.module';
+import 'hslayers-ng/components/core';
+//import 'hslayers-ng/components/datasource-selector/datasource-selector.module';
 //import 'hslayers-ng/components/draw';
 //import 'hslayers-ng/components/info/info.module';
 //import 'hslayers-ng/components/legend';
@@ -15,7 +15,7 @@ import 'hslayers-ng/components/datasource-selector/datasource-selector.module';
 //import 'hslayers-ng/components/toolbar';
 // hslayers-ng components must be loaded first, otherwise angular will be undefined
 // eslint-disable-next-line sort-imports-es6-autofix/sort-imports-es6
-import './app.css';
+//import './app.css';
 import * as angular from 'angular';
 import {downgradeInjectable} from '@angular/upgrade/static';
 
@@ -33,22 +33,22 @@ import {HsComponent} from './app.component';
 export default angular
   .module('hs', [
     //downgradedModule,
-    'hs.addLayers',
+    //'hs.addLayers',
     'hs.core',
-    'hs.datasource_selector',
-    'hs.geolocation',
-    'hs.info',
-    'hs.layermanager',
-    'hs.map',
-    'hs.measure',
-    'hs.permalink',
-    'hs.print',
-    'hs.query',
-    'hs.save-map',
-    'hs.search',
-    'hs.sidebar',
-    'hs.toolbar',
-    'gettext',
+    //'hs.datasource_selector',
+    //'hs.geolocation',
+    //'hs.info',
+    //'hs.layermanager',
+    //'hs.map',
+    //'hs.measure',
+    //'hs.permalink',
+    //'hs.print',
+    //'hs.query',
+    //'hs.save-map',
+    //'hs.search',
+    //'hs.sidebar',
+    //'hs.toolbar',
+    //'gettext',
     'pra.adjuster',
   ])
   .value('HsConfig', AppConfig)

+ 2 - 2
src/app.component.ts

@@ -10,10 +10,10 @@ export const HsComponent = {
     panelVisible;
     PraAdjusterService;
     constructor(
-      gettext,
+      //gettext,
       HsCore,
       HsLayoutService,
-      HsSidebarService,
+      //HsSidebarService,
       AdjusterService,
       AppService
     ) {

+ 4 - 0
src/app.css → src/custom.scss

@@ -9,6 +9,8 @@ html, body {
   padding: 0;
 }
 
+.hsl {
+
 .cursor-pointer {
   cursor: pointer;
 }
@@ -43,3 +45,5 @@ html, body {
   text-align: center;
   margin-bottom: 1em;
 }
+
+}

+ 3 - 1
tsconfig.json

@@ -5,6 +5,8 @@
         "target": "es5",
         "emitDecoratorMetadata": true,
         "lib": ["esnext", "dom"],
-        "sourceMap": true
+        "sourceMap": true,
+        "esModuleInterop": true,
+        "resolveJsonModule": true,
     }
 }

+ 16 - 0
webpack.common.js

@@ -9,6 +9,7 @@
  * - Allow to automatically generates the dependencies injection for angularJS components annotated with
  *   `'ngInject';` or `@ngInject` in comments. See https://docs.angularjs.org/guide/di
  */
+const fs = require('fs');
 const path = require('path');
 const {CleanWebpackPlugin} = require('clean-webpack-plugin');
 const HtmlWebpackPlugin = require('html-webpack-plugin');
@@ -71,6 +72,21 @@ module.exports = {
           },
         ],
       },
+      {
+        test: /\.scss$/,
+        use: [
+          'style-loader',
+          'css-loader',
+          {
+            loader: 'sass-loader',
+            options: {
+              additionalData: fs.existsSync('./src/custom.scss')
+                ? `@use "src/custom.scss" as *;`
+                : '',
+            },
+          },
+        ],
+      },
       // Load data files
       {
         test: /\.geojson$/,