@eodash/eodash 5.3.2 → 5.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/core/client/eodashSTAC/EodashCollection.js +12 -9
  2. package/core/client/eodashSTAC/auth.js +19 -15
  3. package/core/client/eodashSTAC/createLayers.js +42 -30
  4. package/core/client/eodashSTAC/helpers.js +18 -9
  5. package/core/client/store/states.js +1 -1
  6. package/core/client/types.ts +12 -8
  7. package/core/client/utils/states.js +32 -0
  8. package/dist/client/{DashboardLayout-BHQnHqWW.js → DashboardLayout-Cp8Rv3Ef.js} +2 -2
  9. package/dist/client/{DynamicWebComponent-B4PdeZ9P.js → DynamicWebComponent-CBsxC82P.js} +1 -1
  10. package/dist/client/{EodashDatePicker-Ch_AXVas.js → EodashDatePicker-Dewym-cx.js} +3 -3
  11. package/dist/client/{EodashItemFilter-lTuzCl08.js → EodashItemFilter-CAsZpOoQ.js} +1 -1
  12. package/dist/client/{EodashLayerControl-CBSGRlIi.js → EodashLayerControl-fn-rt8Ac.js} +2 -2
  13. package/dist/client/{EodashLayoutSwitcher-DdwQYoI4.js → EodashLayoutSwitcher-B9XqQXCS.js} +3 -3
  14. package/dist/client/{EodashMapBtns-B910ylV6.js → EodashMapBtns-nFY6MIAX.js} +6 -6
  15. package/dist/client/{EodashStacInfo-CeHGMZ8x.js → EodashStacInfo-lxBKoav9.js} +1 -1
  16. package/dist/client/{EodashTimeSlider-BApJJK0u.js → EodashTimeSlider-DI97QkNT.js} +2 -2
  17. package/dist/client/{EodashTools-CJVm0k-Q.js → EodashTools-D5ShUT1g.js} +4 -4
  18. package/dist/client/{ExportState-NXzNGWYq.js → ExportState-ruNyRS2E.js} +4 -4
  19. package/dist/client/{Footer-DfXUC8IK.js → Footer-IQNyfd78.js} +1 -1
  20. package/dist/client/{Header-BHgaNMEH.js → Header-BBdi_-Lp.js} +2 -2
  21. package/dist/client/{MobileLayout-B77RzrNe.js → MobileLayout-BfBeF-JF.js} +2 -2
  22. package/dist/client/{PopUp-BJwqRDNq.js → PopUp-DRgOmD7-.js} +2 -2
  23. package/dist/client/{ProcessList-BFvV4RvS.js → ProcessList-DxyCFQdz.js} +20 -8
  24. package/dist/client/{VImg-RGGIQ_yA.js → VImg-hwmwzSwG.js} +2 -2
  25. package/dist/client/{VMain-CniQR94B.js → VMain-vk4-rkw-.js} +1 -1
  26. package/dist/client/{VTooltip-D5dnTfem.js → VTooltip-BYUZeia1.js} +2 -2
  27. package/dist/client/{WidgetsContainer-CvnR4J1T.js → WidgetsContainer-DXD_8rqh.js} +1 -1
  28. package/dist/client/{asWebComponent-Dptqds6-.js → asWebComponent-DdguWGDI.js} +97 -50
  29. package/dist/client/{async-C1hb39Tc.js → async-D1MvO_Z_.js} +2 -2
  30. package/dist/client/eo-dash.js +1 -1
  31. package/dist/client/{forwardRefs-CiSZZEn2.js → forwardRefs-DM-E2MfG.js} +2 -2
  32. package/dist/client/{handling-CZ537GCL.js → handling-CbgeKrqT.js} +3 -3
  33. package/dist/client/{helpers-DoQGyrvY.js → helpers-CtUlAW0N.js} +19 -10
  34. package/dist/client/{index-4sC2BIcK.js → index-BJvLt3Xf.js} +5 -5
  35. package/dist/client/{index-wcTqj0PZ.js → index-BkW06-Lg.js} +26 -14
  36. package/dist/client/{index--uKz-mt4.js → index-BxDh5v-H.js} +3 -3
  37. package/dist/client/{index-DTxo2ysK.js → index-DBo0F4Fv.js} +2 -2
  38. package/dist/client/templates.js +2 -2
  39. package/dist/client/{transition-CFfv5MCB.js → transition-BdzATvPB.js} +1 -1
  40. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +1 -0
  41. package/dist/types/core/client/eodashSTAC/auth.d.ts +5 -5
  42. package/dist/types/core/client/eodashSTAC/helpers.d.ts +9 -0
  43. package/dist/types/core/client/types.d.ts +1 -0
  44. package/dist/types/core/client/utils/states.d.ts +28 -0
  45. package/dist/types/templates/index.d.ts +1 -0
  46. package/package.json +2 -2
  47. package/templates/index.js +2 -0
  48. package/widgets/EodashMap/index.vue +13 -4
  49. package/widgets/EodashMap/methods/index.js +9 -7
  50. package/widgets/EodashProcess/ProcessList.vue +10 -2
@@ -211,8 +211,9 @@ export class EodashCollection {
211
211
  return data;
212
212
  }, /** @type {Record<string,import('stac-ts').StacAsset>} */ ({}));
213
213
  const isSupported =
