@eodash/eodash 5.6.1 → 5.7.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 (133) hide show
  1. package/core/client/components/DashboardLayout.vue +1 -1
  2. package/core/client/components/EodashOverlay.vue +27 -4
  3. package/core/client/composables/DefineEodash.js +0 -1
  4. package/core/client/composables/DefineWidgets.js +3 -1
  5. package/core/client/composables/index.js +6 -2
  6. package/core/client/eodashSTAC/EodashCollection.js +79 -45
  7. package/core/client/eodashSTAC/cql.js +64 -0
  8. package/core/client/eodashSTAC/createLayers.js +192 -125
  9. package/core/client/eodashSTAC/helpers.js +423 -97
  10. package/core/client/eodashSTAC/mosaic.js +416 -0
  11. package/core/client/plugins/axios.js +31 -1
  12. package/core/client/store/actions.js +1 -1
  13. package/core/client/store/stac.js +25 -4
  14. package/core/client/store/states.js +20 -2
  15. package/core/client/types.ts +155 -29
  16. package/core/client/utils/bands-editor/exampleSchema.json +50 -50
  17. package/core/client/utils/index.js +4 -0
  18. package/core/client/utils/states.js +10 -0
  19. package/dist/client/{DashboardLayout-CqMb7OXc.js → DashboardLayout-ePbdvUTE.js} +5 -5
  20. package/dist/client/{DynamicWebComponent-DqKqTf7l.js → DynamicWebComponent-g5SdRbjY.js} +1 -1
  21. package/dist/client/{EodashChart-PkUQfH0k.js → EodashChart-ChrkA5oS.js} +7 -6
  22. package/dist/client/{EodashDatePicker-DLJGdTtX.js → EodashDatePicker-CY1TrsDo.js} +3 -3
  23. package/dist/client/{EodashItemFilter-Dk8KjFcX.js → EodashItemFilter-DzshHDlS.js} +2 -1
  24. package/dist/client/{EodashLayerControl-CC1Cogrn.js → EodashLayerControl-DMCeMkSd.js} +70 -22
  25. package/dist/client/{EodashLayoutSwitcher-5WZYd6rr.js → EodashLayoutSwitcher-iJ8mX1rF.js} +3 -3
  26. package/dist/client/EodashMapBtns-C7Cr7q5Y.js +592 -0
  27. package/dist/client/EodashStacInfo-K7-iuXa7.js +169 -0
  28. package/dist/client/{EodashTools-CGZtTh45.js → EodashTools-BEK7e7JM.js} +4 -4
  29. package/dist/client/{ExportState-Ce0ZnrX_.js → ExportState-CqIzfMYQ.js} +6 -168
  30. package/dist/client/{Footer-CnZqEiop.js → Footer-1P0cmBOZ.js} +1 -1
  31. package/dist/client/{Header-Dr5PBIm8.js → Header-CkkBaBNh.js} +2 -2
  32. package/dist/client/MobileLayout-BPf49kDU.js +118 -0
  33. package/dist/client/{PopUp-DjvE_71e.js → PopUp-DPZq5SWI.js} +4 -168
  34. package/dist/client/{ProcessList-kf3olI7W.js → ProcessList-DuI6WpS1.js} +5 -5
  35. package/dist/client/VDivider-Bj9LG_JV.js +168 -0
  36. package/dist/client/{VImg-Bj6uWt6j.js → VImg-Ddv5OyMz.js} +2 -2
  37. package/dist/client/{VMain-Cm0UmKGi.js → VMain-7yqk_qC3.js} +1 -1
  38. package/dist/client/{VTooltip-DbBu-ky3.js → VTooltip-2hAJyEoa.js} +2 -2
  39. package/dist/client/{WidgetsContainer-CfLnd44U.js → WidgetsContainer-2DOrlwCB.js} +1 -1
  40. package/dist/client/{asWebComponent-DfULAbpq.js → asWebComponent-BlFN2lkB.js} +493 -335
  41. package/dist/client/{async-CIbKXEEe.js → async-B2H8ZwUK.js} +21 -10
  42. package/dist/client/create-layers-config-u_vn5hPk.js +182 -0
  43. package/dist/client/dialog-transition-BrMkMiNa.js +170 -0
  44. package/dist/client/eo-dash.js +1 -1
  45. package/dist/client/{forwardRefs-yj3VWOK5.js → forwardRefs-DAlror6d.js} +8 -87
  46. package/dist/client/{handling-s8xt2JwF.js → handling-B6I1V5eG.js} +123 -85
  47. package/dist/client/{helpers-DAVGYl_f.js → helpers-CBqIUSXJ.js} +3034 -1649
  48. package/dist/client/index-BWq1ZKaV.js +3168 -0
  49. package/dist/client/{index-CYz6dT7K.js → index-CJ9UI3ln.js} +2 -2
  50. package/dist/client/index-DXLz4sFR.js +442 -0
  51. package/dist/client/{index-4TrjfJ32.js → index-DhKU6KqM.js} +230 -231
  52. package/dist/client/{index-Bu8BMA9q.js → index-DjQlbWbJ.js} +70 -83
  53. package/dist/client/material-symbols-outlined.woff2 +0 -0
  54. package/dist/client/material-symbols-rounded.woff2 +0 -0
  55. package/dist/client/material-symbols-sharp.woff2 +0 -0
  56. package/dist/client/material-symbols-subset.woff2 +0 -0
  57. package/dist/client/mosaic-BFYLEwyx.js +455 -0
  58. package/dist/client/templates.js +250 -119
  59. package/dist/client/{transition-DaOsiD4u.js → transition-D_W6Wn9v.js} +1 -1
  60. package/dist/node/cli.js +5 -5
  61. package/dist/node/types.d.ts +4 -0
  62. package/dist/types/core/client/composables/DefineEodash.d.ts +1 -1
  63. package/dist/types/core/client/composables/index.d.ts +1 -3
  64. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +62 -31
  65. package/dist/types/core/client/eodashSTAC/cql.d.ts +15 -0
  66. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +44 -25
  67. package/dist/types/core/client/eodashSTAC/helpers.d.ts +78 -18
  68. package/dist/types/core/client/eodashSTAC/mosaic.d.ts +56 -0
  69. package/dist/types/core/client/store/stac.d.ts +31 -7
  70. package/dist/types/core/client/store/states.d.ts +24 -2
  71. package/dist/types/core/client/types.d.ts +131 -25
  72. package/dist/types/core/client/utils/states.d.ts +12 -0
  73. package/dist/types/templates/baseConfig.d.ts +1 -88
  74. package/dist/types/templates/compare.d.ts +32 -3
  75. package/dist/types/templates/expert.d.ts +18 -0
  76. package/dist/types/templates/explore.d.ts +9 -1
  77. package/dist/types/templates/lite.d.ts +11 -0
  78. package/dist/types/widgets/EodashChart.vue.d.ts +5 -3
  79. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +129 -2
  80. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +28 -6
  81. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +17 -4
  82. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +16 -4
  83. package/dist/types/widgets/EodashLayerControl.vue.d.ts +36 -17
  84. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +23 -10
  85. package/dist/types/widgets/EodashMap/index.vue.d.ts +91 -35
  86. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -8
  87. package/dist/types/widgets/EodashMap/methods/index.d.ts +5 -1
  88. package/dist/types/widgets/EodashMap/methods/use-map-loading.d.ts +1 -0
  89. package/dist/types/widgets/EodashProcess/index.vue.d.ts +5 -3
  90. package/dist/types/widgets/EodashProcess/methods/composables.d.ts +1 -1
  91. package/dist/types/widgets/EodashProcess/methods/handling.d.ts +13 -8
  92. package/dist/types/widgets/EodashProcess/states.d.ts +1 -1
  93. package/dist/types/widgets/EodashStacInfo.vue.d.ts +20 -0
  94. package/dist/types/widgets/EodashTimeSlider/index.vue.d.ts +54 -0
  95. package/dist/types/widgets/EodashTimeSlider/methods/index.d.ts +34 -0
  96. package/dist/types/widgets/EodashTimeSlider/types.d.ts +52 -0
  97. package/dist/types/widgets/EodashTools.vue.d.ts +5 -5
  98. package/package.json +46 -46
  99. package/templates/baseConfig.js +36 -6
  100. package/templates/compare.js +62 -7
  101. package/templates/expert.js +23 -0
  102. package/templates/explore.js +11 -5
  103. package/templates/lite.js +14 -0
  104. package/widgets/EodashChart.vue +1 -0
  105. package/widgets/EodashItemCatalog/index.vue +363 -35
  106. package/widgets/EodashItemCatalog/methods/filters.js +134 -70
  107. package/widgets/EodashItemCatalog/methods/handlers.js +113 -19
  108. package/widgets/EodashItemCatalog/methods/map.js +142 -28
  109. package/widgets/EodashLayerControl.vue +64 -14
  110. package/widgets/EodashMap/EodashMapBtns.vue +153 -47
  111. package/widgets/EodashMap/index.vue +101 -105
  112. package/widgets/EodashMap/methods/btns.js +37 -5
  113. package/widgets/EodashMap/methods/create-layers-config.js +18 -16
  114. package/widgets/EodashMap/methods/index.js +89 -8
  115. package/widgets/EodashMap/methods/use-map-loading.js +52 -0
  116. package/widgets/EodashProcess/index.vue +2 -1
  117. package/widgets/EodashProcess/methods/async.js +19 -8
  118. package/widgets/EodashProcess/methods/composables.js +63 -77
  119. package/widgets/EodashProcess/methods/custom-endpoints/chart/sentinelhub-endpoint.js +9 -5
  120. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +7 -4
  121. package/widgets/EodashProcess/methods/handling.js +105 -72
  122. package/widgets/EodashProcess/states.js +1 -1
  123. package/widgets/EodashStacInfo.vue +64 -2
  124. package/widgets/EodashTimeSlider/index.vue +208 -0
  125. package/widgets/EodashTimeSlider/methods/index.js +236 -0
  126. package/widgets/EodashTimeSlider/types.ts +54 -0
  127. package/dist/client/EodashMapBtns-BHrSDNoC.js +0 -435
  128. package/dist/client/EodashStacInfo-B90wobPc.js +0 -107
  129. package/dist/client/EodashTimeSlider-5vm7F3ju.js +0 -53
  130. package/dist/client/MobileLayout-DyMjaeif.js +0 -118
  131. package/dist/client/index-CugS__t5.js +0 -570
  132. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +0 -15
  133. package/widgets/EodashTimeSlider.vue +0 -40
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @module Configuration
3
+ */
4
+
1
5
  /** @group Eodash */
