@eodash/eodash 5.2.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 (119) hide show
  1. package/core/client/components/DashboardLayout.vue +0 -1
  2. package/core/client/composables/index.js +53 -59
  3. package/core/client/eodashSTAC/EodashCollection.js +196 -94
  4. package/core/client/eodashSTAC/auth.js +86 -0
  5. package/core/client/eodashSTAC/createLayers.js +204 -4
  6. package/core/client/eodashSTAC/helpers.js +258 -58
  7. package/core/client/eodashSTAC/parquet.js +0 -13
  8. package/core/client/eodashSTAC/triggers.js +1 -1
  9. package/core/client/store/actions.js +14 -0
  10. package/core/client/store/stac.js +46 -8
  11. package/core/client/store/states.js +6 -0
  12. package/core/client/types.ts +206 -3
  13. package/core/client/utils/bands-editor/arithmetic.js +144 -0
  14. package/core/client/utils/bands-editor/colors.js +36 -0
  15. package/core/client/utils/bands-editor/dom.js +196 -0
  16. package/core/client/utils/bands-editor/exampleSchema.json +1320 -0
  17. package/core/client/utils/bands-editor/index.js +68 -0
  18. package/core/client/utils/bands-editor/rgb.js +102 -0
  19. package/core/client/utils/index.js +5 -2
  20. package/core/client/views/Dashboard.vue +1 -1
  21. package/core/client/vite-env.d.ts +122 -0
  22. package/dist/client/{DashboardLayout-Dq9Kfe6O.js → DashboardLayout-Cq15p4TH.js} +4 -5
  23. package/dist/client/{DynamicWebComponent-DCBMXskE.js → DynamicWebComponent-Cv-fPRG1.js} +1 -1
  24. package/dist/client/{EodashDatePicker-DtngxU6s.js → EodashDatePicker-CPlJwEIO.js} +20 -22
  25. package/dist/client/{EodashItemFilter-ClQebJQt.js → EodashItemFilter-Ydebgbjj.js} +46 -31
  26. package/dist/client/EodashLayerControl-COhrkNEs.js +1517 -0
  27. package/dist/client/{EodashLayoutSwitcher-DQ8SfVDd.js → EodashLayoutSwitcher-pnKhTRZV.js} +4 -4
  28. package/dist/client/EodashMapBtns-Cj0Fx119.js +301 -0
  29. package/dist/client/{EodashStacInfo-Dt1nF06x.js → EodashStacInfo-Dadkg_Nj.js} +1 -1
  30. package/dist/client/EodashTimeSlider-CpoHX0S7.js +53 -0
  31. package/dist/client/{EodashTools-DV5ykmWc.js → EodashTools-UGBG7KC9.js} +10 -7
  32. package/dist/client/{ExportState-B6zZQUmE.js → ExportState-GtJkAqeZ.js} +145 -120
  33. package/dist/client/{Footer-DNhXs8k6.js → Footer-D3ZPG5c4.js} +1 -1
  34. package/dist/client/{Header-BjhN5JY4.js → Header-z6AK-wpN.js} +2 -2
  35. package/dist/client/MobileLayout-BXNsNftb.js +118 -0
  36. package/dist/client/{PopUp-CgpvNr3o.js → PopUp-BbQdjENV.js} +79 -43
  37. package/dist/client/{ProcessList-vecpxThi.js → ProcessList-C6VsdsYI.js} +5 -6
  38. package/dist/client/{VImg-CETuikH2.js → VImg-CxaMSB99.js} +6 -3
  39. package/dist/client/{VMain-Ci9DyaGU.js → VMain-Ds7yw0wj.js} +1 -1
  40. package/dist/client/{VTooltip-J4ac48X7.js → VTooltip-Cze6CEVh.js} +2 -2
  41. package/dist/client/{WidgetsContainer-CCML4TyV.js → WidgetsContainer-D66bj-JJ.js} +1 -1
  42. package/dist/client/asWebComponent-CWbNRdf9.js +8895 -0
  43. package/dist/client/{async-B7jIrM53.js → async-BA7oWCMX.js} +2 -2
  44. package/dist/client/easing-CH0-9wR8.js +35 -0
  45. package/dist/client/eo-dash.js +1 -1
  46. package/dist/client/{forwardRefs-BQclvjMq.js → forwardRefs-BUfxOIo-.js} +58 -45
  47. package/dist/client/{handling-BS24aG1q.js → handling-DlNTtKB-.js} +12 -6
  48. package/dist/client/{helpers-wXK7Ywio.js → helpers-CtE0W7iu.js} +572 -277
  49. package/dist/client/{index-4UCzZi8B.js → index-CeEZIjO6.js} +26 -13
  50. package/dist/client/{index-B2XpdgR6.js → index-CsKbRDeN.js} +63 -36
  51. package/dist/client/{index-9KR-G20t.js → index-D4_NRKrf.js} +2 -2
  52. package/dist/client/index-DeECc3lV.js +571 -0
  53. package/dist/client/templates.js +82 -15
  54. package/dist/client/{transition-yBii4fu6.js → transition-Byvp3L6Y.js} +1 -1
  55. package/dist/node/cli.js +6 -6
  56. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +24 -10
  57. package/dist/types/core/client/eodashSTAC/auth.d.ts +7 -0
  58. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +15 -3
  59. package/dist/types/core/client/eodashSTAC/helpers.d.ts +46 -15
  60. package/dist/types/core/client/plugins/vuetify.d.ts +14 -14
  61. package/dist/types/core/client/store/actions.d.ts +2 -0
  62. package/dist/types/core/client/store/stac.d.ts +16 -7
  63. package/dist/types/core/client/store/states.d.ts +4 -0
  64. package/dist/types/core/client/types.d.ts +170 -2
  65. package/dist/types/core/client/utils/bands-editor/arithmetic.d.ts +8 -0
  66. package/dist/types/core/client/utils/bands-editor/colors.d.ts +15 -0
  67. package/dist/types/core/client/utils/bands-editor/dom.d.ts +42 -0
  68. package/dist/types/core/client/utils/bands-editor/index.d.ts +20 -0
  69. package/dist/types/core/client/utils/bands-editor/rgb.d.ts +15 -0
  70. package/dist/types/core/client/utils/index.d.ts +1 -1
  71. package/dist/types/templates/baseConfig.d.ts +87 -1
  72. package/dist/types/templates/expert.d.ts +6 -6
  73. package/dist/types/templates/explore.d.ts +67 -0
  74. package/dist/types/templates/index.d.ts +1 -1
  75. package/dist/types/templates/{light.d.ts → lite.d.ts} +5 -5
  76. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +21 -0
  77. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +49 -0
  78. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +4 -0
  79. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +12 -0
  80. package/dist/types/widgets/EodashItemCatalog/types.d.ts +14 -0
  81. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +2 -0
  82. package/dist/types/widgets/EodashMap/index.vue.d.ts +108 -2
  83. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  84. package/dist/types/widgets/EodashMap/methods/index.d.ts +1 -1
  85. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  86. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +7 -0
  87. package/dist/types/widgets/EodashTools.vue.d.ts +10 -10
  88. package/dist/types/widgets/ExportState.vue.d.ts +2 -0
  89. package/package.json +28 -27
  90. package/templates/baseConfig.js +10 -5
  91. package/templates/compare.js +2 -2
  92. package/templates/expert.js +5 -5
  93. package/templates/explore.js +62 -0
  94. package/templates/index.js +1 -1
  95. package/templates/{light.js → lite.js} +1 -1
  96. package/widgets/EodashDatePicker.vue +15 -18
  97. package/widgets/EodashItemCatalog/index.vue +161 -0
  98. package/widgets/EodashItemCatalog/methods/filters.js +216 -0
  99. package/widgets/EodashItemCatalog/methods/handlers.js +50 -0
  100. package/widgets/EodashItemCatalog/methods/map.js +144 -0
  101. package/widgets/EodashItemCatalog/types.ts +15 -0
  102. package/widgets/EodashItemFilter.vue +35 -28
  103. package/widgets/EodashLayerControl.vue +10 -6
  104. package/widgets/EodashLayoutSwitcher.vue +1 -1
  105. package/widgets/EodashMap/EodashMapBtns.vue +18 -9
  106. package/widgets/EodashMap/index.vue +22 -12
  107. package/widgets/EodashMap/methods/create-layers-config.js +9 -6
  108. package/widgets/EodashMap/methods/index.js +27 -13
  109. package/widgets/EodashProcess/index.vue +17 -1
  110. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +9 -3
  111. package/widgets/EodashProcess/methods/handling.js +2 -0
  112. package/widgets/EodashProcess/methods/outputs.js +1 -0
  113. package/widgets/EodashTimeSlider.vue +40 -0
  114. package/widgets/EodashTools.vue +7 -3
  115. package/widgets/ExportState.vue +53 -22
  116. package/dist/client/EodashLayerControl-BLBds28C.js +0 -154
  117. package/dist/client/EodashMapBtns-B89_YBDw.js +0 -326
  118. package/dist/client/MobileLayout-JelB6w1G.js +0 -118
  119. package/dist/client/asWebComponent-ZyEzWOOf.js +0 -19092
