@eodash/eodash 5.0.0-rc.2.1 → 5.0.0-rc.2.2

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 (47) hide show
  1. package/core/client/components/DashboardLayout.vue +3 -2
  2. package/core/client/components/DynamicWebComponent.vue +10 -3
  3. package/core/client/components/Header.vue +1 -1
  4. package/core/client/components/MobileLayout.vue +1 -0
  5. package/core/client/composables/DefineTemplate.js +13 -2
  6. package/core/client/composables/DefineWidgets.js +9 -4
  7. package/core/client/composables/EodashMap.js +1 -1
  8. package/core/client/eodash.js +14 -4
  9. package/core/client/eodashSTAC/EodashCollection.js +9 -5
  10. package/core/client/eodashSTAC/helpers.js +6 -3
  11. package/core/client/types.ts +18 -13
  12. package/core/client/utils/index.js +112 -32
  13. package/core/client/views/Dashboard.vue +23 -6
  14. package/dist/client/{DashboardLayout-BjUs7mYs.js → DashboardLayout-ByVMURpM.js} +6 -6
  15. package/dist/client/{DynamicWebComponent-rIFx5c0f.js → DynamicWebComponent-BRQQ5AXV.js} +11 -4
  16. package/dist/client/{EodashDatePicker-brJlj1aQ.js → EodashDatePicker-DyLo_JUC.js} +3 -3
  17. package/dist/client/{EodashItemFilter-C2i4lnM1.js → EodashItemFilter-BR572AaH.js} +1 -1
  18. package/dist/client/{EodashLayerControl-DNQzPQQ4.js → EodashLayerControl-C_mi-Hoo.js} +1 -1
  19. package/dist/client/{EodashLayoutSwitcher-gLe7G8Qn.js → EodashLayoutSwitcher-D4ooLbys.js} +2 -2
  20. package/dist/client/{EodashMap-LOzTlvrM.js → EodashMap-CGFv4e85.js} +2 -2
  21. package/dist/client/{EodashMapBtns-UXOupU5J.js → EodashMapBtns-_M7SW7Is.js} +4 -4
  22. package/dist/client/{EodashProcess-BlkqUdzj.js → EodashProcess-ZQAMi9Pc.js} +1 -1
  23. package/dist/client/{EodashStacInfo-Df3LXKAw.js → EodashStacInfo-CwOCcsGl.js} +1 -1
  24. package/dist/client/{EodashTools-BrqH4IDP.js → EodashTools-C_X0RPIp.js} +4 -4
  25. package/dist/client/{ExportState-DVosrSNY.js → ExportState-DNUSRJSJ.js} +4 -4
  26. package/dist/client/{Footer-tjsscQ7O.js → Footer-FUp1Te0L.js} +1 -1
  27. package/dist/client/{Header-DYMnh4of.js → Header-BcHAtFqr.js} +5 -5
  28. package/dist/client/{MobileLayout-Df4Z1bMl.js → MobileLayout-CUHZFLDY.js} +11 -11
  29. package/dist/client/{PopUp-BFcSuX3b.js → PopUp-CEmhdNIj.js} +3 -3
  30. package/dist/client/{VImg-BO2Ysvsu.js → VImg-Cdaw92OV.js} +2 -2
  31. package/dist/client/{VMain-fx1gaM7Y.js → VMain-B7G2T3Zv.js} +1 -1
  32. package/dist/client/{VOverlay-CiQn3F6n.js → VOverlay-Mf1pOmgW.js} +3 -3
  33. package/dist/client/{VTooltip-DKOCofTl.js → VTooltip-9810qjB2.js} +3 -3
  34. package/dist/client/{WidgetsContainer-DL0bdnjh.js → WidgetsContainer-GUwXMh9d.js} +1 -1
  35. package/dist/client/{asWebComponent-N7ChSAQG.js → asWebComponent--e4yqM3f.js} +172 -63
  36. package/dist/client/eo-dash.css +2 -2
  37. package/dist/client/eo-dash.js +1 -1
  38. package/dist/client/{forwardRefs-C2UOEnvr.js → forwardRefs-B9UH8QZK.js} +1 -1
  39. package/dist/client/{index-BXi80Gr9.js → index-D-lbt2my.js} +1 -1
  40. package/dist/client/{transition-w_2EtUxa.js → transition-CTjQmgIS.js} +1 -1
  41. package/dist/types/core/client/eodashSTAC/helpers.d.ts +15 -6
  42. package/dist/types/core/client/types.d.ts +15 -11
  43. package/dist/types/core/client/utils/index.d.ts +1 -1
  44. package/dist/types/widgets/EodashStacInfo.vue.d.ts +2 -2
  45. package/dist/types/widgets/PopUp.vue.d.ts +2 -2
  46. package/package.json +2 -1
  47. package/widgets/EodashDatePicker.vue +18 -0
@@ -2,7 +2,7 @@ import { createVNode, watch, onMounted, nextTick, ref, useTemplateRef, computed,
2
2
  import '@eox/chart';
3
3
  import '@eox/drawtools';
4
4
  import '@eox/jsonform';
5
- import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, f as useRtl, J as useDimension, a as useRender, ah as axios, ai as getLayers, a4 as mapEl, aj as extractLayerConfig, a8 as eoxLayersKey, $ as useSTAcStore, ab as useOnLayersUpdate, V as VBtn } from './asWebComponent-N7ChSAQG.js';
5
+ import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, f as useRtl, J as useDimension, a as useRender, ah as axios, ai as getLayers, a4 as mapEl, aj as extractLayerConfig, a8 as eoxLayersKey, $ as useSTAcStore, ab as useOnLayersUpdate, V as VBtn } from './asWebComponent--e4yqM3f.js';
6
6
  import { storeToRefs } from 'pinia';
