@eodash/eodash 5.1.0 → 5.3.0

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 (133) hide show
  1. package/core/client/components/DashboardLayout.vue +1 -2
  2. package/core/client/components/EodashOverlay.vue +4 -5
  3. package/core/client/components/MobileLayout.vue +42 -21
  4. package/core/client/composables/index.js +54 -60
  5. package/core/client/eodashSTAC/EodashCollection.js +199 -108
  6. package/core/client/eodashSTAC/auth.js +86 -0
  7. package/core/client/eodashSTAC/createLayers.js +234 -4
  8. package/core/client/eodashSTAC/helpers.js +281 -59
  9. package/core/client/eodashSTAC/parquet.js +0 -13
  10. package/core/client/eodashSTAC/triggers.js +1 -1
  11. package/core/client/store/actions.js +14 -0
  12. package/core/client/store/stac.js +46 -8
  13. package/core/client/store/states.js +6 -0
  14. package/core/client/types.ts +206 -3
  15. package/core/client/utils/bands-editor/arithmetic.js +144 -0
  16. package/core/client/utils/bands-editor/colors.js +36 -0
  17. package/core/client/utils/bands-editor/dom.js +196 -0
  18. package/core/client/utils/bands-editor/exampleSchema.json +1320 -0
  19. package/core/client/utils/bands-editor/index.js +68 -0
  20. package/core/client/utils/bands-editor/rgb.js +102 -0
  21. package/core/client/utils/index.js +5 -2
  22. package/core/client/views/Dashboard.vue +1 -1
  23. package/core/client/vite-env.d.ts +122 -0
  24. package/dist/client/{DashboardLayout-ByVs1DrY.js → DashboardLayout-Cq15p4TH.js} +5 -6
  25. package/dist/client/{DynamicWebComponent-C3W7HSQm.js → DynamicWebComponent-Cv-fPRG1.js} +1 -1
  26. package/dist/client/{EodashDatePicker-BIAf1sMT.js → EodashDatePicker-CPlJwEIO.js} +20 -22
  27. package/dist/client/{EodashItemFilter-DPznh8UB.js → EodashItemFilter-Ydebgbjj.js} +46 -31
  28. package/dist/client/EodashLayerControl-COhrkNEs.js +1517 -0
  29. package/dist/client/{EodashLayoutSwitcher-C5qTEffW.js → EodashLayoutSwitcher-pnKhTRZV.js} +4 -4
  30. package/dist/client/EodashMapBtns-Cj0Fx119.js +301 -0
  31. package/dist/client/{EodashStacInfo-CSvvF2jI.js → EodashStacInfo-Dadkg_Nj.js} +1 -1
  32. package/dist/client/EodashTimeSlider-CpoHX0S7.js +53 -0
  33. package/dist/client/{EodashTools-Cv1SXQ5y.js → EodashTools-UGBG7KC9.js} +10 -7
  34. package/dist/client/{ExportState-D-iuwaad.js → ExportState-GtJkAqeZ.js} +145 -121
  35. package/dist/client/{Footer-CyF0zRAk.js → Footer-D3ZPG5c4.js} +1 -1
  36. package/dist/client/{Header-CgD8jDKU.js → Header-z6AK-wpN.js} +2 -3
  37. package/dist/client/MobileLayout-BXNsNftb.js +118 -0
  38. package/dist/client/{PopUp-BsYLvWch.js → PopUp-BbQdjENV.js} +79 -44
  39. package/dist/client/{ProcessList-C2xsLU2_.js → ProcessList-C6VsdsYI.js} +18 -12
  40. package/dist/client/{VImg-OHe8YTs2.js → VImg-CxaMSB99.js} +203 -5
  41. package/dist/client/{VMain-PryTLU4a.js → VMain-Ds7yw0wj.js} +1 -1
  42. package/dist/client/{VTooltip-DZ0fjpB3.js → VTooltip-Cze6CEVh.js} +2 -3
  43. package/dist/client/{WidgetsContainer-B9LBadcC.js → WidgetsContainer-D66bj-JJ.js} +1 -1
  44. package/dist/client/asWebComponent-CWbNRdf9.js +8895 -0
  45. package/dist/client/{async-DkSu_u2K.js → async-BA7oWCMX.js} +69 -5
  46. package/dist/client/easing-CH0-9wR8.js +35 -0
  47. package/dist/client/eo-dash.js +1 -1
  48. package/dist/client/{VOverlay-yUn7p-Uf.js → forwardRefs-BUfxOIo-.js} +308 -28
  49. package/dist/client/{handling-CgmFXkW6.js → handling-DlNTtKB-.js} +27 -6
  50. package/dist/client/{helpers-Dy0Q13tP.js → helpers-CtE0W7iu.js} +595 -278
  51. package/dist/client/{index-skjhlH8u.js → index-CeEZIjO6.js} +26 -13
  52. package/dist/client/{index-Ch_HchK3.js → index-CsKbRDeN.js} +238 -77
  53. package/dist/client/{index-Dqj4tbx2.js → index-D4_NRKrf.js} +2 -2
  54. package/dist/client/index-DeECc3lV.js +571 -0
  55. package/dist/client/material-symbols-outlined.woff2 +0 -0
  56. package/dist/client/material-symbols-rounded.woff2 +0 -0
  57. package/dist/client/material-symbols-sharp.woff2 +0 -0
  58. package/dist/client/material-symbols-subset.woff2 +0 -0
  59. package/dist/client/templates.js +106 -49
  60. package/dist/client/{transition-C98Yn4Vo.js → transition-Byvp3L6Y.js} +1 -1
  61. package/dist/node/cli.js +6 -6
  62. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +24 -10
  63. package/dist/types/core/client/eodashSTAC/auth.d.ts +7 -0
  64. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +15 -3
  65. package/dist/types/core/client/eodashSTAC/helpers.d.ts +51 -15
  66. package/dist/types/core/client/plugins/vuetify.d.ts +14 -14
  67. package/dist/types/core/client/store/actions.d.ts +2 -0
  68. package/dist/types/core/client/store/stac.d.ts +16 -7
  69. package/dist/types/core/client/store/states.d.ts +4 -0
  70. package/dist/types/core/client/types.d.ts +171 -3
  71. package/dist/types/core/client/utils/bands-editor/arithmetic.d.ts +8 -0
  72. package/dist/types/core/client/utils/bands-editor/colors.d.ts +15 -0
  73. package/dist/types/core/client/utils/bands-editor/dom.d.ts +42 -0
  74. package/dist/types/core/client/utils/bands-editor/index.d.ts +20 -0
  75. package/dist/types/core/client/utils/bands-editor/rgb.d.ts +15 -0
  76. package/dist/types/core/client/utils/index.d.ts +1 -1
  77. package/dist/types/templates/baseConfig.d.ts +87 -1
  78. package/dist/types/templates/compare.d.ts +0 -25
  79. package/dist/types/templates/expert.d.ts +17 -21
  80. package/dist/types/templates/explore.d.ts +67 -0
  81. package/dist/types/templates/index.d.ts +1 -1
  82. package/dist/types/templates/{light.d.ts → lite.d.ts} +9 -0
  83. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +21 -0
  84. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +49 -0
  85. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +4 -0
  86. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +12 -0
  87. package/dist/types/widgets/EodashItemCatalog/types.d.ts +14 -0
  88. package/dist/types/widgets/{EodashMapBtns.vue.d.ts → EodashMap/EodashMapBtns.vue.d.ts} +6 -0
  89. package/dist/types/widgets/EodashMap/index.vue.d.ts +114 -0
  90. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  91. package/dist/types/widgets/EodashMap/methods/index.d.ts +1 -1
  92. package/dist/types/widgets/EodashProcess/methods/async.d.ts +1 -0
  93. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  94. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +7 -0
  95. package/dist/types/widgets/EodashTools.vue.d.ts +10 -10
  96. package/dist/types/widgets/ExportState.vue.d.ts +2 -0
  97. package/package.json +31 -28
  98. package/templates/baseConfig.js +10 -5
  99. package/templates/compare.js +2 -22
  100. package/templates/expert.js +19 -18
  101. package/templates/explore.js +62 -0
  102. package/templates/index.js +1 -1
  103. package/templates/{light.js → lite.js} +11 -2
  104. package/widgets/EodashDatePicker.vue +15 -18
  105. package/widgets/EodashItemCatalog/index.vue +161 -0
  106. package/widgets/EodashItemCatalog/methods/filters.js +216 -0
  107. package/widgets/EodashItemCatalog/methods/handlers.js +50 -0
  108. package/widgets/EodashItemCatalog/methods/map.js +144 -0
  109. package/widgets/EodashItemCatalog/types.ts +15 -0
  110. package/widgets/EodashItemFilter.vue +35 -28
  111. package/widgets/EodashLayerControl.vue +10 -6
  112. package/widgets/EodashLayoutSwitcher.vue +1 -1
  113. package/widgets/EodashMap/EodashMapBtns.vue +278 -0
  114. package/widgets/EodashMap/index.vue +263 -38
  115. package/widgets/EodashMap/methods/create-layers-config.js +9 -6
  116. package/widgets/EodashMap/methods/index.js +27 -13
  117. package/widgets/EodashProcess/ProcessList.vue +13 -1
  118. package/widgets/EodashProcess/index.vue +17 -1
  119. package/widgets/EodashProcess/methods/async.js +22 -1
  120. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +25 -3
  121. package/widgets/EodashProcess/methods/handling.js +2 -0
  122. package/widgets/EodashProcess/methods/outputs.js +1 -0
  123. package/widgets/EodashProcess/methods/utils.js +45 -1
  124. package/widgets/EodashTimeSlider.vue +40 -0
  125. package/widgets/EodashTools.vue +7 -3
  126. package/widgets/ExportState.vue +53 -22
  127. package/dist/client/EodashLayerControl-Bhxjw4V2.js +0 -154
  128. package/dist/client/EodashMapBtns-WoGq8MuV.js +0 -173
  129. package/dist/client/MobileLayout-EKQ_kpSh.js +0 -1226
  130. package/dist/client/asWebComponent-By_7_JjS.js +0 -19193
  131. package/dist/client/forwardRefs-BXxrv98s.js +0 -272
  132. package/dist/client/index-BuhOHXKv.js +0 -199
  133. package/widgets/EodashMapBtns.vue +0 -155
