@eodash/eodash 5.2.0 → 5.3.1

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 +254 -62
  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-BAstYnhU.js} +4 -5
  23. package/dist/client/{DynamicWebComponent-DCBMXskE.js → DynamicWebComponent-7v4_DFqP.js} +1 -1
  24. package/dist/client/{EodashDatePicker-DtngxU6s.js → EodashDatePicker-IVHLv9UN.js} +20 -22
  25. package/dist/client/{EodashItemFilter-ClQebJQt.js → EodashItemFilter-BPMpnXjo.js} +46 -31
  26. package/dist/client/EodashLayerControl-CSnQh2tb.js +1517 -0
  27. package/dist/client/{EodashLayoutSwitcher-DQ8SfVDd.js → EodashLayoutSwitcher-CPpGM8Pb.js} +4 -4
  28. package/dist/client/EodashMapBtns-C_jyUJ2x.js +301 -0
  29. package/dist/client/{EodashStacInfo-Dt1nF06x.js → EodashStacInfo-DjuWc0Iz.js} +1 -1
  30. package/dist/client/EodashTimeSlider-CDh9Lf02.js +53 -0
  31. package/dist/client/{EodashTools-DV5ykmWc.js → EodashTools-DSvDUUlL.js} +10 -7
  32. package/dist/client/{ExportState-B6zZQUmE.js → ExportState-BhjxS0jG.js} +145 -120
  33. package/dist/client/{Footer-DNhXs8k6.js → Footer-C3PPcdjv.js} +1 -1
  34. package/dist/client/{Header-BjhN5JY4.js → Header-E5NbT7HE.js} +2 -2
  35. package/dist/client/MobileLayout-DY7OHr1k.js +118 -0
  36. package/dist/client/{PopUp-CgpvNr3o.js → PopUp-CSPXdqKI.js} +79 -43
  37. package/dist/client/{ProcessList-vecpxThi.js → ProcessList-C3HV7G0b.js} +5 -6
  38. package/dist/client/{VImg-CETuikH2.js → VImg-FoXcOnWF.js} +6 -3
  39. package/dist/client/{VMain-Ci9DyaGU.js → VMain-Ck2g1QOG.js} +1 -1
  40. package/dist/client/{VTooltip-J4ac48X7.js → VTooltip-F_1Zcvhp.js} +2 -2
  41. package/dist/client/{WidgetsContainer-CCML4TyV.js → WidgetsContainer-Cq9uZEuN.js} +1 -1
  42. package/dist/client/asWebComponent-DZeEbWG0.js +8895 -0
  43. package/dist/client/{async-B7jIrM53.js → async-Dk79llLt.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-BbvoXHtj.js} +58 -45
  47. package/dist/client/{handling-BS24aG1q.js → handling-DxucYlYh.js} +12 -6
  48. package/dist/client/{helpers-wXK7Ywio.js → helpers-CI_7CUmn.js} +568 -281
  49. package/dist/client/index-BO5uGfUe.js +571 -0
  50. package/dist/client/{index-9KR-G20t.js → index-C13BiO9C.js} +2 -2
  51. package/dist/client/{index-4UCzZi8B.js → index-DcCcdbgR.js} +26 -13
  52. package/dist/client/{index-B2XpdgR6.js → index-KrGHjH-_.js} +63 -36
  53. package/dist/client/templates.js +82 -15
  54. package/dist/client/{transition-yBii4fu6.js → transition-Ctkv90El.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 +47 -16
  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 { createVNode, Transition, mergeProps, ref, onBeforeUnmount, watch, nextTick, normalizeStyle, normalizeClass, mergeModels, useModel, createElementBlock, openBlock, withCtx, createBlock, createCommentVNode, resolveDynamicComponent, unref, renderSlot } from 'vue';
2
- import { g as genericComponent, p as propsFactory, x as useProxiedModel, al as IN_BROWSER, c as useRender, am as focusableChildren, V as VDefaultsProvider, k as provideTheme, f as useBackgroundColor, h as useBorder, b as useDimension, i as useElevation, a7 as useLocation, a8 as usePosition, j as useRounded, q as makeThemeProps, m as makeTagProps, r as makeRoundedProps, ab as makePositionProps, ac as makeLocationProps, s as makeElevationProps, d as makeDimensionProps, e as makeComponentProps, t as makeBorderProps, an as useDefineWidgets } from './asWebComponent-ZyEzWOOf.js';
3
- import { a as animate, g as getTargetBox, n as nullifyTransforms, b as acceleratedEasing, d as deceleratedEasing, s as standardEasing, u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-BQclvjMq.js';
2
+ import { g as genericComponent, p as propsFactory, aj as PREFERS_REDUCED_MOTION, al as acceleratedEasing, am as deceleratedEasing, an as standardEasing, x as useProxiedModel, ao as IN_BROWSER, c as useRender, ap as focusableChildren, V as VDefaultsProvider, k as provideTheme, f as useBackgroundColor, h as useBorder, b as useDimension, i as useElevation, a8 as useLocation, a9 as usePosition, j as useRounded, q as makeThemeProps, m as makeTagProps, r as makeRoundedProps, ac as makePositionProps, ad as makeLocationProps, s as makeElevationProps, d as makeDimensionProps, e as makeComponentProps, t as makeBorderProps, aq as useDefineWidgets } from './asWebComponent-DZeEbWG0.js';
3
+ import { a as animate, g as getTargetBox, n as nullifyTransforms, u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-BbvoXHtj.js';
4
4
 
5
5
  // Utilities
6
6
  const makeVDialogTransitionProps = propsFactory({
@@ -32,25 +32,34 @@ const VDialogTransition = genericComponent()({
32
32
  speed
33
33
  } = dimensions;
34
34
  saved.set(el, dimensions);
35
- const animation = animate(el, [{
36
- transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
37
- opacity: 0
38
- }, {}], {
39
- duration: 225 * speed,
40
- easing: deceleratedEasing
41
- });
42
- getChildren(el)?.forEach(el => {
35
+ if (PREFERS_REDUCED_MOTION()) {
43
36
  animate(el, [{
44
37
  opacity: 0
45
- }, {
46
- opacity: 0,
47
- offset: 0.33
48
38
  }, {}], {
49
- duration: 225 * 2 * speed,
50
- easing: standardEasing
39
+ duration: 125 * speed,
40
+ easing: deceleratedEasing
41
+ }).finished.then(() => done());
42
+ } else {
43
+ const animation = animate(el, [{
44
+ transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
45
+ opacity: 0
46
+ }, {}], {
47
+ duration: 225 * speed,
48
+ easing: deceleratedEasing
51
49
  });
52
- });
53
- animation.finished.then(() => done());
50
+ getChildren(el)?.forEach(el => {
51
+ animate(el, [{
52
+ opacity: 0
53
+ }, {
54
+ opacity: 0,
55
+ offset: 0.33
56
+ }, {}], {
57
+ duration: 225 * 2 * speed,
58
+ easing: standardEasing
59
+ });
60
+ });
61
+ animation.finished.then(() => done());
62
+ }
54
63
  },
55
64
  onAfterEnter(el) {
56
65
  el.style.removeProperty('pointer-events');
@@ -73,25 +82,34 @@ const VDialogTransition = genericComponent()({
73
82
  sy,
74
83
  speed
75
84
  } = dimensions;
76
- const animation = animate(el, [{}, {
77
- transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
78
- opacity: 0
79
- }], {
80
- duration: 125 * speed,
81
- easing: acceleratedEasing
82
- });
83
- animation.finished.then(() => done());
84
- getChildren(el)?.forEach(el => {
85
+ if (PREFERS_REDUCED_MOTION()) {
85
86
  animate(el, [{}, {
86
- opacity: 0,
87
- offset: 0.2
88
- }, {
89
87
  opacity: 0
90
88
  }], {
91
- duration: 125 * 2 * speed,
92
- easing: standardEasing
89
+ duration: 85 * speed,
90
+ easing: acceleratedEasing
91
+ }).finished.then(() => done());
92
+ } else {
93
+ const animation = animate(el, [{}, {
94
+ transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,
95
+ opacity: 0
96
+ }], {
97
+ duration: 125 * speed,
98
+ easing: acceleratedEasing
93
99
  });
94
- });
100
+ animation.finished.then(() => done());
101
+ getChildren(el)?.forEach(el => {
102
+ animate(el, [{}, {
103
+ opacity: 0,
104
+ offset: 0.2
105
+ }, {
106
+ opacity: 0
107
+ }], {
108
+ duration: 125 * 2 * speed,
109
+ easing: standardEasing
110
+ });
111
+ });
112
+ }
95
113
  },
96
114
  onAfterLeave(el) {
97
115
  el.style.removeProperty('pointer-events');
@@ -183,10 +201,11 @@ const VDialog = genericComponent()({
183
201
  scopeId
184
202
  } = useScopeId();
185
203
  const overlay = ref();
186
- function onFocusin(e) {
204
+ async function onFocusin(e) {
187
205
  const before = e.relatedTarget;
188
206
  const after = e.target;
189
- if (before !== after && overlay.value?.contentEl &&
207
+ await nextTick();
208
+ if (isActive.value && before !== after && overlay.value?.contentEl &&
190
209
  // We're the topmost dialog
191
210
  overlay.value?.globalTop &&
192
211
  // It isn't the document or the dialog body
@@ -194,22 +213,39 @@ const VDialog = genericComponent()({
194
213
  // It isn't inside the dialog body
195
214
  !overlay.value.contentEl.contains(after)) {
196
215
  const focusable = focusableChildren(overlay.value.contentEl);
197
- if (!focusable.length) return;
198
- const firstElement = focusable[0];
199
- const lastElement = focusable[focusable.length - 1];
200
- if (before === firstElement) {
201
- lastElement.focus();
202
- } else {
203
- firstElement.focus();
204
- }
216
+ focusable[0]?.focus();
217
+ }
218
+ }
219
+ function onKeydown(e) {
220
+ if (e.key !== 'Tab' || !overlay.value?.contentEl) return;
221
+ const focusable = focusableChildren(overlay.value.contentEl);
222
+ if (!focusable.length) return;
223
+ const firstElement = focusable[0];
224
+ const lastElement = focusable[focusable.length - 1];
225
+ const active = document.activeElement;
226
+ if (e.shiftKey && active === firstElement) {
227
+ e.preventDefault();
228
+ lastElement.focus();
229
+ } else if (!e.shiftKey && active === lastElement) {
230
+ e.preventDefault();
231
+ firstElement.focus();
205
232
  }
206
233
  }
207
234
  onBeforeUnmount(() => {
208
235
  document.removeEventListener('focusin', onFocusin);
236
+ document.removeEventListener('keydown', onKeydown);
209
237
  });
210
238
  if (IN_BROWSER) {
211
239
  watch(() => isActive.value && props.retainFocus, val => {
212
- val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);
240
+ if (val) {
241
+ document.addEventListener('focusin', onFocusin, {
242
+ once: true
243
+ });
244
+ document.addEventListener('keydown', onKeydown);
245
+ } else {
246
+ document.removeEventListener('focusin', onFocusin);
247
+ document.removeEventListener('keydown', onKeydown);
248
+ }
213
249
  }, {
214
250
  immediate: true
215
251
  });
@@ -1,9 +1,9 @@
1
1
  import { ref, createVNode, normalizeStyle, normalizeClass, createElementVNode, toRefs, onMounted, createElementBlock, openBlock, createBlock, createCommentVNode, unref, withCtx, Fragment, renderList, toDisplayString, withDirectives, toRef } from 'vue';
2
2
  import { mdiUploadBox, mdiDownloadBox, mdiTrashCanOutline } from '@mdi/js';
3
- import { g as genericComponent, p as propsFactory, k as provideTheme, T as useDensity, c as useRender, q as makeThemeProps, m as makeTagProps, U as makeDensityProps, e as makeComponentProps, o as convertToUnit, _ as _export_sfc, E as useSTAcStore, P as useOnLayersUpdate, G as VBtn } from './asWebComponent-ZyEzWOOf.js';
4
- import { D as compareIndicator, C as indicator } from './helpers-wXK7Ywio.js';
5
- import { u as updateJobsStatus, j as getJobStatusUrl, l as loadProcess, k as downloadPreviousResults, m as deleteJob } from './async-B7jIrM53.js';
6
- import { T as Tooltip } from './index-9KR-G20t.js';
3
+ import { g as genericComponent, p as propsFactory, k as provideTheme, U as useDensity, c as useRender, q as makeThemeProps, m as makeTagProps, W as makeDensityProps, e as makeComponentProps, o as convertToUnit, _ as _export_sfc, E as useSTAcStore, K as useOnLayersUpdate, G as VBtn } from './asWebComponent-DZeEbWG0.js';
4
+ import { G as compareIndicator, E as indicator } from './helpers-CI_7CUmn.js';
5
+ import { u as updateJobsStatus, j as getJobStatusUrl, l as loadProcess, k as downloadPreviousResults, m as deleteJob } from './async-Dk79llLt.js';
6
+ import { T as Tooltip } from './index-C13BiO9C.js';
7
7
 
8
8
  /**
9
9
  * The list of job result from the server
@@ -179,8 +179,7 @@ return (_ctx, _cache) => {
179
179
  }), 128 /* KEYED_FRAGMENT */))
180
180
  ])
181
181
  ]),
182
- _: 1 /* STABLE */,
183
- __: [0]
182
+ _: 1 /* STABLE */
184
183
  }))
185
184
  : createCommentVNode("v-if", true)
186
185
  ]))