214
- item.links.some((link) => ["wms", "xyz", "wmts", "vector-tile"].includes(link.rel)) ||
215
- Object.keys(dataAssets).length;
214
+ item.links.some((link) =>
215
+ ["wms", "xyz", "wmts", "vector-tile"].includes(link.rel),
216
+ ) || Object.keys(dataAssets).length;
216
217
 
217
218
  if (isSupported) {
218
219
  // Checking for potential legend asset
@@ -411,9 +412,9 @@ export class EodashCollection {
411
412
  const aggregatedTooltips = [
412
413
  ...new Map(
413
414
  styles
414
- .flatMap(style => style.tooltip || [])
415
- .map(entry => [entry.id, entry])
416
- ).values()
415
+ .flatMap((style) => style.tooltip || [])
416
+ .map((entry) => [entry.id, entry]),
417
+ ).values(),
417
418
  ];
418
419
  this.#tooltipProperties = aggregatedTooltips ?? [];
419
420
  return this.#tooltipProperties;
@@ -466,16 +467,18 @@ export class EodashCollection {
466
467
  currentLayers = getCompareLayers();
467
468
  }
468
469
 
469
-
470
470
  const oldLayer = findLayer(currentLayers, layer);
471
471
 
472
-
473
472
  const toBeReplacedLayers = findLayersByLayerPrefix(currentLayers, oldLayer);
474
473
 
475
474
  if (!toBeReplacedLayers) {
476
475
  return;
477
476
  }
478
- const updatedLayers = replaceLayersInStructure(currentLayers, toBeReplacedLayers, newLayers);
477
+ const updatedLayers = replaceLayersInStructure(
478
+ currentLayers,
479
+ toBeReplacedLayers,
480
+ newLayers,
481
+ );
479
482
 
480
483
  return updatedLayers;
481
484
  }
@@ -499,7 +502,7 @@ export class EodashCollection {
499
502
  );
500
503
 
