@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
@@ -17,8 +17,10 @@ export const mapPosition: import("vue").Ref<(number | undefined)[]>;
17
17
  export const registeredProjections: string[];
18
18
  /** available projection to be rendered by `EodashMap` */
19
19
  export const availableMapProjection: import("vue").Ref<string, string>;
20
- /** @type {import("vue").Ref<import("@eox/map").EOxMap | null>} */
21
- export const mapEl: import("vue").Ref<import("@eox/map").EOxMap | null>;
20
+ /** @type {import("vue").Ref<import("@eox/map").EOxMap & { mapUpdateId?: number } | null>} */
21
+ export const mapEl: import("vue").Ref<(import("@eox/map").EOxMap & {
22
+ mapUpdateId?: number;
23
+ }) | null>;
22
24
  /** @type {import("vue").Ref<import("@eox/map").EOxMap | null>} */
23
25
  export const mapCompareEl: import("vue").Ref<import("@eox/map").EOxMap | null>;
24
26
  export const activeTemplate: import("vue").Ref<string, string>;
@@ -52,3 +54,23 @@ export const chartSpec: import("vue").Ref<import("vega-embed").VisualizationSpec
52
54
  * @type {import("vue").Ref<import("vega-embed").VisualizationSpec | null>}
53
55
  */
54
56
  export const compareChartSpec: import("vue").Ref<import("vega-embed").VisualizationSpec | null>;
57
+ /**
58
+ * Global loading state.
59
+ * - `loading.activeLoads` — increment/decrement to track concurrent loads
60
+ * - `loading.value` — derived boolean, true when `activeLoads > 0`
61
+ */
62
+ export const loading: {
63
+ activeLoads: number;
64
+ readonly value: boolean;
65
+ };
66
+ /**
67
+ * Adapter allows external widgets to hook into tooltip property transformation
68
+ * @type {import("vue").Ref<((param: {key: string, value: any}, map?: string) => {key: string, value: any} | undefined) | null>}
69
+ */
70
+ export const tooltipAdapter: import("vue").Ref<((param: {
71
+ key: string;
72
+ value: any;
73
+ }, map?: string) => {
74
+ key: string;
75
+ value: any;
76
+ } | undefined) | null>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @module Configuration
3
+ */
1
4
  /** @group Eodash */