@@ -1,6 +1,6 @@
1
1
  import { createElementBlock, openBlock, createElementVNode, unref } from 'vue';
2
2
  import '@eox/stacinfo';
3
- import { w as currentUrl } from './helpers-Dy0Q13tP.js';
3
+ import { z as currentUrl } from './helpers-CtE0W7iu.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"];
@@ -0,0 +1,53 @@
1
+ import { computed, createElementBlock, createCommentVNode, openBlock, unref } from 'vue';
2
+ import { h as mapEl, A as datetime } from './helpers-CtE0W7iu.js';
3
+ import { I as eodashCollections } from './asWebComponent-CWbNRdf9.js';
4
+ import '@eox/timeslider';
5
+
6
+ const _hoisted_1 = [".filters"];
7
+
8
+
9
+ const _sfc_main = {
10
+ __name: 'EodashTimeSlider',
11
+ props: {
12
+ filters: {
13
+ type: Array,
14
+ default: () => [],
15
+ },
16
+ },
17
+ setup(__props) {
18
+
19
+
20
+
21
+ const hasMultipleItems = computed(() => {
22
+ return eodashCollections.some((ec) => {
23
+ const itemLinks = ec.collectionStac?.links.filter((l) => l.rel === "item");
24
+ const itemsLink = ec.collectionStac?.links.some((l) => l.rel === "items");
25
+ return (itemLinks && itemLinks.length > 1) || itemsLink;
26
+ });
27
+ });
28
+ /**
29
+ *
30
+ * @param {CustomEvent} e
31
+ */
32
+ const update = (e) => {
33
+ datetime.value = e.detail.date.toISOString();
34
+ };
35
+
36
+ return (_ctx, _cache) => {
37
+ return (hasMultipleItems.value)
38
+ ? (openBlock(), createElementBlock("eox-timeslider", {
39
+ key: unref(mapEl),
40
+ onUpdate: update,
41
+ ".externalMapRendering": true,
42
+ ".filters": __props.filters,
43
+ titleKey: "title",
44
+ layerIdKey: "id",
45
+ for: "eox-map#main"
46
+ }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1))
47
+ : createCommentVNode("v-if", true)
48
+ }
49
+ }
50
+
51
+ };
52
+
53
+ export { _sfc_main as default };
@@ -1,11 +1,13 @@
1
1
  import { ref, computed, createElementBlock, openBlock, createElementVNode, createVNode, createBlock, createCommentVNode, unref, withCtx, mergeProps } from 'vue';