@@ -1,6 +1,6 @@
1
1
  import { createElementBlock, openBlock, createElementVNode, unref } from 'vue';
2
2
  import '@eox/stacinfo';
3
- import { x as currentUrl } from './helpers-wXK7Ywio.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-CgpvNr3o.js';
3
- import EodashItemFilter from './EodashItemFilter-ClQebJQt.js';
4
- import _sfc_main$1 from './EodashLayoutSwitcher-DQ8SfVDd.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 { D as useDisplay, F as useTransparentPanel, G as VBtn } from './asWebComponent-ZyEzWOOf.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,18 +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-CgpvNr3o.js';
4
- import { Z as createSimpleFunctional, g as genericComponent, e as makeComponentProps, n as provideDefaults, c as useRender, p as propsFactory, m as makeTagProps, k as provideTheme, h as useBorder, $ as useVariant, T as useDensity, j as useRounded, a0 as useSize, a1 as genOverlays, H as VIcon, V as VDefaultsProvider, a2 as makeVariantProps, q as makeThemeProps, a3 as makeSizeProps, r as makeRoundedProps, U as makeDensityProps, t as makeBorderProps, a4 as IconValue, a5 as Ripple, b as useDimension, i as useElevation, a6 as useLoader, a7 as useLocation, a8 as usePosition, a9 as useLink, aa as makeRouterProps, ab as makePositionProps, ac as makeLocationProps, ad as makeLoaderProps, s as makeElevationProps, d as makeDimensionProps, ae as LoaderSlot, af as useTextColor, o as convertToUnit, _ as _export_sfc, ag as VRow, ah as VCol, ai as copyToClipBoard, G as VBtn } from './asWebComponent-ZyEzWOOf.js';
5
- import { P as removeUnneededProperties, l as getLayers, B as mapPosition, L as availableMapProjection } from './helpers-wXK7Ywio.js';
6
- import { V as VImg, a as VExpandTransition } from './VImg-CETuikH2.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';
7
7
 