2
6
  export interface WebComponentProps {
3
7
  /**
@@ -11,7 +15,8 @@ export interface WebComponentProps {
11
15
  * ```
12
16
  *
13
17
  * ::: warning
14
- * import maps are not available in runtime config
18
+ * Importing by package name only works when a bundler resolves it (build-time configs,
19
+ * or runtime configs bundled into your app). Otherwise import by URL.
15
20
  * :::
16
21
  */
17
22
  link?: string | (() => Promise<unknown>);
@@ -93,7 +98,7 @@ export interface WebComponentWidget {
93
98
  type: "web-component";
94
99
  }
95
100
  // Internal Widget Interfaces
96
- /** @group Widgets */
101
+ /** @group Widget Config */
97
102
  export interface TEodashMap {
98
103
  name: "EodashMap";
99
104
  properties?: InstanceType<
@@ -101,7 +106,7 @@ export interface TEodashMap {
101
106
  >["$props"];
102
107
  }
103
108
 
104
- /** @group Widgets */
109
+ /** @group Widget Config */
105
110
  export interface TEodashDatePicker {
106
111
  name: "EodashDatePicker";
107
112
  properties?: InstanceType<
@@ -109,15 +114,15 @@ export interface TEodashDatePicker {
109
114
  >["$props"];
110
115
  }
111
116
 
112
- /** @group Widgets */
117
+ /** @group Widget Config */
113
118
  export interface TEodashTimeSlider {
114
119
  name: "EodashTimeSlider";
115
120
  properties?: InstanceType<
116
- typeof import("^/EodashTimeSlider.vue").default
121
+ typeof import("^/EodashTimeSlider/index.vue").default
117
122
  >["$props"];
118
123
  }
119
124
 
120
- /** @group Widgets */
125
+ /** @group Widget Config */
121
126
  export interface TEodashItemFilter {
122
127
  name: "EodashItemFilter";
123
128
  properties?: InstanceType<
@@ -125,7 +130,7 @@ export interface TEodashItemFilter {
125
130
  >["$props"];
126
131
  }
127
132
 
128
- /** @group Widgets */
133
+ /** @group Widget Config */
129
134
  export interface TEodashLayerControl {
130
135
  name: "EodashLayerControl";
131
136
  properties?: InstanceType<
@@ -133,7 +138,7 @@ export interface TEodashLayerControl {
133
138
  >["$props"];
134
139
  }
135
140
 
136
- /** @group Widgets */
141
+ /** @group Widget Config */
137
142
  export interface TEodashStacInfo {
138
143
  name: "EodashStacInfo";
139
144
  properties?: InstanceType<
@@ -141,7 +146,7 @@ export interface TEodashStacInfo {
141
146
  >["$props"];
142
147
  }
143
148
 
144
- /** @group Widgets */
149
+ /** @group Widget Config */
145
150
  export interface TEodashProcess {
146
151
  name: "EodashProcess";
147
152
  properties?: InstanceType<
@@ -149,7 +154,7 @@ export interface TEodashProcess {
149
154
  >["$props"];
150
155
  }
151
156
 
152
- /** @group Widgets */
157
+ /** @group Widget Config */
153
158
  export interface TEodashChart {
154
159
  name: "EodashChart";
155
160
  properties?: InstanceType<
@@ -157,15 +162,7 @@ export interface TEodashChart {
157
162
  >["$props"];
158
163
  }
159
164
 
160
- /** @group Widgets */
161
- export interface TEodashMapBtns {
162
- name: "EodashMapBtns";
163
- properties?: InstanceType<
164
- typeof import("^/EodashMapBtns.vue").default
165
- >["$props"];
166
- }
167
-
168
- /** @group Widgets */
165
+ /** @group Widget Config */
169
166
  export interface TEodashTools {
170
167
  name: "EodashTools";
171
168
  properties?: InstanceType<
@@ -173,13 +170,14 @@ export interface TEodashTools {
173
170
  >["$props"];
174
171
  }
175
172
 
176
- /** @group Widgets */
173
+ /** @group Widget Config */
177
174
  export interface TEodashLayoutSwitcher {
178
175
  name: "EodashLayoutSwitcher";
179
176
  properties?: InstanceType<
180
177
  typeof import("^/EodashLayoutSwitcher.vue").default
181
178
  >["$props"];
182
179
  }
180
+ /** @group Widget Config */
183
181
  export interface TEodashItemCatalog {
184
182
  name: "EodashItemCatalog";
185
183
  properties?: InstanceType<
@@ -187,7 +185,7 @@ export interface TEodashItemCatalog {
187
185
  >["$props"];
188
186
  }
189
187
 
190
- /** @group Widgets */
188
+ /** @group Widget Config */
191
189
  export interface TExportState {
192
190
  name: "ExportState";
193
191
  properties?: InstanceType<
@@ -195,23 +193,30 @@ export interface TExportState {
195
193
  >["$props"];
196
194
  }
197
195
 
198
- /** @group Widgets */
196
+ /** @group Widget Config */
199
197
  export interface TPopUp {
200
198
  name: "PopUp";
201
199
  properties?: InstanceType<typeof import("^/PopUp.vue").default>["$props"];
202
200
  }
203
- /** @group Widgets */
201
+ /** @group Widget Config */
204
202
  export interface TWidgetsContainer {
205
203
  name: "WidgetsContainer";
206
204
  properties?: InstanceType<
207
205
  typeof import("^/WidgetsContainer.vue").default
208
206
  >["$props"];
209
207
  }
208
+ export interface TEodashLayoutSwitcher {
209
+ name: "EodashLayoutSwitcher";
210
+ properties?: InstanceType<
211
+ typeof import("^/EodashLayoutSwitcher.vue").default
212
+ >["$props"];
213
+ }
214
+
210
215
  /**
211
216
  * Internal Vue Components inside the
212
217
  * [widgets](https://github.com/eodash/eodash/tree/main/widgets) folder.
213
218
  * Referenced using their name without the .vue extention
214
- * @group Widgets
219
+ * @group Widget Config
215
220
  */
216
221
  export type ComponentWidget =
217
222
  | TEodashMap
@@ -221,13 +226,13 @@ export type ComponentWidget =
221
226
  | TEodashStacInfo
222
227
  | TEodashProcess
223
228
  | TEodashChart
224
- | TEodashMapBtns
225
229
  | TEodashTools
226
230
  | TEodashLayoutSwitcher
227
231
  | TEodashItemCatalog
228
232
  | TExportState
229
233
  | TPopUp
230
234
  | TWidgetsContainer
235
+ | TEodashLayoutSwitcher
231
236
  | TEodashTimeSlider;
232
237
  /**
233
238
  * Widget type: `internal` API. Internal widgets are Vue components provided by
@@ -331,7 +336,9 @@ export type StacEndpoint =
331
336
  api?: boolean;
332
337
  rasterEndpoint?: string;
333
338
  vectorEndpoint?: string;
334
- supportedUpscalingEndpoints?: string[];
339
+ supportedUpscalingEndpoints?: Array<
340
+ string | { url: string; titilerVersion?: 1 | 2 }
341
+ >;
335
342
  };
336
343
 
337
344
  /** @group Eodash */
@@ -355,6 +362,13 @@ export type Eodash = {
355
362
  /** Object containing potential special configuration options */
356
363
  options?: {
357
364
  useSubCode?: boolean;
365
+ /**
366
+ * TiTiler render presets, keyed by collection id then render name,
367
+ * following the STAC `renders` extension shape. Used to render a
368
+ * collection's raster data when the collection itself does not expose
369
+ * `renders`.
370
+ */
371
+ renders?: Record<string, Record<string, Render>>;
358
372
  };
359
373
  /** Root STAC catalog endpoint */
360
374
  stacEndpoint: StacEndpoint;
@@ -382,6 +396,13 @@ export type Eodash = {
382
396
  theme?: import("vuetify").ThemeDefinition & {
383
397
  collectionsPalette?: string[];
384
398
  };
399
+ /** eox-feedback configuration */
400
+ feedback?: {
401
+ /** eox-feedback endpoint */
402
+ endpoint: string;
403
+ /** eox-feedback jsonform schema */
404
+ schema?: any;
405
+ };
385
406
  /** Text applied to the footer. */
386
407
  footerText?: string;
387
408
  };
@@ -467,10 +488,20 @@ export declare const store: typeof import("@/store").default;
467
488
 
468
489
  /////
469
490
 
470
- export * from "./main.js";
471
491
  /**
492
+ * Creates an eodash instance configuration. Accepts a config object directly,
493
+ * or an async factory that receives the eodash store and returns the config.
494
+ *
472
495
  * @group Eodash
473
496
  */
497
+ export { createEodash } from "./main.js";
498
+ /**
499
+ * eodash flat style: an OpenLayers flat style extended with interactive
500
+ * `variables`, a `jsonform`, a `legend`, and `tooltip` configuration.
501
+ *
502
+ * @group STAC
503
+ * @see [eodash Flat Styles](/STAC#eodash-flat-styles)
504
+ */
474
505
  export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
475
506
  variables?: Record<string, string | number | boolean | null | undefined>;
476
507
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
@@ -482,6 +513,9 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
482
513
  decimals?: number;
483
514
  }[];
484
515
  };
516
+ /**
517
+ * @ignore
518
+ */
485
519
  export type EodashRasterJSONForm = {
486
520
  jsonform: Record<string, any>;
487
521
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
@@ -513,10 +547,84 @@ export interface SearchParams {
513
547
  /** Maximum number of results to return */
514
548
  limit?: number;
515
549
  }
550
+ /**
551
+ * @ignore
552
+ */
516
553
  export interface StacItemsAPIResponse {
517
554
  type: "FeatureCollection";
518
555
  features: import("stac-ts").StacItem[];
519
556
  }
557
+
558
+ export interface AggregationCollection {
559
+ type: "AggregationCollection";
560
+ aggregations?: Array<{
561
+ key?: string;
562
+ interval?: string;
563
+ buckets?: Array<{
564
+ key: string;
565
+ value: number;
566
+ }>;
567
+ }>;
568
+ }
569
+
570
+ /** Itemfilter filter kind emitted in filter events. */
571
+ export type ItemFilterFilterType =
572
+ | "range"
573
+ | "multiselect"
574
+ | "select"
575
+ | "text"
576
+ | "spatial";
577
+
578
+ export interface ItemFilterBase {
579
+ key: string;
580
+ title?: string;
581
+ expanded?: boolean;
582
+ dirty?: boolean;
583
+ stringifiedState?: string;
584
+ }
585
+
586
+ export interface ItemFilterRange extends ItemFilterBase {
587
+ type: "range";
588
+ min?: number;
589
+ max?: number;
590
+ step?: number;
591
+ state?: {
592
+ min?: number;
593
+ max?: number;
594
+ };
595
+ }
596
+
597
+ export interface ItemFilterSelect extends ItemFilterBase {
598
+ type: "select";
599
+ state?: Record<string, string | number | boolean | null | undefined>;
600
+ }
601
+
602
+ export interface ItemFilterMultiSelect extends ItemFilterBase {
603
+ type: "multiselect";
604
+ state?: Record<string, string | number | boolean | null | undefined>;
605
+ }
606
+
607
+ export interface ItemFilterText extends ItemFilterBase {
608
+ type: "text";
609
+ state?: Record<string, string | number | boolean | null | undefined>;
610
+ }
611
+
612
+ export interface ItemFilterSpatial extends ItemFilterBase {
613
+ type: "spatial";
614
+ state?: Record<string, string | number | boolean | null | undefined>;
615
+ }
616
+
617
+ /** Normalized filter object emitted by `eox-itemfilter` in filter events. */
618
+ export type ItemFilterFilter =
619
+ | ItemFilterRange
620
+ | ItemFilterSelect
621
+ | ItemFilterMultiSelect
622
+ | ItemFilterText
623
+ | ItemFilterSpatial;
624
+
625
+ /** Itemfilter filter map keyed by filter key. */
626
+ export type ItemFilterFilters = Record<string, ItemFilterFilter>;
627
+
520
628
  /** @ignore */
521
629
  export interface Render {
522
630
  /** REQUIRED. Array of asset keys referencing the assets that are used to make the rendering */
@@ -605,8 +713,8 @@ export interface GeoJsonFeatureCollection<
605
713
  /**
606
714
  * Partial STAC Authentication Extension v1.1.0
607
715
  * Generated from https://stac-extensions.github.io/authentication/v1.1.0/schema.json
716
+ * @ignore
608
717
  */
609
-
610
718
  export interface AuthScheme {
611
719
  /** Scheme keyword, e.g. http, s3, signedUrl, oauth2, apiKey, openIdConnect */
612
720
  type:
@@ -630,6 +738,9 @@ export interface AuthScheme {
630
738
  openIdConnectUrl?: string;
631
739
  }
632
740
 
741
+ /**
742
+ * @ignore
743
+ */
633
744
  export interface OAuth2Flow {
634
745
  authorizationUrl?: string;
635
746
  tokenUrl?: string;
@@ -637,7 +748,10 @@ export interface OAuth2Flow {
637
748
  scopes: Record<string, string>;
638
749
  }
639
750
 
640
- /** Signed URL flow configuration */
751
+ /**
752
+ * Signed URL flow configuration
753
+ * @ignore
754
+ */
641
755
  export interface SignedUrlFlow {
642
756
  authorizationApi: string;
643
757
  method: string;
@@ -653,6 +767,9 @@ export interface SignedUrlFlow {
653
767
  >;
654
768
  }
655
769
 
770
+ /**
771
+ * @ignore
772
+ */
656
773
  export interface ApiKeyAuthScheme extends AuthScheme {
657
774
  type: "apiKey";
658
775
  name: string;
@@ -660,14 +777,23 @@ export interface ApiKeyAuthScheme extends AuthScheme {
660
777
  }
661
778
 
662
779
  import { StacItem, StacLink, StacAsset } from "stac-ts";
780
+ /**
781
+ * @ignore
782
+ */
663
783
  export interface StacAuthItem extends StacItem {
664
784
  "auth:schemes": {
665
785
  [key: string]: AuthScheme;
666
786
  };
667
787
  }
788
+ /**
789
+ * @ignore
790
+ */
668
791
  export interface StacAuthLink extends StacLink {
669
792
  "auth:refs": [string];
670
793
  }
794
+ /**
795
+ * @ignore
796
+ */
671
797
  export interface StacAuthAsset extends StacAsset {
672
798
  "auth:refs": [string];
673
799
  }
@@ -2,7 +2,7 @@
2
2
  "jsonform": {
3
3
  "properties": {},
4
4
  "options": {
5
- "removeProperties": ["bidx", "variables"],
5
+ "removeProperties": ["bidx", "variables", "color_formula"],
6
6
  "no_additional_properties": true
7
7
  },
8
8
  "oneOf": [
@@ -26,18 +26,18 @@
26
26
  "items": {
27
27
  "type": "string",
28
28
  "enum": [
29
- "/measurements/reflectance/r60m:b01",
30
- "/measurements/reflectance/r60m:b02",
31
- "/measurements/reflectance/r60m:b03",
32
- "/measurements/reflectance/r60m:b04",
33
- "/measurements/reflectance/r60m:b05",
34
- "/measurements/reflectance/r60m:b06",
35
- "/measurements/reflectance/r60m:b07",
36
- "/measurements/reflectance/r10m:b08",
37
- "/measurements/reflectance/r60m:b8a",
38
- "/measurements/reflectance/r60m:b09",
39
- "/measurements/reflectance/r60m:b11",
40
- "/measurements/reflectance/r60m:b12"
29
+ "/measurements/reflectance/b01",
30
+ "/measurements/reflectance/b02",
31
+ "/measurements/reflectance/b03",
32
+ "/measurements/reflectance/b04",
33
+ "/measurements/reflectance/b05",
34
+ "/measurements/reflectance/b06",
35
+ "/measurements/reflectance/b07",
36
+ "/measurements/reflectance/b08",
37
+ "/measurements/reflectance/b8a",
38
+ "/measurements/reflectance/b09",
39
+ "/measurements/reflectance/b11",
40
+ "/measurements/reflectance/b12"
41
41
  ],
42
42
  "options": {
43
43
  "enum_titles": [
@@ -114,21 +114,21 @@
114
114
  "type": "string",
115
115
  "format": "bands-arithmetic",
116
116
  "formulaTemplate": "({{X}}-{{Y}})/({{X}}+{{Y}})",
117
- "default": "(/measurements/reflectance/r60m:b8a−/measurements/reflectance/r60m:b04)/(/measurements/reflectance/r60m:b8a+/measurements/reflectance/r60m:b04)",
117
+ "default": "(/measurements/reflectance/b8a−/measurements/reflectance/b04)/(/measurements/reflectance/b8a+/measurements/reflectance/b04)",
118
118
  "title": "Band Arithmetic Expression",
119
119
  "enum": [
120
- "/measurements/reflectance/r60m:b01",
121
- "/measurements/reflectance/r60m:b02",
122
- "/measurements/reflectance/r60m:b03",
123
- "/measurements/reflectance/r60m:b04",
124
- "/measurements/reflectance/r60m:b05",
125
- "/measurements/reflectance/r60m:b06",
126
- "/measurements/reflectance/r60m:b07",
127
- "/measurements/reflectance/r10m:b08",
128
- "/measurements/reflectance/r60m:b8a",
129
- "/measurements/reflectance/r60m:b09",
130
- "/measurements/reflectance/r60m:b11",
131
- "/measurements/reflectance/r60m:b12"
120
+ "/measurements/reflectance/b01",
121
+ "/measurements/reflectance/b02",
122
+ "/measurements/reflectance/b03",
123
+ "/measurements/reflectance/b04",
124
+ "/measurements/reflectance/b05",
125
+ "/measurements/reflectance/b06",
126
+ "/measurements/reflectance/b07",
127
+ "/measurements/reflectance/b08",
128
+ "/measurements/reflectance/b8a",
129
+ "/measurements/reflectance/b09",
130
+ "/measurements/reflectance/b11",
131
+ "/measurements/reflectance/b12"
132
132
  ],
133
133
  "options": {
134
134
  "enum_titles": [
@@ -213,18 +213,18 @@
213
213
  "formulaTemplate": "({{A}})/({{B}})",
214
214
  "title": "Band Arithmetic Expression",
215
215
  "enum": [
216
- "/measurements/reflectance/r60m:b01",
217
- "/measurements/reflectance/r60m:b02",
218
- "/measurements/reflectance/r60m:b03",
219
- "/measurements/reflectance/r60m:b04",
220
- "/measurements/reflectance/r60m:b05",
221
- "/measurements/reflectance/r60m:b06",
222
- "/measurements/reflectance/r60m:b07",
223
- "/measurements/reflectance/r10m:b08",
224
- "/measurements/reflectance/r60m:b8a",
225
- "/measurements/reflectance/r60m:b09",
226
- "/measurements/reflectance/r60m:b11",
227
- "/measurements/reflectance/r60m:b12"
216
+ "/measurements/reflectance/b01",
217
+ "/measurements/reflectance/b02",
218
+ "/measurements/reflectance/b03",
219
+ "/measurements/reflectance/b04",
220
+ "/measurements/reflectance/b05",
221
+ "/measurements/reflectance/b06",
222
+ "/measurements/reflectance/b07",
223
+ "/measurements/reflectance/b08",
224
+ "/measurements/reflectance/b8a",
225
+ "/measurements/reflectance/b09",
226
+ "/measurements/reflectance/b11",
227
+ "/measurements/reflectance/b12"
228
228
  ],
229
229
  "options": {
230
230
  "enum_titles": [
@@ -270,18 +270,18 @@
270
270
  "definitions": {
271
271
  "bandOptions": {
272
272
  "enum": [
273
- "/measurements/reflectance/r60m:b01",
274
- "/measurements/reflectance/r60m:b02",
275
- "/measurements/reflectance/r60m:b03",
276
- "/measurements/reflectance/r60m:b04",
277
- "/measurements/reflectance/r60m:b05",
278
- "/measurements/reflectance/r60m:b06",
279
- "/measurements/reflectance/r60m:b07",
280
- "/measurements/reflectance/r10m:b08",
281
- "/measurements/reflectance/r60m:b8a",
282
- "/measurements/reflectance/r60m:b09",
283
- "/measurements/reflectance/r60m:b11",
284
- "/measurements/reflectance/r60m:b12"
273
+ "/measurements/reflectance/b01",
274
+ "/measurements/reflectance/b02",
275
+ "/measurements/reflectance/b03",
276
+ "/measurements/reflectance/b04",
277
+ "/measurements/reflectance/b05",
278
+ "/measurements/reflectance/b06",
279
+ "/measurements/reflectance/b07",
280
+ "/measurements/reflectance/b08",
281
+ "/measurements/reflectance/b8a",
282
+ "/measurements/reflectance/b09",
283
+ "/measurements/reflectance/b11",
284
+ "/measurements/reflectance/b12"
285
285
  ],
286
286
  "options": {
287
287
  "enum_titles": [
@@ -71,6 +71,8 @@ export const loadFont = async (fontConfig, isWebComponent) => {
71
71
  eox-jsonform,
72
72
  eox-timecontrol,
73
73
  eox-itemfilter,
74
+ eox-geosearch,
75
+ eox-feedback,
74
76
  eox-chart,
75
77
  eox-stacinfo{
76
78
  --eox-body-font-family: ${bodyFamily};
@@ -108,6 +110,8 @@ export const loadFont = async (fontConfig, isWebComponent) => {
108
110
  eox-jsonform,
109
111
  eox-timecontrol,
110
112
  eox-itemfilter,
113
+ eox-feedback,
114
+ eox-geosearch,
111
115
  eox-chart,
112
116
  eox-stacinfo {
113
117
  --eox-header-font-family: ${headerFamily};
@@ -146,3 +146,13 @@ export const dataThemesBrands = {
146
146
  color: "#8d845cff",
147
147
  },
148
148
  };
149
+
150
+ /** @type {Map<string, import("stac-ts").StacItem[]>} */
151
+ export const itemsCache = new Map();
152
+ /**
153
+ * Split items cache stores items with their time range metadata
154
+ * @type {Map<string, {items: import("stac-ts").StacItem[], minTime: number, maxTime: number}>}
155
+ */
156
+ export const splitItemsCache = new Map();
157
+
158
+ export const timesliderUpdateRef = ref(0);
@@ -1,9 +1,9 @@
1
1
  import { openBlock, createBlock, withCtx, createElementVNode, unref, createElementBlock, normalizeStyle, Suspense, resolveDynamicComponent, mergeProps, createCommentVNode, Fragment, renderList, Transition } from 'vue';
2
2
  import '@eox/layout';
3
- import { _ as _export_sfc, u as useDefineTemplate } from './asWebComponent-DfULAbpq.js';
4
- import { V as VMain } from './VMain-Cm0UmKGi.js';
3
+ import { _ as _export_sfc, u as useDefineTemplate } from './asWebComponent-BlFN2lkB.js';
4
+ import { V as VMain } from './VMain-7yqk_qC3.js';
5
5
 
6
- const _style_0 = ".panel[data-v-9c8477cc]{position:relative;overflow:auto;z-index:1;pointer-events:none}.pointer[data-v-9c8477cc]{pointer-events:all}.bg-panel[data-v-9c8477cc]{z-index:0;border-radius:0!important}.fade-enter-active[data-v-9c8477cc],.fade-leave-active[data-v-9c8477cc]{transition:opacity .25s ease}.fade-enter-from[data-v-9c8477cc],.fade-leave-to[data-v-9c8477cc]{opacity:0}.bg-surface[data-v-9c8477cc],.bg-primary[data-v-9c8477cc]{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;max-height:100%;overflow:auto;scrollbar-color:rgba(var(--v-theme-on-surface),.2) transparent;scrollbar-width:thin}.bg-surface[data-v-9c8477cc]{background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.bg-primary[data-v-9c8477cc]{background-color:rgba(var(--v-theme-primary),var(--v-primary-opacity, .8))!important}";
6
+ const _style_0 = ".panel[data-v-f357e3a7]{position:relative;overflow:auto;z-index:1;pointer-events:none}.pointer[data-v-f357e3a7]{pointer-events:all}.bg-panel[data-v-f357e3a7]{z-index:0;border-radius:0!important}.fade-enter-active[data-v-f357e3a7],.fade-leave-active[data-v-f357e3a7]{transition:opacity .25s ease}.fade-enter-from[data-v-f357e3a7],.fade-leave-to[data-v-f357e3a7]{opacity:0}.bg-surface[data-v-f357e3a7],.bg-primary[data-v-f357e3a7]{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;max-height:100%;overflow:auto;scrollbar-color:rgba(var(--v-theme-on-surface),.2) transparent;scrollbar-width:thin}.bg-surface[data-v-f357e3a7]{background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.bg-primary[data-v-f357e3a7]{background-color:rgba(var(--v-theme-primary),var(--v-primary-opacity, .8))!important}";
7
7
 
8
8
  const _hoisted_1 = ["gap"];
9
9
  const _hoisted_2 = ["id", "h", "w", "x", "y"];
@@ -27,7 +27,7 @@ return (_ctx, _cache) => {
27
27
  return (openBlock(), createBlock(VMain, { class: "pa-0" }, {
28
28
  default: withCtx(() => [
29
29
  createElementVNode("eox-layout", {
30
- mediaBreakpoints: [0, 960, 1920],
30
+ mediaBreakpoints: [0, 960, 1921],
31
31
  gap: unref(gap),
32
32
  style: layoutStyle
33
33
  }, [
@@ -89,6 +89,6 @@ return (_ctx, _cache) => {
89
89
  }
90
90
 
91
91
  };
92
- const DashboardLayout = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-9c8477cc"]]);
92
+ const DashboardLayout = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-f357e3a7"]]);
93
93
 
94
94
  export { DashboardLayout as default };
@@ -1,5 +1,5 @@
1
1
  import { withAsyncContext, ref, onMounted, onUnmounted, openBlock, createElementBlock, createBlock, resolveDynamicComponent, mergeProps } from 'vue';
2
- import { H as useSTAcStore } from './asWebComponent-DfULAbpq.js';
2
+ import { H as useSTAcStore } from './asWebComponent-BlFN2lkB.js';
3
3
 
4
4
  const _hoisted_1 = { class: "d-flex flex-column fill-height overflow-auto" };
5
5
 
@@ -1,12 +1,12 @@
1
1
  import { computed, ref, useTemplateRef, onMounted, onBeforeUnmount, openBlock, createElementBlock, createElementVNode, withDirectives, unref, createCommentVNode, normalizeStyle, toRaw } from 'vue';
2
2
  import '@eox/chart';
3
- import { o as onChartClick } from './handling-s8xt2JwF.js';
4
- import { Z as compareChartData, _ as chartData, O as compareChartSpec, N as chartSpec, M as areChartsSeparateLayout } from './helpers-DAVGYl_f.js';
5
- import { _ as _export_sfc, W as getOverlayParent } from './asWebComponent-DfULAbpq.js';
3
+ import { o as onChartClick } from './handling-B6I1V5eG.js';
4
+ import { ac as compareChartData, ad as chartData, X as compareChartSpec, W as chartSpec, V as areChartsSeparateLayout } from './helpers-CBqIUSXJ.js';
5
+ import { _ as _export_sfc, ad as getOverlayParent } from './asWebComponent-BlFN2lkB.js';
6
6
  import { mdiArrowCollapse, mdiArrowExpand } from '@mdi/js';
7
- import { T as Tooltip } from './index-CYz6dT7K.js';
7
+ import { T as Tooltip } from './index-CJ9UI3ln.js';
8
8
 
9
- const _style_0 = ".chart-frame[data-v-c9dee45e]{position:relative}.chart-toggle[data-v-c9dee45e]{position:absolute;top:18px;right:46px;z-index:2;cursor:pointer}";
9
+ const _style_0 = ".chart-frame[data-v-9ad3f535]{position:relative}.chart-toggle[data-v-9ad3f535]{position:absolute;top:18px;right:46px;z-index:2;cursor:pointer}";
10
10
 
11
11
  const _hoisted_1 = { ref: "container" };
12
12
  const _hoisted_2 = { class: "chart-frame" };
@@ -28,6 +28,7 @@ const _sfc_main = {
28
28
  default: false,
29
29
  },
30
30
  vegaEmbedOptions: {
31
+ /** @type {import("vue").PropType<import("vega-embed").EmbedOptions>} */
31
32
  type: Object,
32
33
  default() {
33
34
  return { actions: true };
@@ -139,6 +140,6 @@ return (_ctx, _cache) => {
139
140
  }
140
141
 
141
142
  };
142
- const EodashChart = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-c9dee45e"]]);
143
+ const EodashChart = /*#__PURE__*/_export_sfc(_sfc_main, [['styles',[_style_0]],['__scopeId',"data-v-9ad3f535"]]);
143
144
 
144
145
  export { EodashChart as default };
@@ -1,11 +1,11 @@
1
1
  import { useCssVars, useTemplateRef, customRef, ref, computed, reactive, watch, onMounted, openBlock, createElementBlock, createVNode, unref, createSlots, withCtx, createElementVNode, withDirectives, createBlock, createCommentVNode, mergeProps, toHandlers } from 'vue';
2
2
  import { DatePicker } from 'v-calendar';
3
- import { _ as _export_sfc, G as useDisplay, H as useSTAcStore, I as useTransparentPanel, J as VBtn, K as VIcon, L as eodashCollections, M as eodashCompareCollections } from './asWebComponent-DfULAbpq.js';
4
- import { B as datetime } from './helpers-DAVGYl_f.js';
3
+ import { _ as _export_sfc, G as useDisplay, H as useSTAcStore, I as useTransparentPanel, J as VBtn, K as VIcon } from './asWebComponent-BlFN2lkB.js';
4
+ import { H as datetime, S as eodashCollections, P as eodashCompareCollections } from './helpers-CBqIUSXJ.js';
5
5
  import { mdiRayEndArrow, mdiRayStartArrow } from '@mdi/js';
6
6
  import log from 'loglevel';
7
7
  import { storeToRefs } from 'pinia';
8
- import { T as Tooltip } from './index-CYz6dT7K.js';
8
+ import { T as Tooltip } from './index-CJ9UI3ln.js';
9
9
 
10
10
  const _style_0 = ".vc-popover-content{--vc-nav-hover-bg: rgba(var(--v-theme-on-surface), .1);--vc-nav-item-active-color: rgb(var(--v-theme-on-secondary));--vc-nav-item-active-bg: rgba(var(--v-theme-secondary), .8);--vc-focus-ring: 0 0 0 2px rgba(var(--v-theme-secondary), .5)}.vc-container{--vc-day-content-hover-bg: rgba(var(--v-theme-on-surface), .2);--vc-focus-ring: 0 0 0 2px rgba(var(--v-theme-secondary), .4);--vc-header-arrow-hover-bg: rgba(var(--v-theme-secondary), .1)}.vc-attr{--vc-accent-600: rgba(var(--v-theme-secondary), .8)}.datePicker{--vc-day-content-hover-bg: red}@media(min-width:960px){.datePicker{position:absolute;bottom:0;left:0;right:0;margin-inline:auto;width:fit-content}}.vc-day-content{color:#5e5e5e;font-weight:400}.vc-highlight-content-solid{color:#fff!important}.vc-popover-content-wrapper{transform:var(--v518b583c)!important}.vc-date-picker-content,.datePicker{backdrop-filter:blur(10px)!important;border-radius:8px;border:none;box-shadow:0 0 1px #18274b38,0 6px 12px -6px #18274b1f,0 8px 24px -4px #18274b14;background-color:rgba(var(--v-theme-surface),var(--v-surface-opacity, .8))!important}.vc-popover-caret.direction-top.align-left{clip-path:polygon(0% 0%,100% 0%,0% 100%,0% 100%)}.vc-bordered{border:none}";
11
11
 
@@ -1,5 +1,6 @@
1
1
  import { withAsyncContext, computed, ref, openBlock, createElementBlock, mergeProps, unref, createElementVNode, toDisplayString } from 'vue';
2
- import { _ as _export_sfc, H as useSTAcStore, T as isFirstLoad } from './asWebComponent-DfULAbpq.js';
2
+ import { _ as _export_sfc, H as useSTAcStore } from './asWebComponent-BlFN2lkB.js';
3
+ import { L as isFirstLoad } from './helpers-CBqIUSXJ.js';
3
4
 
4
5
  const _style_0 = "eox-itemfilter[data-v-88d0abc7]{--form-flex-direction: row}@media(max-width:768px){eox-itemfilter[data-v-88d0abc7]{--form-flex-direction: column}}";
5
6