2
- import _sfc_main$2 from './PopUp-BsYLvWch.js';
3
- import EodashItemFilter from './EodashItemFilter-DPznh8UB.js';
4
- import _sfc_main$1 from './EodashLayoutSwitcher-C5qTEffW.js';
2
+ import _sfc_main$2 from './PopUp-BbQdjENV.js';
3
+ import EodashItemFilter from './EodashItemFilter-Ydebgbjj.js';
4
+ import _sfc_main$1 from './EodashLayoutSwitcher-pnKhTRZV.js';
5
5
  import { mdiViewDashboard, mdiPlusCircleOutline } from '@mdi/js';
6
- import { r as useDisplay, Z as useTransparentPanel, V as VBtn } from './asWebComponent-By_7_JjS.js';
6
+ import { _ as _export_sfc, D as useDisplay, F as useTransparentPanel, G as VBtn } from './asWebComponent-CWbNRdf9.js';
7
7
 
8
- const _hoisted_1 = { class: "d-flex flex-row align-center fill-height justify-space-between pa-2 align-center" };
8
+ const _style_0 = ".v-btn--size-default[data-v-73449028]{--v-btn-height: 30px}";
9
+
10
+ const _hoisted_1 = { class: "d-flex flex-row align-center fill-height justify-space-between pa-1 align-center" };
9
11
 