@@ -1,6 +1,6 @@
1
1
  import { h, TransitionGroup, Transition, camelize, createElementVNode, normalizeStyle, normalizeClass, computed, shallowRef, ref, watch, onBeforeMount, nextTick, onBeforeUnmount, toRef, withDirectives, createVNode, mergeProps, Fragment, vShow } from 'vue';
2
- import { aj as SUPPORTS_INTERSECTION, g as genericComponent, p as propsFactory, b as useDimension, c as useRender, d as makeDimensionProps, e as makeComponentProps, f as useBackgroundColor, j as useRounded, ak as getCurrentInstance, o as convertToUnit, r as makeRoundedProps } from './asWebComponent-ZyEzWOOf.js';
3
- import { m as makeTransitionProps$1, M as MaybeTransition } from './transition-yBii4fu6.js';
2
+ import { ai as SUPPORTS_INTERSECTION, g as genericComponent, aj as PREFERS_REDUCED_MOTION, p as propsFactory, b as useDimension, c as useRender, d as makeDimensionProps, e as makeComponentProps, f as useBackgroundColor, j as useRounded, ak as getCurrentInstance, o as convertToUnit, r as makeRoundedProps } from './asWebComponent-DZeEbWG0.js';
3
+ import { m as makeTransitionProps$1, M as MaybeTransition } from './transition-Ctkv90El.js';
4
4
 
