@eodash/eodash 5.4.0 → 5.5.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 (110) hide show
  1. package/core/client/asWebComponent.js +1 -1
  2. package/core/client/composables/DefineWidgets.js +12 -2
  3. package/core/client/eodashSTAC/EodashCollection.js +3 -3
  4. package/core/client/eodashSTAC/createLayers.js +44 -17
  5. package/core/client/eodashSTAC/helpers.js +12 -5
  6. package/core/client/eodashSTAC/parquet.js +2 -1
  7. package/core/client/eodashSTAC/triggers.js +1 -2
  8. package/core/client/store/actions.js +17 -17
  9. package/core/client/store/states.js +26 -4
  10. package/core/client/types.ts +9 -0
  11. package/core/client/utils/index.js +18 -1
  12. package/dist/client/{DashboardLayout-CQOGHPW_.js → DashboardLayout-CkSgvaFF.js} +2 -2
  13. package/dist/client/{DynamicWebComponent-CoLO8FEf.js → DynamicWebComponent-Ncsg6fb9.js} +1 -1
  14. package/dist/client/EodashChart-5v7adDpG.js +144 -0
  15. package/dist/client/{EodashDatePicker-BZeQ6bcu.js → EodashDatePicker-RoQJe6ss.js} +4 -4
  16. package/dist/client/{EodashItemFilter-CmZkk7GK.js → EodashItemFilter-CCoVC5BE.js} +2 -2
  17. package/dist/client/{EodashLayerControl-D54fY-bX.js → EodashLayerControl-weVj7aQA.js} +2 -2
  18. package/dist/client/{EodashLayoutSwitcher-BCP3FvDb.js → EodashLayoutSwitcher-CL-Z9d5_.js} +3 -3
  19. package/dist/client/EodashMapBtns-CXU8IuPO.js +433 -0
  20. package/dist/client/{EodashStacInfo-BZbmT8vT.js → EodashStacInfo-BbMnjf-n.js} +11 -15
  21. package/dist/client/{EodashTimeSlider-DIcAJr6D.js → EodashTimeSlider-BZXnqfax.js} +2 -2
  22. package/dist/client/{EodashTools-Cz6X6hsF.js → EodashTools-DUJlkkgx.js} +4 -4
  23. package/dist/client/{ExportState-DFVFAgKz.js → ExportState-CT3FQOHW.js} +46 -21
  24. package/dist/client/{Footer-DLzQcjkI.js → Footer-D_iqP-1K.js} +1 -1
  25. package/dist/client/{Header-_D9Z-zFJ.js → Header-Dzhnvsy-.js} +127 -17
  26. package/dist/client/MobileLayout-6Rg_PSO8.js +118 -0
  27. package/dist/client/{PopUp-DwI8V2gW.js → PopUp-DPPv_GSA.js} +8 -59
  28. package/dist/client/{ProcessList-C9eAg2Sb.js → ProcessList-BIN_Mb27.js} +9 -13
  29. package/dist/client/{VImg-COXTnCWE.js → VImg-DhbuvNrA.js} +2 -2
  30. package/dist/client/{VMain-C74l1bv-.js → VMain-CVabY_NY.js} +1 -1
  31. package/dist/client/{VTooltip-BLS-cQ9N.js → VTooltip-Cc6au3Sn.js} +3 -4
  32. package/dist/client/{WidgetsContainer-D-VfMRxE.js → WidgetsContainer-ChqTJS4h.js} +1 -1
  33. package/dist/client/asWebComponent-DaIxULaA.js +9207 -0
  34. package/dist/client/{async-D4G-FOIc.js → async-D6Lvv-fT.js} +4 -4
  35. package/dist/client/eo-dash.js +1 -1
  36. package/dist/client/{forwardRefs-CRMFoNYN.js → forwardRefs--IccUBdR.js} +196 -37
  37. package/dist/client/{handling-DTAhQuPh.js → handling-DSA67d6E.js} +74 -35
  38. package/dist/client/{helpers-CsjKHAcK.js → helpers-BBSdbOmv.js} +187 -87
  39. package/dist/client/{index-DEmHaCL3.js → index-6LlXNkke.js} +5 -3
  40. package/dist/client/{index-BHilH1qx.js → index-BS-8Y5FE.js} +22 -69
  41. package/dist/client/{index-BIcmbjr0.js → index-CQihL_c6.js} +27 -14
  42. package/dist/client/{index-BoCcZ0l4.js → index-qsZhYR_6.js} +15 -16
  43. package/dist/client/templates.js +48 -2
  44. package/dist/client/{transition-6MJLK-_H.js → transition-DFr4cXu8.js} +1 -1
  45. package/dist/node/cli.js +1 -1
  46. package/dist/types/core/client/App.vue.d.ts +16 -6
  47. package/dist/types/core/client/asWebComponent.d.ts +2 -2
  48. package/dist/types/core/client/components/DashboardLayout.vue.d.ts +2 -1
  49. package/dist/types/core/client/components/DynamicWebComponent.vue.d.ts +36 -16
  50. package/dist/types/core/client/components/EodashOverlay.vue.d.ts +2 -1
  51. package/dist/types/core/client/components/ErrorAlert.vue.d.ts +9 -1
  52. package/dist/types/core/client/components/Footer.vue.d.ts +2 -1
  53. package/dist/types/core/client/components/Header.vue.d.ts +2 -1
  54. package/dist/types/core/client/components/IframeWrapper.vue.d.ts +12 -6
  55. package/dist/types/core/client/components/Loading.vue.d.ts +2 -1
  56. package/dist/types/core/client/components/MobileLayout.vue.d.ts +2 -1
  57. package/dist/types/core/client/eodashSTAC/helpers.d.ts +1 -0
  58. package/dist/types/core/client/store/actions.d.ts +1 -2
  59. package/dist/types/core/client/store/states.d.ts +22 -4
  60. package/dist/types/core/client/types.d.ts +6 -1
  61. package/dist/types/core/client/utils/index.d.ts +1 -0
  62. package/dist/types/core/client/views/Dashboard.vue.d.ts +20 -8
  63. package/dist/types/templates/compare.d.ts +20 -0
  64. package/dist/types/templates/expert.d.ts +30 -1
  65. package/dist/types/widgets/EodashChart.vue.d.ts +28 -0
  66. package/dist/types/widgets/EodashDatePicker.vue.d.ts +38 -9
  67. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +88 -13
  68. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +1 -1
  69. package/dist/types/widgets/EodashItemFilter.vue.d.ts +169 -26
  70. package/dist/types/widgets/EodashLayerControl.vue.d.ts +38 -10
  71. package/dist/types/widgets/EodashLayoutSwitcher.vue.d.ts +22 -7
  72. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +94 -21
  73. package/dist/types/widgets/EodashMap/index.vue.d.ts +646 -93
  74. package/dist/types/widgets/EodashMap/methods/btns.d.ts +14 -0
  75. package/dist/types/widgets/EodashProcess/ProcessList.vue.d.ts +24 -7
  76. package/dist/types/widgets/EodashProcess/index.vue.d.ts +26 -7
  77. package/dist/types/widgets/EodashProcess/methods/composables.d.ts +1 -2
  78. package/dist/types/widgets/EodashProcess/methods/handling.d.ts +5 -11
  79. package/dist/types/widgets/EodashProcess/methods/outputs.d.ts +2 -2
  80. package/dist/types/widgets/EodashStacInfo.vue.d.ts +67 -18
  81. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +14 -6
  82. package/dist/types/widgets/EodashTools.vue.d.ts +437 -47
  83. package/dist/types/widgets/ExportState.vue.d.ts +26 -8
  84. package/dist/types/widgets/PopUp.vue.d.ts +61 -11
  85. package/dist/types/widgets/WidgetsContainer.vue.d.ts +22 -6
  86. package/package.json +33 -34
  87. package/templates/baseConfig.js +2 -1
  88. package/templates/compare.js +28 -1
  89. package/templates/expert.js +19 -1
  90. package/widgets/EodashChart.vue +139 -0
  91. package/widgets/EodashItemCatalog/index.vue +2 -2
  92. package/widgets/EodashItemCatalog/methods/map.js +9 -10
  93. package/widgets/EodashMap/EodashMapBtns.vue +58 -93
  94. package/widgets/EodashMap/index.vue +10 -2
  95. package/widgets/EodashMap/methods/btns.js +155 -0
  96. package/widgets/EodashMap/methods/create-layers-config.js +3 -3
  97. package/widgets/EodashMap/methods/index.js +2 -1
  98. package/widgets/EodashProcess/ProcessList.vue +2 -3
  99. package/widgets/EodashProcess/index.vue +18 -61
  100. package/widgets/EodashProcess/methods/async.js +1 -1
  101. package/widgets/EodashProcess/methods/composables.js +0 -5
  102. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +10 -6
  103. package/widgets/EodashProcess/methods/handling.js +23 -22
  104. package/widgets/EodashProcess/methods/outputs.js +44 -4
  105. package/widgets/EodashProcess/methods/utils.js +1 -1
  106. package/widgets/EodashStacInfo.vue +10 -23
  107. package/widgets/ExportState.vue +9 -15
  108. package/dist/client/EodashMapBtns-D-HulIl1.js +0 -306
  109. package/dist/client/MobileLayout-3Ko9XSfO.js +0 -118
  110. package/dist/client/asWebComponent-Bw03Jutr.js +0 -9090