10
12
 
11
13
  const _sfc_main = {
@@ -21,7 +23,7 @@ const _sfc_main = {
21
23
  },
22
24
  layoutTarget: {
23
25
  type: String,
24
- default: "light",
26
+ default: "lite",
25
27
  },
26
28
  // mdi/js icon
27
29
  layoutIcon: {
@@ -100,5 +102,6 @@ return (_ctx, _cache) => {
100
102
  }
101
103
 
102
104
  };
105
+ const EodashTools = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-73449028"]]);
103
106
 
104
- export { _sfc_main as default };
107
+ export { EodashTools as default };
@@ -1,19 +1,22 @@
1
- import { createElementVNode, normalizeStyle, normalizeClass, createVNode, Fragment, toDisplayString, withDirectives, mergeProps, computed, mergeModels, useModel, ref, createBlock, openBlock, withCtx, createTextVNode, unref, createElementBlock, createCommentVNode, renderList } from 'vue';
2
- import { mdiClipboardCheckOutline, mdiContentCopy } from '@mdi/js';
3
- import _sfc_main$1 from './PopUp-BsYLvWch.js';
4
- import { aa as createSimpleFunctional, g as genericComponent, i as makeComponentProps, C as provideDefaults, a as useRender, p as propsFactory, h as makeTagProps, b as provideTheme, K as useBorder, ab as useVariant, A as useDensity, M as useRounded, ac as useSize, ad as genOverlays, v as VIcon, N as VDefaultsProvider, ae as makeVariantProps, f as makeThemeProps, af as makeSizeProps, O as makeRoundedProps, D as makeDensityProps, Q as makeBorderProps, y as IconValue, ag as Ripple, H as useDimension, L as useElevation, ah as useLoader, ai as useLocation, aj as usePosition, ak as useLink, al as makeRouterProps, am as makePositionProps, an as makeLocationProps, ao as makeLoaderProps, P as makeElevationProps, J as makeDimensionProps, ap as LoaderSlot, u as useTextColor, q as convertToUnit, _ as _export_sfc, aq as VRow, ar as VCol, as as copyToClipBoard, V as VBtn } from './asWebComponent-By_7_JjS.js';
5
- import { O as removeUnneededProperties, l as getLayers, A as mapPosition, K as availableMapProjection } from './helpers-Dy0Q13tP.js';
6
- import { a as VExpandTransition } from './index-BuhOHXKv.js';
7
- import { V as VImg } from './VImg-OHe8YTs2.js';
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
+ import { mdiContentCopy, mdiClipboardCheckOutline } from '@mdi/js';
3
+ import _sfc_main$1 from './PopUp-BbQdjENV.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-CWbNRdf9.js';
5
+ import { V as removeUnneededProperties, W as getChartSpec, p as getLayers, D as mapPosition, P as availableMapProjection } from './helpers-CtE0W7iu.js';
6
+ import { V as VImg, a as VExpandTransition } from './VImg-CxaMSB99.js';
8
7
 
9
8
  // Styles
10
9
  const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');
11
10
 
12
- const _style_0 = ".code-block[data-v-a263a06d]{background-color:#ddd;font-family:monospace;font-size:small;max-height:200px;overflow-y:auto}";
11
+ const _style_0 = ".code-block[data-v-86a0e649]{background-color:#ddd;font-family:monospace;font-size:small;max-height:200px;overflow-y:auto}";
13
12
 
13
+ const makeVCardActionsProps = propsFactory({
14
+ ...makeComponentProps(),
15
+ ...makeTagProps()
16
+ }, 'VCardActions');
14
17
  const VCardActions = genericComponent()({
15
18
  name: 'VCardActions',
16
- props: makeComponentProps(),
19
+ props: makeVCardActionsProps(),
17
20
  setup(props, _ref) {
18
21
  let {
19
22
  slots
@@ -24,10 +27,10 @@ const VCardActions = genericComponent()({
24
27
  variant: 'text'
25
28
  }
26
29
  });
27
- useRender(() => createElementVNode("div", {
30
+ useRender(() => createVNode(props.tag, {
28
31
  "class": normalizeClass(['v-card-actions', props.class]),
29
32
  "style": normalizeStyle(props.style)
30
- }, [slots.default?.()]));
33
+ }, slots));
31
34
  return {};
32
35
  }
33
36
  });
@@ -150,7 +153,8 @@ const makeCardItemProps = propsFactory({
150
153
  default: undefined
151
154
  },
152
155
  ...makeComponentProps(),
153
- ...makeDensityProps()
156
+ ...makeDensityProps(),
157
+ ...makeTagProps()
154
158
  }, 'VCardItem');
