@eodash/eodash 5.7.0 → 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 (113) hide show
  1. package/core/client/components/EodashOverlay.vue +27 -4
  2. package/core/client/composables/DefineEodash.js +0 -1
  3. package/core/client/composables/DefineWidgets.js +3 -1
  4. package/core/client/eodashSTAC/EodashCollection.js +74 -20
  5. package/core/client/eodashSTAC/cql.js +64 -0
  6. package/core/client/eodashSTAC/createLayers.js +169 -116
  7. package/core/client/eodashSTAC/helpers.js +391 -98
  8. package/core/client/eodashSTAC/mosaic.js +416 -0
  9. package/core/client/plugins/axios.js +31 -1
  10. package/core/client/store/actions.js +1 -1
  11. package/core/client/store/stac.js +25 -4
  12. package/core/client/store/states.js +20 -2
  13. package/core/client/types.ts +147 -28
  14. package/core/client/utils/bands-editor/exampleSchema.json +50 -50
  15. package/core/client/utils/states.js +10 -0
  16. package/dist/client/{DashboardLayout-kRsmsNW5.js → DashboardLayout-ePbdvUTE.js} +2 -2
  17. package/dist/client/{DynamicWebComponent-CnKhYo0K.js → DynamicWebComponent-g5SdRbjY.js} +1 -1
  18. package/dist/client/{EodashChart-CLDqE93C.js → EodashChart-ChrkA5oS.js} +7 -6
  19. package/dist/client/{EodashDatePicker-CMPDT-ce.js → EodashDatePicker-CY1TrsDo.js} +3 -3
  20. package/dist/client/{EodashItemFilter-BpdA8QQa.js → EodashItemFilter-DzshHDlS.js} +2 -1
  21. package/dist/client/{EodashLayerControl-BHpDA4_0.js → EodashLayerControl-DMCeMkSd.js} +50 -20
  22. package/dist/client/{EodashLayoutSwitcher-B1fRUt7G.js → EodashLayoutSwitcher-iJ8mX1rF.js} +3 -3
  23. package/dist/client/{EodashMapBtns-Cpned0tc.js → EodashMapBtns-C7Cr7q5Y.js} +200 -86
  24. package/dist/client/EodashStacInfo-K7-iuXa7.js +169 -0
  25. package/dist/client/{EodashTools-1zHz26gv.js → EodashTools-BEK7e7JM.js} +4 -4
  26. package/dist/client/{ExportState-DbOm8hBI.js → ExportState-CqIzfMYQ.js} +6 -168
  27. package/dist/client/{Footer-BKg-VVkj.js → Footer-1P0cmBOZ.js} +1 -1
  28. package/dist/client/{Header-DCrwCvmY.js → Header-CkkBaBNh.js} +2 -2
  29. package/dist/client/{MobileLayout-vWSHpluo.js → MobileLayout-BPf49kDU.js} +2 -2
  30. package/dist/client/{PopUp-9uimfK49.js → PopUp-DPZq5SWI.js} +4 -168
  31. package/dist/client/{ProcessList-CTTIZa06.js → ProcessList-DuI6WpS1.js} +5 -5
  32. package/dist/client/VDivider-Bj9LG_JV.js +168 -0
  33. package/dist/client/{VImg-CrmB76ZY.js → VImg-Ddv5OyMz.js} +2 -2
  34. package/dist/client/{VMain-OKZNpcEG.js → VMain-7yqk_qC3.js} +1 -1
  35. package/dist/client/{VTooltip-CJw2FyWk.js → VTooltip-2hAJyEoa.js} +2 -2
  36. package/dist/client/{WidgetsContainer-BaWOnE5R.js → WidgetsContainer-2DOrlwCB.js} +1 -1
  37. package/dist/client/{asWebComponent-BHWpMuE3.js → asWebComponent-BlFN2lkB.js} +456 -306
  38. package/dist/client/{async-DSKj6g1f.js → async-B2H8ZwUK.js} +2 -2
  39. package/dist/client/{create-layers-config-CBoYedqB.js → create-layers-config-u_vn5hPk.js} +17 -17
  40. package/dist/client/dialog-transition-BrMkMiNa.js +170 -0
  41. package/dist/client/eo-dash.js +1 -1
  42. package/dist/client/{forwardRefs-DH51zPUr.js → forwardRefs-DAlror6d.js} +8 -87
  43. package/dist/client/{handling-BrcDDlgS.js → handling-B6I1V5eG.js} +3 -3
  44. package/dist/client/{helpers-DjZVl_WF.js → helpers-CBqIUSXJ.js} +794 -182
  45. package/dist/client/index-BWq1ZKaV.js +3168 -0
  46. package/dist/client/{index-CUjl-ZsI.js → index-CJ9UI3ln.js} +2 -2
  47. package/dist/client/{index-CSG_JoOA.js → index-DXLz4sFR.js} +62 -56
  48. package/dist/client/{index-1JKE68n3.js → index-DhKU6KqM.js} +211 -67
  49. package/dist/client/{index-Cu3-13Xg.js → index-DjQlbWbJ.js} +7 -6
  50. package/dist/client/mosaic-BFYLEwyx.js +455 -0
  51. package/dist/client/templates.js +250 -119
  52. package/dist/client/{transition-OHcz5Qq1.js → transition-D_W6Wn9v.js} +1 -1
  53. package/dist/node/cli.js +5 -5
  54. package/dist/node/types.d.ts +4 -0
  55. package/dist/types/core/client/composables/DefineEodash.d.ts +1 -1
  56. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +57 -25
  57. package/dist/types/core/client/eodashSTAC/cql.d.ts +15 -0
  58. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +42 -23
  59. package/dist/types/core/client/eodashSTAC/helpers.d.ts +77 -18
  60. package/dist/types/core/client/eodashSTAC/mosaic.d.ts +56 -0
  61. package/dist/types/core/client/store/stac.d.ts +31 -7
  62. package/dist/types/core/client/store/states.d.ts +24 -2
  63. package/dist/types/core/client/types.d.ts +123 -24
  64. package/dist/types/core/client/utils/states.d.ts +12 -0
  65. package/dist/types/templates/baseConfig.d.ts +1 -100
  66. package/dist/types/templates/compare.d.ts +32 -3
  67. package/dist/types/templates/expert.d.ts +18 -0
  68. package/dist/types/templates/explore.d.ts +9 -1
  69. package/dist/types/templates/lite.d.ts +11 -0
  70. package/dist/types/widgets/EodashChart.vue.d.ts +5 -3
  71. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +129 -2
  72. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +28 -6
  73. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +17 -4
  74. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +16 -4
  75. package/dist/types/widgets/EodashLayerControl.vue.d.ts +35 -16
  76. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +14 -10
  77. package/dist/types/widgets/EodashMap/index.vue.d.ts +86 -37
  78. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  79. package/dist/types/widgets/EodashMap/methods/index.d.ts +5 -1
  80. package/dist/types/widgets/EodashMap/methods/use-map-loading.d.ts +1 -0
  81. package/dist/types/widgets/EodashProcess/index.vue.d.ts +5 -3
  82. package/dist/types/widgets/EodashProcess/states.d.ts +1 -1
  83. package/dist/types/widgets/EodashStacInfo.vue.d.ts +20 -0
  84. package/dist/types/widgets/EodashTimeSlider/index.vue.d.ts +20 -0
  85. package/dist/types/widgets/EodashTimeSlider/methods/index.d.ts +3 -8
  86. package/dist/types/widgets/EodashTimeSlider/types.d.ts +6 -16
  87. package/dist/types/widgets/EodashTools.vue.d.ts +5 -5
  88. package/package.json +33 -33
  89. package/templates/baseConfig.js +36 -6
  90. package/templates/compare.js +62 -7
  91. package/templates/expert.js +23 -0
  92. package/templates/explore.js +11 -5
  93. package/templates/lite.js +14 -0
  94. package/widgets/EodashChart.vue +1 -0
  95. package/widgets/EodashItemCatalog/index.vue +363 -35
  96. package/widgets/EodashItemCatalog/methods/filters.js +134 -70
  97. package/widgets/EodashItemCatalog/methods/handlers.js +113 -19
  98. package/widgets/EodashItemCatalog/methods/map.js +142 -28
  99. package/widgets/EodashLayerControl.vue +42 -11
  100. package/widgets/EodashMap/EodashMapBtns.vue +109 -48
  101. package/widgets/EodashMap/index.vue +89 -105
  102. package/widgets/EodashMap/methods/btns.js +37 -5
  103. package/widgets/EodashMap/methods/create-layers-config.js +16 -16
  104. package/widgets/EodashMap/methods/index.js +71 -8
  105. package/widgets/EodashMap/methods/use-map-loading.js +52 -0
  106. package/widgets/EodashProcess/index.vue +1 -0
  107. package/widgets/EodashProcess/states.js +1 -1
  108. package/widgets/EodashStacInfo.vue +64 -2
  109. package/widgets/EodashTimeSlider/index.vue +58 -2
  110. package/widgets/EodashTimeSlider/methods/index.js +5 -48
  111. package/widgets/EodashTimeSlider/types.ts +7 -17
  112. package/dist/client/EodashStacInfo-BQspAHKH.js +0 -107
  113. package/dist/client/index-5Jhsa8Xe.js +0 -570
