@eodash/eodash 5.0.0 → 5.1.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 (155) hide show
  1. package/README.md +1 -0
  2. package/core/client/App.vue +8 -2
  3. package/core/client/asWebComponent.js +5 -5
  4. package/core/client/components/DashboardLayout.vue +42 -25
  5. package/core/client/components/EodashOverlay.vue +1 -1
  6. package/core/client/components/ErrorAlert.vue +2 -2
  7. package/core/client/components/Footer.vue +4 -4
  8. package/core/client/components/Header.vue +3 -3
  9. package/core/client/components/MobileLayout.vue +9 -10
  10. package/core/client/composables/DefineEodash.js +38 -43
  11. package/core/client/composables/DefineTemplate.js +4 -2
  12. package/core/client/composables/DefineWidgets.js +14 -8
  13. package/core/client/composables/index.js +273 -23
  14. package/core/client/eodashSTAC/EodashCollection.js +80 -47
  15. package/core/client/eodashSTAC/helpers.js +136 -27
  16. package/core/client/eodashSTAC/parquet.js +145 -0
  17. package/core/client/eodashSTAC/triggers.js +6 -3
  18. package/core/client/plugins/index.js +4 -3
  19. package/core/client/plugins/vuetify.js +3 -0
  20. package/core/client/store/actions.js +21 -4
  21. package/core/client/store/stac.js +93 -56
  22. package/core/client/store/states.js +15 -5
  23. package/core/client/types.ts +59 -43
  24. package/core/client/utils/index.js +79 -0
  25. package/core/client/utils/keys.js +2 -2
  26. package/core/client/utils/states.js +30 -5
  27. package/core/client/views/Dashboard.vue +36 -32
  28. package/core/client/vite-env.d.ts +7 -0
  29. package/dist/client/{DashboardLayout-CkWvOMOW.js → DashboardLayout-ByVs1DrY.js} +23 -12
  30. package/dist/client/{DynamicWebComponent-DYBbpvUK.js → DynamicWebComponent-C3W7HSQm.js} +1 -1
  31. package/dist/client/{EodashDatePicker-CALmW3SI.js → EodashDatePicker-BIAf1sMT.js} +59 -32
  32. package/dist/client/{EodashItemFilter-DlQiE713.js → EodashItemFilter-DPznh8UB.js} +20 -10
  33. package/dist/client/{EodashLayerControl-DEzEbft7.js → EodashLayerControl-Bhxjw4V2.js} +29 -16
  34. package/dist/client/EodashLayoutSwitcher-C5qTEffW.js +61 -0
  35. package/dist/client/EodashMapBtns-WoGq8MuV.js +173 -0
  36. package/dist/client/{EodashStacInfo-DPPxDkF6.js → EodashStacInfo-CSvvF2jI.js} +3 -18
  37. package/dist/client/{EodashTools-CUaL9s4H.js → EodashTools-Cv1SXQ5y.js} +13 -13
  38. package/dist/client/{ExportState-DjyIZVhl.js → ExportState-D-iuwaad.js} +58 -52
  39. package/dist/client/{Footer-DyL0JoWt.js → Footer-CyF0zRAk.js} +15 -13
  40. package/dist/client/{Header-B5Dgty9l.js → Header-CgD8jDKU.js} +33 -28
  41. package/dist/client/{MobileLayout-CRsg_5Q4.js → MobileLayout-EKQ_kpSh.js} +69 -60
  42. package/dist/client/{PopUp-BfB8s_ki.js → PopUp-BsYLvWch.js} +19 -10
  43. package/dist/client/ProcessList-C2xsLU2_.js +191 -0
  44. package/dist/client/{VImg-FD1WVphJ.js → VImg-OHe8YTs2.js} +24 -24
  45. package/dist/client/{VMain-DJKG4SvM.js → VMain-PryTLU4a.js} +7 -7
  46. package/dist/client/{VOverlay-BzOdRu9h.js → VOverlay-yUn7p-Uf.js} +64 -27
  47. package/dist/client/{VTooltip-CfeefrXI.js → VTooltip-DZ0fjpB3.js} +13 -10
  48. package/dist/client/{WidgetsContainer-C2TaTdb6.js → WidgetsContainer-B9LBadcC.js} +1 -1
  49. package/dist/client/asWebComponent-By_7_JjS.js +19193 -0
  50. package/dist/client/async-DkSu_u2K.js +740 -0
  51. package/dist/client/eo-dash.js +1 -1
  52. package/dist/client/{forwardRefs-Bon_Kku1.js → forwardRefs-BXxrv98s.js} +31 -4
  53. package/dist/client/handling-CgmFXkW6.js +1212 -0
  54. package/dist/client/helpers-Dy0Q13tP.js +4534 -0
  55. package/dist/client/{index-Bm9cbtx5.js → index-BuhOHXKv.js} +2 -4
  56. package/dist/client/{index-CIHH_3dW.js → index-Ch_HchK3.js} +39 -32
  57. package/dist/client/{index-4CT7Tz83.js → index-Dqj4tbx2.js} +2 -2
  58. package/dist/client/index-skjhlH8u.js +376 -0
  59. package/dist/client/{ssrBoot-BP7SYRyC.js → ssrBoot-Zgc_Ttvi.js} +2 -2
  60. package/dist/client/templates.js +850 -0
  61. package/dist/client/transition-C98Yn4Vo.js +40 -0
  62. package/dist/node/cli.js +16 -6
  63. package/dist/node/types.d.ts +1 -1
  64. package/dist/types/core/client/App.vue.d.ts +2 -2
  65. package/dist/types/core/client/asWebComponent.d.ts +1 -1
  66. package/dist/types/core/client/components/DynamicWebComponent.vue.d.ts +1 -3
  67. package/dist/types/core/client/components/Footer.vue.d.ts +1 -105
  68. package/dist/types/core/client/components/IframeWrapper.vue.d.ts +1 -1
  69. package/dist/types/core/client/components/MobileLayout.vue.d.ts +1 -324
  70. package/dist/types/core/client/composables/DefineEodash.d.ts +2 -2
  71. package/dist/types/core/client/composables/DefineTemplate.d.ts +1 -1
  72. package/dist/types/core/client/composables/DefineWidgets.d.ts +4 -4
  73. package/dist/types/core/client/composables/index.d.ts +24 -2
  74. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +9 -6
  75. package/dist/types/core/client/eodashSTAC/helpers.d.ts +20 -5
  76. package/dist/types/core/client/eodashSTAC/parquet.d.ts +2 -0
  77. package/dist/types/core/client/plugins/vuetify.d.ts +7 -4
  78. package/dist/types/core/client/store/actions.d.ts +3 -2
  79. package/dist/types/core/client/store/stac.d.ts +16 -13
  80. package/dist/types/core/client/store/states.d.ts +14 -4
  81. package/dist/types/core/client/types.d.ts +45 -30
  82. package/dist/types/core/client/utils/index.d.ts +2 -0
  83. package/dist/types/core/client/utils/keys.d.ts +4 -4
  84. package/dist/types/core/client/utils/states.d.ts +59 -47
  85. package/dist/types/core/client/views/Dashboard.vue.d.ts +2 -2
  86. package/dist/types/templates/baseConfig.d.ts +4 -0
  87. package/dist/types/templates/compare.d.ts +210 -0
  88. package/dist/types/templates/expert.d.ts +151 -0
  89. package/dist/types/templates/index.d.ts +6 -0
  90. package/dist/types/templates/light.d.ts +145 -0
  91. package/dist/types/widgets/EodashDatePicker.vue.d.ts +1 -458
  92. package/dist/types/widgets/EodashItemFilter.vue.d.ts +3 -3
  93. package/dist/types/widgets/EodashLayerControl.vue.d.ts +14 -7
  94. package/dist/types/widgets/EodashLayoutSwitcher.vue.d.ts +1 -3
  95. package/dist/types/widgets/EodashMap/index.vue.d.ts +1 -4
  96. package/dist/types/widgets/EodashMapBtns.vue.d.ts +8 -8
  97. package/dist/types/widgets/EodashProcess/ProcessList.vue.d.ts +8 -1
  98. package/dist/types/widgets/EodashProcess/index.vue.d.ts +8 -4
  99. package/dist/types/widgets/EodashProcess/methods/async.d.ts +18 -18
  100. package/dist/types/widgets/EodashProcess/methods/composables.d.ts +3 -2
  101. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/index.d.ts +1 -0
  102. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.d.ts +6 -0
  103. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.d.ts +4 -0
  104. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +5 -0
  105. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/index.d.ts +1 -0
  106. package/dist/types/widgets/EodashProcess/methods/handling.d.ts +12 -5
  107. package/dist/types/widgets/EodashProcess/methods/outputs.d.ts +72 -41
  108. package/dist/types/widgets/EodashProcess/methods/utils.d.ts +41 -21
  109. package/dist/types/widgets/EodashProcess/states.d.ts +11 -0
  110. package/dist/types/widgets/EodashProcess/types.d.ts +41 -0
  111. package/dist/types/widgets/EodashStacInfo.vue.d.ts +14 -14
  112. package/dist/types/widgets/EodashTools.vue.d.ts +3 -3
  113. package/dist/types/widgets/ExportState.vue.d.ts +1 -1
  114. package/dist/types/widgets/PopUp.vue.d.ts +11 -16
  115. package/dist/types/widgets/WidgetsContainer.vue.d.ts +3 -6
  116. package/package.json +53 -45
  117. package/templates/baseConfig.js +68 -0
  118. package/templates/compare.js +162 -0
  119. package/templates/expert.js +123 -0
  120. package/templates/index.js +8 -0
  121. package/templates/light.js +130 -0
  122. package/widgets/EodashDatePicker.vue +80 -31
  123. package/widgets/EodashItemFilter.vue +26 -11
  124. package/widgets/EodashLayerControl.vue +20 -11
  125. package/widgets/EodashLayoutSwitcher.vue +6 -3
  126. package/widgets/EodashMap/index.vue +3 -8
  127. package/widgets/EodashMap/methods/create-layers-config.js +4 -3
  128. package/widgets/EodashMap/methods/index.js +33 -23
  129. package/widgets/EodashMapBtns.vue +83 -41
  130. package/widgets/EodashProcess/ProcessList.vue +34 -10
  131. package/widgets/EodashProcess/index.vue +55 -20
  132. package/widgets/EodashProcess/methods/async.js +77 -59
  133. package/widgets/EodashProcess/methods/composables.js +21 -14
  134. package/widgets/EodashProcess/methods/custom-endpoints/chart/index.js +35 -0
  135. package/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.js +275 -0
  136. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +116 -0
  137. package/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.js +94 -0
  138. package/widgets/EodashProcess/methods/custom-endpoints/layers/index.js +33 -0
  139. package/widgets/EodashProcess/methods/handling.js +127 -80
  140. package/widgets/EodashProcess/methods/outputs.js +376 -125
  141. package/widgets/EodashProcess/methods/utils.js +398 -10
  142. package/widgets/EodashProcess/states.js +13 -0
  143. package/widgets/EodashProcess/types.ts +46 -0
  144. package/widgets/EodashStacInfo.vue +2 -17
  145. package/widgets/EodashTools.vue +13 -13
  146. package/widgets/WidgetsContainer.vue +1 -1
  147. package/core/client/eodash.js +0 -454
  148. package/dist/client/EodashLayoutSwitcher-CDeCV8F-.js +0 -52
  149. package/dist/client/EodashMapBtns-CktQCfa-.js +0 -131
  150. package/dist/client/ProcessList-DTefwQZx.js +0 -484
  151. package/dist/client/asWebComponent-CLhcT715.js +0 -12479
  152. package/dist/client/eo-dash.css +0 -5
  153. package/dist/client/index-DiGDvTQU.js +0 -780
  154. package/dist/client/transition-C5I57hn6.js +0 -37
  155. package/dist/types/core/client/eodash.d.ts +0 -8