8
8
  // Styles
9
9
  const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');
10
10
 
11
- 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}";
12
12
 
13
+ const makeVCardActionsProps = propsFactory({
14
+ ...makeComponentProps(),
15
+ ...makeTagProps()
16
+ }, 'VCardActions');
13
17
  const VCardActions = genericComponent()({
14
18
  name: 'VCardActions',
15
- props: makeComponentProps(),
19
+ props: makeVCardActionsProps(),
16
20
  setup(props, _ref) {
17
21
  let {
18
22
  slots
@@ -23,10 +27,10 @@ const VCardActions = genericComponent()({
23
27
  variant: 'text'
24
28
  }
25
29
  });
26
- useRender(() => createElementVNode("div", {
30
+ useRender(() => createVNode(props.tag, {
27
31
  "class": normalizeClass(['v-card-actions', props.class]),
28
32
  "style": normalizeStyle(props.style)
29
- }, [slots.default?.()]));
33
+ }, slots));
30
34
  return {};
31
35
  }
32
36
  });
@@ -149,7 +153,8 @@ const makeCardItemProps = propsFactory({
149
153
  default: undefined
150
154
  },
151
155
  ...makeComponentProps(),
152
- ...makeDensityProps()
156
+ ...makeDensityProps(),
157
+ ...makeTagProps()
153
158
  }, 'VCardItem');