@@ -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,7 +114,7 @@ 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<
@@ -117,7 +122,7 @@ export interface TEodashTimeSlider {
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;
@@ -474,10 +488,20 @@ export declare const store: typeof import("@/store").default;
474
488
 
475
489
  /////
476
490
 
477
- export * from "./main.js";
478
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
+ *
479
495
  * @group Eodash
480
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
+ */
481
505
  export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
482
506
  variables?: Record<string, string | number | boolean | null | undefined>;
483
507
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
@@ -489,6 +513,9 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
489
513
  decimals?: number;
490
514
  }[];
491
515
  };
516
+ /**
517
+ * @ignore
518
+ */
492
519
  export type EodashRasterJSONForm = {
493
520
  jsonform: Record<string, any>;
494
521
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
@@ -520,10 +547,84 @@ export interface SearchParams {
520
547
  /** Maximum number of results to return */
521
548
  limit?: number;
522
549
  }
550
+ /**
551
+ * @ignore
552
+ */
523
553
  export interface StacItemsAPIResponse {
524
554
  type: "FeatureCollection";
525
555
  features: import("stac-ts").StacItem[];
526
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
+
527
628
  /** @ignore */
528
629
  export interface Render {
529
630
  /** REQUIRED. Array of asset keys referencing the assets that are used to make the rendering */
@@ -612,8 +713,8 @@ export interface GeoJsonFeatureCollection<
612
713
  /**
613
714
  * Partial STAC Authentication Extension v1.1.0
614
715
  * Generated from https://stac-extensions.github.io/authentication/v1.1.0/schema.json
716
+ * @ignore
615
717
  */
616
-
617
718
  export interface AuthScheme {
618
719
  /** Scheme keyword, e.g. http, s3, signedUrl, oauth2, apiKey, openIdConnect */
619
720
  type:
@@ -637,6 +738,9 @@ export interface AuthScheme {
637
738
  openIdConnectUrl?: string;
638
739
  }
639
740
 
741
+ /**
742
+ * @ignore
743
+ */
640
744
  export interface OAuth2Flow {
641
745
  authorizationUrl?: string;
642
746
  tokenUrl?: string;
@@ -644,7 +748,10 @@ export interface OAuth2Flow {
644
748
  scopes: Record<string, string>;
645
749
  }
646
750
 
647
- /** Signed URL flow configuration */
751
+ /**
752
+ * Signed URL flow configuration
753
+ * @ignore
754
+ */
648
755
  export interface SignedUrlFlow {
649
756
  authorizationApi: string;
650
757
  method: string;
@@ -660,6 +767,9 @@ export interface SignedUrlFlow {
660
767
  >;
661
768
  }
662
769
 
770
+ /**
771
+ * @ignore
772
+ */
663
773
  export interface ApiKeyAuthScheme extends AuthScheme {
664
774
  type: "apiKey";
665
775
  name: string;
@@ -667,14 +777,23 @@ export interface ApiKeyAuthScheme extends AuthScheme {
667
777
  }
668
778
 
669
779
  import { StacItem, StacLink, StacAsset } from "stac-ts";
780
+ /**
781
+ * @ignore
782
+ */
670
783
  export interface StacAuthItem extends StacItem {
671
784
  "auth:schemes": {
672
785
  [key: string]: AuthScheme;
673
786
  };
674
787
  }
788
+ /**
789
+ * @ignore
790
+ */
675
791
  export interface StacAuthLink extends StacLink {
676
792
  "auth:refs": [string];
677
793
  }
794
+ /**
795
+ * @ignore
796
+ */
678
797
  export interface StacAuthAsset extends StacAsset {
679
798
  "auth:refs": [string];
680
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": [
@@ -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,7 +1,7 @@
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-BHWpMuE3.js';
4
- import { V as VMain } from './VMain-OKZNpcEG.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
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
 
@@ -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-BHWpMuE3.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-BrcDDlgS.js';
4
- import { Z as compareChartData, _ as chartData, N as compareChartSpec, M as chartSpec, L as areChartsSeparateLayout } from './helpers-DjZVl_WF.js';
5
- import { _ as _export_sfc, U as getOverlayParent } from './asWebComponent-BHWpMuE3.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-CUjl-ZsI.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-BHWpMuE3.js';
4
- import { A as datetime } from './helpers-DjZVl_WF.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-CUjl-ZsI.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, S as isFirstLoad } from './asWebComponent-BHWpMuE3.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