7
7
  import { useEventBus } from '@vueuse/core';
8
8
  import { isMulti } from '@eox/jsonform/src/custom-inputs/spatial/utils';
@@ -1,6 +1,6 @@
1
1
  import { openBlock, createElementBlock, createElementVNode, unref } from 'vue';
2
2
  import '@eox/stacinfo';
3
- import { ak as currentUrl } from './asWebComponent-N7ChSAQG.js';
3
+ import { ak as currentUrl } from './asWebComponent--e4yqM3f.js';
4
4
 
5
5
  const _hoisted_1 = { class: "flex-grow-1 fill-height overflow-auto" };
6
6
  const _hoisted_2 = [".for", ".allowHtml", ".body", ".featured", ".footer", ".styleOverride", ".header", ".subheader", ".tags"];
@@ -1,9 +1,9 @@
1
1
  import { ref, computed, openBlock, createElementBlock, createElementVNode, createBlock, unref, createCommentVNode, createVNode, withCtx, mergeProps } from 'vue';
2
- import _sfc_main$2 from './PopUp-BFcSuX3b.js';
3
- import _sfc_main$3 from './EodashItemFilter-C2i4lnM1.js';
4
- import _sfc_main$1 from './EodashLayoutSwitcher-gLe7G8Qn.js';
2
+ import _sfc_main$2 from './PopUp-CEmhdNIj.js';
3
+ import _sfc_main$3 from './EodashItemFilter-BR572AaH.js';
4
+ import _sfc_main$1 from './EodashLayoutSwitcher-D4ooLbys.js';
5
5
  import { mdiViewDashboard, mdiPlus } from '@mdi/js';
6
- import { t as useDisplay, a2 as makePanelTransparent, V as VBtn } from './asWebComponent-N7ChSAQG.js';
6
+ import { t as useDisplay, a2 as makePanelTransparent, V as VBtn } from './asWebComponent--e4yqM3f.js';
7
7
 
8
8
  const _hoisted_1 = { class: "d-flex flex-row justify-space-between pa-4 align-center" };
9
9
 
@@ -1,9 +1,9 @@
1
1
  import { createVNode, Fragment, computed, withDirectives, mergeProps, resolveDirective, toRef, mergeModels, useModel, ref, openBlock, createBlock, withCtx, createElementVNode, createTextVNode, toDisplayString, unref, createElementBlock, createCommentVNode, renderList } from 'vue';
2
2
  import { mdiClipboardCheckOutline, mdiContentCopy } from '@mdi/js';
3
- import _sfc_main$1 from './PopUp-BFcSuX3b.js';
4
- import { an as createSimpleFunctional, g as genericComponent, b as makeComponentProps, D as provideDefaults, a as useRender, p as propsFactory, c as makeTagProps, I as IconValue, K as makeBorderProps, A as makeDensityProps, M as makeRoundedProps, ao as makeSizeProps, d as makeThemeProps, ap as makeVariantProps, e as provideTheme, N as useBorder, aq as useVariant, B as useDensity, P as useRounded, ar as useSize, y as VIcon, Q as VDefaultsProvider, as as genOverlays, H as makeDimensionProps, L as makeElevationProps, at as makeLoaderProps, au as makeLocationProps, av as makePositionProps, aw as makeRouterProps, ax as Ripple, J as useDimension, O as useElevation, ay as useLoader, az as useLocation, aA as usePosition, aB as useLink, aC as LoaderSlot, u as useTextColor, q as convertToUnit, _ as _export_sfc, ai as getLayers, aD as removeUnneededProperties, aE as VRow, aF as VCol, V as VBtn, aG as copyToClipBoard, ad as mapPosition, ae as availableMapProjection } from './asWebComponent-N7ChSAQG.js';
5
- import { a as VExpandTransition } from './index-BXi80Gr9.js';
6
- import { V as VImg } from './VImg-BO2Ysvsu.js';
3
+ import _sfc_main$1 from './PopUp-CEmhdNIj.js';
4
+ import { an as createSimpleFunctional, g as genericComponent, b as makeComponentProps, D as provideDefaults, a as useRender, p as propsFactory, c as makeTagProps, I as IconValue, K as makeBorderProps, A as makeDensityProps, M as makeRoundedProps, ao as makeSizeProps, d as makeThemeProps, ap as makeVariantProps, e as provideTheme, N as useBorder, aq as useVariant, B as useDensity, P as useRounded, ar as useSize, y as VIcon, Q as VDefaultsProvider, as as genOverlays, H as makeDimensionProps, L as makeElevationProps, at as makeLoaderProps, au as makeLocationProps, av as makePositionProps, aw as makeRouterProps, ax as Ripple, J as useDimension, O as useElevation, ay as useLoader, az as useLocation, aA as usePosition, aB as useLink, aC as LoaderSlot, u as useTextColor, q as convertToUnit, _ as _export_sfc, ai as getLayers, aD as removeUnneededProperties, aE as VRow, aF as VCol, V as VBtn, aG as copyToClipBoard, ad as mapPosition, ae as availableMapProjection } from './asWebComponent--e4yqM3f.js';
5
+ import { a as VExpandTransition } from './index-D-lbt2my.js';
6
+ import { V as VImg } from './VImg-Cdaw92OV.js';
7
7
 
8
8
  // Styles
9
9
  const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');
@@ -1,5 +1,5 @@
1
1
  import { ref, toRef, shallowRef, computed, createVNode, watchEffect, inject, openBlock, createBlock, unref, withCtx, createElementVNode, toDisplayString, createTextVNode } from 'vue';