@@ -1,14 +1,15 @@
1
- import { onMounted, watch, nextTick, ref, useTemplateRef, computed, createElementBlock, openBlock, createVNode, createCommentVNode, createElementVNode, unref, normalizeStyle, toRaw, createBlock, withCtx, createTextVNode } from 'vue';
1
+ import { onMounted, watch, nextTick, ref, useTemplateRef, computed, createElementBlock, openBlock, createVNode, createCommentVNode, createBlock, createElementVNode, unref, withCtx, createTextVNode } from 'vue';
2
2
  import '@eox/chart';
3
3
  import '@eox/drawtools';
4
4
  import '@eox/jsonform';
5
- import { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-Bw03Jutr.js';
5
+ import { R as eoxLayersKey, K as useOnLayersUpdate, _ as _export_sfc, E as useSTAcStore, G as VBtn } from './asWebComponent-DaIxULaA.js';
6
6
  import { storeToRefs } from 'pinia';
7
- import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-C9eAg2Sb.js';
8
- import { i as initProcess, u as updateJsonformIdentifier, o as onChartClick, h as handleProcesses } from './handling-DTAhQuPh.js';
7
+ import { P as ProcessList, c as compareJobs, j as jobs } from './ProcessList-BIN_Mb27.js';
8
+ import EodashChart from './EodashChart-5v7adDpG.js';
9
+ import { i as initProcess, u as updateJsonformIdentifier, h as handleProcesses } from './handling-DSA67d6E.js';
9
10
  import { useEventBus } from '@vueuse/core';
10
- import { u as updateJobsStatus, d as download, g as getDrawToolsProperty } from './async-D4G-FOIc.js';
11
- import { I as compareIndicator, G as indicator, O as mapCompareEl, j as mapEl, U as compareChartEl, V as chartEl } from './helpers-CsjKHAcK.js';
11
+ import { u as updateJobsStatus, d as download, g as getDrawToolsProperty } from './async-D6Lvv-fT.js';
12
+ import { I as compareIndicator, G as indicator, S as mapCompareEl, j as mapEl, M as areChartsSeparateLayout, O as compareChartSpec, N as chartSpec } from './helpers-BBSdbOmv.js';
12
13
  import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
13
14
 
14
15
  /**
@@ -20,7 +21,6 @@ import { mdiCogPlayOutline, mdiDownloadCircleOutline } from '@mdi/js';
20
21
  * @param {import("vue").Ref<import("stac-ts").StacCollection | null>} params.selectedStac
21
22
  * @param {import("vue").Ref<import("@eox/jsonform").EOxJSONForm | null>} params.jsonformEl
22
23
  * @param {import("vue").Ref<Record<string,any> | null>} params.jsonformSchema
23
- * @param {import("vue").Ref<import("@eox/chart").EOxChart["spec"] | null>} params.chartSpec
24
24
  * @param {import("vue").Ref<any[]>} params.processResults
25
25
  * @param {import("vue").Ref<boolean>} params.isProcessed
26
26
  * @param {import("vue").Ref<boolean>} params.loading
@@ -31,7 +31,6 @@ const useInitProcess = ({
31
31
  selectedStac,
32
32
  jsonformEl,
33
33
  jsonformSchema,
34
- chartSpec,
35
34
  isProcessed,
36
35
  processResults,
37
36
  loading,
@@ -48,7 +47,6 @@ const useInitProcess = ({
48
47
  selectedStac,
49
48
  jsonformEl,
50
49
  jsonformSchema,
51
- chartSpec,
52
50
  isProcessed,
53
51
  processResults,
54
52
  loading,
@@ -61,7 +59,6 @@ const useInitProcess = ({
61
59
  selectedStac,
62
60
  jsonformEl,
63
61
  jsonformSchema,
64
- chartSpec,
65
62
  isProcessed,
66
63
  loading,
67
64
  processResults,
@@ -94,7 +91,6 @@ const useInitProcess = ({
94
91
  selectedStac,
95
92
  jsonformEl,
96
93
  jsonformSchema,
97
- chartSpec,
98
94
  isProcessed,
99
95
  processResults,
100
96
  loading,
@@ -154,15 +150,14 @@ function useAutoExec(
154
150
  });
155
151
  }
156
152
 
157
- const _style_0 = "eox-chart{--background-color: transparent;padding-top:1em}eox-jsonform{padding:.7em;min-height:0px}";
153
+ const _style_0 = "eox-jsonform{padding:.7em;min-height:0px}";
158
154
 
159
155
  const _hoisted_1 = {
160
156
  ref: "container",
161
- class: "pb-4"
157
+ class: "py-1"
162
158
  };
163
159
  const _hoisted_2 = [".schema"];
164
- const _hoisted_3 = [".spec", ".dataValues", ".opt"];
165
- const _hoisted_4 = { class: "mt-4 text-right" };
160
+ const _hoisted_3 = { class: "mt-2 text-right" };
166
161
 
167
162
 
168
163
  const _sfc_main = {
@@ -182,11 +177,7 @@ const _sfc_main = {
182
177
  setup(__props) {
183
178
 
184
179
 
185
- /** @type {import("vue").Ref<import("vega").Spec|null>} */
186
- const chartSpec = ref(null);
187
180
 
188
- /** @type {import("vue").Ref<Record<string,any>|null>} */
189
- const chartData = ref(null);
190
181
  const isProcessed = ref(false);
191
182
 
192
183
  /** @type {import("vue").Ref<Record<string,any>|null>} */
@@ -196,16 +187,12 @@ const jsonformEl =
196
187
  /** @type {Readonly<import("vue").ShallowRef<import("@eox/jsonform").EOxJSONForm | null>>} */ (
197
188
  useTemplateRef("jsonformEl")
198
189
  );
199
- const chartElRef =
200
- /** @type {Readonly<import("vue").ShallowRef<import("@eox/chart").EOxChart | null>>} */ (
201
- useTemplateRef("chartElRef")
202
- );
190
+
203
191
  const isAsync = computed(
204
192
  () =>
205
193
  selectedStac.value?.links.filter((l) => l.endpoint === "eoxhub_workspaces")
206
194
  .length,
207
195
  );
208
- const containerEl = useTemplateRef("container");
209
196
 
210
197
  const loading = ref(false);
211
198
 
@@ -216,10 +203,7 @@ const isPolling = ref(false);
216
203
  const processResults = ref([]);
217
204
 
218
205
  const showExecBtn = computed(
219
- () =>
220
- !autoExec.value &&
221
- (!!jsonformSchema.value || !!chartSpec.value) &&
222
- !!jsonformEl.value,
206
+ () => !autoExec.value && !!jsonformSchema.value && !!jsonformEl.value,
223
207
  );
224
208
  const { selectedStac, selectedCompareStac } = storeToRefs(useSTAcStore());
225
209
  const currentSelectedStac = __props.enableCompare ? selectedCompareStac : selectedStac;
@@ -236,7 +220,6 @@ useInitProcess({
236
220
  mapElement: mapElement.value,
237
221
  jsonformEl,
238
222
  jsonformSchema,
239
- chartSpec,
240
223
  isProcessed,
241
224
  processResults,
242
225
  loading,
@@ -272,7 +255,8 @@ const startProcess = async () => {
272
255
 
273
256
  if (propertyIsEmpty) {
274
257
  isProcessed.value = false;
275
- chartSpec.value = null;
258
+ const usedChartSpec = __props.enableCompare ? compareChartSpec : chartSpec;
259
+ usedChartSpec.value = null;
276
260
  return;
277
261
  }
278
262
  const errors = jsonformEl.value?.editor.validate();
@@ -288,8 +272,6 @@ const startProcess = async () => {
288
272
  selectedStac: currentSelectedStac,
289
273
  jsonformEl,
290
274
  jsonformSchema,
291
- chartSpec,
292
- chartData,
293
275
  loading,
294
276
  isPolling,
295
277
  processResults,
@@ -301,29 +283,6 @@ const startProcess = async () => {
301
283
  };
302
284
  useAutoExec(autoExec, jsonformEl, jsonformSchema, startProcess);
303
285
 
304
- const chartStyles = computed(() => {
305
- /** @type {Record<string,string>} */
306
- const styles = {};
307
- if (!chartSpec.value?.["height"]) {
308
- styles["height"] =
309
- Math.max(
310
- (containerEl.value?.offsetHeight ?? 0) -
311
- (jsonformEl.value?.offsetHeight ?? 0),
312
- 200,
313
- ) + "px";
314
- }
315
- return styles;
316
- });
317
-
318
- // Assign chart element to global state based on compare mode
319
- watch(chartElRef, (newVal) => {
320
- if (__props.enableCompare) {
321
- compareChartEl.value = newVal;
322
- } else {
323
- chartEl.value = newVal;
324
- }
325
- });
326
-
327
286
  return (_ctx, _cache) => {
328
287
 
329
288
 
@@ -340,20 +299,14 @@ return (_ctx, _cache) => {
340
299
  ".schema": jsonformSchema.value
341
300
  }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_2))
342
301
  : createCommentVNode("v-if", true),
343
- (isProcessed.value && chartSpec.value)
344
- ? (openBlock(), createElementBlock("eox-chart", {
302
+ (!unref(areChartsSeparateLayout))
303
+ ? (openBlock(), createBlock(EodashChart, {
345
304
  key: 1,
346
- ref_key: "chartElRef",
347
- ref: chartElRef,
348
- class: "chart",
349
- ".spec": toRaw(chartSpec.value),
350
- ".dataValues": toRaw(chartData.value),
351
- "onClick:item": _cache[0] || (_cache[0] = (...args) => (unref(onChartClick) && unref(onChartClick)(...args))),
352
- style: normalizeStyle(chartStyles.value),
353
- ".opt": __props.vegaEmbedOptions
354
- }, null, 44 /* STYLE, PROPS, NEED_HYDRATION */, _hoisted_3))
305
+ "vega-embed-options": __props.vegaEmbedOptions,
306
+ "enable-compare": __props.enableCompare
307
+ }, null, 8 /* PROPS */, ["vega-embed-options", "enable-compare"]))
355
308
  : createCommentVNode("v-if", true),
356
- createElementVNode("div", _hoisted_4, [
309
+ createElementVNode("div", _hoisted_3, [
357
310
  (showExecBtn.value)
358
311
  ? (openBlock(), createBlock(VBtn, {
359
312
  key: 0,
@@ -363,7 +316,7 @@ return (_ctx, _cache) => {
363
316
  onClick: startProcess,
364
317
  color: "primary"
365
318
  }, {
366
- default: withCtx(() => [...(_cache[1] || (_cache[1] = [
319
+ default: withCtx(() => [...(_cache[0] || (_cache[0] = [
367
320
  createTextVNode(" Execute ", -1 /* CACHED */)
368
321
  ]))]),
369
322
  _: 1 /* STABLE */
@@ -376,7 +329,7 @@ return (_ctx, _cache) => {
376
329
  "append-icon": [unref(mdiDownloadCircleOutline)],
377
330
  onClick: downloadResults
378
331
  }, {
379
- default: withCtx(() => [...(_cache[2] || (_cache[2] = [
332
+ default: withCtx(() => [...(_cache[1] || (_cache[1] = [
380
333
  createTextVNode(" Download ", -1 /* CACHED */)
381
334
  ]))]),
382
335
  _: 1 /* STABLE */
@@ -1,13 +1,13 @@
1
- import { onMounted, onUnmounted, watch, computed, useTemplateRef, ref, toRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, normalizeStyle, createVNode } from 'vue';
2
- import '@eox/map';
1
+ import { onMounted, onUnmounted, watch, computed, withAsyncContext, useTemplateRef, ref, toRaw, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, normalizeStyle, createVNode } from 'vue';
2
+ import { transformExtent } from '@eox/map';
3
3
  import '@eox/map/src/plugins/advancedLayersAndSources';
4
- import { Q as setMapProjFromCol, F as mapPosition, N as sanitizeBbox, j as mapEl, O as mapCompareEl, G as indicator, I as compareIndicator, D as poi, C as datetime } from './helpers-CsjKHAcK.js';
4
+ import { U as setMapProjFromCol, F as mapPosition, R as sanitizeBbox, j as mapEl, S as mapCompareEl, G as indicator, I as compareIndicator, D as poi, V as isGlobe, C as datetime } from './helpers-BBSdbOmv.js';
5
5
  import { storeToRefs } from 'pinia';
6
- import { O as EodashCollection, E as useSTAcStore, P as useEmitLayersUpdate, Q as isFirstLoad, K as useOnLayersUpdate, _ as _export_sfc, D as useDisplay, a as useLayout, N as layerControlFormValue, M as layerControlFormValueCompare, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-Bw03Jutr.js';
6
+ import { O as EodashCollection, E as useSTAcStore, P as useEmitLayersUpdate, Q as isFirstLoad, K as useOnLayersUpdate, _ as _export_sfc, D as useDisplay, a as useLayout, N as layerControlFormValue, M as layerControlFormValueCompare, J as eodashCompareCollections, I as eodashCollections } from './asWebComponent-DaIxULaA.js';
7
7
  import log from 'loglevel';
8
8
  import { i as inAndOut } from './easing-CH0-9wR8.js';
9
9
  import mustache from 'mustache';
10
- import EodashMapBtns from './EodashMapBtns-D-HulIl1.js';
10
+ import EodashMapBtns from './EodashMapBtns-CXU8IuPO.js';
11
11
 
12
12
  /**
13
13
  * Creates full layer configuration from indicator and time information
@@ -90,7 +90,7 @@ const createLayersConfig = async (
90
90
  const observationPointsLayer =
91
91
  EodashCollection.getObservationPointsLayer(eodashCols);
92
92
  if (observationPointsLayer) {
93
- dataLayers.layers.unshift(observationPointsLayer);
93
+ dataLayers.layers.push(observationPointsLayer);
94
94
  }
95
95
  const baseLayers = {
96
96
  type: "Group",
@@ -161,7 +161,7 @@ const createLayersConfig = async (
161
161
  }
162
162
 
163
163
  if (baseLayers.layers.length) {
164
- layersCollection.push(baseLayers);
164
+ layersCollection.unshift(baseLayers);
165
165
  }
166
166
 
167
167
  const overlayLayers = {
@@ -179,7 +179,7 @@ const createLayersConfig = async (
179
179
 
180
180
  if (indicatorOverlays.length) {
181
181
  overlayLayers.layers.push(...indicatorOverlays);
182
- layersCollection.unshift(overlayLayers);
182
+ layersCollection.push(overlayLayers);
183
183
  }
184
184
 
185
185
  return layersCollection;
@@ -378,7 +378,7 @@ const useInitMap = (
378
378
  const b = updatedStac.extent?.spatial.bbox[0];
379
379
  const sanitizedExtent = sanitizeBbox([...b]);
380
380
 
381
- const reprojExtent = mapElement.value?.transformExtent(
381
+ const reprojExtent = transformExtent(
382
382
  sanitizedExtent,
383
383
  "EPSG:4326",
384
384
  mapElement.value?.map?.getView().getProjection(),
@@ -432,7 +432,7 @@ const useUpdateTooltipProperties = (eodashCols, tooltipProperties) => {
432
432
  });
433
433
  };
434
434
 
435
- const _style_0 = "#cursor-coordinates[data-v-5143a869]{position:fixed;left:24px;bottom:54px;color:#000000e6;font-size:11px;font-family:var(--eox-body-font-family);background:#fffe;border-radius:4px;border:none;padding:0 3px;max-height:24px}@media (max-width: 959px){#cursor-coordinates[data-v-5143a869]{display:none}}#scale-line[data-v-5143a869]{position:fixed;left:24px;bottom:28px;color:#fff}@media (max-width: 959px){#scale-line[data-v-5143a869]{bottom:102px}}[data-v-5143a869] .ol-scale-line{background:#fffe!important;border-radius:4px!important;border:none!important;padding:0 3px 3px!important;font-size:10px!important;font-family:var(--eox-body-font-family);max-height:20px}[data-v-5143a869] .ol-scale-line-inner{display:flex;justify-content:center;border:1px solid rgba(0,0,0,.5)!important;border-top:none!important;color:#333!important;font-weight:500!important;transform:translateY(1px)}.map-buttons-container[data-v-5143a869]{position:fixed;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);pointer-events:none;z-index:1}.map-buttons-container[data-v-5143a869]>*{pointer-events:auto}";
435
+ const _style_0 = "#cursor-coordinates[data-v-965b3ae7]{position:fixed;left:24px;bottom:54px;color:#000000e6;font-size:10px;font-family:var(--eox-body-font-family);background:#fffe;border-radius:4px;border:none;padding:0 3px;max-height:24px}@media(max-width:959px){#cursor-coordinates[data-v-965b3ae7]{display:none}}#scale-line[data-v-965b3ae7]{position:fixed;left:24px;bottom:28px;color:#fff}@media(max-width:959px){#scale-line[data-v-965b3ae7]{bottom:102px}}[data-v-965b3ae7] .ol-scale-line{background:#fffe!important;border-radius:4px!important;border:none!important;padding:0 3px 3px!important;font-size:10px!important;font-family:var(--eox-body-font-family);max-height:20px}[data-v-965b3ae7] .ol-scale-line-inner{display:flex;justify-content:center;border:1px solid rgba(0,0,0,.5)!important;border-top:none!important;color:#333!important;font-weight:500!important;transform:translateY(1px)}.map-buttons-container[data-v-965b3ae7]{position:fixed;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);pointer-events:none;z-index:1}.map-buttons-container[data-v-965b3ae7]>*{pointer-events:auto}";
436
436
 
437
437
  const _hoisted_1 = [".enabled"];
438
438
  const _hoisted_2 = [".center", ".zoom", ".layers", ".controls"];
@@ -496,6 +496,7 @@ const _sfc_main = {
496
496
  * enableSearch?: boolean;
497
497
  * searchParams?: object;
498
498
  * enableZoom?: boolean;
499
+ * enableGlobe?: boolean;
499
500
  * enableCompareIndicators?: boolean | {
500
501
  * compareTemplate?:string;
501
502
  * fallbackTemplate?:string;
@@ -510,11 +511,14 @@ const _sfc_main = {
510
511
  enableBackToPOIs: true,
511
512
  enableSearch: true,
512
513
  enableZoom: true,
514
+ enableGlobe: true,
513
515
  searchParams: {},
514
516
  }),
515
517
  },
516
518
  },
517
- setup(__props) {
519
+ async setup(__props) {
520
+
521
+ let __temp, __restore;
518
522
 
519
523
  const props = __props;
520
524
 
@@ -555,9 +559,17 @@ const btnsProps = computed(() => ({
555
559
  backToPOIs: props.btns.enableBackToPOIs ?? true,
556
560
  enableSearch: props.btns.enableSearch ?? true,
557
561
  enableZoom: props.btns.enableZoom ?? true,
562
+ enableGlobe: props.btns.enableGlobe ?? true,
558
563
  searchParams: props.btns.searchParams,
559
564
  }));
560
565
 
566
+ if (btnsProps.value.enableGlobe) {
567
+ (
568
+ ([__temp,__restore] = withAsyncContext(() => import('@eox/map/src/plugins/globe'))),
569
+ await __temp,
570
+ __restore()
571
+ );
572
+ }
561
573
  // Prepare containers for scale line and cursor coordinates
562
574
  const scaleLineRef = useTemplateRef("scale-line");
563
575
  const cursorCoordsRef = useTemplateRef("cursor-coords");
@@ -789,7 +801,7 @@ return (_ctx, _cache) => {
789
801
  createCommentVNode(" prettier-ignore "),
790
802
  createVNode(EodashMapBtns, {
791
803
  style: normalizeStyle({
792
- gridColumn: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? responsiveX.value : '12',
804
+ gridColumn: (unref(indicator) || unref(compareIndicator) || unref(poi)) && !unref(isGlobe) ? responsiveX.value : '12',
793
805
  gridRow: responsiveY.value,
794
806
  }),
795
807
  exportMap: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.exportMap : false,
@@ -803,14 +815,15 @@ return (_ctx, _cache) => {
803
815
  ,
804
816
  enableZoom: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.enableZoom : false
805
817
  ,
818
+ enableGlobe: (unref(indicator) || unref(compareIndicator) || unref(poi)) ? btnsProps.value.enableGlobe : false,
806
819
  searchParams: btnsProps.value.searchParams
807
- }, null, 8 /* PROPS */, ["style", "exportMap", "changeProjection", "compareIndicators", "backToPOIs", "enableSearch", "enableZoom", "searchParams"])
820
+ }, null, 8 /* PROPS */, ["style", "exportMap", "changeProjection", "compareIndicators", "backToPOIs", "enableSearch", "enableZoom", "enableGlobe", "searchParams"])
808
821
  ], 4 /* STYLE */)
809
822
  ]))
810
823
  }
811
824
  }
812
825
 
813
826
  };
814
- const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-5143a869"]]);
827
+ const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-965b3ae7"]]);
815
828
 
816
829
  export { index as default };
@@ -1,9 +1,9 @@
1
1
  import { onMounted, onUnmounted, withAsyncContext, useTemplateRef, ref, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, unref, toDisplayString } from 'vue';
2
- import { E as useSTAcStore, K as useOnLayersUpdate, _ as _export_sfc, L as VRow } from './asWebComponent-Bw03Jutr.js';
3
- import { G as indicator, j as mapEl, N as sanitizeBbox, d as axios } from './helpers-CsjKHAcK.js';
2
+ import { E as useSTAcStore, K as useOnLayersUpdate, _ as _export_sfc, L as VRow } from './asWebComponent-DaIxULaA.js';
3
+ import { G as indicator, j as mapEl, R as sanitizeBbox, d as axios } from './helpers-BBSdbOmv.js';
4
4
  import { i as inAndOut } from './easing-CH0-9wR8.js';
5
5
  import { mdiViewDashboard } from '@mdi/js';
6
- import _sfc_main$1 from './EodashLayoutSwitcher-BCP3FvDb.js';
6
+ import _sfc_main$1 from './EodashLayoutSwitcher-CL-Z9d5_.js';
7
7
 
8
8
  /**
9
9
  *
@@ -239,7 +239,7 @@ function renderItemsFeatures(features) {
239
239
  },
240
240
  layers: [],
241
241
  };
242
- mapEl.value.layers = [analysisLayers, ...mapEl.value.layers.reverse()];
242
+ mapEl.value.layers = [...mapEl.value.layers, analysisLayers];
243
243
  }
244
244
 
245
245
  const stacItemsLayer = {
@@ -284,8 +284,8 @@ function renderItemsFeatures(features) {
284
284
  return;
285
285
  } else {
286
286
  //@ts-expect-error todo
287
- analysisLayers.layers.unshift(stacItemsLayer);
288
- mapEl.value.layers = [...mapEl.value.layers].reverse();
287
+ analysisLayers.layers.push(stacItemsLayer);
288
+ mapEl.value.layers = [...mapEl.value.layers];
289
289
  }
290
290
  }
291
291
 
@@ -317,21 +317,20 @@ const useSearchOnMapMove = (itemFilter, bboxFilter) => {
317
317
  * @param {import("vue").Ref<import("@/types").GeoJsonFeature[]>} currentItems
318
318
  */
319
319
  const useRenderItemsFeatures = (currentItems) => {
320
- const renderOnUpdate = () =>
321
- useOnLayersUpdate(() => {
322
- // consider cases where this is not needed
323
- renderItemsFeatures(currentItems.value);
324
- });
325
320
  onMounted(() => {
326
321
  renderItemsFeatures(currentItems.value);
327
- renderOnUpdate();
322
+ });
323
+
324
+ useOnLayersUpdate(() => {
325
+ // consider cases where this is not needed
326
+ renderItemsFeatures(currentItems.value);
328
327
  });
329
328
  };
330
329
  /**
331
330
  *
332
331
  * @param {import("vue").Ref<any>} itemfilterEl
333
332
  */
334
- function useRenderOnFeatureHover(itemfilterEl) {
333
+ function useHighlightOnFeatureHover(itemfilterEl) {
335
334
  /**
336
335
  *
337
336
  * @param {CustomEvent} evt
@@ -406,7 +405,7 @@ const onMouseLeaveResult = () => {
406
405
  mapEl.value?.selectInteractions["stac-items"]?.highlightById([]);
407
406
  };
408
407
 
409
- const _style_0 = "eox-itemfilter[data-v-64c66d83]{flex-basis:20%;height:100%;overflow:hidden!important;padding:1rem;--eox-itemfilter-results-color: var(--v-theme-surface) !important}.title[data-v-64c66d83]{padding:1em;margin:.2em}";
408
+ const _style_0 = "eox-itemfilter[data-v-4d4f6477]{flex-basis:20%;height:100%;overflow:hidden!important;padding:1rem;--eox-itemfilter-results-color: var(--v-theme-surface) !important}.title[data-v-4d4f6477]{padding:1em;margin:.2em}";
410
409
 
411
410
  const _hoisted_1 = [".imageProperty", ".subTitleProperty", ".filterProperties", ".items", "externalFilter"];
412
411
  const _hoisted_2 = {
@@ -525,7 +524,7 @@ useRenderItemsFeatures(currentItems);
525
524
  // Search on map move logic
526
525
  useSearchOnMapMove(itemfilterEl, props.bboxFilter);
527
526
 
528
- useRenderOnFeatureHover(itemfilterEl);
527
+ useHighlightOnFeatureHover(itemfilterEl);
529
528
 
530
529
  onUnmounted(() => {
531
530
  store.selectedItem = null;
@@ -566,6 +565,6 @@ return (_ctx, _cache) => {
566
565
  }
567
566
 
568
567
  };
569
- const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-64c66d83"]]);
568
+ const index = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-4d4f6477"]]);
570
569
 
571
570
  export { index as default };
@@ -1,5 +1,5 @@
1
1
  import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
2
- import { M as includesProcess } from './helpers-CsjKHAcK.js';
2
+ import { P as includesProcess, Q as shouldShowChartWidget } from './helpers-BBSdbOmv.js';
3
3
 
4
4
  /**
5
5
  * Special values that tell deepmerge to perform a certain action.
@@ -546,6 +546,7 @@ const expert = {
546
546
  },
547
547
  enableBackToPOIs: true,
548
548
  enableSearch: true,
549
+ enableGlobe: true,
549
550
  // searchParams: {
550
551
  // countrycode: "gb,ie,fr"
551
552
  // bounds: "-84.26514,41.58998,-77.54150,46.14246"
@@ -586,6 +587,11 @@ const expert = {
586
587
  layout: { x: 0, y: 1, w: "3/3/2", h: 11 },
587
588
  widget: {
588
589
  name: "EodashLayerControl",
590
+ properties: {
591
+ cssVars: {
592
+ "--list-padding": "1rem",
593
+ },
594
+ },
589
595
  },
590
596
  },
591
597
  {
@@ -635,6 +641,18 @@ const expert = {
635
641
  },
636
642
  },
637
643
  },
644
+ {
645
+ defineWidget: () =>
646
+ shouldShowChartWidget() && {
647
+ id: "ProcessResultChart",
648
+ type: "internal",
649
+ title: "Chart",
650
+ layout: { x: 0, y: 0, w: 12, h: 8 },
651
+ widget: {
652
+ name: "EodashChart",
653
+ },
654
+ },
655
+ },
638
656
  ],
639
657
  };
640
658
 
@@ -756,6 +774,33 @@ const compare = {
756
774
  },
757
775
  },
758
776
  },
777
+ {
778
+ defineWidget: () =>
779
+ shouldShowChartWidget() && {
780
+ id: "ProcessResultChart",
781
+ type: "internal",
782
+ title: "Chart",
783
+ layout: { x: 0, y: 0, w: 6, h: 8 },
784
+ widget: {
785
+ name: "EodashChart",
786
+ },
787
+ },
788
+ },
789
+ {
790
+ defineWidget: () =>
791
+ shouldShowChartWidget(true) && {
792
+ id: "ProcessResultChartCompare",
793
+ type: "internal",
794
+ title: "Compare Chart",
795
+ layout: { x: 6, y: 0, w: 6, h: 8 },
796
+ widget: {
797
+ name: "EodashChart",
798
+ properties: {
799
+ enableCompare: true,
800
+ },
801
+ },
802
+ },
803
+ },
759
804
  {
760
805
  defineWidget: (selectedSTAC) => {
761
806
  return selectedSTAC
@@ -851,7 +896,8 @@ const baseConfig = {
851
896
  stacEndpoint: {
852
897
  endpoint:
853
898
  "https://esa-eodashboards.github.io/eodashboard-catalog/trilateral/catalog.json",
854
- api: false,
899
+ // "https://api.explorer.eopf.copernicus.eu/stac",
900
+ // api: true,
855
901
  },
856
902
  brand: {
857
903
  noLayout: true,
@@ -1,5 +1,5 @@
1
1
  import { mergeProps, h, TransitionGroup, Transition } from 'vue';
2
- import { p as propsFactory, Y as isObject, aG as onlyDefinedProps } from './asWebComponent-Bw03Jutr.js';
2
+ import { p as propsFactory, Z as isObject, aH as onlyDefinedProps } from './asWebComponent-DaIxULaA.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
package/dist/node/cli.js CHANGED
@@ -27,4 +27,4 @@ ${s.lib?`<eo-dash style="height:100%;"/>
27
27
  `}
28
28
  </body>
29
29
  </html>`;function Z(e={customElementFileName:"asWebComponent.js",stylePlaceHolder:"__VUE_CE_STYLES__"}){const{customElementFileName:n,stylePlaceHolder:r}=e;return{name:"vite-plugin-vue-custom-element-style-injector",enforce:"post",async transform(o,i){if(this.environment.mode!=="build")return;if(t.basename(i)===n){let p=o;return/defineCustomElement\s*\([^{]*\{[\s\S]*?styles\s*:/.test(o)||(p=o.replace(/(defineCustomElement\s*\(\s*[^,{]*,?\s*\{)/,`$1
30
- styles: ${r},`)),{code:p,map:null}}},generateBundle(o,i){let a="",p=[];const u=[];for(const d in i){const h=i[d];if(h.type==="chunk"&&h.code.includes(r)){a=d;break}}for(const d in i){const h=i[d];if(q(d)&&h.type==="asset"){let g=h.source.toString();g=g.replaceAll(":root",":host"),p.push(g),u.push(d)}}i[a].code=i[a].code.replace(r,JSON.stringify(p)),u.forEach(d=>{delete i[d]})}}}function q(e){return/\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/.test(e)}const _=C(async({mode:e,command:n})=>{const r=["VITE_","EODASH_"];return{base:s.base??"",cacheDir:Q,plugins:[J({features:{customElement:n==="build"&&s.lib},template:{transformAssetUrls:B,compilerOptions:{isCustomElement:o=>!o.includes("v-")&&o.includes("-")}}}),M({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:ee},s.lib&&Z()],customLogger:j,define:{__userConfigExist__:!!m,...n==="build"&&s.lib?{"process.env":"import.meta.env"}:{"process.env":{},...te(r)}},envPrefix:r,resolve:{alias:{"@":t.join(c,"core/client"),"^":t.join(c,"widgets"),"user:widgets":D,...m&&{"user:config":m}},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{allowedHosts:!0,warmup:{clientFiles:[t.join(c,"core/client/**"),m]},port:s.port??3e3,open:s.open,fs:{allow:[W(process.cwd())]},host:s.host},root:c,...e==="development"&&{optimizeDeps:{include:["webfontloader","vuetify","vue","pinia","stac-js","urijs","loglevel","vega","vega-lite","vega-embed","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/drawtools","@eox/chart","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/timecontrol","@eox/stacinfo","color-legend-element","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/timecontrol","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/stacinfo","@eox/elements-utils","@eox/geosearch","@eox/timeslider"],noDiscovery:!0}},publicDir:s.publicDir===!1?!1:K,build:{outDir:w,emptyOutDir:!0,target:"esnext",cssMinify:!0,...!s.lib&&n==="build"&&{manifest:!0,rollupOptions:{input:{main:t.join(c,"index.html"),templates:t.join(c,"templates/index.js")}}},...s.lib&&n==="build"&&{minify:!1,lib:{entry:t.join(c,"core/client/asWebComponent.js"),fileName:(o,i)=>i==="asWebComponent"?"eo-dash.js":"templates.js",cssFileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:{asWebComponent:t.join(c,"core/client/asWebComponent.js"),templates:t.join(c,"templates/index.js")},external:o=>{const i=o.includes("vuetify")||o.endsWith(".css")||o.endsWith("styles"),a=z.some(u=>o.startsWith(u));return!i&&a||o==="user:config"&&!m},treeshake:{moduleSideEffects:!0,preset:"smallest"}}}}}}),N=C(async e=>s.vite?O(await _(e),s.vite):_(e));async function ee(e){const n=[f,t.join(D,"**/*.vue")];m&&n.push(m),e.watcher.add(n);let r="";const o=j.info;return j.info=(i,a)=>{if(i.includes("core")){const p=i.split("/")[0].split(" ");p.pop();const u=p.join(" ")+" "+r.replace(l,"");return o(u,a)}return o(i,a)},e.watcher.on("change",async i=>{r=i,i===f&&e.ws.send({type:"full-reload",path:i})}),()=>{e.middlewares.use(async(i,a,p)=>{if(i.originalUrl==="/@fs/config.js"||i.originalUrl==="/config.js"){a.statusCode=200,a.setHeader("Content-Type","text/javascript"),v(f)&&await I(f).then(u=>{a.write(u)}),a.end();return}if(i.url?.endsWith(".html")){a.statusCode=200,a.setHeader("Content-Type","text/html");const u=await e.transformIndexHtml(i.url,k,i.originalUrl);a.end(u);return}p()})}}function te(e){G({quiet:!0});const n={};for(const r in process.env)e.some(o=>r.startsWith(o))&&(n["process.env."+r]=`"${process.env[r]}"`);return n}const oe=async()=>{const e=await A(await N({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},ie=async()=>{const e=async()=>{const n=await N({mode:"production",command:"build"});await L(n),v(f)&&await V(f,t.join(w,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(s.lib)await e();else{const n=t.join(c,"/index.html");await T(n,k).then(async()=>{await e(),await R(n).catch(()=>{console.error("failed to remove index.html")})})}};async function se(){(await U({root:l,base:s.base??"",preview:{port:isNaN(s.port)?8080:s.port,open:s.open,host:s.host},build:{outDir:w}})).printUrls()}const ne=process.argv?.[2];(async()=>{switch(ne){case"dev":await oe();break;case"build":await ie();break;case"preview":await se();break;default:console.error("command not found");break}})();
30
+ styles: ${r},`)),{code:p,map:null}}},generateBundle(o,i){let a="",p=[];const u=[];for(const d in i){const h=i[d];if(h.type==="chunk"&&h.code.includes(r)){a=d;break}}for(const d in i){const h=i[d];if(q(d)&&h.type==="asset"){let g=h.source.toString();g=g.replaceAll(":root",":host"),p.push(g),u.push(d)}}i[a].code=i[a].code.replace(r,JSON.stringify(p)),u.forEach(d=>{delete i[d]})}}}function q(e){return/\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/.test(e)}const _=C(async({mode:e,command:n})=>{const r=["VITE_","EODASH_"];return{base:s.base??"",cacheDir:Q,plugins:[J({features:{customElement:n==="build"&&s.lib},template:{transformAssetUrls:B,compilerOptions:{isCustomElement:o=>!o.includes("v-")&&o.includes("-")}}}),M({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:ee},s.lib&&Z()],customLogger:j,define:{__userConfigExist__:!!m,...n==="build"&&s.lib?{"process.env":"import.meta.env"}:{"process.env":{},...te(r)}},envPrefix:r,resolve:{alias:{"@":t.join(c,"core/client"),"^":t.join(c,"widgets"),"user:widgets":D,...m&&{"user:config":m}},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{allowedHosts:!0,warmup:{clientFiles:[t.join(c,"core/client/**"),m]},port:s.port??3e3,open:s.open,fs:{allow:[W(process.cwd())]},host:s.host},root:c,...e==="development"&&{optimizeDeps:{include:["webfontloader","vuetify","vue","pinia","stac-js","urijs","loglevel","vega","vega-lite","vega-embed","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/drawtools","@eox/chart","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/timecontrol","@eox/stacinfo","color-legend-element","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/map/src/plugins/globe","@eox/layercontrol","@eox/timecontrol","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/stacinfo","@eox/elements-utils","@eox/geosearch","@eox/timeslider"],noDiscovery:!0}},publicDir:s.publicDir===!1?!1:K,build:{outDir:w,emptyOutDir:!0,target:"esnext",cssMinify:!0,...!s.lib&&n==="build"&&{manifest:!0,rollupOptions:{input:{main:t.join(c,"index.html"),templates:t.join(c,"templates/index.js")}}},...s.lib&&n==="build"&&{minify:!1,lib:{entry:t.join(c,"core/client/asWebComponent.js"),fileName:(o,i)=>i==="asWebComponent"?"eo-dash.js":"templates.js",cssFileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:{asWebComponent:t.join(c,"core/client/asWebComponent.js"),templates:t.join(c,"templates/index.js")},external:o=>{const i=o.includes("vuetify")||o.endsWith(".css")||o.endsWith("styles"),a=z.some(u=>o.startsWith(u));return!i&&a||o==="user:config"&&!m},treeshake:{moduleSideEffects:!0,preset:"smallest"}}}}}}),N=C(async e=>s.vite?O(await _(e),s.vite):_(e));async function ee(e){const n=[f,t.join(D,"**/*.vue")];m&&n.push(m),e.watcher.add(n);let r="";const o=j.info;return j.info=(i,a)=>{if(i.includes("core")){const p=i.split("/")[0].split(" ");p.pop();const u=p.join(" ")+" "+r.replace(l,"");return o(u,a)}return o(i,a)},e.watcher.on("change",async i=>{r=i,i===f&&e.ws.send({type:"full-reload",path:i})}),()=>{e.middlewares.use(async(i,a,p)=>{if(i.originalUrl==="/@fs/config.js"||i.originalUrl==="/config.js"){a.statusCode=200,a.setHeader("Content-Type","text/javascript"),v(f)&&await I(f).then(u=>{a.write(u)}),a.end();return}if(i.url?.endsWith(".html")){a.statusCode=200,a.setHeader("Content-Type","text/html");const u=await e.transformIndexHtml(i.url,k,i.originalUrl);a.end(u);return}p()})}}function te(e){G({quiet:!0});const n={};for(const r in process.env)e.some(o=>r.startsWith(o))&&(n["process.env."+r]=`"${process.env[r]}"`);return n}const oe=async()=>{const e=await A(await N({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},ie=async()=>{const e=async()=>{const n=await N({mode:"production",command:"build"});await L(n),v(f)&&await V(f,t.join(w,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(s.lib)await e();else{const n=t.join(c,"/index.html");await T(n,k).then(async()=>{await e(),await R(n).catch(()=>{console.error("failed to remove index.html")})})}};async function se(){(await U({root:l,base:s.base??"",preview:{port:isNaN(s.port)?8080:s.port,open:s.open,host:s.host},build:{outDir:w}})).printUrls()}const ne=process.argv?.[2];(async()=>{switch(ne){case"dev":await oe();break;case"build":await ie();break;case"preview":await se();break;default:console.error("command not found");break}})();
@@ -1,7 +1,17 @@
1
- declare const _default: import("vue").DefineComponent<{}, {
2
- config?: string | Function | undefined;
3
- $props: {
4
- readonly config?: string | Function | undefined;
5
- };
6
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const _default: typeof __VLS_export;
7
2
  export default _default;
3
+ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ config: {
5
+ type: (StringConstructor | FunctionConstructor)[];
6
+ required: false;
7
+ default: undefined;
8
+ };
9
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ config: {
11
+ type: (StringConstructor | FunctionConstructor)[];
12
+ required: false;
13
+ default: undefined;
14
+ };
15
+ }>> & Readonly<{}>, {
16
+ config: string | Function;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -2,8 +2,8 @@ export { default as store } from "./store";
2
2
  export function register(): void;
3
3
  /**
4
4
  * @type {import("vue").VueElementConstructor<
5
- * import("vue").ExtractPropTypes<{ config: string }>>}
5
+ * import("vue").ExtractPropTypes<{ config?: string | Function }>>}
6
6
  * */
7
7
  export const EodashConstructor: import("vue").VueElementConstructor<import("vue").ExtractPropTypes<{
8
- config: string;
8
+ config?: string | Function;
9
9
  }>>;
@@ -1,2 +1,3 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1
+ declare const _default: typeof __VLS_export;
2
2
  export default _default;
3
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;