501
504
  return [
502
- //@ts-expect-error indicator instead of item
505
+ //@ts-expect-error indicator instead of item
503
506
  ...(await createLayersFromLinks(
504
507
  indicator?.id ?? "",
505
508
  indicator?.title || indicator.id,
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Generic handler for possible authentications schemes as defined in STAC authentication extension.
3
- * @param {import("@/types").StacAuthItem } item
4
- * @param {import("@/types").StacAuthLink | import("@/types").StacAuthAsset} linkOrAsset
5
- * @returns {string}
6
- */
2
+ * Generic handler for possible authentications schemes as defined in STAC authentication extension.
3
+ * @param {import("@/types").StacAuthItem } item
4
+ * @param {import("@/types").StacAuthLink | import("@/types").StacAuthAsset} linkOrAsset
5
+ * @returns {string}
6
+ */
7
7
  export function handleAuthenticationOfLink(item, linkOrAsset) {
8
8
  // browse through all authentication refs on a link to find a first one we support
9
9
  for (const authRef of linkOrAsset["auth:refs"] || []) {
10
- const authSchemes = item["auth:schemes"];
10
+ const authSchemes = item["auth:schemes"];
11
11
  if (authRef in authSchemes) {
12
12
  switch (authSchemes[authRef].type) {
13
13
  case "apiKey": {
@@ -22,18 +22,20 @@ export function handleAuthenticationOfLink(item, linkOrAsset) {
22
22
  // case "oauth2":
23
23
  // todo add more handlers when needed
24
24
  default:
25
- console.error(`eodash does not support referenced authentication scheme ${authRef}`);
25
+ console.error(
26
+ `eodash does not support referenced authentication scheme ${authRef}`,
27
+ );
26
28
  }
27
29
  }
28
30
  }
29
31
  return linkOrAsset.href;
30
32
  }
31
33
  /**
32
- * Generic handler for possible authentications schemes as defined in STAC authentication extension.
33
- * @param {import("@/types").ApiKeyAuthScheme } schemeDef
34
- * @param { string } href
35
- * @returns { string }
36
- */
34
+ * Generic handler for possible authentications schemes as defined in STAC authentication extension.
35
+ * @param {import("@/types").ApiKeyAuthScheme } schemeDef
36
+ * @param { string } href
37
+ * @returns { string }
38
+ */
37
39
  function handleApiKeyBasedAuth(schemeDef, href) {
38
40
  // add token to query parameters of href
39
41
  let url = href;
@@ -45,12 +47,14 @@ function handleApiKeyBasedAuth(schemeDef, href) {
45
47
  if (envValue) {
46
48
  url = setQueryParam(href, apiKey, envValue);
47
49
  } else {
48
- console.error(`env variable ${envVar} for authentication parameter ${apiKey} not set`);
50
+ console.error(
51
+ `env variable ${envVar} for authentication parameter ${apiKey} not set`,
52
+ );
49
53
  }
50
- break
54
+ break;
51
55
  }
52
56
  default:
53
- console.error('eodash does not support any referenced handler');
57
+ console.error("eodash does not support any referenced handler");
54
58
  }
55
59
  return url;
56
60
  }
@@ -117,29 +117,37 @@ export async function createLayersFromAssets(
117
117
  const features = [];
118
118
  responseData.forEach((ftr, i) => {
119
119
  const { geometry, ...properties } = ftr;
120
- if (geometry.type === 'MultiPoint' || geometry.type === 'MultiPolygon') {
121
- geometry.coordinates.forEach((/** @type {Record<string,any>[]} */ coordPair, /** @type {number} */j) => {
122
- const singleGeometry = {
123
- type: geometry.type === 'MultiPoint' ? 'Point' : 'Polygon',
124
- coordinates: coordPair,
125
- };
126
- features.push({
127
- type: 'Feature',
128
- id: `${i}_${j}`,
129
- properties,
130
- geometry: singleGeometry,
131
- });
132
- });
120
+ if (
121
+ geometry.type === "MultiPoint" ||
122
+ geometry.type === "MultiPolygon"
123
+ ) {
124
+ geometry.coordinates.forEach(
125
+ (
126
+ /** @type {Record<string,any>[]} */ coordPair,
127
+ /** @type {number} */ j,
128
+ ) => {
129
+ const singleGeometry = {
130
+ type: geometry.type === "MultiPoint" ? "Point" : "Polygon",
131
+ coordinates: coordPair,
132
+ };
133
+ features.push({
134
+ type: "Feature",
135
+ id: `${i}_${j}`,
136
+ properties,
137
+ geometry: singleGeometry,
138
+ });
139
+ },
140
+ );
133
141
  } else {
134
142
  features.push({
135
- type: 'Feature',
143
+ type: "Feature",
136
144
  properties,
137
145
  id: `${i}`,
138
146
  geometry: geometry,
139
147
  });
140
148
  }
141
149
  });
142
-
150
+
143
151
  const geojson = {
144
152
  type: "FeatureCollection",
145
153
  features: features,
@@ -161,7 +169,7 @@ export async function createLayersFromAssets(
161
169
  source: {
162
170
  type: "Vector",
163
171
  url: await mergeGeojsons(geoJsonSources),
164
- format: {"type": "GeoJSON", "dataProjection": projection},
172
+ format: { type: "GeoJSON", dataProjection: projection },
165
173
  attributions: geoJsonAttributions,
166
174
  },
167
175
  properties: {
@@ -235,7 +243,8 @@ export const createLayersFromLinks = async (
235
243
  const wmsArray = item.links.filter((l) => l.rel === "wms");
236
244
  const wmtsArray = item.links.filter((l) => l.rel === "wmts");
237
245
  const xyzArray = item.links.filter((l) => l.rel === "xyz") ?? [];
238
- const vectorTileArray = item.links.filter((l) => l.rel === "vector-tile") ?? [];
246
+ const vectorTileArray =
247
+ item.links.filter((l) => l.rel === "vector-tile") ?? [];
239
248
 
240
249
  // Taking projection code from main map view, as main view defines
241
250
  // projection for comparison map
@@ -432,7 +441,9 @@ export const createLayersFromLinks = async (
432
441
  (vectorTileLink?.["proj:epsg"] || vectorTileLink?.["eodash:proj4_def"]);
433
442
 
434
443
  await registerProjection(vectorTileLinkProjection);
435
- const projectionCode = getProjectionCode(vectorTileLinkProjection || "EPSG:3857");
444
+ const projectionCode = getProjectionCode(
445
+ vectorTileLinkProjection || "EPSG:3857",
446
+ );
436
447
  const linkId = createLayerID(
437
448
  collectionId,
438
449
  item.id,
@@ -440,18 +451,19 @@ export const createLayersFromLinks = async (
440
451
  viewProjectionCode,
441
452
  );
442
453
  log.debug("Vector Tile Layer added", linkId);
443
- const key = /** @type {string | undefined} */ (vectorTileLink["key"]) || undefined;
454
+ const key =
455
+ /** @type {string | undefined} */ (vectorTileLink["key"]) || undefined;
444
456
  // fetch styles and separate them by their mapping between links and assets
445
457
  const styles = await fetchStyle(item, itemUrl, key);
446
458
  // get the correct style which is not attached to a link
447
- let { layerConfig, style } = extractLayerConfig(
448
- linkId ?? "",
449
- styles,
450
- );
451
-
459
+ let { layerConfig, style } = extractLayerConfig(linkId ?? "", styles);
460
+
452
461
  let href = vectorTileLink.href;
453
462
  if ("auth:schemes" in item && "auth:refs" in vectorTileLink) {
454
- href = handleAuthenticationOfLink(/** @type { import("@/types").StacAuthItem} */ (item), /** @type { import("@/types").StacAuthLink} */ (vectorTileLink));
463
+ href = handleAuthenticationOfLink(
464
+ /** @type { import("@/types").StacAuthItem} */ (item),
465
+ /** @type { import("@/types").StacAuthLink} */ (vectorTileLink),
466
+ );
455
467
  }
456
468
  const json = {
457
469
  type: "VectorTile",
@@ -462,11 +474,11 @@ export const createLayersFromLinks = async (
462
474
  roles: vectorTileLink.roles,
463
475
  layerDatetime,
464
476
  ...(layerConfig && {
465
- layerConfig: {
466
- ...layerConfig,
467
- style,
468
- },
469
- }),
477
+ layerConfig: {
478
+ ...layerConfig,
479
+ style,
480
+ },
481
+ }),
470
482
  },
471
483
  source: {
472
484
  type: "VectorTile",
@@ -167,14 +167,21 @@ export const extractRoles = (properties, linkOrAsset) => {
167
167
  * @param {import("stac-ts").StacItem} item
168
168
  * @param {string} itemUrl
169
169
  * @param {string | undefined} key
170
- * @returns
170
+ * @returns
171
171
  **/
172
- export const fetchStyle = async (item, itemUrl, key=undefined) => {
172
+ export const fetchStyle = async (item, itemUrl, key = undefined) => {
173
173
  let styleLink = null;
174
174
  if (key) {
175
- styleLink = item.links.find((link) => link.rel.includes("style") && link["links:keys"] && /** @type {Array<string>} */ (link["links:keys"]).includes(key) );
175
+ styleLink = item.links.find(
176
+ (link) =>
177
+ link.rel.includes("style") &&
178
+ link["links:keys"] &&
179
+ /** @type {Array<string>} */ (link["links:keys"]).includes(key),
180
+ );
176
181
  } else {
177
- styleLink = item.links.find((link) => link.rel.includes("style") && !link["links:keys"]);
182
+ styleLink = item.links.find(
183
+ (link) => link.rel.includes("style") && !link["links:keys"],
184
+ );
178
185
  }
179
186
  if (styleLink) {
180
187
  let url = "";
@@ -321,12 +328,11 @@ export const extractLayerTimeValues = (items, currentStep) => {
321
328
  };
322
329
  };
323
330
 
324
-
325
331
  /**
326
332
  * Recursively find all layers whose ID up to the first ; is same as given layer
327
333
  *
328
334
  * @param {import("@eox/map").EoxLayer[]} layers
329
- * @param {import("@eox/map").EoxLayer | undefined} referenceLayer - layer
335
+ * @param {import("@eox/map").EoxLayer | undefined} referenceLayer - layer
330
336
  * @returns {import("@eox/map").EoxLayer[]} Matching layer objects.
331
337
  */
332
338
  export const findLayersByLayerPrefix = (layers, referenceLayer) => {
@@ -390,7 +396,11 @@ export const replaceLayersInStructure = (layers, toRemove, toInsert) => {
390
396
  for (const layer of layers) {
391
397
  if (layer.type === "Group" && Array.isArray(layer.layers)) {
392
398
  // Recurse into group layers
393
- const newGroupLayers = replaceLayersInStructure(layer.layers, toRemove, toInsert);
399
+ const newGroupLayers = replaceLayersInStructure(
400
+ layer.layers,
401
+ toRemove,
402
+ toInsert,
403
+ );
394
404
  result.push({ ...layer, layers: newGroupLayers });
395
405
  continue;
396
406
  }
@@ -418,7 +428,6 @@ export const replaceLayersInStructure = (layers, toRemove, toInsert) => {
418
428
  return result;
419
429
  };
420
430
 
421
-
422
431
  /**
423
432
  * Removes the layer with the id provided and injects an array of layers in its position
424
433
  * @param {import("@eox/map").EoxLayer[]} currentLayers
@@ -464,7 +473,7 @@ export const getColFromLayer = async (indicators, layer) => {
464
473
  for (const ind of indicators) {
465
474
  if (ind.collectionStac?.id !== collectionId) continue;
466
475
  const items = await ind.getItems();
467
- const itemIds = items?.map(item => item.id || item.datetime) ?? [];
476
+ const itemIds = items?.map((item) => item.id || item.datetime) ?? [];
468
477
  if (itemIds.includes(itemId)) {
469
478
  return ind;
470
479
  }
@@ -11,7 +11,7 @@ export const currentUrl = ref("");
11
11
  export const currentCompareUrl = ref("");
12
12
 
13
13
  /** Currently selected datetime */
14
- export const datetime = ref(new Date().toISOString());
14
+ export const datetime = ref("");
15
15
 
16
16
  /** Currently selected indicator */
17
17
  export const indicator = ref("");
@@ -465,7 +465,12 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
465
465
  variables?: Record<string, string | number | boolean | null | undefined>;
466
466
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
467
467
  jsonform?: import("json-schema").JSONSchema7;
468
- tooltip?: { id: string; title?: string; appendix?: string }[];
468
+ tooltip?: {
469
+ id: string;
470
+ title?: string;
471
+ appendix?: string;
472
+ decimals?: number;
473
+ }[];
469
474
  };
470
475
  export type EodashRasterJSONForm = {
471
476
  jsonform: Record<string, any>;
@@ -620,7 +625,6 @@ export interface OAuth2Flow {
620
625
  scopes: Record<string, string>;
621
626
  }
622
627
 
623
-
624
628
  /** Signed URL flow configuration */
625
629
  export interface SignedUrlFlow {
626
630
  authorizationApi: string;
@@ -638,20 +642,20 @@ export interface SignedUrlFlow {
638
642
  }
639
643
 
640
644
  export interface ApiKeyAuthScheme extends AuthScheme {
641
- type: "apiKey",
642
- name: string;
643
- in: string;
645
+ type: "apiKey";
646
+ name: string;
647
+ in: string;
644
648
  }
645
649
 
646
650
  import { StacItem, StacLink, StacAsset } from "stac-ts";
647
651
  export interface StacAuthItem extends StacItem {
648
652
  "auth:schemes": {
649
653
  [key: string]: AuthScheme;
650
- },
654
+ };
651
655
  }
652
656
  export interface StacAuthLink extends StacLink {
653
- "auth:refs": [string],
657
+ "auth:refs": [string];
654
658
  }
655
659
  export interface StacAuthAsset extends StacAsset {
656
- "auth:refs": [string],
660
+ "auth:refs": [string];
657
661
  }
@@ -9,6 +9,10 @@ import {
9
9
  mdiSnowflake,
10
10
  mdiWater,
11
11
  mdiWeatherWindy,
12
+ mdiAccountMultiple,
13
+ mdiHiking,
14
+ mdiVolleyball,
15
+ mdiWrench,
12
16
  } from "@mdi/js";
13
17
  import { reactive, ref, shallowReactive } from "vue";
14
18
 
@@ -97,10 +101,22 @@ export const dataThemesBrands = {
97
101
  icon: mdiWeatherWindy,
98
102
  color: "#475faf",
99
103
  },
104
+ climate: {
105
+ icon: mdiWeatherWindy,
106
+ color: "#475faf",
107
+ },
100
108
  economy: {
101
109
  icon: mdiCurrencyEur,
102
110
  color: "#8E81AF",
103
111
  },
112
+ commerce: {
113
+ icon: mdiCurrencyEur,
114
+ color: "#8E81AF",
115
+ },
116
+ society: {
117
+ icon: mdiAccountMultiple,
118
+ color: "#8ac501",
119
+ },
104
120
  biomass: {
105
121
  icon: mdiLeaf,
106
122
  color: "#009E73",
@@ -109,8 +125,24 @@ export const dataThemesBrands = {
109
125
  icon: mdiLightningBolt,
110
126
  color: "#a1280a",
111
127
  },
128
+ energy: {
129
+ icon: mdiLightningBolt,
130
+ color: "#475faf",
131
+ },
132
+ tourism: {
133
+ icon: mdiHiking,
134
+ color: "#80510aff",
135
+ },
136
+ sport: {
137
+ icon: mdiVolleyball,
138
+ color: "#e98e65ff",
139
+ },
112
140
  cryosphere: {
113
141
  icon: mdiSnowflake,
114
142
  color: "#42C7B8",
115
143
  },
144
+ industry: {
145
+ icon: mdiWrench,
146
+ color: "#8d845cff",
147
+ },
116
148
  };
@@ -1,7 +1,7 @@
1
1
  import { createBlock, openBlock, withCtx, createElementVNode, unref, createElementBlock, createCommentVNode, normalizeStyle, Suspense, resolveDynamicComponent, mergeProps, Fragment, renderList, Transition } from 'vue';
2
2
  import '@eox/layout';
3
- import { _ as _export_sfc, u as useDefineTemplate } from './asWebComponent-Dptqds6-.js';
4
- import { V as VMain } from './VMain-CniQR94B.js';
3
+ import { _ as _export_sfc, u as useDefineTemplate } from './asWebComponent-DdguWGDI.js';
4
+ import { V as VMain } from './VMain-vk4-rkw-.js';
5
5
 
6
6
  const _style_0 = ".panel[data-v-9c8477cc]{position:relative;overflow:auto;z-index:1;pointer-events:none}.pointer[data-v-9c8477cc]{pointer-events:all}.bg-panel[data-v-9c8477cc]{z-index:0;border-radius:0!important}.fade-enter-active[data-v-9c8477cc],.fade-leave-active[data-v-9c8477cc]{transition:opacity .25s ease}.fade-enter-from[data-v-9c8477cc],.fade-leave-to[data-v-9c8477cc]{opacity:0}.bg-surface[data-v-9c8477cc],.bg-primary[data-v-9c8477cc]{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;max-height:100%;overflow:auto;scrollbar-color:rgba(var(--v-theme-on-surface),.2) transparent;scrollbar-width:thin}.bg-surface[data-v-9c8477cc]{background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.bg-primary[data-v-9c8477cc]{background-color:rgba(var(--v-theme-primary),var(--v-primary-opacity, .8))!important}";
7
7
 
@@ -1,5 +1,5 @@
1
1
  import { withAsyncContext, ref, onMounted, onUnmounted, createElementBlock, openBlock, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
2
- import { E as useSTAcStore } from './asWebComponent-Dptqds6-.js';
2
+ import { E as useSTAcStore } from './asWebComponent-DdguWGDI.js';
3
3
 
4
4
  const _hoisted_1 = { class: "d-flex flex-column fill-height overflow-auto" };
5
5
 
@@ -1,11 +1,11 @@
1
1
  import { useCssVars, ref, useTemplateRef, customRef, computed, reactive, watch, onMounted, createElementBlock, openBlock, createVNode, unref, createSlots, withCtx, createElementVNode, withDirectives, createCommentVNode, createBlock, mergeProps, toHandlers } from 'vue';
2
2
  import { DatePicker } from 'v-calendar';
3
- import { _ as _export_sfc, D as useDisplay, E as useSTAcStore, F as useTransparentPanel, G as VBtn, H as VIcon, I as eodashCollections, J as eodashCompareCollections } from './asWebComponent-Dptqds6-.js';
4
- import { B as datetime } from './helpers-DoQGyrvY.js';
3
+ import { _ as _export_sfc, D as useDisplay, E as useSTAcStore, F as useTransparentPanel, G as VBtn, H as VIcon, I as eodashCollections, J as eodashCompareCollections } from './asWebComponent-DdguWGDI.js';
4
+ import { B as datetime } from './helpers-CtUlAW0N.js';
5
5
  import { mdiRayEndArrow, mdiRayStartArrow } from '@mdi/js';
6
6
  import log from 'loglevel';
7
7
  import { storeToRefs } from 'pinia';
8
- import { T as Tooltip } from './index-DTxo2ysK.js';
8
+ import { T as Tooltip } from './index-DBo0F4Fv.js';
9
9
 
10
10
  const _style_0 = ".vc-popover-content{--vc-nav-hover-bg: rgba(var(--v-theme-on-surface), .1);--vc-nav-item-active-color: rgb(var(--v-theme-on-secondary));--vc-nav-item-active-bg: rgba(var(--v-theme-secondary), .8);--vc-focus-ring: 0 0 0 2px rgba(var(--v-theme-secondary), .5)}.vc-container{--vc-day-content-hover-bg: rgba(var(--v-theme-on-surface), .2);--vc-focus-ring: 0 0 0 2px rgba(var(--v-theme-secondary), .4);--vc-header-arrow-hover-bg: rgba(var(--v-theme-secondary), .1)}.vc-attr{--vc-accent-600: rgba(var(--v-theme-secondary), .8)}.datePicker{--vc-day-content-hover-bg: red}@media (min-width: 960px){.datePicker{position:absolute;bottom:0;left:0;right:0;margin-inline:auto;width:fit-content}}.vc-day-content{color:#5e5e5e;font-weight:400}.vc-highlight-content-solid{color:#fff!important}.vc-popover-content-wrapper{transform:var(--v5270a4d4)!important}.vc-date-picker-content,.datePicker{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.vc-popover-caret.direction-top.align-left{clip-path:polygon(0% 0%,100% 0%,0% 100%,0% 100%)}.vc-bordered{border:none}";
11
11
 
@@ -1,5 +1,5 @@
1
1
  import { withAsyncContext, computed, ref, createElementBlock, openBlock, mergeProps, unref, createElementVNode, toDisplayString } from 'vue';
2
- import { _ as _export_sfc, E as useSTAcStore, Q as isFirstLoad } from './asWebComponent-Dptqds6-.js';
2
+ import { _ as _export_sfc, E as useSTAcStore, Q as isFirstLoad } from './asWebComponent-DdguWGDI.js';
3
3
 
4
4
  const _style_0 = "eox-itemfilter[data-v-88d0abc7]{--form-flex-direction: row}@media (max-width: 768px){eox-itemfilter[data-v-88d0abc7]{--form-flex-direction: column}}";
5
5
 
@@ -1,8 +1,8 @@
1
1
  import { withAsyncContext, computed, ref, createElementBlock, openBlock, createCommentVNode, mergeProps, unref, renderSlot, createElementVNode, toDisplayString } from 'vue';
2
2
  import 'color-legend-element';
3
3
  import '@eox/timecontrol';
4
- import { N as mapCompareEl, h as mapEl, O as getColFromLayer } from './helpers-DoQGyrvY.js';
5
- import { _ as _export_sfc, E as useSTAcStore, M as layerControlFormValueCompare, N as layerControlFormValue, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-Dptqds6-.js';
4
+ import { N as mapCompareEl, h as mapEl, O as getColFromLayer } from './helpers-CtUlAW0N.js';
5
+ import { _ as _export_sfc, E as useSTAcStore, M as layerControlFormValueCompare, N as layerControlFormValue, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-DdguWGDI.js';
6
6
  import { storeToRefs } from 'pinia';
7
7
 
8
8
  /**
@@ -1,8 +1,8 @@
1
1
  import { ref, createElementBlock, openBlock, createBlock, unref, withCtx, createVNode, mergeProps } from 'vue';
2
- import { D as activeTemplate } from './helpers-DoQGyrvY.js';
2
+ import { D as activeTemplate } from './helpers-CtUlAW0N.js';
3
3
  import { mdiViewDashboard } from '@mdi/js';
4
- import { D as useDisplay, F as useTransparentPanel, H as VIcon } from './asWebComponent-Dptqds6-.js';
5
- import { V as VTooltip } from './VTooltip-D5dnTfem.js';
4
+ import { D as useDisplay, F as useTransparentPanel, H as VIcon } from './asWebComponent-DdguWGDI.js';
5
+ import { V as VTooltip } from './VTooltip-BYUZeia1.js';
6
6
 
7
7
  const _sfc_main = {
8
8
  __name: 'EodashLayoutSwitcher',
@@ -1,12 +1,12 @@
1
1
  import { computed, ref, createElementBlock, openBlock, createCommentVNode, createBlock, createVNode, createElementVNode, unref, withCtx, mergeProps, triggerRef } from 'vue';
2
- import { _ as _export_sfc, E as useSTAcStore, D as useDisplay, F as useTransparentPanel } from './asWebComponent-Dptqds6-.js';
3
- import { D as activeTemplate, Q as availableMapProjection, R as changeMapProjection, C as poi, I as comparePoi, h as mapEl, S as setActiveTemplate } from './helpers-DoQGyrvY.js';
2
+ import { _ as _export_sfc, E as useSTAcStore, D as useDisplay, F as useTransparentPanel } from './asWebComponent-DdguWGDI.js';
3
+ import { D as activeTemplate, Q as availableMapProjection, R as changeMapProjection, C as poi, I as comparePoi, h as mapEl, S as setActiveTemplate } from './helpers-CtUlAW0N.js';
4
4
  import { mdiCompareRemove, mdiCompare, mdiPlus, mdiMinus, mdiMapPlus, mdiEarthBox, mdiStarFourPointsCircleOutline } from '@mdi/js';
5
- import ExportState from './ExportState-NXzNGWYq.js';
6
- import _sfc_main$1 from './PopUp-BJwqRDNq.js';
7
- import EodashItemFilter from './EodashItemFilter-lTuzCl08.js';
5
+ import ExportState from './ExportState-ruNyRS2E.js';
6
+ import _sfc_main$1 from './PopUp-DRgOmD7-.js';
7
+ import EodashItemFilter from './EodashItemFilter-CAsZpOoQ.js';
8
8
  import { storeToRefs } from 'pinia';
9
- import { l as loadPOiIndicator } from './handling-CZ537GCL.js';
9
+ import { l as loadPOiIndicator } from './handling-CbgeKrqT.js';
10
10
  import { e as easeOut } from './easing-CH0-9wR8.js';
11
11
  import '@eox/geosearch';
12
12
 
@@ -1,6 +1,6 @@
1
1
  import { createElementBlock, openBlock, createElementVNode, unref } from 'vue';
2
2
  import '@eox/stacinfo';
3
- import { A as currentUrl } from './helpers-DoQGyrvY.js';
3
+ import { A as currentUrl } from './helpers-CtUlAW0N.js';
4
4
 
5
5
  const _hoisted_1 = { class: "flex-grow-1" };
6
6
  const _hoisted_2 = [".for", ".allowHtml", ".body", ".featured", ".footer", ".styleOverride", ".header", ".subheader", ".tags"];
@@ -1,6 +1,6 @@
1
1
  import { computed, createElementBlock, createCommentVNode, openBlock, unref } from 'vue';
2
- import { h as mapEl, B as datetime } from './helpers-DoQGyrvY.js';
3
- import { I as eodashCollections } from './asWebComponent-Dptqds6-.js';
2
+ import { h as mapEl, B as datetime } from './helpers-CtUlAW0N.js';
3
+ import { I as eodashCollections } from './asWebComponent-DdguWGDI.js';
4
4
  import '@eox/timeslider';
5
5
 
6
6
  const _hoisted_1 = [".filters"];
@@ -1,9 +1,9 @@
1
1
  import { ref, computed, createElementBlock, openBlock, createElementVNode, createVNode, createBlock, createCommentVNode, unref, withCtx, mergeProps } from 'vue';
2
- import _sfc_main$2 from './PopUp-BJwqRDNq.js';
3
- import EodashItemFilter from './EodashItemFilter-lTuzCl08.js';
4
- import _sfc_main$1 from './EodashLayoutSwitcher-DdwQYoI4.js';
2
+ import _sfc_main$2 from './PopUp-DRgOmD7-.js';
3
+ import EodashItemFilter from './EodashItemFilter-CAsZpOoQ.js';
4
+ import _sfc_main$1 from './EodashLayoutSwitcher-B9XqQXCS.js';
5
5
  import { mdiViewDashboard, mdiPlusCircleOutline } from '@mdi/js';
6
- import { _ as _export_sfc, D as useDisplay, F as useTransparentPanel, G as VBtn } from './asWebComponent-Dptqds6-.js';
6
+ import { _ as _export_sfc, D as useDisplay, F as useTransparentPanel, G as VBtn } from './asWebComponent-DdguWGDI.js';
7
7
 
8
8
  const _style_0 = ".v-btn--size-default[data-v-73449028]{--v-btn-height: 30px}";
9
9
 
@@ -1,9 +1,9 @@
1
1
  import { createVNode, normalizeStyle, normalizeClass, createElementVNode, Fragment, toDisplayString, withDirectives, mergeProps, computed, mergeModels, useModel, ref, createBlock, openBlock, withCtx, createElementBlock, createCommentVNode, renderList, unref, createTextVNode, vShow } from 'vue';
2
2
  import { mdiContentCopy, mdiClipboardCheckOutline } from '@mdi/js';
3
- import _sfc_main$1 from './PopUp-BJwqRDNq.js';
4
- import { $ as createSimpleFunctional, g as genericComponent, p as propsFactory, n as provideDefaults, c as useRender, m as makeTagProps, e as makeComponentProps, k as provideTheme, h as useBorder, a0 as useVariant, U as useDensity, j as useRounded, a1 as useSize, a2 as genOverlays, H as VIcon, V as VDefaultsProvider, a3 as makeVariantProps, q as makeThemeProps, a4 as makeSizeProps, r as makeRoundedProps, W as makeDensityProps, t as makeBorderProps, a5 as IconValue, a6 as Ripple, b as useDimension, i as useElevation, a7 as useLoader, a8 as useLocation, a9 as usePosition, aa as useLink, ab as makeRouterProps, ac as makePositionProps, ad as makeLocationProps, ae as makeLoaderProps, s as makeElevationProps, d as makeDimensionProps, af as LoaderSlot, ag as useTextColor, o as convertToUnit, _ as _export_sfc, ah as copyToClipBoard, G as VBtn } from './asWebComponent-Dptqds6-.js';
5
- import { X as removeUnneededProperties, Y as getChartSpec, p as getLayers, E as mapPosition, Q as availableMapProjection } from './helpers-DoQGyrvY.js';
6
- import { V as VImg, a as VExpandTransition } from './VImg-RGGIQ_yA.js';
3
+ import _sfc_main$1 from './PopUp-DRgOmD7-.js';
4
+ import { $ as createSimpleFunctional, g as genericComponent, p as propsFactory, n as provideDefaults, c as useRender, m as makeTagProps, e as makeComponentProps, k as provideTheme, h as useBorder, a0 as useVariant, U as useDensity, j as useRounded, a1 as useSize, a2 as genOverlays, H as VIcon, V as VDefaultsProvider, a3 as makeVariantProps, q as makeThemeProps, a4 as makeSizeProps, r as makeRoundedProps, W as makeDensityProps, t as makeBorderProps, a5 as IconValue, a6 as Ripple, b as useDimension, i as useElevation, a7 as useLoader, a8 as useLocation, a9 as usePosition, aa as useLink, ab as makeRouterProps, ac as makePositionProps, ad as makeLocationProps, ae as makeLoaderProps, s as makeElevationProps, d as makeDimensionProps, af as LoaderSlot, ag as useTextColor, o as convertToUnit, _ as _export_sfc, ah as copyToClipBoard, G as VBtn } from './asWebComponent-DdguWGDI.js';
5
+ import { X as removeUnneededProperties, Y as getChartSpec, p as getLayers, E as mapPosition, Q as availableMapProjection } from './helpers-CtUlAW0N.js';
6
+ import { V as VImg, a as VExpandTransition } from './VImg-hwmwzSwG.js';
7
7
 
8
8
  // Styles
9
9
  const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');
@@ -1,5 +1,5 @@
1
1
  import { ref, shallowRef, computed, toRef, watchEffect, createVNode, normalizeStyle, normalizeClass, inject, createBlock, openBlock, unref, withCtx, createElementVNode, toDisplayString } from 'vue';
2
- import { g as genericComponent, p as propsFactory, k as provideTheme, f as useBackgroundColor, h as useBorder, i as useElevation, j as useRounded, C as useResizeObserver, y as useToggleScope, z as useLayoutItem, c as useRender, o as convertToUnit, q as makeThemeProps, m as makeTagProps, r as makeRoundedProps, A as makeLayoutItemProps, s as makeElevationProps, e as makeComponentProps, t as makeBorderProps, _ as _export_sfc, B as eodashKey, D as useDisplay } from './asWebComponent-Dptqds6-.js';
2
+ import { g as genericComponent, p as propsFactory, k as provideTheme, f as useBackgroundColor, h as useBorder, i as useElevation, j as useRounded, C as useResizeObserver, y as useToggleScope, z as useLayoutItem, c as useRender, o as convertToUnit, q as makeThemeProps, m as makeTagProps, r as makeRoundedProps, A as makeLayoutItemProps, s as makeElevationProps, e as makeComponentProps, t as makeBorderProps, _ as _export_sfc, B as eodashKey, D as useDisplay } from './asWebComponent-DdguWGDI.js';
3
3
 
4
4
  const _style_0 = ".footer-text[data-v-f0fd061e]{font-size:.8rem}";
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { createVNode, normalizeStyle, normalizeClass, createElementVNode, shallowRef, computed, ref, watch, onMounted, onBeforeUnmount, toRef, watchEffect, mergeProps, inject, createBlock, openBlock, withCtx, createTextVNode, toDisplayString, unref } from 'vue';
2
- import { p as propsFactory, g as genericComponent, m as makeTagProps, e as makeComponentProps, c as useRender, f as useBackgroundColor, h as useBorder, i as useElevation, j as useRounded, k as provideTheme, l as useRtl, n as provideDefaults, V as VDefaultsProvider, o as convertToUnit, q as makeThemeProps, r as makeRoundedProps, s as makeElevationProps, t as makeBorderProps, v as clamp, w as consoleWarn, x as useProxiedModel, y as useToggleScope, z as useLayoutItem, A as makeLayoutItemProps, _ as _export_sfc, B as eodashKey } from './asWebComponent-Dptqds6-.js';
3
- import { V as VImg, a as VExpandTransition } from './VImg-RGGIQ_yA.js';
2
+ import { p as propsFactory, g as genericComponent, m as makeTagProps, e as makeComponentProps, c as useRender, f as useBackgroundColor, h as useBorder, i as useElevation, j as useRounded, k as provideTheme, l as useRtl, n as provideDefaults, V as VDefaultsProvider, o as convertToUnit, q as makeThemeProps, r as makeRoundedProps, s as makeElevationProps, t as makeBorderProps, v as clamp, w as consoleWarn, x as useProxiedModel, y as useToggleScope, z as useLayoutItem, A as makeLayoutItemProps, _ as _export_sfc, B as eodashKey } from './asWebComponent-DdguWGDI.js';
3
+ import { V as VImg, a as VExpandTransition } from './VImg-hwmwzSwG.js';
4
4
  import { u as useSsrBoot } from './ssrBoot-Zgc_Ttvi.js';
5
5
 
6
6
  const _style_0 = ".logo[data-v-86c95219]{max-width:140px}";