154
159
  const VCardItem = genericComponent()({
155
160
  name: 'VCardItem',
@@ -165,68 +170,70 @@ const VCardItem = genericComponent()({
165
170
  const hasAppend = !!(hasAppendMedia || slots.append);
166
171
  const hasTitle = !!(props.title != null || slots.title);
167
172
  const hasSubtitle = !!(props.subtitle != null || slots.subtitle);
168
- return createElementVNode("div", {
173
+ return createVNode(props.tag, {
169
174
  "class": normalizeClass(['v-card-item', props.class]),
170
175
  "style": normalizeStyle(props.style)
171
- }, [hasPrepend && createElementVNode("div", {
172
- "key": "prepend",
173
- "class": "v-card-item__prepend"
174
- }, [!slots.prepend ? createElementVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {
175
- "key": "prepend-avatar",
176
- "density": props.density,
177
- "image": props.prependAvatar
178
- }, null), props.prependIcon && createVNode(VIcon, {
179
- "key": "prepend-icon",
180
- "density": props.density,
181
- "icon": props.prependIcon
182
- }, null)]) : createVNode(VDefaultsProvider, {
183
- "key": "prepend-defaults",
184
- "disabled": !hasPrependMedia,
185
- "defaults": {
186
- VAvatar: {
187
- density: props.density,
188
- image: props.prependAvatar
189
- },
190
- VIcon: {
191
- density: props.density,
192
- icon: props.prependIcon
193
- }
194
- }
195
- }, slots.prepend)]), createElementVNode("div", {
196
- "class": "v-card-item__content"
197
- }, [hasTitle && createVNode(VCardTitle, {
198
- "key": "title"
199
- }, {
200
- default: () => [slots.title?.() ?? toDisplayString(props.title)]
201
- }), hasSubtitle && createVNode(VCardSubtitle, {
202
- "key": "subtitle"
203
176
  }, {
204
- default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
205
- }), slots.default?.()]), hasAppend && createElementVNode("div", {
206
- "key": "append",
207
- "class": "v-card-item__append"
208
- }, [!slots.append ? createElementVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
209
- "key": "append-icon",
210
- "density": props.density,
211
- "icon": props.appendIcon
212
- }, null), props.appendAvatar && createVNode(VAvatar, {
213
- "key": "append-avatar",
214
- "density": props.density,
215
- "image": props.appendAvatar
216
- }, null)]) : createVNode(VDefaultsProvider, {
217
- "key": "append-defaults",
218
- "disabled": !hasAppendMedia,
219
- "defaults": {
220
- VAvatar: {
221
- density: props.density,
222
- image: props.appendAvatar
223
- },
224
- VIcon: {
225
- density: props.density,
226
- 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
+ }
227
200
  }
228
- }
229
- }, 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
+ });
230
237
  });
231
238
  return {};
232
239
  }