@@ -1,9 +1,31 @@
1
+ /**
2
+ * Call this once in a top-level component to inject and store the reactive eodash object.
3
+ * @throws {Error} If eodash is not found in the inject context
4
+ */
5
+ export function provideEodashInstance(): void;
6
+ /**
7
+ * Access the reactive eodash configuration anywhere after it has been provided.
8
+ * @returns {import('../types').Eodash | null}
9
+ * @throws {Error} If eodash was not yet provided
10
+ */
11
+ export function useEodash(): import("../types").Eodash | null;
12
+ /**
13
+ * Composable: Adopt Vuetify styles into eo-dash shadow root
14
+ * - Safe no-op outside Web Component context
15
+ * - Cleans up observers on unmount
16
+ */
17
+ /**
18
+ * @param {string[]} [keyWords=["vuetify"]] - list of case-insensitive substrings to match against <style> element IDs
19
+ */
20
+ export function useAdoptStyles(keyWords?: string[]): void;
1
21
  export function useAbsoluteUrl(rel?: string, base?: string): import("vue").Ref<string>;
2
22
  export function useCompareAbsoluteUrl(rel?: string, base?: string): import("vue").Ref<string>;
3
23
  export function useUpdateTheme(themeName: string, themeDefinition?: import("../types").Eodash["brand"]["theme"]): import("vuetify").ThemeInstance;
