@eodash/eodash 5.0.0-rc.2.2 → 5.0.0-rc.2.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 (46) hide show
  1. package/core/client/components/EodashOverlay.vue +56 -0
  2. package/core/client/components/Footer.vue +1 -15
  3. package/core/client/composables/EodashMap.js +1 -0
  4. package/core/client/eodash.js +4 -7
  5. package/core/client/eodashSTAC/EodashCollection.js +62 -31
  6. package/core/client/eodashSTAC/createLayers.js +21 -2
  7. package/core/client/eodashSTAC/helpers.js +1 -2
  8. package/core/client/utils/states.js +43 -0
  9. package/core/client/views/Dashboard.vue +4 -1
  10. package/dist/client/{DashboardLayout-ByVMURpM.js → DashboardLayout-Reny_s87.js} +2 -2
  11. package/dist/client/{DynamicWebComponent-BRQQ5AXV.js → DynamicWebComponent-DQPKIscC.js} +1 -1
  12. package/dist/client/{EodashDatePicker-DyLo_JUC.js → EodashDatePicker-E5GjnQQ2.js} +2 -2
  13. package/dist/client/{EodashItemFilter-BR572AaH.js → EodashItemFilter-DN77Uqgg.js} +1 -1
  14. package/dist/client/{EodashLayerControl-C_mi-Hoo.js → EodashLayerControl-DduVhg2O.js} +10 -3
  15. package/dist/client/{EodashLayoutSwitcher-D4ooLbys.js → EodashLayoutSwitcher-CeNnYuaC.js} +2 -2
  16. package/dist/client/{EodashMap-CGFv4e85.js → EodashMap-C3bgcNJk.js} +9 -3
  17. package/dist/client/{EodashMapBtns-_M7SW7Is.js → EodashMapBtns-B73UApEn.js} +4 -4
  18. package/dist/client/{EodashProcess-ZQAMi9Pc.js → EodashProcess-IQPnj17j.js} +14 -14
  19. package/dist/client/{EodashStacInfo-CwOCcsGl.js → EodashStacInfo-CeZqI75-.js} +1 -1
  20. package/dist/client/{EodashTools-C_X0RPIp.js → EodashTools-CAE604ZJ.js} +4 -4
  21. package/dist/client/{ExportState-DNUSRJSJ.js → ExportState-DXw8Dwvk.js} +4 -4
  22. package/dist/client/Footer-Bl9tQTyj.js +119 -0
  23. package/dist/client/{Header-BcHAtFqr.js → Header-qH_kBs-u.js} +3 -3
  24. package/dist/client/{MobileLayout-CUHZFLDY.js → MobileLayout-Du5n5XyY.js} +5 -5
  25. package/dist/client/{PopUp-CEmhdNIj.js → PopUp-B12NWJHU.js} +3 -3
  26. package/dist/client/{VImg-Cdaw92OV.js → VImg-CjsuV4n9.js} +2 -2
  27. package/dist/client/{VMain-B7G2T3Zv.js → VMain-B11EjLm6.js} +1 -1
  28. package/dist/client/{VOverlay-Mf1pOmgW.js → VOverlay-CLR2s8AQ.js} +3 -3
  29. package/dist/client/{VTooltip-9810qjB2.js → VTooltip-DqyE5_aG.js} +3 -3
  30. package/dist/client/{WidgetsContainer-GUwXMh9d.js → WidgetsContainer-YI9ZycgC.js} +1 -1
  31. package/dist/client/{asWebComponent--e4yqM3f.js → asWebComponent-DBkwthjq.js} +217 -59
  32. package/dist/client/eo-dash.css +2 -2
  33. package/dist/client/eo-dash.js +1 -1
  34. package/dist/client/{forwardRefs-B9UH8QZK.js → forwardRefs-BTYtR3pq.js} +1 -1
  35. package/dist/client/{index-D-lbt2my.js → index-BhfdO0rU.js} +1 -1
  36. package/dist/client/{transition-CTjQmgIS.js → transition-B79onGGb.js} +1 -1
  37. package/dist/types/core/client/components/EodashOverlay.vue.d.ts +2 -0
  38. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +36 -7
  39. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +20 -0
  40. package/dist/types/core/client/eodashSTAC/helpers.d.ts +4 -10
  41. package/dist/types/core/client/utils/states.d.ts +43 -0
  42. package/package.json +1 -1
  43. package/widgets/EodashLayerControl.vue +7 -0
  44. package/widgets/EodashMap.vue +7 -1
  45. package/widgets/EodashProcess.vue +13 -13
  46. package/dist/client/Footer-FUp1Te0L.js +0 -141