155
159
  const VCardItem = genericComponent()({
156
160
  name: 'VCardItem',
@@ -166,68 +170,70 @@ const VCardItem = genericComponent()({
166
170
  const hasAppend = !!(hasAppendMedia || slots.append);
167
171
  const hasTitle = !!(props.title != null || slots.title);
168
172
  const hasSubtitle = !!(props.subtitle != null || slots.subtitle);
169
- return createElementVNode("div", {
173
+ return createVNode(props.tag, {
170
174
  "class": normalizeClass(['v-card-item', props.class]),
171
175
  "style": normalizeStyle(props.style)
172
- }, [hasPrepend && createElementVNode("div", {
173
- "key": "prepend",
174
- "class": "v-card-item__prepend"
175
- }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
176
- "key": "prepend-avatar",
177
- "density": props.density,
178
- "image": props.prependAvatar
179
- }, null), props.prependIcon && createVNode(VIcon, {
180
- "key": "prepend-icon",
181
- "density": props.density,
182
- "icon": props.prependIcon
183
- }, null)]) : createVNode(VDefaultsProvider, {
184
- "key": "prepend-defaults",
185
- "disabled": !hasPrependMedia,
186
- "defaults": {
187
- VAvatar: {
188
- density: props.density,
189
- image: props.prependAvatar
190
- },
191
- VIcon: {
192
- density: props.density,
193
- icon: props.prependIcon
194
- }
195
- }
196
- }, slots.prepend)]), createElementVNode("div", {
197
- "class": "v-card-item__content"
198
- }, [hasTitle && createVNode(VCardTitle, {
199
- "key": "title"
200
- }, {
201
- default: () => [slots.title?.() ?? toDisplayString(props.title)]
202
- }), hasSubtitle && createVNode(VCardSubtitle, {
203
- "key": "subtitle"
204
176
  }, {
205
- default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
206
- }), slots.default?.()]), hasAppend && createElementVNode("div", {
207
- "key": "append",
208
- "class": "v-card-item__append"
209
- }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
210
- "key": "append-icon",
211
- "density": props.density,
212
- "icon": props.appendIcon
213
- }, null), props.appendAvatar && createVNode(VAvatar, {
214
- "key": "append-avatar",
215
- "density": props.density,
216
- "image": props.appendAvatar
217
- }, null)]) : createVNode(VDefaultsProvider, {
218
- "key": "append-defaults",
219
- "disabled": !hasAppendMedia,
220
- "defaults": {
221
- VAvatar: {
222
- density: props.density,
223
- image: props.appendAvatar
224
- },
225
- VIcon: {
226
- density: props.density,
227
- icon: props.appendIcon
177
+ default: () => [hasPrepend && createElementVNode("div", {
178
+ "key": "prepend",
179
+ "class": "v-card-item__prepend"
180
+ }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
181
+ "key": "prepend-avatar",
182
+ "density": props.density,
183
+ "image": props.prependAvatar
184
+ }, null), props.prependIcon && createVNode(VIcon, {
185
+ "key": "prepend-icon",
186
+ "density": props.density,
187
+ "icon": props.prependIcon
188
+ }, null)]) : createVNode(VDefaultsProvider, {
189
+ "key": "prepend-defaults",
190
+ "disabled": !hasPrependMedia,
191
+ "defaults": {
192
+ VAvatar: {
193
+ density: props.density,
194
+ image: props.prependAvatar
195
+ },
196
+ VIcon: {
197
+ density: props.density,
198
+ icon: props.prependIcon
199
+ }
228
200
  }
229
- }
230
- }, slots.append)])]);
201
+ }, slots.prepend)]), createElementVNode("div", {
202
+ "class": "v-card-item__content"
203
+ }, [hasTitle && createVNode(VCardTitle, {
204
+ "key": "title"
205
+ }, {
206
+ default: () => [slots.title?.() ?? toDisplayString(props.title)]
207
+ }), hasSubtitle && createVNode(VCardSubtitle, {
208
+ "key": "subtitle"
209
+ }, {
210
+ default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
211
+ }), slots.default?.()]), hasAppend && createElementVNode("div", {
212
+ "key": "append",
213
+ "class": "v-card-item__append"
214
+ }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
215
+ "key": "append-icon",
216
+ "density": props.density,
217
+ "icon": props.appendIcon
218
+ }, null), props.appendAvatar && createVNode(VAvatar, {
219
+ "key": "append-avatar",
220
+ "density": props.density,
221
+ "image": props.appendAvatar
222
+ }, null)]) : createVNode(VDefaultsProvider, {
223
+ "key": "append-defaults",
224
+ "disabled": !hasAppendMedia,
225
+ "defaults": {
226
+ VAvatar: {
227
+ density: props.density,
228
+ image: props.appendAvatar
229
+ },
230
+ VIcon: {
231
+ density: props.density,
232
+ icon: props.appendIcon
233
+ }
234
+ }
235
+ }, slots.append)])]
236
+ });
231
237
  });