2
- import { p as propsFactory, K as makeBorderProps, b as makeComponentProps, L as makeElevationProps, T as makeLayoutItemProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, g as genericComponent, e as provideTheme, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, v as useResizeObserver, U as useToggleScope, a as useRender, q as convertToUnit, W as useLayoutItem, _ as _export_sfc, X as eodashKey, t as useDisplay } from './asWebComponent-N7ChSAQG.js';
2
+ import { p as propsFactory, K as makeBorderProps, b as makeComponentProps, L as makeElevationProps, T as makeLayoutItemProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, g as genericComponent, e as provideTheme, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, v as useResizeObserver, U as useToggleScope, a as useRender, q as convertToUnit, W as useLayoutItem, _ as _export_sfc, X as eodashKey, t as useDisplay } from './asWebComponent--e4yqM3f.js';
3
3
 
4
4
  const makeVFooterProps = propsFactory({
5
5
  app: Boolean,
@@ -1,7 +1,7 @@
1
1
  import { createVNode, toRef, shallowRef, computed, ref, watch, onMounted, onBeforeUnmount, mergeProps, watchEffect, inject, openBlock, createBlock, withCtx, createTextVNode, toDisplayString, unref } from 'vue';
2
- import { p as propsFactory, b as makeComponentProps, c as makeTagProps, g as genericComponent, a as useRender, K as makeBorderProps, L as makeElevationProps, M as makeRoundedProps, d as makeThemeProps, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, e as provideTheme, f as useRtl, D as provideDefaults, Q as VDefaultsProvider, q as convertToUnit, R as clamp, S as consoleWarn, T as makeLayoutItemProps, j as useProxiedModel, U as useToggleScope, W as useLayoutItem, _ as _export_sfc, X as eodashKey } from './asWebComponent-N7ChSAQG.js';
3
- import { a as VExpandTransition } from './index-BXi80Gr9.js';
4
- import { V as VImg } from './VImg-BO2Ysvsu.js';
2
+ import { p as propsFactory, b as makeComponentProps, c as makeTagProps, g as genericComponent, a as useRender, K as makeBorderProps, L as makeElevationProps, M as makeRoundedProps, d as makeThemeProps, C as useBackgroundColor, N as useBorder, O as useElevation, P as useRounded, e as provideTheme, f as useRtl, D as provideDefaults, Q as VDefaultsProvider, q as convertToUnit, R as clamp, S as consoleWarn, T as makeLayoutItemProps, j as useProxiedModel, U as useToggleScope, W as useLayoutItem, _ as _export_sfc, X as eodashKey } from './asWebComponent--e4yqM3f.js';
3
+ import { a as VExpandTransition } from './index-D-lbt2my.js';
4
+ import { V as VImg } from './VImg-Cdaw92OV.js';
5
5
  import { u as useSsrBoot } from './ssrBoot-BP7SYRyC.js';
6
6
 
7
7
  const makeVToolbarTitleProps = propsFactory({
@@ -415,7 +415,7 @@ return (_ctx, _cache) => {
415
415
 
416
416
  return (openBlock(), createBlock(VAppBar, { color: "primary" }, {
417
417
  default: withCtx(() => [
418
- createVNode(VAppBarTitle, null, {
418
+ createVNode(VAppBarTitle, { class: "header" }, {
419
419
  default: withCtx(() => [
420
420
  createTextVNode(toDisplayString(unref(title)), 1 /* TEXT */)
421
421
  ]),
@@ -432,6 +432,6 @@ return (_ctx, _cache) => {
432
432
  }
433
433
 
434
434
  };
435
- const Header = /*#__PURE__*/_export_sfc(_sfc_main, [['__scopeId',"data-v-d3a5e05e"]]);
435
+ const Header = /*#__PURE__*/_export_sfc(_sfc_main, [['__scopeId',"data-v-bfe4aadf"]]);
436
436
 
437
437
  export { Header as default };
@@ -1,10 +1,10 @@
1
1
  import { ref, computed, createVNode, mergeProps, Fragment, shallowRef, watch, provide, withDirectives, resolveDirective, inject, vShow, nextTick, toRef, useCssVars, onMounted, openBlock, createBlock, withCtx, Suspense, unref, resolveDynamicComponent, createCommentVNode, createElementBlock, renderList, createElementVNode, createTextVNode, toDisplayString } from 'vue';
2
- import { k as keys, p as propsFactory, o as omit, m as makeVBtnProps, g as genericComponent, u as useTextColor, a as useRender, V as VBtn, b as makeComponentProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, f as useRtl, h as useLocale, i as useGroup, j as useProxiedModel, l as makeGroupItemProps, n as useGroupItem, q as convertToUnit, I as IconValue, r as makeDisplayProps, s as makeGroupProps, t as useDisplay, v as useResizeObserver, w as useGoTo, x as IN_BROWSER, y as VIcon, z as focusableChildren, A as makeDensityProps, B as useDensity, C as useBackgroundColor, D as provideDefaults, E as isObject, _ as _export_sfc, F as useDefineTemplate, G as useLayout } from './asWebComponent-N7ChSAQG.js';
3
- import { V as VMain } from './VMain-fx1gaM7Y.js';
4
- import { f as forwardRefs, a as animate, s as standardEasing, m as makeLazyProps, u as useLazy, b as useScopeId } from './forwardRefs-C2UOEnvr.js';
2
+ import { k as keys, p as propsFactory, o as omit, m as makeVBtnProps, g as genericComponent, u as useTextColor, a as useRender, V as VBtn, b as makeComponentProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, f as useRtl, h as useLocale, i as useGroup, j as useProxiedModel, l as makeGroupItemProps, n as useGroupItem, q as convertToUnit, I as IconValue, r as makeDisplayProps, s as makeGroupProps, t as useDisplay, v as useResizeObserver, w as useGoTo, x as IN_BROWSER, y as VIcon, z as focusableChildren, A as makeDensityProps, B as useDensity, C as useBackgroundColor, D as provideDefaults, E as isObject, _ as _export_sfc, F as useDefineTemplate, G as useLayout } from './asWebComponent--e4yqM3f.js';
3
+ import { V as VMain } from './VMain-B7G2T3Zv.js';
4
+ import { f as forwardRefs, a as animate, s as standardEasing, m as makeLazyProps, u as useLazy, b as useScopeId } from './forwardRefs-B9UH8QZK.js';
5
5
  import { u as useSsrBoot } from './ssrBoot-BP7SYRyC.js';
6
- import { M as MaybeTransition } from './transition-w_2EtUxa.js';
7
- import { V as VFadeTransition } from './index-BXi80Gr9.js';
6
+ import { M as MaybeTransition } from './transition-CTjQmgIS.js';
7
+ import { V as VFadeTransition } from './index-D-lbt2my.js';
8
8
 
9
9
  // Utilities
10
10
  const handleGesture = wrapper => {
@@ -1098,9 +1098,9 @@ const _sfc_main = {
1098
1098
  setup(__props) {
1099
1099
 
1100
1100
  useCssVars(_ctx => ({
1101
- "1f5b5478": (mainRectTopPx.value),
1102
- "934a0878": (tabsHeightFromBtm.value),
1103
- "1e5fe7fe": (mainRectBtmPx.value)
1101
+ "e61d6a5e": (mainRectTopPx.value),
1102
+ "3e27c4c6": (tabsHeightFromBtm.value),
1103
+ "e8144352": (mainRectBtmPx.value)
1104
1104
  }));
1105
1105
 
1106
1106
  const { bgWidget, importedWidgets } = useDefineTemplate();
@@ -1133,8 +1133,8 @@ return (_ctx, _cache) => {
1133
1133
  default: withCtx(() => [
1134
1134
  (unref(bgWidget)?.component)
1135
1135
  ? (openBlock(), createBlock(resolveDynamicComponent(unref(bgWidget).component), mergeProps({
1136
- key: 0,
1137
- id: "bg-widget"
1136
+ id: "bg-widget",
1137
+ key: unref(bgWidget).id
1138
1138
  }, unref(bgWidget).props), null, 16 /* FULL_PROPS */))
1139
1139
  : createCommentVNode("v-if", true)
1140
1140
  ]),
@@ -1212,6 +1212,6 @@ return (_ctx, _cache) => {
1212
1212
  }
1213
1213
 
1214
1214
  };
1215
- const MobileLayout = /*#__PURE__*/_export_sfc(_sfc_main, [['__scopeId',"data-v-36affbb0"]]);
1215
+ const MobileLayout = /*#__PURE__*/_export_sfc(_sfc_main, [['__scopeId',"data-v-d963d7c7"]]);
1216
1216
 
1217
1217
  export { MobileLayout as default };
@@ -1,7 +1,7 @@
1
1
  import { createVNode, Transition, mergeProps, ref, onBeforeUnmount, watch, nextTick, toRef, mergeModels, useModel, openBlock, createElementBlock, withCtx, createBlock, resolveDynamicComponent, unref, createCommentVNode, renderSlot } from 'vue';
2
- import { g as genericComponent, p as propsFactory, j as useProxiedModel, x as IN_BROWSER, a as useRender, z as focusableChildren, Q as VDefaultsProvider, K as makeBorderProps, b as makeComponentProps, H as makeDimensionProps, L as makeElevationProps, au as makeLocationProps, av as makePositionProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, C as useBackgroundColor, N as useBorder, J as useDimension, O as useElevation, az as useLocation, aA as usePosition, P as useRounded, aJ as useDefineWidgets } from './asWebComponent-N7ChSAQG.js';
3
- import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-CiQn3F6n.js';
4
- import { a as animate, d as deceleratedEasing, s as standardEasing, c as acceleratedEasing, g as getTargetBox, n as nullifyTransforms, b as useScopeId, f as forwardRefs } from './forwardRefs-C2UOEnvr.js';
2
+ import { g as genericComponent, p as propsFactory, j as useProxiedModel, x as IN_BROWSER, a as useRender, z as focusableChildren, Q as VDefaultsProvider, K as makeBorderProps, b as makeComponentProps, H as makeDimensionProps, L as makeElevationProps, au as makeLocationProps, av as makePositionProps, M as makeRoundedProps, c as makeTagProps, d as makeThemeProps, e as provideTheme, C as useBackgroundColor, N as useBorder, J as useDimension, O as useElevation, az as useLocation, aA as usePosition, P as useRounded, aJ as useDefineWidgets } from './asWebComponent--e4yqM3f.js';
3
+ import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-Mf1pOmgW.js';
4
+ import { a as animate, d as deceleratedEasing, s as standardEasing, c as acceleratedEasing, g as getTargetBox, n as nullifyTransforms, b as useScopeId, f as forwardRefs } from './forwardRefs-B9UH8QZK.js';
5
5
 
6
6
  const makeVDialogTransitionProps = propsFactory({
7
7
  target: [Object, Array]
@@ -1,6 +1,6 @@
1
1
  import { createVNode, computed, toRef, shallowRef, ref, watch, onBeforeMount, nextTick, onBeforeUnmount, withDirectives, mergeProps, Fragment, resolveDirective, vShow } from 'vue';
2
- import { aH as SUPPORTS_INTERSECTION, p as propsFactory, b as makeComponentProps, H as makeDimensionProps, g as genericComponent, J as useDimension, a as useRender, M as makeRoundedProps, C as useBackgroundColor, P as useRounded, aI as getCurrentInstance, q as convertToUnit } from './asWebComponent-N7ChSAQG.js';
3
- import { m as makeTransitionProps, M as MaybeTransition } from './transition-w_2EtUxa.js';
2
+ import { aH as SUPPORTS_INTERSECTION, p as propsFactory, b as makeComponentProps, H as makeDimensionProps, g as genericComponent, J as useDimension, a as useRender, M as makeRoundedProps, C as useBackgroundColor, P as useRounded, aI as getCurrentInstance, q as convertToUnit } from './asWebComponent--e4yqM3f.js';
3
+ import { m as makeTransitionProps, M as MaybeTransition } from './transition-CTjQmgIS.js';
4
4
 
5
5
  // Utilities
6
6
  function mounted(el, binding) {
@@ -1,5 +1,5 @@
1
1
  import { createVNode } from 'vue';
2
- import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, J as useDimension, G as useLayout, a as useRender } from './asWebComponent-N7ChSAQG.js';
2
+ import { p as propsFactory, b as makeComponentProps, H as makeDimensionProps, c as makeTagProps, g as genericComponent, J as useDimension, G as useLayout, a as useRender } from './asWebComponent--e4yqM3f.js';
3
3
  import { u as useSsrBoot } from './ssrBoot-BP7SYRyC.js';
4
4
 
5
5
  const makeVMainProps = propsFactory({
@@ -1,7 +1,7 @@
1
1
  import { ref, watch, onScopeDispose, computed, nextTick, watchEffect, effectScope, inject, mergeProps, shallowRef, onMounted, reactive, provide, readonly, toRaw, warn, toRef, onBeforeUnmount, createVNode, Fragment, Teleport, withDirectives, vShow, resolveDirective, Transition } from 'vue';
2
- import { aK as isOn, aL as eventName, p as propsFactory, x as IN_BROWSER, U as useToggleScope, aM as destructComputed, aN as parseAnchor, aO as flipSide, aP as flipAlign, aQ as flipCorner, Y as consoleError, aR as getAxis, q as convertToUnit, R as clamp, aS as defer, aI as getCurrentInstance, aT as templateRef, aU as matchesSelector, t as useDisplay, b as makeComponentProps, H as makeDimensionProps, d as makeThemeProps, g as genericComponent, j as useProxiedModel, e as provideTheme, f as useRtl, C as useBackgroundColor, J as useDimension, aV as useRouter, a as useRender, aW as useBackButton } from './asWebComponent-N7ChSAQG.js';
3
- import { g as getTargetBox, B as Box, e as getOverflow, n as nullifyTransforms, m as makeLazyProps, u as useLazy, b as useScopeId, a as animate, s as standardEasing } from './forwardRefs-C2UOEnvr.js';
4
- import { m as makeTransitionProps, M as MaybeTransition } from './transition-w_2EtUxa.js';
2
+ import { aK as isOn, aL as eventName, p as propsFactory, x as IN_BROWSER, U as useToggleScope, aM as destructComputed, aN as parseAnchor, aO as flipSide, aP as flipAlign, aQ as flipCorner, Y as consoleError, aR as getAxis, q as convertToUnit, R as clamp, aS as defer, aI as getCurrentInstance, aT as templateRef, aU as matchesSelector, t as useDisplay, b as makeComponentProps, H as makeDimensionProps, d as makeThemeProps, g as genericComponent, j as useProxiedModel, e as provideTheme, f as useRtl, C as useBackgroundColor, J as useDimension, aV as useRouter, a as useRender, aW as useBackButton } from './asWebComponent--e4yqM3f.js';
3
+ import { g as getTargetBox, B as Box, e as getOverflow, n as nullifyTransforms, m as makeLazyProps, u as useLazy, b as useScopeId, a as animate, s as standardEasing } from './forwardRefs-B9UH8QZK.js';
4
+ import { m as makeTransitionProps, M as MaybeTransition } from './transition-CTjQmgIS.js';
5
5
 
6
6
  // Utilities
7
7
  const handlers = new WeakMap();
@@ -1,7 +1,7 @@
1
1
  import { computed, ref, mergeProps, createVNode } from 'vue';
2
- import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-CiQn3F6n.js';
3
- import { b as useScopeId, f as forwardRefs } from './forwardRefs-C2UOEnvr.js';
4
- import { p as propsFactory, o as omit, g as genericComponent, j as useProxiedModel, am as getUid, a as useRender } from './asWebComponent-N7ChSAQG.js';
2
+ import { m as makeVOverlayProps, V as VOverlay } from './VOverlay-Mf1pOmgW.js';
3
+ import { b as useScopeId, f as forwardRefs } from './forwardRefs-B9UH8QZK.js';
4
+ import { p as propsFactory, o as omit, g as genericComponent, j as useProxiedModel, am as getUid, a as useRender } from './asWebComponent--e4yqM3f.js';
5
5
 
6
6
  const makeVTooltipProps = propsFactory({
7
7
  id: String,
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, nextTick, openBlock, createElementBlock, Fragment, renderList, unref, createElementVNode, toDisplayString, normalizeStyle, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
2
- import { aJ as useDefineWidgets, G as useLayout } from './asWebComponent-N7ChSAQG.js';
2
+ import { aJ as useDefineWidgets, G as useLayout } from './asWebComponent--e4yqM3f.js';
3
3
  import 'animated-details';
4
4
 
5
5
  const _sfc_main = {
@@ -4,6 +4,7 @@ import { setupCache } from 'axios-cache-interceptor';
4
4
  import log from 'loglevel';
5
5
  import { mdiViewDashboardVariant, mdiViewDashboard, mdiAlertCircle, mdiClose, mdiChevronRight, mdiChevronLeft, mdiMenuDown, mdiPlus } from '@mdi/js';
6
6
  import { useEventBus, createSharedComposable } from '@vueuse/core';
7
+ import WebFontLoader from 'webfontloader';
7
8
  import { toAbsolute } from 'stac-js/src/http.js';
8
9
  import { Collection, Item } from 'stac-js';
9
10
  import VCalendar from 'v-calendar';
@@ -3783,6 +3784,16 @@ const eodash = reactive({
3783
3784
  brand: {
3784
3785
  noLayout: true,
3785
3786
  name: "Demo",
3787
+ font: {
3788
+ headers: {
3789
+ family: "Open Sans",
3790
+ link: "https://eox.at/fonts/opensans/opensans.css",
3791
+ },
3792
+ body: {
3793
+ family: "Sintony",
3794
+ link: "https://eox.at/fonts/sintony/sintony.css",
3795
+ },
3796
+ },
3786
3797
  theme: {
3787
3798
  colors: {
3788
3799
  primary: "#002742",
@@ -3827,7 +3838,7 @@ const eodash = reactive({
3827
3838
  },
3828
3839
  },
3829
3840
  background: {
3830
- id: Symbol(),
3841
+ id: "background-map",
3831
3842
  type: "internal",
3832
3843
  widget: {
3833
3844
  name: "EodashMap",
@@ -3949,7 +3960,7 @@ const eodash = reactive({
3949
3960
  },
3950
3961
  },
3951
3962
  background: {
3952
- id: Symbol(),
3963
+ id: "background-map",
3953
3964
  type: "internal",
3954
3965
  widget: {
3955
3966
  name: "EodashMap",
@@ -4015,7 +4026,7 @@ const eodash = reactive({
4015
4026
  ? {
4016
4027
  id: "Datepicker",
4017
4028
  type: "internal",
4018
- layout: { x: 5, y: 8, w: 2, h: 4 },
4029
+ layout: { x: 5, y: 11, w: 2, h: 1 },
4019
4030
  title: "Date",
4020
4031
  widget: {
4021
4032
  name: "EodashDatePicker",
@@ -4078,7 +4089,7 @@ const eodash = reactive({
4078
4089
  },
4079
4090
  },
4080
4091
  background: {
4081
- id: Symbol(),
4092
+ id: "background-map",
4082
4093
  type: "internal",
4083
4094
  widget: {
4084
4095
  name: "EodashMap",
@@ -7590,41 +7601,119 @@ const collectionsPalette = reactive([
7590
7601
  /**
7591
7602
  * Loads font in the app using `webfontloader`
7592
7603
  *
7593
- * @param {string} [family]
7594
- * @param {string} [link]
7595
- * @param {boolean} [isWebComponent]
7596
- * @returns {Promise<string>} - Font family name
7604
+ * @param {import("@/types").Eodash["brand"]["font"]} fontConfig
7605
+ * @param {boolean} isWebComponent
7606
+ * @returns {Promise<string[]>} - Font family name
7597
7607
  * @see {@link "https://github.com/typekit/webfontloader"}
7598
7608
  */
7599
- const loadFont = async (
7600
- family = "",
7601
- link = "",
7602
- isWebComponent = false,
7603
- ) => {
7604
- if (family && link) {
7605
- const WebFontLoader = (await import('webfontloader')).default;
7606
- WebFontLoader.load({
7607
- classes: false,
7608
- custom: {
7609
- // Use FVD notation to include families https://github.com/typekit/fvd
7610
- families: [family],
7611
- // Path to stylesheet that defines font-face
7612
- urls: [link],
7613
- },
7614
- fontactive(familyName, _fvd) {
7615
- const stylesheet = new CSSStyleSheet();
7616
- const styles = isWebComponent
7617
- ? `eo-dash {font-family: ${familyName};}`
7618
- : `* {font-family: ${familyName};}`;
7619
- stylesheet.replaceSync(styles);
7620
- document.adoptedStyleSheets.push(stylesheet);
7621
- },
7622
- fontinactive(familyName, _fvd) {
7623
- throw new Error(`error loading font: ${familyName}`);
7624
- },
7625
- });
7609
+ const loadFont = async (fontConfig, isWebComponent) => {
7610
+ if (!fontConfig) {
7611
+ return [];
7612
+ }
7613
+
7614
+ let headerFamily = "",
7615
+ bodyFamily = "",
7616
+ headerLink = "",
7617
+ bodyLink = "";
7618
+ if ("headers" in fontConfig) {
7619
+ headerFamily = fontConfig?.headers?.family;
7620
+ headerLink = fontConfig.headers.link ?? "";
7621
+ bodyFamily = fontConfig?.body?.family;
7622
+ bodyLink = fontConfig.body.link ?? "";
7623
+ } else {
7624
+ headerFamily = fontConfig.family;
7625
+ headerLink = fontConfig.link ?? "";
7626
+ bodyFamily = fontConfig?.family;
7627
+ bodyLink = fontConfig.link ?? "";
7628
+ }
7629
+ const families =
7630
+ headerFamily === bodyFamily ? [headerFamily] : [headerFamily, bodyFamily];
7631
+ const urls = [];
7632
+ if (bodyLink && headerLink) {
7633
+ if (bodyLink !== headerLink) {
7634
+ urls.push(bodyLink);
7635
+ urls.push(headerLink);
7636
+ } else {
7637
+ urls.push(bodyLink);
7638
+ }
7626
7639
  }
7627
- return family;
7640
+
7641
+ WebFontLoader.load({
7642
+ classes: false,
7643
+ custom: {
7644
+ // Use FVD notation to include families https://github.com/typekit/fvd
7645
+ families,
7646
+ // Path to stylesheet that defines font-face
7647
+ urls,
7648
+ },
7649
+ fontactive(familyName, _fvd) {
7650
+ const stylesheet = new CSSStyleSheet();
7651
+
7652
+ const bodyRule = `
7653
+ ${isWebComponent ? "eo-dash" : `:root`} {
7654
+ font-family: ${bodyFamily};
7655
+ --vc-font-family: ${bodyFamily};
7656
+ }
7657
+ eox-layercontrol,
7658
+ eox-map,
7659
+ eox-jsonform,
7660
+ eox-timecontrol,
7661
+ eox-itemfilter,
7662
+ eox-chart,
7663
+ eox-stacinfo{
7664
+ --eox-body-font-family: ${bodyFamily};
7665
+ font-family: ${bodyFamily}
7666
+ ;
7667
+ }
7668
+ *[class*="text-body"]{
7669
+ font-family: ${bodyFamily}
7670
+ }
7671
+ `;
7672
+
7673
+ const headersRule = `
7674
+ ${
7675
+ isWebComponent
7676
+ ? `
7677
+ eo-dash h1,
7678
+ eo-dash h2,
7679
+ eo-dash h3,
7680
+ eo-dash h4,
7681
+ eo-dash h5,
7682
+ eo-dash *[class*="header"]
7683
+ `
7684
+ : `
7685
+ h1,
7686
+ h2,
7687
+ h3,
7688
+ h4,
7689
+ h5,
7690
+ *[class*="header"]`
7691
+ } {
7692
+ font-family: ${headerFamily} !important;
7693
+ }
7694
+ eox-layercontrol,
7695
+ eox-map,
7696
+ eox-jsonform,
7697
+ eox-timecontrol,
7698
+ eox-itemfilter,
7699
+ eox-chart,
7700
+ eox-stacinfo {
7701
+ --eox-header-font-family: ${headerFamily};
7702
+ `;
7703
+ const isOne = headerFamily && headerFamily === bodyFamily;
7704
+ const styles = isOne
7705
+ ? bodyRule + "\n" + headersRule
7706
+ : familyName == bodyFamily
7707
+ ? bodyRule
7708
+ : headersRule;
7709
+ stylesheet.replaceSync(styles);
7710
+ document?.adoptedStyleSheets?.push(stylesheet);
7711
+ },
7712
+ fontinactive(familyName, _fvd) {
7713
+ throw new Error(`error loading font: ${familyName}`);
7714
+ },
7715
+ });
7716
+ return families;
7628
7717
  };
7629
7718
 
7630
7719
  /**
@@ -8051,8 +8140,11 @@ function getStyleVariablesState(collectionId, variables) {
8051
8140
  return matchingKeys ? oldVariablesState : variables;
8052
8141
  }
8053
8142
 
8054
- /** @param {import("stac-ts").StacLink[]} [links] */
8055
- function generateFeatures(links) {
8143
+ /**
8144
+ * @param {import("stac-ts").StacLink[]} [links]
8145
+ * @param {Record<string,any>} [extraProperties]
8146
+ **/
8147
+ function generateFeatures(links, extraProperties = {}) {
8056
8148
  /**
8057
8149
  * @type {import("geojson").Feature[]}
8058
8150
  */
@@ -8068,7 +8160,7 @@ function generateFeatures(links) {
8068
8160
  type: "Point",
8069
8161
  coordinates: [lon, lat],
8070
8162
  },
8071
- properties: { id: element.id },
8163
+ properties: { ...element, ...extraProperties },
8072
8164
  });
8073
8165
  }
8074
8166
  });
@@ -9188,12 +9280,16 @@ class EodashCollection {
9188
9280
  continue;
9189
9281
  }
9190
9282
  const collectionFeatures = generateFeatures(
9191
- collection.#collectionStac?.links,
9283
+ JSON.parse(JSON.stringify(collection.#collectionStac?.links)),
9284
+ {
9285
+ collection_id: collection.#collectionStac?.id,
9286
+ geoDBID: collection.#collectionStac?.geoDBID,
9287
+ themes: collection.#collectionStac?.themes ?? [],
9288
+ },
9192
9289
  ).features;
9290
+
9193
9291
  if (collectionFeatures.length) {
9194
- allFeatures.push(
9195
- generateFeatures(collection.#collectionStac?.links).features,
9196
- );
9292
+ allFeatures.push(collectionFeatures);
9197
9293
  }
9198
9294
  }
9199
9295
  if (allFeatures.length) {
@@ -9211,7 +9307,7 @@ class EodashCollection {
9211
9307
  type: "Vector",
9212
9308
  properties: {
9213
9309
  id: "geodb-collection",
9214
- title: "GeoDB Collection",
9310
+ title: "Observation Points",
9215
9311
  },
9216
9312
  source: {
9217
9313
  type: "Vector",
@@ -11452,7 +11548,7 @@ const ErrorAlert = /*#__PURE__*/_export_sfc(_sfc_main$3, [['__scopeId',"data-v-a
11452
11548
  const internalWidgets = (() => {
11453
11549
  /** @type {Record<string, () => Promise<import("vue").Component>>} */
11454
11550
  const importMap = {
11455
- .../* #__PURE__ */ Object.assign({"/widgets/EodashDatePicker.vue": () => import('./EodashDatePicker-brJlj1aQ.js'),"/widgets/EodashItemFilter.vue": () => import('./EodashItemFilter-C2i4lnM1.js'),"/widgets/EodashLayerControl.vue": () => import('./EodashLayerControl-DNQzPQQ4.js'),"/widgets/EodashLayoutSwitcher.vue": () => import('./EodashLayoutSwitcher-gLe7G8Qn.js'),"/widgets/EodashMap.vue": () => import('./EodashMap-LOzTlvrM.js'),"/widgets/EodashMapBtns.vue": () => import('./EodashMapBtns-UXOupU5J.js'),"/widgets/EodashProcess.vue": () => import('./EodashProcess-BlkqUdzj.js'),"/widgets/EodashStacInfo.vue": () => import('./EodashStacInfo-Df3LXKAw.js'),"/widgets/EodashTools.vue": () => import('./EodashTools-BrqH4IDP.js'),"/widgets/ExportState.vue": () => import('./ExportState-DVosrSNY.js'),"/widgets/PopUp.vue": () => import('./PopUp-BFcSuX3b.js'),"/widgets/WidgetsContainer.vue": () => import('./WidgetsContainer-DL0bdnjh.js')}),
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')}),
11456
11552
  .../* #__PURE__ */ Object.assign({}),
11457
11553
  };
11458
11554
  for (const key in importMap) {
@@ -11544,11 +11640,16 @@ const getWidgetDefinition = (config) => {
11544
11640
  switch (config?.type) {
11545
11641
  case "internal":
11546
11642
  importedWidget.component = defineAsyncComponent({
11547
- loader:
11548
- internalWidgets[
11643
+ loader: () => {
11644
+ const widgetName =
11549
11645
  /** @type {import("@/types").InternalComponentWidget} * */ (config)
11550
- ?.widget.name
11551
- ],
11646
+ ?.widget.name;
11647
+
11648
+ return (
11649
+ internalWidgets[widgetName]?.() ??
11650
+ Promise.reject(`Widget ${widgetName} not found`)
11651
+ );
11652
+ },
11552
11653
  suspensible: true,
11553
11654
  });
11554
11655
  importedWidget.props = reactive(
@@ -11560,7 +11661,7 @@ const getWidgetDefinition = (config) => {
11560
11661
 
11561
11662
  case "web-component":
11562
11663
  importedWidget.component = defineAsyncComponent({
11563
- loader: () => import('./DynamicWebComponent-rIFx5c0f.js'),
11664
+ loader: () => import('./DynamicWebComponent-BRQQ5AXV.js'),
11564
11665
  suspensible: true,
11565
11666
  });
11566
11667
  importedWidget.props = reactive(config.widget);
@@ -11636,11 +11737,22 @@ const useTemplate = () => {
11636
11737
  }
11637
11738
 
11638
11739
  const templateConfig = eodash.templates[template];
11639
- [definedTemplate.bgWidget] = useDefineWidgets([
11740
+ const [importedBgWidget] = useDefineWidgets([
11640
11741
  templateConfig.background,
11641
11742
  ]);
11743
+ if (importedBgWidget.value.id !== definedTemplate.bgWidget.value?.id) {
11744
+ definedTemplate.bgWidget.value = importedBgWidget.value;
11745
+ }
11642
11746
 
11643
- [definedTemplate.loading] = useDefineWidgets([templateConfig.loading]);
11747
+ const [importedLoadingWidget] = useDefineWidgets([
11748
+ templateConfig.loading,
11749
+ ]);
11750
+
11751
+ if (
11752
+ importedLoadingWidget.value.id !== definedTemplate.loading.value?.id
11753
+ ) {
11754
+ definedTemplate.loading.value = importedLoadingWidget.value;
11755
+ }
11644
11756
 
11645
11757
  definedTemplate.importedWidgets = useDefineWidgets(
11646
11758
  templateConfig.widgets,
@@ -11963,6 +12075,9 @@ const _sfc_main$1 = {
11963
12075
  let __temp, __restore;
11964
12076
 
11965
12077
  const props = __props;
12078
+
12079
+ useURLSearchParametersSync();
12080
+
11966
12081
  const eodash = (
11967
12082
  ([__temp,__restore] = withAsyncContext(() => useEodashRuntime(props.config))),
11968
12083
  __temp = await __temp,
@@ -11970,18 +12085,12 @@ const eodash = (
11970
12085
  __temp
11971
12086
  );
11972
12087
 
11973
- useURLSearchParametersSync();
11974
-
11975
12088
  const theme = useUpdateTheme("dashboardTheme", {
11976
12089
  ...(eodash.brand?.theme ?? {}),
11977
12090
  });
11978
12091
  theme.global.name.value = "dashboardTheme";
11979
12092
  (
11980
- ([__temp,__restore] = withAsyncContext(() => loadFont(
11981
- eodash.brand?.font?.family,
11982
- eodash.brand?.font?.link,
11983
- props.isWebComponent,
11984
- ))),
12093
+ ([__temp,__restore] = withAsyncContext(() => loadFont(eodash.brand?.font, props.isWebComponent))),
11985
12094
  await __temp,
11986
12095
  __restore()
11987
12096
  );
@@ -11996,15 +12105,15 @@ const { loadSTAC } = useSTAcStore();
11996
12105
  const { smAndDown } = useDisplay();
11997
12106
  const TemplateComponent = computed(() =>
11998
12107
  smAndDown.value
11999
- ? defineAsyncComponent(() => import('./MobileLayout-Df4Z1bMl.js'))
12000
- : defineAsyncComponent(() => import('./DashboardLayout-BjUs7mYs.js')),
12108
+ ? defineAsyncComponent(() => import('./MobileLayout-CUHZFLDY.js'))
12109
+ : defineAsyncComponent(() => import('./DashboardLayout-ByVMURpM.js')),
12001
12110
  );
12002
12111
 
12003
12112
  const HeaderComponent = defineAsyncComponent(
12004
- () => import('./Header-DYMnh4of.js'),
12113
+ () => import('./Header-BcHAtFqr.js'),
12005
12114
  );
12006
12115
  const FooterComponent = defineAsyncComponent(
12007
- () => import('./Footer-tjsscQ7O.js'),
12116
+ () => import('./Footer-FUp1Te0L.js'),
12008
12117
  );
12009
12118
 
12010
12119
  const templateHeight = props.isWebComponent ? "100%" : "100dvh";