@@ -2,7 +2,7 @@ import { ref, reactive, watch, onScopeDispose, effectScope, Fragment, computed,
2
2
  import { defineStore, storeToRefs, createPinia } from 'pinia';
3
3
  import { setupCache } from 'axios-cache-interceptor';
4
4
  import log from 'loglevel';
5
- import { mdiViewDashboardVariant, mdiViewDashboard, mdiAlertCircle, mdiClose, mdiChevronRight, mdiChevronLeft, mdiMenuDown, mdiPlus } from '@mdi/js';
5
+ import { mdiViewDashboardVariant, mdiViewDashboard, mdiBarley, mdiWater, mdiImageFilterHdr, mdiHospitalBoxOutline, mdiSetCenter, mdiWeatherWindy, mdiCurrencyEur, mdiAlertCircle, mdiClose, mdiChevronRight, mdiChevronLeft, mdiMenuDown, mdiPlus } from '@mdi/js';
6
6
  import { useEventBus, createSharedComposable } from '@vueuse/core';
7
7
  import WebFontLoader from 'webfontloader';
8
8
  import { toAbsolute } from 'stac-js/src/http.js';
@@ -3774,13 +3774,14 @@ const states = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
3774
3774
  const eodash = reactive({
3775
3775
  id: "demo",
3776
3776
  stacEndpoint:
3777
- // "https://eurodatacube.github.io/eodash-catalog/RACE/catalog.json",
3777
+ "https://esa-eodash.github.io/RACE-catalog/RACE/catalog.json",
3778
3778
  // "https://gtif-cerulean.github.io/catalog/cerulean/catalog.json",
3779
3779
  // "https://eodashcatalog.eox.at/samplecatalog/samples/catalog.json",
3780
3780
  // "https://eodashcatalog.eox.at/test-style/trilateral/catalog.json",
3781
3781
  // "https://gtif-cerulean.github.io/catalog/cerulean/catalog.json",
3782
3782
  // "https://gtif-cerulean.github.io/deside-catalog/deside/catalog.json",
3783
- "https://gtif-cerulean.github.io/cerulean-catalog/cerulean/catalog.json",
3783
+ // "https://gtif-cerulean.github.io/cerulean-catalog/cerulean/catalog.json",
3784
+ // "https://gtif-austria.github.io/public-catalog/GTIF-Austria/catalog.json",
3784
3785
  brand: {
3785
3786
  noLayout: true,
3786
3787
  name: "Demo",
@@ -4011,10 +4012,6 @@ const eodash = reactive({
4011
4012
  type: "internal",
4012
4013
  widget: {
4013
4014
  name: "EodashStacInfo",
4014
- properties: {
4015
- showIndicatorsBtn: false,
4016
- showLayoutSwitcher: false,
4017
- },
4018
4015
  },
4019
4016
  }
4020
4017
  : null;
@@ -4062,7 +4059,7 @@ const eodash = reactive({
4062
4059
  id: "Processes",
4063
4060
  type: "internal",
4064
4061
  title: "Processes",
4065
- layout: { x: 9, y: 7, w: 3, h: 5 },
4062
+ layout: { x: 9, y: 6, w: 3, h: 5 },
4066
4063
  widget: {
4067
4064
  name: "EodashProcess",
4068
4065
  },
@@ -7541,8 +7538,8 @@ function createVuetify() {
7541
7538
  goTo
7542
7539
  };
7543
7540
  }
7544
- const version = "3.7.7";
7545
- createVuetify.version = version;
7541
+ const version$1 = "3.7.7";
7542
+ createVuetify.version = version$1;
7546
7543
  function inject(key) {
7547
7544
  const vm = this.$;
7548
7545
  const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides;
@@ -7598,6 +7595,40 @@ const collectionsPalette = reactive([
7598
7595
  "#D55E00",
7599
7596
  ]);
7600
7597
 
7598
+ /**
7599
+ * Object containing data themes and their associated brand properties (icon and color).
7600
+ */
7601
+ const dataThemesBrands = {
7602
+ agriculture: {
7603
+ icon: mdiBarley,
7604
+ color: "#F2AF25",
7605
+ },
7606
+ water: {
7607
+ icon: mdiWater,
7608
+ color: "#73A6C7",
7609
+ },
7610
+ land: {
7611
+ icon: mdiImageFilterHdr,
7612
+ color: "#019E73",
7613
+ },
7614
+ health: {
7615
+ icon: mdiHospitalBoxOutline,
7616
+ color: "#497FA9",
7617
+ },
7618
+ combined: {
7619
+ icon: mdiSetCenter,
7620
+ color: "#56B4E9",
7621
+ },
7622
+ air: {
7623
+ icon: mdiWeatherWindy,
7624
+ color: "#475faf",
7625
+ },
7626
+ economy: {
7627
+ icon: mdiCurrencyEur,
7628
+ color: "#8E81AF",
7629
+ },
7630
+ };
7631
+
7601
7632
  /**
7602
7633
  * Loads font in the app using `webfontloader`
7603
7634
  *
@@ -8255,9 +8286,8 @@ const extractRoles = (properties, linkOrAsset) => {
8255
8286
  if (role === "overlay" || role === "baselayer") {
8256
8287
  properties.group = role;
8257
8288
  }
8258
-
8259
- return properties;
8260
8289
  });
8290
+ return properties;
8261
8291
  };
8262
8292
 
8263
8293
  /**
@@ -8556,6 +8586,7 @@ async function createLayersFromAssets(
8556
8586
  let geoTIFFIdx = null;
8557
8587
  // let geoJsonLayers = [];
8558
8588
  let geoJsonIdx = 0;
8589
+ let geoJsonAttributions = [];
8559
8590
 
8560
8591
  const geoJsonSources = [];
8561
8592
  let geoJsonRoles = {};
@@ -8570,6 +8601,8 @@ async function createLayersFromAssets(
8570
8601
  if (assets[ast]?.type === "application/geo+json") {
8571
8602
  geoJsonSources.push(assets[ast].href);
8572
8603
  geoJsonIdx = idx;
8604
+ if (assets[ast].attribution)
8605
+ geoJsonAttributions.push(assets[ast].attribution);
8573
8606
  extractRoles(geoJsonRoles, assets[ast]);
8574
8607
  } else if (assets[ast]?.type === "application/vnd.flatgeobuf") {
8575
8608
  const assetId = createAssetID(collectionId, item.id, idx);
@@ -8581,6 +8614,7 @@ async function createLayersFromAssets(
8581
8614
  type: "FlatGeoBuf",
8582
8615
  url: assets[ast].href,
8583
8616
  format: "GeoJSON",
8617
+ attributions: assets[ast].attribution,
8584
8618
  },
8585
8619
  properties: {
8586
8620
  id: assetId,
@@ -8594,11 +8628,12 @@ async function createLayersFromAssets(
8594
8628
  }),
8595
8629
  },
8596
8630
  ...(!style?.variables && { style }),
8631
+ interactions: [],
8597
8632
  };
8598
8633
  // add tooltip interaction if style has tooltip
8599
8634
  if (style?.tooltip) {
8600
- // @ts-expect-error no type for eox-map layer
8601
8635
  layer.interactions = [
8636
+ // @ts-expect-error no type for eox-map layer
8602
8637
  {
8603
8638
  type: "select",
8604
8639
  options: {
@@ -8618,9 +8653,18 @@ async function createLayersFromAssets(
8618
8653
  layer.properties = { ...layer.properties, ...(extraProperties ?? {}) };
8619
8654
 
8620
8655
  jsonArray.push(layer);
8656
+ const layer2 = structuredClone(layer);
8657
+ // temporary solution to avoid selection of the same layer
8658
+ // to be removed
8659
+ layer2.interactions = [];
8660
+ layer2.properties.id = layer2.properties.id + "_selection";
8661
+ jsonArray.push(layer2);
8621
8662
  } else if (assets[ast]?.type === "image/tiff") {
8622
8663
  geoTIFFIdx = idx;
8623
- geoTIFFSources.push({ url: assets[ast].href });
8664
+ geoTIFFSources.push({
8665
+ url: assets[ast].href,
8666
+ attributions: assets[ast].attribution,
8667
+ });
8624
8668
  }
8625
8669
  }
8626
8670
 
@@ -8634,6 +8678,7 @@ async function createLayersFromAssets(
8634
8678
  type: "Vector",
8635
8679
  url: await mergeGeojsons(geoJsonSources),
8636
8680
  format: "GeoJSON",
8681
+ attributions: geoJsonAttributions,
8637
8682
  },
8638
8683
  properties: {
8639
8684
  ...geoJsonRoles,
@@ -8747,6 +8792,7 @@ const createLayersFromLinks = async (
8747
8792
  tileGrid: {
8748
8793
  tileSize,
8749
8794
  },
8795
+ attributions: wmsLink.attribution,
8750
8796
  params: {
8751
8797
  LAYERS: wmsLink["wms:layers"],
8752
8798
  TILED: true,
@@ -8817,6 +8863,7 @@ const createLayersFromLinks = async (
8817
8863
  tileGrid: {
8818
8864
  tileSize: [128, 128],
8819
8865
  },
8866
+ attributions: wmtsLink.attribution,
8820
8867
  dimensions: dimensionsWithoutStyle,
8821
8868
  },
8822
8869
  };
@@ -8842,6 +8889,7 @@ const createLayersFromLinks = async (
8842
8889
  tileGrid: {
8843
8890
  tileSize: [512, 512],
8844
8891
  },
8892
+ attributions: wmtsLink.attribution,
8845
8893
  dimensions: dimensionsWithoutStyle,
8846
8894
  },
8847
8895
  };
@@ -8879,6 +8927,7 @@ const createLayersFromLinks = async (
8879
8927
  type: "XYZ",
8880
8928
  url: xyzLink.href,
8881
8929
  projection: projectionCode,
8930
+ attributions: xyzLink.attribution,
8882
8931
  },
8883
8932
  };
8884
8933
 
@@ -9292,39 +9341,69 @@ class EodashCollection {
9292
9341
  allFeatures.push(collectionFeatures);
9293
9342
  }
9294
9343
  }
9295
- if (allFeatures.length) {
9296
- const featureCollection = {
9297
- type: "FeatureCollection",
9298
- crs: {
9299
- type: "name",
9300
- properties: {
9301
- name: "EPSG:4326",
9302
- },
9303
- },
9304
- features: allFeatures.flat(),
9305
- };
9306
- return {
9307
- type: "Vector",
9344
+ if (!allFeatures.length) {
9345
+ return null;
9346
+ }
9347
+
9348
+ const featureCollection = {
9349
+ type: "FeatureCollection",
9350
+ crs: {
9351
+ type: "name",
9308
9352
  properties: {
9309
- id: "geodb-collection",
9310
- title: "Observation Points",
9353
+ name: "EPSG:4326",
9311
9354
  },
9312
- source: {
9313
- type: "Vector",
9314
- url: "data:," + encodeURIComponent(JSON.stringify(featureCollection)),
9315
- format: "GeoJSON",
9316
- },
9317
- style: {
9318
- "circle-radius": 5,
9319
- "circle-fill-color": "#00417077",
9320
- "circle-stroke-color": "#004170",
9321
- "fill-color": "#00417077",
9322
- "stroke-color": "#004170",
9323
- },
9324
- interactions: [],
9325
- };
9326
- }
9327
- return null;
9355
+ },
9356
+ features: allFeatures.flat(),
9357
+ };
9358
+ return {
9359
+ type: "Vector",
9360
+ properties: {
9361
+ id: "geodb-collection",
9362
+ title: "Observation Points",
9363
+ },
9364
+ source: {
9365
+ type: "Vector",
9366
+ url: "data:," + encodeURIComponent(JSON.stringify(featureCollection)),
9367
+ format: "GeoJSON",
9368
+ },
9369
+ style: (() => {
9370
+ // generate flat style rules for each theme
9371
+ /** @param {*} theme */
9372
+ const generateIconSrc = (theme) => {
9373
+ const svgString = `
9374
+ <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 70 70">
9375
+ <circle cx="35" cy="35" r="30" stroke="white" fill="${theme.color}" stroke-width="4"/>
9376
+ <path d="${theme.icon}" fill="#fff" transform="translate(19.5, 20) scale(1.3) "/>
9377
+ </svg>
9378
+ `;
9379
+ return `data:image/svg+xml,${encodeURIComponent(svgString)}`;
9380
+ };
9381
+
9382
+ return [
9383
+ ...Object.keys(dataThemesBrands).map((theme, idx) => {
9384
+ return {
9385
+ ...(idx !== 0 && { else: true }),
9386
+ filter: ["==", ["get", "themes", 0], theme],
9387
+ style: {
9388
+ //@ts-expect-error string index
9389
+ "icon-src": generateIconSrc(dataThemesBrands[theme]),
9390
+ },
9391
+ };
9392
+ }),
9393
+ {
9394
+ else: true,
9395
+ style: {
9396
+ "circle-radius": 10,
9397
+ "circle-fill-color": "#00417077",
9398
+ "circle-stroke-color": "#004170",
9399
+ "fill-color": "#0417077",
9400
+ "stroke-color": "#004170",
9401
+ },
9402
+ },
9403
+ ];
9404
+ })(),
9405
+ interactions: [],
9406
+ };
9328
9407
  }
9329
9408
  }
9330
9409
 
@@ -11481,10 +11560,10 @@ const VAlert = genericComponent()({
11481
11560
  }
11482
11561
  });
11483
11562
 
11484
- const _hoisted_1$2 = { is: "animated-details" };
11563
+ const _hoisted_1$3 = { is: "animated-details" };
11485
11564
 
11486
11565
 
11487
- const _sfc_main$3 = {
11566
+ const _sfc_main$4 = {
11488
11567
  __name: 'ErrorAlert',
11489
11568
  props: {
11490
11569
  "modelValue": { type: String, required: true },
@@ -11517,7 +11596,7 @@ return (_ctx, _cache) => {
11517
11596
  }, {
11518
11597
  default: withCtx(() => [
11519
11598
  createTextVNode(toDisplayString(unref(errorMessage)) + " ", 1 /* TEXT */),
11520
- createElementVNode("details", _hoisted_1$2, [
11599
+ createElementVNode("details", _hoisted_1$3, [
11521
11600
  _cache[1] || (_cache[1] = createElementVNode("summary", null, "Error", -1 /* HOISTED */)),
11522
11601
  createTextVNode(" " + toDisplayString(error.value), 1 /* TEXT */)
11523
11602
  ])
@@ -11529,7 +11608,7 @@ return (_ctx, _cache) => {
11529
11608
  }
11530
11609
 
11531
11610
  };
11532
- const ErrorAlert = /*#__PURE__*/_export_sfc(_sfc_main$3, [['__scopeId',"data-v-ac10aa7f"]]);
11611
+ const ErrorAlert = /*#__PURE__*/_export_sfc(_sfc_main$4, [['__scopeId',"data-v-ac10aa7f"]]);
11533
11612
 
11534
11613
  /**
11535
11614
  * @typedef {{
@@ -11548,7 +11627,7 @@ const ErrorAlert = /*#__PURE__*/_export_sfc(_sfc_main$3, [['__scopeId',"data-v-a
11548
11627
  const internalWidgets = (() => {
11549
11628
  /** @type {Record<string, () => Promise<import("vue").Component>>} */
11550
11629
  const importMap = {
11551
- .../* #__PURE__ */ Object.assign({"/widgets/EodashDatePicker.vue": () => import('./EodashDatePicker-DyLo_JUC.js'),"/widgets/EodashItemFilter.vue": () => import('./EodashItemFilter-BR572AaH.js'),"/widgets/EodashLayerControl.vue": () => import('./EodashLayerControl-C_mi-Hoo.js'),"/widgets/EodashLayoutSwitcher.vue": () => import('./EodashLayoutSwitcher-D4ooLbys.js'),"/widgets/EodashMap.vue": () => import('./EodashMap-CGFv4e85.js'),"/widgets/EodashMapBtns.vue": () => import('./EodashMapBtns-_M7SW7Is.js'),"/widgets/EodashProcess.vue": () => import('./EodashProcess-ZQAMi9Pc.js'),"/widgets/EodashStacInfo.vue": () => import('./EodashStacInfo-CwOCcsGl.js'),"/widgets/EodashTools.vue": () => import('./EodashTools-C_X0RPIp.js'),"/widgets/ExportState.vue": () => import('./ExportState-DNUSRJSJ.js'),"/widgets/PopUp.vue": () => import('./PopUp-CEmhdNIj.js'),"/widgets/WidgetsContainer.vue": () => import('./WidgetsContainer-GUwXMh9d.js')}),
11630
+ .../* #__PURE__ */ Object.assign({"/widgets/EodashDatePicker.vue": () => import('./EodashDatePicker-E5GjnQQ2.js'),"/widgets/EodashItemFilter.vue": () => import('./EodashItemFilter-DN77Uqgg.js'),"/widgets/EodashLayerControl.vue": () => import('./EodashLayerControl-DduVhg2O.js'),"/widgets/EodashLayoutSwitcher.vue": () => import('./EodashLayoutSwitcher-CeNnYuaC.js'),"/widgets/EodashMap.vue": () => import('./EodashMap-C3bgcNJk.js'),"/widgets/EodashMapBtns.vue": () => import('./EodashMapBtns-B73UApEn.js'),"/widgets/EodashProcess.vue": () => import('./EodashProcess-IQPnj17j.js'),"/widgets/EodashStacInfo.vue": () => import('./EodashStacInfo-CeZqI75-.js'),"/widgets/EodashTools.vue": () => import('./EodashTools-CAE604ZJ.js'),"/widgets/ExportState.vue": () => import('./ExportState-DXw8Dwvk.js'),"/widgets/PopUp.vue": () => import('./PopUp-B12NWJHU.js'),"/widgets/WidgetsContainer.vue": () => import('./WidgetsContainer-YI9ZycgC.js')}),
11552
11631
  .../* #__PURE__ */ Object.assign({}),
11553
11632
  };
11554
11633
  for (const key in importMap) {
@@ -11661,7 +11740,7 @@ const getWidgetDefinition = (config) => {
11661
11740
 
11662
11741
  case "web-component":
11663
11742
  importedWidget.component = defineAsyncComponent({
11664
- loader: () => import('./DynamicWebComponent-BRQQ5AXV.js'),
11743
+ loader: () => import('./DynamicWebComponent-DQPKIscC.js'),
11665
11744
  suspensible: true,
11666
11745
  });
11667
11746
  importedWidget.props = reactive(config.widget);
@@ -12001,13 +12080,13 @@ const VRow = genericComponent()({
12001
12080
  }
12002
12081
  });
12003
12082
 
12004
- const _hoisted_1$1 = {
12083
+ const _hoisted_1$2 = {
12005
12084
  key: 1,
12006
12085
  class: "text-center"
12007
12086
  };
12008
12087
 
12009
12088
 
12010
- const _sfc_main$2 = {
12089
+ const _sfc_main$3 = {
12011
12090
  __name: 'Loading',
12012
12091
  setup(__props) {
12013
12092
 
@@ -12041,7 +12120,7 @@ return (_ctx, _cache) => {
12041
12120
  default: withCtx(() => [
12042
12121
  (unref(loading)?.component)
12043
12122
  ? (openBlock(), createBlock(resolveDynamicComponent(unref(loading)?.component), normalizeProps(mergeProps({ key: 0 }, unref(loading)?.props)), null, 16 /* FULL_PROPS */))
12044
- : (openBlock(), createElementBlock("div", _hoisted_1$1, "Loading..."))
12123
+ : (openBlock(), createElementBlock("div", _hoisted_1$2, "Loading..."))
12045
12124
  ]),
12046
12125
  _: 1 /* STABLE */
12047
12126
  }))
@@ -12056,6 +12135,84 @@ return (_ctx, _cache) => {
12056
12135
 
12057
12136
  };
12058
12137
 
12138
+ const name = "@eodash/eodash";
12139
+ const version = "5.0.0-rc.2.3";
12140
+ const type = "module";
12141
+ const types = "./dist/types/core/client/types.d.ts";
12142
+ const files = ["core/client","widgets","dist"];
12143
+ const typesVersions = {"*":{".":["./dist/types/core/client/types.d.ts"],"webcomponent":["./dist/types/core/client/asWebComponent.d.ts"],"config":["./dist/node/types.d.ts"]}};
12144
+ const exports = {".":{"default":"./core/client/main.js"},"./webcomponent":{"default":"./dist/client/eo-dash.js"},"./webcomponent.css":"./dist/client/eo-dash.css","./config":{"default":"./dist/node/main.js"}};
12145
+ const browser = "./core/client/main.js";
12146
+ const scripts = {"start":"npx eodash dev --entryPoint core/client/eodash.js","prepare":"rollup -c","prepack":"npm run build:lib && npm run build:types","dev":"npx eodash dev --entryPoint core/client/eodash.js","dev:lib":"npx eodash dev --entryPoint core/client/eodash.js --lib","build":"npx eodash build --entryPoint core/client/eodash.js","build:lib":"npx eodash build --entryPoint core/client/eodash.js --lib --outDir dist/client","build:cli":"rollup -c","build:types":"vue-tsc --declaration --emitDeclarationOnly && tsc-alias","check":"vue-tsc --noEmit --skipLibCheck && eslint .","format":"prettier . --write --ignore-unknown","preview":"npx eodash preview","lint":"eslint . --fix","cypress":"cypress open --component ","vitest":"vitest --isolate --ui","test":"npm run test:client && npm run test:cli","test:cli":"vitest run tests/cli --isolate","test:client":"cypress run --component","docs:dev":"vitepress dev docs --port 3333","docs:build":"npm run docs:generate && vitepress build docs","docs:preview":"vitepress preview docs","docs:generate":"typedoc --options typedoc.config.json"};
12147
+ const dependencies = {"@eox/chart":"^0.3.1","@eox/drawtools":"^0.13.3","@eox/itemfilter":"^1.7.1","@eox/jsonform":"^0.12.2","@eox/layercontrol":"^0.29.0","@eox/layout":"^0.3.0","@eox/map":"^1.19.2","@eox/stacinfo":"^0.6.1","@eox/timecontrol":"^0.12.2","@mdi/js":"^7.4.47","@vitejs/plugin-vue":"^5.2.1","@vueuse/core":"^12.0.0","animated-details":"gist:2912bb049fa906671807415eb0e87188","axios":"^1.7.9","axios-cache-interceptor":"^1.6.2","color-legend-element":"^1.3.0","commander":"^12.1.0","core-js":"^3.40.0","loglevel":"^1.9.2","mustache":"^4.2.0","pinia":"^2.3.1","sass":"^1.83.4","stac-js":"^0.0.9","stac-ts":"^1.0.4","v-calendar":"3.0.0","vega":"^5.30.0","vega-embed":"^6.29.0","vega-lite":"^5.23.0","vite":"^6.0.11","vite-plugin-vuetify":"^2.0.4","vue":"^3.5.0","vuetify":"^3.7.7","webfontloader":"^1.6.28"};
12148
+ const devDependencies = {"@babel/types":"^7.26.5","@eox/eslint-config":"^2.0.0","@pinia/testing":"^0.1.7","@types/mustache":"^4.2.5","@types/node":"^22.10.7","@types/openlayers":"^4.6.23","@types/webfontloader":"^1.6.38","cypress":"^13.17.0","eslint":"^9.18.0","eslint-plugin-vue":"^9.32.0","pkg-pr-new":"^0.0.39","prettier":"^3.4.2","rollup":"^4.31.0","terminate":"^2.8.0","tsc-alias":"^1.8.10","typedoc":"^0.27.6","typedoc-plugin-markdown":"^4.4.1","typedoc-plugin-vue":"^1.3.0","typedoc-vitepress-theme":"^1.1.2","typescript":"^5.7.3","unplugin-fonts":"^1.3.1","vitepress":"^1.6.2","vitest":"^1.6.0","vue-tsc":"2.2.0"};
12149
+ const engines = {"node":">=20.15.1"};
12150
+ const bin = {"eodash":"./dist/node/cli.js"};
12151
+ const pkgJson = {
12152
+ name,
12153
+ version,
12154
+ type,
12155
+ types,
12156
+ files,
12157
+ typesVersions,
12158
+ exports,
12159
+ browser,
12160
+ scripts,
12161
+ dependencies,
12162
+ devDependencies,
12163
+ engines,
12164
+ bin,
12165
+ };
12166
+
12167
+ const _hoisted_1$1 = {
12168
+ key: 0,
12169
+ class: "eodash-overlay"
12170
+ };
12171
+ const _hoisted_2 = {
12172
+ href: "https://github.com/eodash/eodash",
12173
+ target: "_blank"
12174
+ };
12175
+ const _hoisted_3 = {
12176
+ href: "https://eox.at",
12177
+ target: "_blank"
12178
+ };
12179
+ const _hoisted_4 = ["src"];
12180
+
12181
+ const _sfc_main$2 = {
12182
+ __name: 'EodashOverlay',
12183
+ setup(__props) {
12184
+
12185
+ const { computedThemes } = useTheme();
12186
+
12187
+ const version = pkgJson.version;
12188
+
12189
+ const eoxLogo = `<svg width="100%" height="100%" viewBox="0 0 355 85" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><g id="ink_ext_XXXXXX"><path id="path5076" d="M152.986,40.52l-0.75,-0.019l-0.737,-0.056l-0.725,-0.093l-0.713,-0.127l-0.7,-0.162l-0.7,-0.196l-0.675,-0.228l-0.65,-0.261l-0.65,-0.292l-0.625,-0.319l-0.612,-0.352l-0.588,-0.377l-0.562,-0.407l-0.55,-0.431l-0.538,-0.457l-0.5,-0.481l-0.487,-0.505l-0.45,-0.528l-0.438,-0.55l-0.4,-0.57l-0.375,-0.59l-0.35,-0.609l-0.325,-0.627l-0.287,-0.645l-0.263,-0.66l-0.225,-0.676l-0.2,-0.69l-0.162,-0.704l-0.125,-0.717l-0.1,-0.728l-0.05,-0.739l-0.025,-0.748c0,-8.023 6.512,-14.532 14.537,-14.532c8.038,0 14.538,6.509 14.538,14.532c0,8.036 -6.5,14.544 -14.538,14.544Z" style="fill:none;"/><path id="path5078" d="M165.748,-0.002c-42.009,0 -76.06,18.985 -76.06,42.402c0,13.268 10.921,25.102 28.021,32.875c-8.081,-5.487 -13.403,-12.973 -14.584,-21.859c-2.685,-20.186 16.83,-40.82 45.148,-49.615c-14.687,6.665 -24.923,21.427 -24.923,38.599c0,23.218 18.648,42.046 41.773,42.383c-0.037,0.005 -0.087,0.015 -0.137,0.02c0.263,0 0.512,0.009 0.762,0.009c42.013,0 76.076,-18.984 76.076,-42.412c0,-13.261 -10.937,-25.097 -28.037,-32.871l0.75,0.522l0.736,0.531l0.713,0.543l0.7,0.555l0.687,0.566l0.664,0.578l0.649,0.588l0.625,0.6l0.613,0.609l0.588,0.621l0.574,0.631l0.562,0.643l0.538,0.652l0.513,0.662l0.5,0.672l0.475,0.684l0.449,0.693l0.438,0.703l0.425,0.713l0.387,0.723l0.375,0.73l0.352,0.74l0.336,0.75l0.3,0.76l0.287,0.77l0.264,0.777l0.25,0.787l0.211,0.795l0.188,0.805l0.175,0.812l0.151,0.82l0.125,0.831c2.675,20.19 -16.838,40.825 -45.151,49.619c14.688,-6.665 24.926,-21.426 24.926,-38.614c0,-23.202 -18.65,-42.026 -41.775,-42.367c0.05,-0.005 0.1,-0.015 0.15,-0.025c-0.262,0 -0.526,-0.01 -0.789,-0.01Zm-13.248,11.314c7.817,0 14.25,6.433 14.25,14.25c0,0.001 0,0.001 0,0.001c0,7.817 -6.433,14.249 -14.25,14.249c-7.817,0 -14.25,-6.432 -14.25,-14.249c0,-0.001 0,-0.001 0,-0.001c0,-7.817 6.433,-14.25 14.25,-14.25Z"
12190
+ style="fill:${computedThemes.value["dashboardTheme"].colors["on-secondary"]};fill-rule:nonzero;"/><path id="path5080" d="M213.786,9.529l0.75,0.521l0.738,0.532l0.712,0.544l0.7,0.555l0.688,0.566l0.662,0.577l0.65,0.588l0.625,0.6l0.613,0.61l0.587,0.62l0.575,0.631l0.563,0.643l0.537,0.652l0.513,0.663l0.5,0.672l0.475,0.684l0.45,0.692l0.437,0.703l0.425,0.712l0.388,0.723l0.375,0.731l0.35,0.741l0.337,0.75l0.3,0.76l0.288,0.769l0.262,0.777l0.25,0.786l0.213,0.797l0.187,0.804l0.175,0.812l0.15,0.821l0.125,0.83c2.675,20.19 -16.837,40.825 -45.15,49.619c14.688,-6.665 24.925,-21.426 24.925,-38.614c0,-23.202 -18.65,-42.025 -41.775,-42.367c0.05,-0.005 0.1,-0.015 0.15,-0.025c-0.262,0 -0.525,-0.01 -0.787,-0.01c-42.01,0 -76.062,18.985 -76.062,42.402c0,13.268 10.922,25.103 28.022,32.876c-8.081,-5.487 -13.403,-12.973 -14.584,-21.859c-2.685,-20.187 16.831,-40.82 45.149,-49.615c-14.688,6.665 -24.925,21.426 -24.925,38.598c0,23.218 18.65,42.046 41.775,42.383c-0.038,0.005 -0.088,0.015 -0.138,0.02c0.263,0 0.513,0.01 0.763,0.01c42.012,-0.001 76.075,-18.985 76.075,-42.413c0,-13.261 -10.938,-25.097 -28.038,-32.871Z" style="fill:none;"/><path id="path5082" d="M354.323,82.586l-41.999,-42.002l38.524,-38.515l-29.913,0l-23.562,23.559l-23.563,-23.559l-29.924,0l38.525,38.515l-42,42.002l29.913,0l27.049,-27.046l27.05,27.046l29.9,0"
12191
+ style="fill:${computedThemes.value["dashboardTheme"].colors["on-secondary"]};fill-rule:nonzero;"/><path id="path5084" d="M354.323,82.586l-41.999,-42.002l38.524,-38.515l-29.913,0l-23.562,23.559l-23.563,-23.559l-29.924,0l38.525,38.515l-42,42.002l29.913,0l27.049,-27.046l27.05,27.046l29.9,0Z" style="fill:none;"/><path id="path5086" d="M0,2.069l75.033,0l0,16.489l-51.629,0l0,14.931l40.258,0l0,16.495l-40.258,0l0,16.05l53.124,0l0,16.488l-76.528,0l0,-80.453"
12192
+ style="fill:${computedThemes.value["dashboardTheme"].colors["on-secondary"]};fill-rule:nonzero;"/><path id="path5088" d="M0,2.069l75.033,0l0,16.489l-51.629,0l0,14.931l40.258,0l0,16.495l-40.258,0l0,16.05l53.124,0l0,16.488l-76.528,0l0,-80.453Z" style="fill:none;"/></g></svg>`;
12193
+ const base64Logo = btoa(eoxLogo);
12194
+
12195
+ return (_ctx, _cache) => {
12196
+ return (_ctx.$vuetify.display.mdAndUp)
12197
+ ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
12198
+ createElementVNode("p", null, [
12199
+ createElementVNode("a", _hoisted_2, "eodash v" + toDisplayString(unref(version)), 1 /* TEXT */),
12200
+ _cache[0] || (_cache[0] = createTextVNode(" by ")),
12201
+ createElementVNode("a", _hoisted_3, [
12202
+ createElementVNode("img", {
12203
+ src: `data:image/svg+xml;base64,${unref(base64Logo)}`,
12204
+ height: "9px"
12205
+ }, null, 8 /* PROPS */, _hoisted_4)
12206
+ ])
12207
+ ])
12208
+ ]))
12209
+ : createCommentVNode("v-if", true)
12210
+ }
12211
+ }
12212
+
12213
+ };
12214
+ const EodashOverlay = /*#__PURE__*/_export_sfc(_sfc_main$2, [['__scopeId',"data-v-22662c4a"]]);
12215
+
12059
12216
  const _hoisted_1 = { class: "loading-container" };
12060
12217
 
12061
12218
 
@@ -12105,15 +12262,15 @@ const { loadSTAC } = useSTAcStore();
12105
12262
  const { smAndDown } = useDisplay();
12106
12263
  const TemplateComponent = computed(() =>
12107
12264
  smAndDown.value
12108
- ? defineAsyncComponent(() => import('./MobileLayout-CUHZFLDY.js'))
12109
- : defineAsyncComponent(() => import('./DashboardLayout-ByVMURpM.js')),
12265
+ ? defineAsyncComponent(() => import('./MobileLayout-Du5n5XyY.js'))
12266
+ : defineAsyncComponent(() => import('./DashboardLayout-Reny_s87.js')),
12110
12267
  );
12111
12268
 
12112
12269
  const HeaderComponent = defineAsyncComponent(
12113
- () => import('./Header-BcHAtFqr.js'),
12270
+ () => import('./Header-qH_kBs-u.js'),
12114
12271
  );
12115
12272
  const FooterComponent = defineAsyncComponent(
12116
- () => import('./Footer-FUp1Te0L.js'),
12273
+ () => import('./Footer-Bl9tQTyj.js'),
12117
12274
  );
12118
12275
 
12119
12276
  const templateHeight = props.isWebComponent ? "100%" : "100dvh";
@@ -12136,10 +12293,11 @@ return (_ctx, _cache) => {
12136
12293
  modelValue: error.value,
12137
12294
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ((error).value = $event))
12138
12295
  }, null, 8 /* PROPS */, ["modelValue"]),
12296
+ createVNode(EodashOverlay),
12139
12297
  (openBlock(), createBlock(Suspense, null, {
12140
12298
  fallback: withCtx(() => [
12141
12299
  createElementVNode("div", _hoisted_1, [
12142
- createVNode(_sfc_main$2)
12300
+ createVNode(_sfc_main$3)
12143
12301
  ])
12144
12302
  ]),
12145
12303
  default: withCtx(() => [