232
238
  return {};
233
239
  }
@@ -356,7 +362,7 @@ const VCard = genericComponent()({
356
362
  const hasImage = !!(slots.image || props.image);
357
363
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
358
364
  const hasText = !!(slots.text || props.text != null);
359
- return withDirectives(createVNode(Tag, mergeProps({
365
+ return withDirectives(createVNode(Tag, mergeProps(link.linkProps, {
360
366
  "class": ['v-card', {
361
367
  'v-card--disabled': props.disabled,
362
368
  'v-card--flat': props.flat,
@@ -366,7 +372,7 @@ const VCard = genericComponent()({
366
372
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
367
373
  "onClick": isClickable && link.navigate,
368
374
  "tabindex": props.disabled ? -1 : undefined
369
- }, link.linkProps), {
375
+ }), {
370
376
  default: () => [hasImage && createElementVNode("div", {
371
377
  "key": "image",
372
378
  "class": "v-card__image"
@@ -478,12 +484,18 @@ const VDivider = genericComponent()({
478
484
  }
479
485
  });
480
486
 
481
- const _hoisted_1 = { class: "pa-3 code-block" };
487
+ const _hoisted_1 = { class: "d-flex flex-wrap gap-2 mb-4" };
482
488
  const _hoisted_2 = { style: {"position":"absolute","bottom":"15px"} };
483
489
  const _hoisted_3 = {
484
490
  key: 0,
485
491
  class: "text-success mr-3"
486
492
  };
493
+ const _hoisted_4 = { class: "pa-3 code-block mb-4" };
494
+ const _hoisted_5 = {
495
+ key: 0,
496
+ class: "mb-4"
497
+ };
498
+ const _hoisted_6 = { class: "pa-3 code-block" };
487
499
 
488
500
 
489
501
  const _sfc_main = {
@@ -493,6 +505,10 @@ const _sfc_main = {
493
505
  type: Function,
494
506
  default: getLayers,
495
507
  },
508
+ getChartSpec: {
509
+ type: Function,
510
+ default: getChartSpec,
511
+ },
496
512
  }, {
497
513
  "modelValue": { type: Boolean, required: true, default: false },
498
514
  "modelModifiers": {},
@@ -523,6 +539,13 @@ const copyBtns = [
523
539
  copyFn: async () => await copyToClipBoard(getMapStepCode(), copySuccess),
524
540
  copyAs: "map tour section",
525
541
  },
542
+ {
543
+ id: Symbol(),
544
+ copyFn: async () =>
545
+ await copyToClipBoard(getChartExportCode(), copySuccess),
546
+ copyAs: "chart",
547
+ showIf: () => !!props.getChartSpec?.(),
548
+ },
526
549
  ];
527
550
 
528
551
  const getMapStepCode = () => {
@@ -543,13 +566,20 @@ const getMapEntryCode = () => {
543
566
  return `${preTag}'${JSON.stringify(removeUnneededProperties(props.getLayers()))}' ${endTag}`;
544
567
  };
545
568
 
569
+ const getChartExportCode = () => {
570
+ const chartSpec = props.getChartSpec?.();
571
+ if (!chartSpec) return "";
572
+ const preTag =
573
+ "## Chart Example <!" + '--{as="eox-chart" style="height: 300px;" spec=';
574
+ const endTag = " }-->";
575
+ return `${preTag}'${JSON.stringify(chartSpec)}'${endTag}`;
576
+ };
577
+
546
578
  return (_ctx, _cache) => {
547
579
 
580
+
548
581
 
549
582
 
550
-
551
-
552
-
553
583
 
554
584
 
555
585
 
@@ -567,23 +597,35 @@ return (_ctx, _cache) => {
567
597
  class: "bg-primary",
568
598
  style: {"max-height":"49px"}
569
599
  }, {
570
- default: withCtx(() => _cache[2] || (_cache[2] = [
600
+ default: withCtx(() => [...(_cache[2] || (_cache[2] = [
571
601
  createElementVNode("h5", { class: "text-h5" }, "Storytelling map configuration", -1 /* CACHED */)
572
- ])),
573
- _: 1 /* STABLE */,
574
- __: [2]
602
+ ]))]),
603
+ _: 1 /* STABLE */
575
604
  }),
576
605
  createVNode(VCardText, {
577
606
  class: "py-5 overflow-auto",
578
607
  style: {"height":"400px"}
579
608
  }, {
580
609
  default: withCtx(() => [
581
- _cache[4] || (_cache[4] = createElementVNode("p", { class: "text-body-2" }, [
582
- createTextVNode(" Copy and paste this code into the map "),
583
- createElementVNode("b", null, "layers field"),
584
- createTextVNode(" of the storytelling editor: ")
585
- ], -1 /* CACHED */)),
586
- createElementVNode("div", _hoisted_1, toDisplayString(unref(removeUnneededProperties)(__props.getLayers())), 1 /* TEXT */),
610
+ createElementVNode("div", _hoisted_1, [
611
+ (openBlock(), createElementBlock(Fragment, null, renderList(copyBtns, (btn) => {
612
+ return withDirectives(createVNode(VBtn, {
613
+ class: "text-body-2",
614
+ onClick: btn.copyFn,
615
+ key: btn.id,
616
+ small: "",
617
+ variant: "text",
618
+ "prepend-icon": [unref(mdiContentCopy)]
619
+ }, {
620
+ default: withCtx(() => [
621
+ createTextVNode(" copy as " + toDisplayString(btn.copyAs), 1 /* TEXT */)
622
+ ]),
623
+ _: 2 /* DYNAMIC */
624
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "prepend-icon"]), [
625
+ [vShow, !btn.showIf || btn.showIf()]
626
+ ])
627
+ }), 64 /* STABLE_FRAGMENT */))
628
+ ]),
587
629
  createElementVNode("div", _hoisted_2, [
588
630
  createVNode(VExpandTransition, null, {
589
631
  default: withCtx(() => [
@@ -601,37 +643,20 @@ return (_ctx, _cache) => {
601
643
  _: 1 /* STABLE */
602
644
  })
603
645
  ]),
604
- createVNode(VRow, { class: "d-flex pt-3 justify-end" }, {
605
- default: withCtx(() => [
606
- createVNode(VCol, {
607
- cols: "6",
608
- class: "flex-column align-center text-end"
609
- }, {
610
- default: withCtx(() => [
611
- (openBlock(), createElementBlock(Fragment, null, renderList(copyBtns, (btn) => {
612
- return createVNode(VBtn, {
613
- class: "text-body-2",
614
- onClick: btn.copyFn,
615
- key: btn.id,
616
- small: "",
617
- variant: "text",
618
- "prepend-icon": [unref(mdiContentCopy)]
619
- }, {
620
- default: withCtx(() => [
621
- createTextVNode(" copy as " + toDisplayString(btn.copyAs), 1 /* TEXT */)
622
- ]),
623
- _: 2 /* DYNAMIC */
624
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "prepend-icon"])
625
- }), 64 /* STABLE_FRAGMENT */))
626
- ]),
627
- _: 1 /* STABLE */
628
- })
629
- ]),
630
- _: 1 /* STABLE */
631
- })
646
+ _cache[5] || (_cache[5] = createElementVNode("p", { class: "text-body-2 mb-2" }, [
647
+ createElementVNode("strong", null, "Map Layers Configuration")
648
+ ], -1 /* CACHED */)),
649
+ createElementVNode("div", _hoisted_4, toDisplayString(unref(removeUnneededProperties)(__props.getLayers())), 1 /* TEXT */),
650
+ (props.getChartSpec?.())
651
+ ? (openBlock(), createElementBlock("div", _hoisted_5, [
652
+ _cache[4] || (_cache[4] = createElementVNode("p", { class: "text-body-2 mb-2" }, [
653
+ createElementVNode("strong", null, "Chart Spec (for export)")
654
+ ], -1 /* CACHED */)),
655
+ createElementVNode("div", _hoisted_6, toDisplayString(getChartExportCode()), 1 /* TEXT */)
656
+ ]))
657
+ : createCommentVNode("v-if", true)
632
658
  ]),
633
- _: 1 /* STABLE */,
634
- __: [4]
659
+ _: 1 /* STABLE */
635
660
  }),
636
661
  createVNode(VDivider),
637
662
  createVNode(VCardActions, { style: {"max-height":"49px"} }, {
@@ -641,11 +666,10 @@ return (_ctx, _cache) => {
641
666
  variant: "text",
642
667
  onClick: _cache[0] || (_cache[0] = $event => (dialog.value = !dialog.value))
643
668
  }, {
644
- default: withCtx(() => _cache[5] || (_cache[5] = [
669
+ default: withCtx(() => [...(_cache[6] || (_cache[6] = [
645
670
  createTextVNode(" Close ", -1 /* CACHED */)
646
- ])),
647
- _: 1 /* STABLE */,
648
- __: [5]
671
+ ]))]),
672
+ _: 1 /* STABLE */
649
673
  })
650
674
  ]),
651
675
  _: 1 /* STABLE */
@@ -660,6 +684,6 @@ return (_ctx, _cache) => {
660
684
  }
661
685
 
662
686
  };
663
- const ExportState = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-a263a06d"]]);
687
+ const ExportState = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-86a0e649"]]);
664
688
 
665
689
  export { ExportState as default };
@@ -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, b as provideTheme, B as useBackgroundColor, K as useBorder, L as useElevation, M as useRounded, s as useResizeObserver, T as useToggleScope, U as useLayoutItem, a as useRender, q as convertToUnit, f as makeThemeProps, h as makeTagProps, O as makeRoundedProps, W as makeLayoutItemProps, P as makeElevationProps, i as makeComponentProps, Q as makeBorderProps, _ as _export_sfc, X as eodashKey, r as useDisplay } from './asWebComponent-By_7_JjS.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-CWbNRdf9.js';
3
3
 
4
4
  const _style_0 = ".footer-text[data-v-f0fd061e]{font-size:.8rem}";
5
5
 
@@ -1,7 +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, h as makeTagProps, i as makeComponentProps, a as useRender, B as useBackgroundColor, K as useBorder, L as useElevation, M as useRounded, b as provideTheme, c as useRtl, C as provideDefaults, N as VDefaultsProvider, q as convertToUnit, f as makeThemeProps, O as makeRoundedProps, P as makeElevationProps, Q as makeBorderProps, R as clamp, S as consoleWarn, j as useProxiedModel, T as useToggleScope, U as useLayoutItem, W as makeLayoutItemProps, _ as _export_sfc, X as eodashKey } from './asWebComponent-By_7_JjS.js';
3
- import { a as VExpandTransition } from './index-BuhOHXKv.js';
4
- import { V as VImg } from './VImg-OHe8YTs2.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-CWbNRdf9.js';
3
+ import { V as VImg, a as VExpandTransition } from './VImg-CxaMSB99.js';
5
4
  import { u as useSsrBoot } from './ssrBoot-Zgc_Ttvi.js';
6
5
 
7
6
  const _style_0 = ".logo[data-v-86c95219]{max-width:140px}";