4
24
  export function useURLSearchParametersSync(): void;
5
- export function makePanelTransparent(root: import("vue").Ref<HTMLElement | null>): void;
25
+ export function useTransparentPanel(root: import("vue").Ref<HTMLElement | null>): void;
6
26
  export function useGetTemplates(): string[];
7
- export function useOnLayersUpdate(listener: import("@vueuse/core").EventBusListener<"layers:updated" | "time:updated", {
27
+ export function useOnLayersUpdate(listener: import("@vueuse/core").EventBusListener<import("../types").LayersEventBusKeys, {
8
28
  layers: Record<string, any>[] | undefined;
9
29
  }>): void;
30
+ export function useEmitLayersUpdate(event: import("../types").LayersEventBusKeys, mapEl: import("@eox/map").EOxMap | null, layers: Record<string, any>[]): Promise<void>;
31
+ export function useGetSubCodeId(collection: import("stac-ts").StacCollection | import("stac-ts").StacLink | import("stac-ts").StacItem | null): string;
@@ -59,12 +59,12 @@ export class EodashCollection {
59
59
  style: import("../types").EodashStyleJson | undefined;
60
60
  })[]>;
61
61
  /**
62
- * Returns GeoDB layer from a list of EodashCollections
62
+ * Returns Observation points layer from a list of EodashCollections
63
63
  *
64
64
  * @param {EodashCollection[]} eodashCollections
65
65
  *
66
66
  **/
67
- static getGeoDBLayer(eodashCollections: EodashCollection[]): {
67
+ static getObservationPointsLayer(eodashCollections: EodashCollection[]): {
68
68
  type: string;
69
69
  properties: {
70
70
  id: string;
@@ -91,7 +91,7 @@ export class EodashCollection {
91
91
  "stroke-color": string;
92
92
  };
93
93
  })[];
94
- interactions: never[];
94
+ interactions: import("@eox/map/src/types").EOxInteraction[];
95
95
  } | null;
96
96
  /** @param {string} collectionUrl */
97
97
  constructor(collectionUrl: string);
@@ -114,12 +114,15 @@ export class EodashCollection {
114
114
  * @param {import("stac-ts").StacItem} item
115
115
  * @param {string} itemUrl
116
116
  * @param {string} title
117
- * @param {boolean} isGeoDB
117
+ * @param {boolean} isObservationPoint
118
118
  * @param {string} [itemDatetime]
119
119
  * @returns {Promise<Record<string,any>[]>} layers
120
120
  * */
121
- buildJsonArray(item: import("stac-ts").StacItem, itemUrl: string, title: string, isGeoDB: boolean, itemDatetime?: string): Promise<Record<string, any>[]>;
121
+ buildJsonArray(item: import("stac-ts").StacItem, itemUrl: string, title: string, isObservationPoint: boolean, itemDatetime?: string): Promise<Record<string, any>[]>;
122
122
  fetchCollection(): Promise<import("stac-ts").StacCollection>;
123
+ /**
124
+ * Returns all item links sorted by datetime ascendingly
125
+ */
123
126
  getItems(): import("stac-ts").StacLink[] | undefined;
124
127
  getDates(): Date[] | undefined;
125
128
  getExtent(): Promise<import("stac-ts").Extents | undefined>;
@@ -140,6 +143,6 @@ export class EodashCollection {
140
143
  * @param {string} layer
141
144
  * @param {string} map
142
145
  */
143
- updateLayerJson(datetime: string, layer: string, map: string): Promise<Record<string, any>[] | undefined>;
146
+ updateLayerJson(datetime: string, layer: string, map: string): Promise<import("@eox/map/src/layers").EoxLayer[] | undefined>;
144
147
  #private;
145
148
  }
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * @param {import("stac-ts").StacLink[]} [links]
3
3
  * @param {Record<string,any>} [extraProperties]
4
+ * @param {string} [rel = "item"]
4
5
  **/
5
- export function generateFeatures(links?: import("stac-ts").StacLink[], extraProperties?: Record<string, any>): {
6
+ export function generateFeatures(links?: import("stac-ts").StacLink[], extraProperties?: Record<string, any>, rel?: string): {
6
7
  type: string;
7
8
  crs: {
8
9
  type: string;
@@ -52,6 +53,20 @@ export function assignProjID(item: import("stac-ts").StacItem, linkOrAsset: impo
52
53
  * @param {string[]} geojsonUrls
53
54
  */
54
55
  export function mergeGeojsons(geojsonUrls: string[]): Promise<string | undefined>;
56
+ /**
57
+ *
58
+ * @param {import("stac-ts").StacItem[]} items
59
+ */
60
+ export function generateLinksFromItems(items: import("stac-ts").StacItem[]): any[];
61
+ /**
62
+ * @param {import("../eodashSTAC/EodashCollection.js").EodashCollection} collection
63
+ */
64
+ export function revokeCollectionBlobUrls(collection: import("../eodashSTAC/EodashCollection.js").EodashCollection): void;
65
+ /**
66
+ *
67
+ * @param {import("stac-ts").StacLink[]} [links]
68
+ */
69
+ export function getDatetimeProperty(links?: import("stac-ts").StacLink[]): string | undefined;
55
70
  export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): Record<string, any>;
56
71
  export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string): Promise<{
57
72
  "fill-color"?: import("ol/style/flat.js").ColorExpression | undefined;
@@ -443,10 +458,10 @@ export function extractLayerDatetime(links?: import("stac-ts").StacLink[], curre
443
458
  play: boolean;
444
459
  displayFormat: string;
445
460
  } | undefined;
446
- export function findLayer(layers: Record<string, any>[], layer: string): Record<string, any> | undefined;
447
- export function replaceLayer(currentLayers: Record<string, any>[], oldLayer: string, newLayers: Record<string, any>[]): Record<string, any>[] | undefined;
448
- export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): Promise<import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined>;
449
- export function createLayerID(collectionId: string, itemId: string, link: import("stac-ts").StacLink, projectionCode: string): string;
461
+ export function findLayer(layers: import("@eox/map").EoxLayer[], layer: string): import("@eox/map").EoxLayer | undefined;
462
+ export function replaceLayer(currentLayers: import("@eox/map").EoxLayer[], oldLayer: string, newLayers: import("@eox/map").EoxLayer[]): import("@eox/map").EoxLayer[];
463
+ export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined;
464
+ export function createLayerID(collectionId: string, itemId: string, link: import("stac-ts").StacLink, projectionCode: string | import("ol/proj").ProjectionLike): string;
450
465
  export function createAssetID(collectionId: string, itemId: string, index: number): string;
451
466
  export function removeUnneededProperties(layers: Record<string, any>[]): Record<string, any>[];
452
467
  export function addTooltipInteraction(layer: Record<string, any>, style?: import("../types").EodashStyleJson): void;
@@ -0,0 +1,2 @@
1
+ export function readParquetItems(url: string): Promise<import("stac-ts").StacItem[]>;
2
+ export function adjustParquetItems(items: import("stac-ts").StacItem[]): import("stac-ts").StacItem[];
@@ -1,7 +1,8 @@
1
1
  export default vuetify;
2
2
  declare const vuetify: {
3
3
  install: (app: import("vue").App) => void;
4
- defaults: import("vue").Ref<import("vuetify").DefaultsInstance>;
4
+ unmount: () => void;
5
+ defaults: import("vue").Ref<import("vuetify").DefaultsInstance, import("vuetify").DefaultsInstance>;
5
6
  display: import("vuetify").DisplayInstance;
6
7
  theme: import("vuetify").ThemeInstance & {
7
8
  install: (app: import("vue").App) => void;
@@ -16,6 +17,7 @@ declare const vuetify: {
16
17
  rtl: import("vue").Ref<Record<string, boolean>>;
17
18
  rtlClasses: import("vue").Ref<string>;
18
19
  name: string;
20
+ decimalSeparator: import("vue").ShallowRef<string>;
19
21
  messages: import("vue").Ref<import("vuetify").LocaleMessages>;
20
22
  current: import("vue").Ref<string>;
21
23
  fallback: import("vue").Ref<string>;
@@ -48,10 +50,10 @@ declare const vuetify: {
48
50
  startOfYear: (date: unknown) => unknown;
49
51
  endOfYear: (date: unknown) => unknown;
50
52
  isAfter: (date: unknown, comparing: unknown) => boolean;
51
- isAfterDay: (value: unknown, comparing: unknown) => boolean;
53
+ isAfterDay: (date: unknown, comparing: unknown) => boolean;
52
54
  isSameDay: (date: unknown, comparing: unknown) => boolean;
53
55
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
54
- isSameYear: (value: unknown, comparing: unknown) => boolean;
56
+ isSameYear: (date: unknown, comparing: unknown) => boolean;
55
57
  isBefore: (date: unknown, comparing: unknown) => boolean;
56
58
  isEqual: (date: unknown, comparing: unknown) => boolean;
57
59
  isValid: (date: any) => boolean;
@@ -65,7 +67,8 @@ declare const vuetify: {
65
67
  setYear: (date: unknown, year: number) => unknown;
66
68
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
67
69
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
68
- getWeekdays: (firstDayOfWeek?: number | string) => string[];
70
+ getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
71
+ getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
69
72
  getMonth: (date: unknown) => number;
70
73
  setMonth: (date: unknown, month: number) => unknown;
71
74
  getDate: (date: unknown) => number;
@@ -1,5 +1,5 @@
1
- export function getLayers(): Record<string, any>[];
2
- export function getCompareLayers(): Record<string, any>[];
1
+ export function getLayers(): import("@eox/map").EoxLayer[];
2
+ export function getCompareLayers(): import("@eox/map").EoxLayer[];
3
3
  export function registerProjection(projection?: string | number | {
4
4
  name: string;
5
5
  def: string;
@@ -10,3 +10,4 @@ export function changeMapProjection(projection?: string | number | {
10
10
  def: string;
11
11
  }): Promise<void>;
12
12
  export function setActiveTemplate(template: string): void;
13
+ export function includesProcess(collection: import("stac-ts").StacCollection | null | undefined, compare?: boolean): boolean;
@@ -1,25 +1,28 @@
1
1
  export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
2
2
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
3
+ init: (endpoint: import("../types").StacEndpoint) => void;
3
4
  loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
4
- loadSelectedSTAC: (relativePath?: string) => Promise<void>;
5
- loadSelectedCompareSTAC: (relativePath?: string) => Promise<void>;
5
+ loadSelectedSTAC: (relativePath?: string, isPoi?: boolean) => Promise<void>;
6
+ loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
6
7
  resetSelectedCompareSTAC: () => Promise<void>;
7
- selectedStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
8
- selectedCompareStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
8
+ selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
9
+ selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
9
10
  }, "stac" | "selectedStac" | "selectedCompareStac">, Pick<{
10
11
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
12
+ init: (endpoint: import("../types").StacEndpoint) => void;
11
13
  loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
12
- loadSelectedSTAC: (relativePath?: string) => Promise<void>;
13
- loadSelectedCompareSTAC: (relativePath?: string) => Promise<void>;
14
+ loadSelectedSTAC: (relativePath?: string, isPoi?: boolean) => Promise<void>;
15
+ loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
14
16
  resetSelectedCompareSTAC: () => Promise<void>;
15
- selectedStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
16
- selectedCompareStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
17
+ selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
18
+ selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
17
19
  }, never>, Pick<{
18
20
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
21
+ init: (endpoint: import("../types").StacEndpoint) => void;
19
22
  loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
20
- loadSelectedSTAC: (relativePath?: string) => Promise<void>;
21
- loadSelectedCompareSTAC: (relativePath?: string) => Promise<void>;
23
+ loadSelectedSTAC: (relativePath?: string, isPoi?: boolean) => Promise<void>;
24
+ loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
22
25
  resetSelectedCompareSTAC: () => Promise<void>;
23
- selectedStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
24
- selectedCompareStac: import("vue").Ref<import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null, import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null>;
25
- }, "loadSTAC" | "loadSelectedSTAC" | "loadSelectedCompareSTAC" | "resetSelectedCompareSTAC">>;
26
+ selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
27
+ selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
28
+ }, "init" | "loadSTAC" | "loadSelectedSTAC" | "loadSelectedCompareSTAC" | "resetSelectedCompareSTAC">>;
@@ -6,6 +6,8 @@ export const currentCompareUrl: import("vue").Ref<string, string>;
6
6
  export const datetime: import("vue").Ref<string, string>;
7
7
  /** Currently selected indicator */
8
8
  export const indicator: import("vue").Ref<string, string>;
9
+ /** Currently selected compare indicator */
10
+ export const compareIndicator: import("vue").Ref<string, string>;
9
11
  /**
10
12
  * Current map position
11
13
  *
@@ -15,8 +17,16 @@ export const mapPosition: import("vue").Ref<(number | undefined)[]>;
15
17
  export const registeredProjections: string[];
16
18
  /** available projection to be rendered by `EodashMap` */
17
19
  export const availableMapProjection: import("vue").Ref<string, string>;
18
- /** @type {import("vue").Ref<HTMLElement & Record<string,any> | null>} */
19
- export const mapEl: import("vue").Ref<(HTMLElement & Record<string, any>) | null>;
20
- /** @type {import("vue").Ref<HTMLElement & Record<string,any> | null>} */
21
- export const mapCompareEl: import("vue").Ref<(HTMLElement & Record<string, any>) | null>;
20
+ /** @type {import("vue").Ref<import("@eox/map").EOxMap | null>} */
21
+ export const mapEl: import("vue").Ref<import("@eox/map").EOxMap | null>;
22
+ /** @type {import("vue").Ref<import("@eox/map").EOxMap | null>} */
23
+ export const mapCompareEl: import("vue").Ref<import("@eox/map").EOxMap | null>;
22
24
  export const activeTemplate: import("vue").Ref<string, string>;
25
+ /**
26
+ * Selected point of interest, used for location collections
27
+ */
28
+ export const poi: import("vue").Ref<string, string>;
29
+ /**
30
+ * Selected point of interest for comparison, used for location collections
31
+ */
32
+ export const comparePoi: import("vue").Ref<string, string>;
@@ -1,5 +1,5 @@
1
1
  /** @group Eodash */
2
- export interface WebComponentProps<T extends ExecutionTime = "compiletime"> {
2
+ export interface WebComponentProps {
3
3
  /**
4
4
  * Imports web component file, either using a URL or an import function.
5
5
  *
@@ -14,7 +14,7 @@ export interface WebComponentProps<T extends ExecutionTime = "compiletime"> {
14
14
  * import maps are not available in runtime config
15
15
  * :::
16
16
  */
17
- link?: T extends "runtime" ? string : string | (() => Promise<unknown>);
17
+ link?: string | (() => Promise<unknown>);
18
18
  /**
19
19
  * Exported Constructor, needs to be provided if the web component is not
20
20
  * registered in by the [link](#link) provided
@@ -49,32 +49,44 @@ export interface WidgetsContainerProps {
49
49
  * @group Eodash
50
50
  * */
51
51
  export interface Layout {
52
- /** Horizontal start position. Integer between 1 and 12 */
53
- x: number;
54
- /** Vertical start position. Integer between 1 and 12 */
55
- y: number;
56
- /** Width. Integer between 1 and 12 */
57
- w: number;
58
- /** Height. Integer between 1 and 12 */
59
- h: number;
52
+ /**
53
+ * Horizontal start position. Integer between 1 and 12 or numbers seperated by "/" for different breakpoints
54
+ * @example "3/2/1"
55
+ */
56
+ x: number | string;
57
+ /**
58
+ * Vertical start position. Integer between 1 and 12 or numbers seperated by "/" for different breakpoints
59
+ * @example "3/2/1"
60
+ */
61
+ y: number | string;
62
+ /**
63
+ * Width. Integer between 1 and 12 or numbers seperated by "/" for different breakpoints
64
+ * @example "3/2/1"
65
+ */
66
+ w: number | string;
67
+ /**
68
+ * Height. Integer between 1 and 12 or numbers seperated by "/" for different breakpoints
69
+ * @example "3/2/1"
70
+ */
71
+ h: number | string;
60
72
  }
61
73
  /**
62
74
  * Widget type: `web-component` API
63
75
  *
64
76
  * @group Eodash
65
77
  */
66
- export interface WebComponentWidget<T extends ExecutionTime = "compiletime"> {
78
+ export interface WebComponentWidget {
67
79
  id: number | string | symbol;
68
80
  title: string;
69
81
  /** Widget position and size. */
70
82
  layout: Layout;
71
- widget: WebComponentProps<T>;
83
+ widget: WebComponentProps;
72
84
  type: "web-component";
73
85
  }
74
86
  /** @group Widgets */
75
87
  export interface TEodashMap {
76
88
  name: "EodashMap";
77
- properties?: InstanceType<typeof import("^/EodashMap.vue").default>["$props"];
89
+ properties?: InstanceType<typeof import("../../widgets/EodashMap/index.vue").default>["$props"];
78
90
  }
79
91
  /** @group Widgets */
80
92
  export interface TEodashDatePicker {
@@ -99,7 +111,7 @@ export interface TEodashStacInfo {
99
111
  /** @group Widgets */
100
112
  export interface TEodashProcess {
101
113
  name: "EodashProcess";
102
- properties?: InstanceType<typeof import("^/EodashProcess.vue").default>["$props"];
114
+ properties?: InstanceType<typeof import("../../widgets/EodashProcess/index.vue").default>["$props"];
103
115
  }
104
116
  /** @group Widgets */
105
117
  export interface TEodashMapBtns {
@@ -166,7 +178,7 @@ export interface IFrameWidget {
166
178
  type: "iframe";
167
179
  }
168
180
  /** @group Eodash */
169
- export interface FunctionalWidget<T extends ExecutionTime = "compiletime"> {
181
+ export interface FunctionalWidget {
170
182
  /**
171
183
  * Provides a functional definition of widgets, gets triggered whenever a STAC
172
184
  * object is selected, and only renders the returned configuration if the `id`
@@ -174,14 +186,14 @@ export interface FunctionalWidget<T extends ExecutionTime = "compiletime"> {
174
186
  *
175
187
  * @param selectedSTAC - Currently selected STAC object
176
188
  */
177
- defineWidget: (selectedSTAC: import("stac-ts").StacCatalog | import("stac-ts").StacCollection | import("stac-ts").StacItem | null) => StaticWidget<T> | undefined | null;
189
+ defineWidget: (selectedSTAC: import("stac-ts").StacCollection | null, selectedCompareSTAC?: import("stac-ts").StacCollection | null) => StaticWidget | undefined | null | false;
178
190
  }
179
191
  /**
180
192
  * There are 3 types of Widgets:
181
193
  *
182
194
  * @group Eodash
183
195
  */
184
- export type StaticWidget<T extends ExecutionTime = "compiletime"> = WebComponentWidget<T> | InternalComponentWidget | IFrameWidget;
196
+ export type StaticWidget = WebComponentWidget | InternalComponentWidget | IFrameWidget;
185
197
  /**
186
198
  * Widgets can be defined in 2 forms:
187
199
  *
@@ -194,9 +206,9 @@ export type StaticWidget<T extends ExecutionTime = "compiletime"> = WebComponent
194
206
  *
195
207
  * @group Eodash
196
208
  */
197
- export type Widget<T extends ExecutionTime = "compiletime"> = StaticWidget<T> | FunctionalWidget<T>;
209
+ export type Widget = StaticWidget | FunctionalWidget;
198
210
  /** @group Eodash */
199
- export type BackgroundWidget<T extends ExecutionTime = "compiletime"> = Omit<WebComponentWidget<T>, "layout" | "title" | "slidable"> | Omit<InternalComponentWidget, "layout" | "title" | "slidable"> | Omit<IFrameWidget, "layout" | "title" | "slidable"> | Omit<FunctionalWidget<T>, "layout" | "slidable">;
211
+ export type BackgroundWidget = Omit<WebComponentWidget, "layout" | "title" | "slidable"> | Omit<InternalComponentWidget, "layout" | "title" | "slidable"> | Omit<IFrameWidget, "layout" | "title" | "slidable"> | Omit<FunctionalWidget, "layout" | "slidable">;
200
212
  /**
201
213
  * Dashboard rendered widgets specification. 3 types of widgets are supported:
202
214
  * `"iframe"`, `"internal"`, and `"web-component"`. A specific object should be
@@ -204,26 +216,24 @@ export type BackgroundWidget<T extends ExecutionTime = "compiletime"> = Omit<Web
204
216
  *
205
217
  * @group Eodash
206
218
  */
207
- export interface Template<T extends ExecutionTime = "compiletime"> {
219
+ export interface Template {
208
220
  /** Gap between widgets */
209
221
  gap?: number;
210
222
  /** Loading widget */
211
- loading?: BackgroundWidget<T>;
223
+ loading?: BackgroundWidget;
212
224
  /**
213
225
  * Widget rendered as the dashboard background. Has the same specifications of
214
226
  * {@link Widget} without the `title` and `layout` properties
215
227
  */
216
- background?: BackgroundWidget<T>;
228
+ background?: BackgroundWidget;
217
229
  /** Array of widgets that will be rendered as dashboard panels. */
218
- widgets: Widget<T>[];
230
+ widgets: Widget[];
219
231
  }
220
232
  /** @group Eodash */
221
- export type MultiTemplates<T extends ExecutionTime = "compiletime"> = Record<string, Template<T>>;
233
+ export type MultiTemplates = Record<string, Template>;
222
234
  /** @ignore */
223
235
  export type StacEndpoint = `${string}/catalog.json`;
224
236
  /** @group Eodash */
225
- type ExecutionTime = "runtime" | "compiletime";
226
- /** @group Eodash */
227
237
  export interface EodashFont {
228
238
  /**
229
239
  * Link to stylesheet that defines font-face. Could be either a relative
@@ -238,9 +248,13 @@ export interface EodashFont {
238
248
  *
239
249
  * @group Eodash
240
250
  */
241
- export type Eodash<T extends ExecutionTime = "compiletime"> = {
251
+ export type Eodash = {
242
252
  /** Instance ID. */
243
253
  id?: string;
254
+ /** Object containing potential special configuration options */
255
+ options?: {
256
+ useSubCode?: boolean;
257
+ };
244
258
  /** Root STAC catalog endpoint */
245
259
  stacEndpoint: StacEndpoint;
246
260
  /** Brand specifications. */
@@ -262,7 +276,7 @@ export type Eodash<T extends ExecutionTime = "compiletime"> = {
262
276
  * Dashboard theme as a custom [vuetifyJs
263
277
  * theme](https://vuetifyjs.com/en/features/theme/).
264
278
  */
265
- theme?: import("vuetify/lib/index.mjs").ThemeDefinition & {
279
+ theme?: import("vuetify").ThemeDefinition & {
266
280
  collectionsPalette?: string[];
267
281
  };
268
282
  /** Text applied to the footer. */
@@ -270,10 +284,10 @@ export type Eodash<T extends ExecutionTime = "compiletime"> = {
270
284
  };
271
285
  } & ({
272
286
  /** Template configuration */
273
- template: Template<T>;
287
+ template: Template;
274
288
  } | {
275
289
  /** Multiple templates configuration */
276
- templates: MultiTemplates<T>;
290
+ templates: MultiTemplates;
277
291
  });
278
292
  /** @group EodashStore */
279
293
  export interface EodashStore {
@@ -349,3 +363,4 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
349
363
  appendix?: string;
350
364
  }[];
351
365
  };
366
+ export type LayersEventBusKeys = "layers:updated" | "time:updated" | "process:updated" | "compareLayers:updated" | "compareTime:updated" | "compareProcess:updated";
@@ -1,3 +1,5 @@
1
1
  export function loadFont(fontConfig: import("../types").Eodash["brand"]["font"], isWebComponent: boolean): Promise<string[]>;
2
2
  export function copyToClipBoard(text: string, showIcon: import("vue").Ref<boolean>): Promise<void>;
3
3
  export function setCollectionsPalette(colors: string[]): void;
4
+ export function updateEodashCollections(eodashCollections: import("../eodashSTAC/EodashCollection").EodashCollection[], selectedStac: import("stac-ts").StacCollection, absoluteUrl: string, colorPalette: string[]): Promise<void>;
5
+ export function getElement(selector: Element | string): HTMLElement | null | undefined;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * `eodash` injection key.
3
- *
3
+ * @type {import("vue").InjectionKey<import("../types").Eodash>}
4
4
  * @see {@link "@/plugins/index.js"}
5
5
  */
6
- export const eodashKey: unique symbol;
7
- /** @type {import("@vueuse/core").EventBusKey<"layers:updated"|"time:updated">} */
8
- export const eoxLayersKey: import("@vueuse/core").EventBusKey<"layers:updated" | "time:updated">;
6
+ export const eodashKey: import("vue").InjectionKey<import("../types").Eodash>;
7
+ /** @type {import("@vueuse/core").EventBusKey<import("../types").LayersEventBusKeys>} */
8
+ export const eoxLayersKey: import("@vueuse/core").EventBusKey<import("../types").LayersEventBusKeys>;
@@ -14,8 +14,8 @@ export const eodashCollections: import("../eodashSTAC/EodashCollection").EodashC
14
14
  * @private
15
15
  */
16
16
  export const eodashCompareCollections: import("../eodashSTAC/EodashCollection").EodashCollection[];
17
- /** whether the map postion was set in URL params on first load */
18
- export const posIsSetFromUrl: import("vue").Ref<boolean, boolean>;
17
+ /** whether it's the first load of the app, used to track if there are params in the url */
18
+ export const isFirstLoad: import("vue").Ref<boolean, boolean>;
19
19
  /**
20
20
  * Current value of the layer control JSON form for the latest layer the user interacted with.
21
21
  * @type {import("vue").Ref<Record<string, any> | undefined>}
@@ -30,48 +30,60 @@ export const layerControlFormValueCompare: import("vue").Ref<Record<string, any>
30
30
  * STAC indicators color palette, defaults to Bank-Wong palette
31
31
  * @type {string[]} */
32
32
  export const collectionsPalette: string[];
33
- export namespace dataThemesBrands {
34
- namespace agriculture {
35
- export { mdiBarley as icon };
36
- export let color: string;
37
- }
38
- namespace water {
39
- export { mdiWater as icon };
40
- let color_1: string;
41
- export { color_1 as color };
42
- }
43
- namespace land {
44
- export { mdiImageFilterHdr as icon };
45
- let color_2: string;
46
- export { color_2 as color };
47
- }
48
- namespace health {
49
- export { mdiHospitalBoxOutline as icon };
50
- let color_3: string;
51
- export { color_3 as color };
52
- }
53
- namespace combined {
54
- export { mdiSetCenter as icon };
55
- let color_4: string;
56
- export { color_4 as color };
57
- }
58
- namespace air {
59
- export { mdiWeatherWindy as icon };
60
- let color_5: string;
61
- export { color_5 as color };
62
- }
63
- namespace economy {
64
- export { mdiCurrencyEur as icon };
65
- let color_6: string;
66
- export { color_6 as color };
67
- }
68
- }
69
- /** used for switching in and out of compare mode @see {@link widgets/EodashMapBtns.vue} */
70
- export const switchToCompare: import("vue").Ref<boolean, boolean>;
71
- import { mdiBarley } from "@mdi/js";
72
- import { mdiWater } from "@mdi/js";
73
- import { mdiImageFilterHdr } from "@mdi/js";
74
- import { mdiHospitalBoxOutline } from "@mdi/js";
75
- import { mdiSetCenter } from "@mdi/js";
76
- import { mdiWeatherWindy } from "@mdi/js";
77
- import { mdiCurrencyEur } from "@mdi/js";
33
+ /**
34
+ * Object containing data themes and their associated brand properties (icon and color).
35
+ */
36
+ export const dataThemesBrands: {
37
+ agriculture: {
38
+ icon: string;
39
+ color: string;
40
+ };
41
+ water: {
42
+ icon: string;
43
+ color: string;
44
+ };
45
+ oceans: {
46
+ icon: string;
47
+ color: string;
48
+ };
49
+ land: {
50
+ icon: string;
51
+ color: string;
52
+ };
53
+ health: {
54
+ icon: string;
55
+ color: string;
56
+ };
57
+ "covid-19": {
58
+ icon: string;
59
+ color: string;
60
+ };
61
+ combined: {
62
+ icon: string;
63
+ color: string;
64
+ };
65
+ air: {
66
+ icon: string;
67
+ color: string;
68
+ };
69
+ atmosphere: {
70
+ icon: string;
71
+ color: string;
72
+ };
73
+ economy: {
74
+ icon: string;
75
+ color: string;
76
+ };
77
+ biomass: {
78
+ icon: string;
79
+ color: string;
80
+ };
81
+ extremes: {
82
+ icon: string;
83
+ color: string;
84
+ };
85
+ cryosphere: {
86
+ icon: string;
87
+ color: string;
88
+ };
89
+ };
@@ -1,9 +1,9 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
2
  isWebComponent: boolean;
3
- config?: string | undefined;
3
+ config?: string | Function | undefined;
4
4
  $props: {
5
5
  readonly isWebComponent?: boolean | undefined;
6
- readonly config?: string | undefined;
6
+ readonly config?: string | Function | undefined;
7
7
  };
8
8
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
9
9
  export default _default;
@@ -0,0 +1,4 @@
1
+ export function getBaseConfig(config: Partial<import("../core/client/types").Eodash>): import("../core/client/types").Eodash;
2
+ export default baseConfig;
3
+ /** @type {import("../core/client/types").Eodash} */
4
+ declare const baseConfig: import("../core/client/types").Eodash;