5
5
  // Utilities
6
6
  function mounted(el, binding) {
@@ -139,7 +139,10 @@ function createJavascriptTransition(name, functions) {
139
139
  type: String,
140
140
  default: mode
141
141
  },
142
- disabled: Boolean,
142
+ disabled: {
143
+ type: Boolean,
144
+ default: PREFERS_REDUCED_MOTION()
145
+ },
143
146
  group: Boolean
144
147
  },
145
148
  setup(props, _ref2) {
@@ -1,5 +1,5 @@
1
1
  import { createVNode, normalizeStyle, normalizeClass, createElementVNode } from 'vue';
2
- import { g as genericComponent, p as propsFactory, b as useDimension, a as useLayout, c as useRender, m as makeTagProps, d as makeDimensionProps, e as makeComponentProps } from './asWebComponent-ZyEzWOOf.js';
2
+ import { g as genericComponent, p as propsFactory, b as useDimension, a as useLayout, c as useRender, m as makeTagProps, d as makeDimensionProps, e as makeComponentProps } from './asWebComponent-DZeEbWG0.js';
3
3
  import { u as useSsrBoot } from './ssrBoot-Zgc_Ttvi.js';
4
4
 
5
5
  const makeVMainProps = propsFactory({
@@ -1,6 +1,6 @@
1
1
  import { useId, toRef, ref, computed, mergeProps, createVNode } from 'vue';
2
- import { u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-BQclvjMq.js';
3
- import { g as genericComponent, p as propsFactory, x as useProxiedModel, c as useRender, Y as omit } from './asWebComponent-ZyEzWOOf.js';
2
+ import { u as useScopeId, f as forwardRefs, m as makeVOverlayProps, V as VOverlay } from './forwardRefs-BbvoXHtj.js';
3
+ import { g as genericComponent, p as propsFactory, x as useProxiedModel, c as useRender, Z as omit } from './asWebComponent-DZeEbWG0.js';
4
4
 
5
5
  const makeVTooltipProps = propsFactory({
6
6
  id: String,
@@ -1,5 +1,5 @@
1
1
  import { ref, onMounted, nextTick, createElementBlock, openBlock, Fragment, renderList, unref, createElementVNode, toDisplayString, normalizeStyle, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
2
- import { an as useDefineWidgets, a as useLayout } from './asWebComponent-ZyEzWOOf.js';
2
+ import { aq as useDefineWidgets, a as useLayout } from './asWebComponent-DZeEbWG0.js';
3
3
  import 'animated-details';
4
4
 
5
5
  const _sfc_main = {