2
5
  export interface WebComponentProps {
3
6
  /**
@@ -11,7 +14,8 @@ export interface WebComponentProps {
11
14
  * ```
12
15
  *
13
16
  * ::: warning
14
- * import maps are not available in runtime config
17
+ * Importing by package name only works when a bundler resolves it (build-time configs,
18
+ * or runtime configs bundled into your app). Otherwise import by URL.
15
19
  * :::
16
20
  */
17
21
  link?: string | (() => Promise<unknown>);
@@ -83,87 +87,87 @@ export interface WebComponentWidget {
83
87
  widget: WebComponentProps;
84
88
  type: "web-component";
85
89
  }
86
- /** @group Widgets */
90
+ /** @group Widget Config */
87
91
  export interface TEodashMap {
88
92
  name: "EodashMap";
89
93
  properties?: InstanceType<typeof import("../../widgets/EodashMap/index.vue").default>["$props"];
90
94
  }
91
- /** @group Widgets */
95
+ /** @group Widget Config */
92
96
  export interface TEodashDatePicker {
93
97
  name: "EodashDatePicker";
94
98
  properties?: InstanceType<typeof import("../../widgets/EodashDatePicker.vue").default>["$props"];
95
99
  }
96
- /** @group Widgets */
100
+ /** @group Widget Config */
97
101
  export interface TEodashTimeSlider {
98
102
  name: "EodashTimeSlider";
99
- properties?: InstanceType<typeof import("../../widgets/EodashTimeSlider.vue").default>["$props"];
103
+ properties?: InstanceType<typeof import("../../widgets/EodashTimeSlider/index.vue").default>["$props"];
100
104
  }
101
- /** @group Widgets */
105
+ /** @group Widget Config */
102
106
  export interface TEodashItemFilter {
103
107
  name: "EodashItemFilter";
104
108
  properties?: InstanceType<typeof import("../../widgets/EodashItemFilter.vue").default>["$props"];
105
109
  }
106
- /** @group Widgets */
110
+ /** @group Widget Config */
107
111
  export interface TEodashLayerControl {
108
112
  name: "EodashLayerControl";
109
113
  properties?: InstanceType<typeof import("../../widgets/EodashLayerControl.vue").default>["$props"];
110
114
  }
111
- /** @group Widgets */
115
+ /** @group Widget Config */
112
116
  export interface TEodashStacInfo {
113
117
  name: "EodashStacInfo";
114
118
  properties?: InstanceType<typeof import("../../widgets/EodashStacInfo.vue").default>["$props"];
115
119
  }
116
- /** @group Widgets */
120
+ /** @group Widget Config */
117
121
  export interface TEodashProcess {
118
122
  name: "EodashProcess";
119
123
  properties?: InstanceType<typeof import("../../widgets/EodashProcess/index.vue").default>["$props"];
120
124
  }
121
- /** @group Widgets */
125
+ /** @group Widget Config */
122
126
  export interface TEodashChart {
123
127
  name: "EodashChart";
124
128
  properties?: InstanceType<typeof import("../../widgets/EodashChart.vue").default>["$props"];
125
129
  }
126
- /** @group Widgets */
127
- export interface TEodashMapBtns {
128
- name: "EodashMapBtns";
129
- properties?: InstanceType<typeof import("^/EodashMapBtns.vue").default>["$props"];
130
- }
131
- /** @group Widgets */
130
+ /** @group Widget Config */
132
131
  export interface TEodashTools {
133
132
  name: "EodashTools";
134
133
  properties?: InstanceType<typeof import("../../widgets/EodashTools.vue").default>["$props"];
135
134
  }
136
- /** @group Widgets */
135
+ /** @group Widget Config */
137
136
  export interface TEodashLayoutSwitcher {
138
137
  name: "EodashLayoutSwitcher";
139
138
  properties?: InstanceType<typeof import("../../widgets/EodashLayoutSwitcher.vue").default>["$props"];
140
139
  }
140
+ /** @group Widget Config */
141
141
  export interface TEodashItemCatalog {
142
142
  name: "EodashItemCatalog";
143
143
  properties?: InstanceType<typeof import("../../widgets/EodashItemCatalog/index.vue").default>["$props"];
144
144
  }
145
- /** @group Widgets */
145
+ /** @group Widget Config */
146
146
  export interface TExportState {
147
147
  name: "ExportState";
148
148
  properties?: InstanceType<typeof import("../../widgets/ExportState.vue").default>["$props"];
149
149
  }
150
- /** @group Widgets */
150
+ /** @group Widget Config */
151
151
  export interface TPopUp {
152
152
  name: "PopUp";
153
153
  properties?: InstanceType<typeof import("../../widgets/PopUp.vue").default>["$props"];
154
154
  }
155
- /** @group Widgets */
155
+ /** @group Widget Config */
156
156
  export interface TWidgetsContainer {
157
157
  name: "WidgetsContainer";
158
158
  properties?: InstanceType<typeof import("../../widgets/WidgetsContainer.vue").default>["$props"];
159
159
  }
160
+ export interface TEodashLayoutSwitcher {
161
+ name: "EodashLayoutSwitcher";
162
+ properties?: InstanceType<typeof import("../../widgets/EodashLayoutSwitcher.vue").default>["$props"];
163
+ }
160
164
  /**
161
165
  * Internal Vue Components inside the
162
166
  * [widgets](https://github.com/eodash/eodash/tree/main/widgets) folder.
163
167
  * Referenced using their name without the .vue extention
164
- * @group Widgets
168
+ * @group Widget Config
165
169
  */
166
- export type ComponentWidget = TEodashMap | TEodashDatePicker | TEodashItemFilter | TEodashLayerControl | TEodashStacInfo | TEodashProcess | TEodashChart | TEodashMapBtns | TEodashTools | TEodashLayoutSwitcher | TEodashItemCatalog | TExportState | TPopUp | TWidgetsContainer | TEodashTimeSlider;
170
+ export type ComponentWidget = TEodashMap | TEodashDatePicker | TEodashItemFilter | TEodashLayerControl | TEodashStacInfo | TEodashProcess | TEodashChart | TEodashTools | TEodashLayoutSwitcher | TEodashItemCatalog | TExportState | TPopUp | TWidgetsContainer | TEodashLayoutSwitcher | TEodashTimeSlider;
167
171
  /**
168
172
  * Widget type: `internal` API. Internal widgets are Vue components provided by
169
173
  * eodash.
@@ -251,7 +255,10 @@ export type StacEndpoint = string | {
251
255
  api?: boolean;
252
256
  rasterEndpoint?: string;
253
257
  vectorEndpoint?: string;
254
- supportedUpscalingEndpoints?: string[];
258
+ supportedUpscalingEndpoints?: Array<string | {
259
+ url: string;
260
+ titilerVersion?: 1 | 2;
261
+ }>;
255
262
  };
256
263
  /** @group Eodash */
257
264
  export interface EodashFont {
@@ -274,6 +281,13 @@ export type Eodash = {
274
281
  /** Object containing potential special configuration options */
275
282
  options?: {
276
283
  useSubCode?: boolean;
284
+ /**
285
+ * TiTiler render presets, keyed by collection id then render name,
286
+ * following the STAC `renders` extension shape. Used to render a
287
+ * collection's raster data when the collection itself does not expose
288
+ * `renders`.
289
+ */
290
+ renders?: Record<string, Record<string, Render>>;
277
291
  };
278
292
  /** Root STAC catalog endpoint */
279
293
  stacEndpoint: StacEndpoint;
@@ -299,6 +313,13 @@ export type Eodash = {
299
313
  theme?: import("vuetify").ThemeDefinition & {
300
314
  collectionsPalette?: string[];
301
315
  };
316
+ /** eox-feedback configuration */
317
+ feedback?: {
318
+ /** eox-feedback endpoint */
319
+ endpoint: string;
320
+ /** eox-feedback jsonform schema */
321
+ schema?: any;
322
+ };
302
323
  /** Text applied to the footer. */
303
324
  footerText?: string;
304
325
  };
@@ -369,10 +390,20 @@ export declare function register(): void;
369
390
  * @group WebComponent
370
391
  */
371
392
  export declare const store: typeof import("./store").default;
372
- export * from "./main.js";
373
393
  /**
394
+ * Creates an eodash instance configuration. Accepts a config object directly,
395
+ * or an async factory that receives the eodash store and returns the config.
396
+ *
374
397
  * @group Eodash
375
398
  */
399
+ export { createEodash } from "./main.js";
400
+ /**
401
+ * eodash flat style: an OpenLayers flat style extended with interactive
402
+ * `variables`, a `jsonform`, a `legend`, and `tooltip` configuration.
403
+ *
404
+ * @group STAC
405
+ * @see [eodash Flat Styles](/STAC#eodash-flat-styles)
406
+ */
376
407
  export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
377
408
  variables?: Record<string, string | number | boolean | null | undefined>;
378
409
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
@@ -384,6 +415,9 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
384
415
  decimals?: number;
385
416
  }[];
386
417
  };
418
+ /**
419
+ * @ignore
420
+ */
387
421
  export type EodashRasterJSONForm = {
388
422
  jsonform: Record<string, any>;
389
423
  legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
@@ -405,10 +439,63 @@ export interface SearchParams {
405
439
  /** Maximum number of results to return */
406
440
  limit?: number;
407
441
  }
442
+ /**
443
+ * @ignore
444
+ */
408
445
  export interface StacItemsAPIResponse {
409
446
  type: "FeatureCollection";
410
447
  features: import("stac-ts").StacItem[];
411
448
  }
449
+ export interface AggregationCollection {
450
+ type: "AggregationCollection";
451
+ aggregations?: Array<{
452
+ key?: string;
453
+ interval?: string;
454
+ buckets?: Array<{
455
+ key: string;
456
+ value: number;
457
+ }>;
458
+ }>;
459
+ }
460
+ /** Itemfilter filter kind emitted in filter events. */
461
+ export type ItemFilterFilterType = "range" | "multiselect" | "select" | "text" | "spatial";
462
+ export interface ItemFilterBase {
463
+ key: string;
464
+ title?: string;
465
+ expanded?: boolean;
466
+ dirty?: boolean;
467
+ stringifiedState?: string;
468
+ }
469
+ export interface ItemFilterRange extends ItemFilterBase {
470
+ type: "range";
471
+ min?: number;
472
+ max?: number;
473
+ step?: number;
474
+ state?: {
475
+ min?: number;
476
+ max?: number;
477
+ };
478
+ }
479
+ export interface ItemFilterSelect extends ItemFilterBase {
480
+ type: "select";
481
+ state?: Record<string, string | number | boolean | null | undefined>;
482
+ }
483
+ export interface ItemFilterMultiSelect extends ItemFilterBase {
484
+ type: "multiselect";
485
+ state?: Record<string, string | number | boolean | null | undefined>;
486
+ }
487
+ export interface ItemFilterText extends ItemFilterBase {
488
+ type: "text";
489
+ state?: Record<string, string | number | boolean | null | undefined>;
490
+ }
491
+ export interface ItemFilterSpatial extends ItemFilterBase {
492
+ type: "spatial";
493
+ state?: Record<string, string | number | boolean | null | undefined>;
494
+ }
495
+ /** Normalized filter object emitted by `eox-itemfilter` in filter events. */
496
+ export type ItemFilterFilter = ItemFilterRange | ItemFilterSelect | ItemFilterMultiSelect | ItemFilterText | ItemFilterSpatial;
497
+ /** Itemfilter filter map keyed by filter key. */
498
+ export type ItemFilterFilters = Record<string, ItemFilterFilter>;
412
499
  /** @ignore */
413
500
  export interface Render {
414
501
  /** REQUIRED. Array of asset keys referencing the assets that are used to make the rendering */
@@ -493,6 +580,7 @@ export interface GeoJsonFeatureCollection<T = Record<string, any>, G = GeoJSON.G
493
580
  /**
494
581
  * Partial STAC Authentication Extension v1.1.0
495
582
  * Generated from https://stac-extensions.github.io/authentication/v1.1.0/schema.json
583
+ * @ignore
496
584
  */
497
585
  export interface AuthScheme {
498
586
  /** Scheme keyword, e.g. http, s3, signedUrl, oauth2, apiKey, openIdConnect */
@@ -504,13 +592,19 @@ export interface AuthScheme {
504
592
  flows?: Record<string, OAuth2Flow | SignedUrlFlow>;
505
593
  openIdConnectUrl?: string;
506
594
  }
595
+ /**
596
+ * @ignore
597
+ */
507
598
  export interface OAuth2Flow {
508
599
  authorizationUrl?: string;
509
600
  tokenUrl?: string;
510
601
  refreshUrl?: string;
511
602
  scopes: Record<string, string>;
512
603
  }
513
- /** Signed URL flow configuration */
604
+ /**
605
+ * Signed URL flow configuration
606
+ * @ignore
607
+ */
514
608
  export interface SignedUrlFlow {
515
609
  authorizationApi: string;
516
610
  method: string;
@@ -522,20 +616,32 @@ export interface SignedUrlFlow {
522
616
  schema?: object;
523
617
  }>;
524
618
  }
619
+ /**
620
+ * @ignore
621
+ */
525
622
  export interface ApiKeyAuthScheme extends AuthScheme {
526
623
  type: "apiKey";
527
624
  name: string;
528
625
  in: string;
529
626
  }
530
627
  import { StacItem, StacLink, StacAsset } from "stac-ts";
628
+ /**
629
+ * @ignore
630
+ */
531
631
  export interface StacAuthItem extends StacItem {
532
632
  "auth:schemes": {
533
633
  [key: string]: AuthScheme;
534
634
  };
535
635
  }
636
+ /**
637
+ * @ignore
638
+ */
536
639
  export interface StacAuthLink extends StacLink {
537
640
  "auth:refs": [string];
538
641
  }
642
+ /**
643
+ * @ignore
644
+ */
539
645
  export interface StacAuthAsset extends StacAsset {
540
646
  "auth:refs": [string];
541
647
  }
@@ -115,3 +115,15 @@ export const dataThemesBrands: {
115
115
  color: string;
116
116
  };
117
117
  };
118
+ /** @type {Map<string, import("stac-ts").StacItem[]>} */
119
+ export const itemsCache: Map<string, import("stac-ts").StacItem[]>;
120
+ /**
121
+ * Split items cache stores items with their time range metadata
122
+ * @type {Map<string, {items: import("stac-ts").StacItem[], minTime: number, maxTime: number}>}
123
+ */
124
+ export const splitItemsCache: Map<string, {
125
+ items: import("stac-ts").StacItem[];
126
+ minTime: number;
127
+ maxTime: number;
128
+ }>;
129
+ export const timesliderUpdateRef: import("vue").Ref<number, number>;
@@ -1,91 +1,4 @@
1
- export function getBaseConfig(config: import("vega-lite").DeepPartial<import("../core/client/types").Eodash>): ({
2
- id?: string;
3
- options?: {
4
- useSubCode?: boolean;
5
- };
6
- stacEndpoint: import("../core/client/types").StacEndpoint;
7
- brand: {
8
- noLayout?: boolean;
9
- errorMessage?: string;
10
- font?: import("../core/client/types").EodashFont | {
11
- body: import("../core/client/types").EodashFont;
12
- headers: import("../core/client/types").EodashFont;
13
- };
14
- name: string;
15
- logo?: string;
16
- theme?: import("vuetify").ThemeDefinition & {
17
- collectionsPalette?: string[];
18
- };
19
- footerText?: string;
20
- };
21
- } & {
22
- templates: import("../core/client/types").MultiTemplates;
23
- }) | {
24
- id?: string | undefined;
25
- options?: {
26
- useSubCode?: boolean;
27
- } | undefined;
28
- stacEndpoint: import("../core/client/types").StacEndpoint & (string | {
29
- endpoint: string;
30
- api?: boolean;
31
- rasterEndpoint?: string;
32
- vectorEndpoint?: string;
33
- supportedUpscalingEndpoints?: string[];
34
- });
35
- brand: {
36
- noLayout?: boolean;
37
- errorMessage?: string;
38
- font?: import("../core/client/types").EodashFont | {
39
- body: import("../core/client/types").EodashFont;
40
- headers: import("../core/client/types").EodashFont;
41
- };
42
- name: string;
43
- logo?: string;
44
- theme?: import("vuetify").ThemeDefinition & {
45
- collectionsPalette?: string[];
46
- };
47
- footerText?: string;
48
- } & {
49
- name: string;
50
- font?: import("../core/client/types").EodashFont | {
51
- body: import("../core/client/types").EodashFont;
52
- headers: import("../core/client/types").EodashFont;
53
- } | undefined;
54
- theme?: ({
55
- dark?: boolean | undefined;
56
- colors?: {
57
- [x: string]: string | undefined;
58
- background?: string | undefined;
59
- surface?: string | undefined;
60
- primary?: string | undefined;
61
- secondary?: string | undefined;
62
- success?: string | undefined;
63
- warning?: string | undefined;
64
- error?: string | undefined;
65
- info?: string | undefined;
66
- 'on-background'?: string | undefined;
67
- 'on-surface'?: string | undefined;
68
- 'on-primary'?: string | undefined;
69
- 'on-secondary'?: string | undefined;
70
- 'on-success'?: string | undefined;
71
- 'on-warning'?: string | undefined;
72
- 'on-error'?: string | undefined;
73
- 'on-info'?: string | undefined;
74
- } | undefined;
75
- variables?: {
76
- [x: string]: string | number | undefined;
77
- } | undefined;
78
- } & {
79
- collectionsPalette?: string[];
80
- }) | undefined;
81
- noLayout?: boolean | undefined;
82
- errorMessage?: string | undefined;
83
- logo?: string | undefined;
84
- footerText?: string | undefined;
85
- };
86
- template: import("../core/client/types").Template;
87
- templates: import("../core/client/types").MultiTemplates;
88
- };
1
+ export function getBaseConfig(config: import("vega-lite").DeepPartial<import("../core/client/types").Eodash>): import("../core/client/types").Eodash;
89
2
  export default baseConfig;
90
3
  /** @type {import("../core/client/types").Eodash} */
91
4
  declare const baseConfig: import("../core/client/types").Eodash;
@@ -21,6 +21,24 @@ declare const _default: {
21
21
  name: "EodashMap";
22
22
  properties: {
23
23
  enableCompare: true;
24
+ baseLayers: {
25
+ type: "Group";
26
+ properties: {
27
+ id: string;
28
+ title: string;
29
+ };
30
+ layers: {
31
+ type: "Tile";
32
+ properties: {
33
+ id: string;
34
+ title: string;
35
+ };
36
+ source: {
37
+ type: "XYZ";
38
+ url: string;
39
+ };
40
+ }[];
41
+ }[];
24
42
  };
25
43
  };
26
44
  };
@@ -188,10 +206,21 @@ declare const _default: {
188
206
  };
189
207
  title: string;
190
208
  widget: {
191
- name: "EodashDatePicker";
209
+ name: "EodashTimeSlider";
192
210
  properties: {
193
- hintText: string;
194
- toggleCalendar: true;
211
+ filters: {
212
+ key: string;
213
+ title: string;
214
+ type: string;
215
+ expanded: boolean;
216
+ min: number;
217
+ max: number;
218
+ step: number;
219
+ state: {
220
+ min: number;
221
+ max: number;
222
+ };
223
+ }[];
195
224
  };
196
225
  };
197
226
  } | null;
@@ -19,6 +19,24 @@ declare const _default: {
19
19
  widget: {
20
20
  name: "EodashMap";
21
21
  properties: {
22
+ baseLayers: {
23
+ type: "Group";
24
+ properties: {
25
+ id: string;
26
+ title: string;
27
+ };
28
+ layers: {
29
+ type: "Tile";
30
+ properties: {
31
+ id: string;
32
+ title: string;
33
+ };
34
+ source: {
35
+ type: "XYZ";
36
+ url: string;
37
+ };
38
+ }[];
39
+ }[];
22
40
  enableCompare: true;
23
41
  zoomToExtent: true;
24
42
  btns: {
@@ -20,6 +20,7 @@ declare const _default: {
20
20
  widget: {
21
21
  name: "EodashMap";
22
22
  properties: {
23
+ zoomToExtent: false;
23
24
  enableCompare: true;
24
25
  btns: {
25
26
  enableZoom: true;
@@ -27,11 +28,13 @@ declare const _default: {
27
28
  enableChangeProjection: true;
28
29
  enableCompareIndicators: {
29
30
  fallbackTemplate: string;
31
+ compareTemplate: string;
30
32
  itemFilterConfig: {
31
33
  imageProperty: string;
32
34
  };
33
35
  };
34
- enableSearch: true;
36
+ enableBackToPOIs: false;
37
+ enableSearch: false;
35
38
  };
36
39
  };
37
40
  };
@@ -48,6 +51,7 @@ declare const _default: {
48
51
  };
49
52
  widget: {
50
53
  name: "EodashLayerControl";
54
+ properties?: undefined;
51
55
  };
52
56
  } | {
53
57
  id: string;
@@ -61,6 +65,10 @@ declare const _default: {
61
65
  };
62
66
  widget: {
63
67
  name: "EodashItemCatalog";
68
+ properties: {
69
+ layoutTarget: undefined;
70
+ hoverProperties: string[];
71
+ };
64
72
  };
65
73
  })[];
66
74
  };
@@ -20,6 +20,17 @@ declare const _default: {
20
20
  widget: {
21
21
  name: "EodashMap";
22
22
  properties: {
23
+ baseLayers: {
24
+ type: "Tile";
25
+ properties: {
26
+ id: string;
27
+ title: string;
28
+ };
29
+ source: {
30
+ type: "XYZ";
31
+ url: string;
32
+ };
33
+ }[];
23
34
  enableCompare: true;
24
35
  enableCursorCoordinates: false;
25
36
  enableScaleLine: false;
@@ -6,7 +6,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
6
6
  default: boolean;
7
7
  };
8
8
  vegaEmbedOptions: {
9
- type: ObjectConstructor;
9
+ /** @type {import("vue").PropType<import("vega-embed").EmbedOptions>} */
10
+ type: import("vue").PropType<import("vega-embed").EmbedOptions>;
10
11
  default(): {
11
12
  actions: boolean;
12
13
  };
@@ -17,12 +18,13 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
17
18
  default: boolean;
18
19
  };
19
20
  vegaEmbedOptions: {
20
- type: ObjectConstructor;
21
+ /** @type {import("vue").PropType<import("vega-embed").EmbedOptions>} */
22
+ type: import("vue").PropType<import("vega-embed").EmbedOptions>;
21
23
  default(): {
22
24
  actions: boolean;
23
25
  };
24
26
  };
25
27
  }>> & Readonly<{}>, {
26
28
  enableCompare: boolean;
27
- vegaEmbedOptions: Record<string, any>;
29
+ vegaEmbedOptions: import("vega-embed").EmbedOptions<string, import("vega-typings").Renderers>;
28
30
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;