@@ -355,7 +362,7 @@ const VCard = genericComponent()({
355
362
  const hasImage = !!(slots.image || props.image);
356
363
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
357
364
  const hasText = !!(slots.text || props.text != null);
358
- return withDirectives(createVNode(Tag, mergeProps({
365
+ return withDirectives(createVNode(Tag, mergeProps(link.linkProps, {
359
366
  "class": ['v-card', {
360
367
  'v-card--disabled': props.disabled,
361
368
  'v-card--flat': props.flat,
@@ -365,7 +372,7 @@ const VCard = genericComponent()({
365
372
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
366
373
  "onClick": isClickable && link.navigate,
367
374
  "tabindex": props.disabled ? -1 : undefined
368
- }, link.linkProps), {
375
+ }), {
369
376
  default: () => [hasImage && createElementVNode("div", {
370
377
  "key": "image",
371
378
  "class": "v-card__image"
@@ -477,12 +484,18 @@ const VDivider = genericComponent()({
477
484
  }
478
485
  });
479
486
 
480
- const _hoisted_1 = { class: "pa-3 code-block" };
487
+ const _hoisted_1 = { class: "d-flex flex-wrap gap-2 mb-4" };
481
488
  const _hoisted_2 = { style: {"position":"absolute","bottom":"15px"} };
482
489
  const _hoisted_3 = {
483
490
  key: 0,
484
491
  class: "text-success mr-3"
485
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" };
486
499
 
487
500
 
488
501
  const _sfc_main = {
@@ -492,6 +505,10 @@ const _sfc_main = {
492
505
  type: Function,
493
506
  default: getLayers,
494
507
  },
508
+ getChartSpec: {
509
+ type: Function,
510
+ default: getChartSpec,
511
+ },
495
512
  }, {
496
513
  "modelValue": { type: Boolean, required: true, default: false },
497
514
  "modelModifiers": {},
@@ -522,6 +539,13 @@ const copyBtns = [
522
539
  copyFn: async () => await copyToClipBoard(getMapStepCode(), copySuccess),
523
540
  copyAs: "map tour section",
524
541
  },
542
+ {
543
+ id: Symbol(),
544
+ copyFn: async () =>
545
+ await copyToClipBoard(getChartExportCode(), copySuccess),
546
+ copyAs: "chart",
547
+ showIf: () => !!props.getChartSpec?.(),
548
+ },
525
549
  ];
526
550
 
527
551
  const getMapStepCode = () => {
@@ -542,13 +566,20 @@ const getMapEntryCode = () => {
542
566
  return `${preTag}'${JSON.stringify(removeUnneededProperties(props.getLayers()))}' ${endTag}`;
543
567
  };
544
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
+
545
578
  return (_ctx, _cache) => {
546
579
 
580
+
547
581
 
548
582
 
549
-
550
-
551
-
552
583
 
553
584
 
554
585
 
@@ -566,23 +597,35 @@ return (_ctx, _cache) => {
566
597
  class: "bg-primary",
567
598
  style: {"max-height":"49px"}
568
599
  }, {
569
- default: withCtx(() => _cache[2] || (_cache[2] = [
600
+ default: withCtx(() => [...(_cache[2] || (_cache[2] = [
570
601
  createElementVNode("h5", { class: "text-h5" }, "Storytelling map configuration", -1 /* CACHED */)
571
- ])),
572
- _: 1 /* STABLE */,
573
- __: [2]
602
+ ]))]),
603
+ _: 1 /* STABLE */
574
604
  }),
575
605
  createVNode(VCardText, {
576
606
  class: "py-5 overflow-auto",
577
607
  style: {"height":"400px"}
578
608
  }, {
579
609
  default: withCtx(() => [
580
- _cache[4] || (_cache[4] = createElementVNode("p", { class: "text-body-2" }, [
581
- createTextVNode(" Copy and paste this code into the map "),
582
- createElementVNode("b", null, "layers field"),
583
- createTextVNode(" of the storytelling editor: ")
584
- ], -1 /* CACHED */)),
585
- 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
+ ]),
586
629
  createElementVNode("div", _hoisted_2, [
587
630
  createVNode(VExpandTransition, null, {
588
631
  default: withCtx(() => [
@@ -600,37 +643,20 @@ return (_ctx, _cache) => {
600
643
  _: 1 /* STABLE */
601
644
  })
602
645
  ]),
603
- createVNode(VRow, { class: "d-flex pt-3 justify-end" }, {
604
- default: withCtx(() => [
605
- createVNode(VCol, {
606
- cols: "6",
607
- class: "flex-column align-center text-end"
608
- }, {
609
- default: withCtx(() => [
610
- (openBlock(), createElementBlock(Fragment, null, renderList(copyBtns, (btn) => {
611
- return createVNode(VBtn, {
612
- class: "text-body-2",
613
- onClick: btn.copyFn,
614
- key: btn.id,
615
- small: "",
616
- variant: "text",
617
- "prepend-icon": [unref(mdiContentCopy)]
618
- }, {
619
- default: withCtx(() => [
620
- createTextVNode(" copy as " + toDisplayString(btn.copyAs), 1 /* TEXT */)
621
- ]),
622
- _: 2 /* DYNAMIC */
623
- }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick", "prepend-icon"])
624
- }), 64 /* STABLE_FRAGMENT */))
625
- ]),
626
- _: 1 /* STABLE */
627
- })
628
- ]),
629
- _: 1 /* STABLE */
630
- })
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)
631
658
  ]),
632
- _: 1 /* STABLE */,
633
- __: [4]
659
+ _: 1 /* STABLE */
634
660
  }),
635
661
  createVNode(VDivider),
636
662
  createVNode(VCardActions, { style: {"max-height":"49px"} }, {
@@ -640,11 +666,10 @@ return (_ctx, _cache) => {
640
666
  variant: "text",
641
667
  onClick: _cache[0] || (_cache[0] = $event => (dialog.value = !dialog.value))
642
668
  }, {
643
- default: withCtx(() => _cache[5] || (_cache[5] = [
669
+ default: withCtx(() => [...(_cache[6] || (_cache[6] = [
644
670
  createTextVNode(" Close ", -1 /* CACHED */)
645
- ])),
646
- _: 1 /* STABLE */,
647
- __: [5]
671
+ ]))]),
672
+ _: 1 /* STABLE */
648
673
  })
649
674
  ]),
650
675
  _: 1 /* STABLE */
@@ -659,6 +684,6 @@ return (_ctx, _cache) => {
659
684
  }
660
685
 
661
686
  };
662
- 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"]]);
663
688
 
664
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, 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-ZyEzWOOf.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,6 +1,6 @@
1
1
  import { createVNode, normalizeStyle, normalizeClass, createElementVNode, shallowRef, computed, ref, watch, onMounted, onBeforeUnmount, toRef, watchEffect, mergeProps, inject, createBlock, openBlock, withCtx, createTextVNode, toDisplayString, unref } from 'vue';
2
- import { p as propsFactory, g as genericComponent, m as makeTagProps, e as makeComponentProps, c as useRender, f as useBackgroundColor, h as useBorder, i as useElevation, j as useRounded, k as provideTheme, l as useRtl, n as provideDefaults, V as VDefaultsProvider, o as convertToUnit, q as makeThemeProps, r as makeRoundedProps, s as makeElevationProps, t as makeBorderProps, v as clamp, w as consoleWarn, x as useProxiedModel, y as useToggleScope, z as useLayoutItem, A as makeLayoutItemProps, _ as _export_sfc, B as eodashKey } from './asWebComponent-ZyEzWOOf.js';
3
- import { V as VImg, a as VExpandTransition } from './VImg-CETuikH2.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';
4
4
  import { u as useSsrBoot } from './ssrBoot-Zgc_Ttvi.js';
5
5
 
6
6
  const _style_0 = ".logo[data-v-86c95219]{max-width:140px}";