@eodash/eodash 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/core/client/components/DashboardLayout.vue +1 -2
  2. package/core/client/components/EodashOverlay.vue +4 -5
  3. package/core/client/components/MobileLayout.vue +42 -21
  4. package/core/client/composables/index.js +54 -60
  5. package/core/client/eodashSTAC/EodashCollection.js +199 -108
  6. package/core/client/eodashSTAC/auth.js +86 -0
  7. package/core/client/eodashSTAC/createLayers.js +234 -4
  8. package/core/client/eodashSTAC/helpers.js +281 -59
  9. package/core/client/eodashSTAC/parquet.js +0 -13
  10. package/core/client/eodashSTAC/triggers.js +1 -1
  11. package/core/client/store/actions.js +14 -0
  12. package/core/client/store/stac.js +46 -8
  13. package/core/client/store/states.js +6 -0
  14. package/core/client/types.ts +206 -3
  15. package/core/client/utils/bands-editor/arithmetic.js +144 -0
  16. package/core/client/utils/bands-editor/colors.js +36 -0
  17. package/core/client/utils/bands-editor/dom.js +196 -0
  18. package/core/client/utils/bands-editor/exampleSchema.json +1320 -0
  19. package/core/client/utils/bands-editor/index.js +68 -0
  20. package/core/client/utils/bands-editor/rgb.js +102 -0
  21. package/core/client/utils/index.js +5 -2
  22. package/core/client/views/Dashboard.vue +1 -1
  23. package/core/client/vite-env.d.ts +122 -0
  24. package/dist/client/{DashboardLayout-ByVs1DrY.js → DashboardLayout-Cq15p4TH.js} +5 -6
  25. package/dist/client/{DynamicWebComponent-C3W7HSQm.js → DynamicWebComponent-Cv-fPRG1.js} +1 -1
  26. package/dist/client/{EodashDatePicker-BIAf1sMT.js → EodashDatePicker-CPlJwEIO.js} +20 -22
  27. package/dist/client/{EodashItemFilter-DPznh8UB.js → EodashItemFilter-Ydebgbjj.js} +46 -31
  28. package/dist/client/EodashLayerControl-COhrkNEs.js +1517 -0
  29. package/dist/client/{EodashLayoutSwitcher-C5qTEffW.js → EodashLayoutSwitcher-pnKhTRZV.js} +4 -4
  30. package/dist/client/EodashMapBtns-Cj0Fx119.js +301 -0
  31. package/dist/client/{EodashStacInfo-CSvvF2jI.js → EodashStacInfo-Dadkg_Nj.js} +1 -1
  32. package/dist/client/EodashTimeSlider-CpoHX0S7.js +53 -0
  33. package/dist/client/{EodashTools-Cv1SXQ5y.js → EodashTools-UGBG7KC9.js} +10 -7
  34. package/dist/client/{ExportState-D-iuwaad.js → ExportState-GtJkAqeZ.js} +145 -121
  35. package/dist/client/{Footer-CyF0zRAk.js → Footer-D3ZPG5c4.js} +1 -1
  36. package/dist/client/{Header-CgD8jDKU.js → Header-z6AK-wpN.js} +2 -3
  37. package/dist/client/MobileLayout-BXNsNftb.js +118 -0
  38. package/dist/client/{PopUp-BsYLvWch.js → PopUp-BbQdjENV.js} +79 -44
  39. package/dist/client/{ProcessList-C2xsLU2_.js → ProcessList-C6VsdsYI.js} +18 -12
  40. package/dist/client/{VImg-OHe8YTs2.js → VImg-CxaMSB99.js} +203 -5
  41. package/dist/client/{VMain-PryTLU4a.js → VMain-Ds7yw0wj.js} +1 -1
  42. package/dist/client/{VTooltip-DZ0fjpB3.js → VTooltip-Cze6CEVh.js} +2 -3
  43. package/dist/client/{WidgetsContainer-B9LBadcC.js → WidgetsContainer-D66bj-JJ.js} +1 -1
  44. package/dist/client/asWebComponent-CWbNRdf9.js +8895 -0
  45. package/dist/client/{async-DkSu_u2K.js → async-BA7oWCMX.js} +69 -5
  46. package/dist/client/easing-CH0-9wR8.js +35 -0
  47. package/dist/client/eo-dash.js +1 -1
  48. package/dist/client/{VOverlay-yUn7p-Uf.js → forwardRefs-BUfxOIo-.js} +308 -28
  49. package/dist/client/{handling-CgmFXkW6.js → handling-DlNTtKB-.js} +27 -6
  50. package/dist/client/{helpers-Dy0Q13tP.js → helpers-CtE0W7iu.js} +595 -278
  51. package/dist/client/{index-skjhlH8u.js → index-CeEZIjO6.js} +26 -13
  52. package/dist/client/{index-Ch_HchK3.js → index-CsKbRDeN.js} +238 -77
  53. package/dist/client/{index-Dqj4tbx2.js → index-D4_NRKrf.js} +2 -2
  54. package/dist/client/index-DeECc3lV.js +571 -0
  55. package/dist/client/material-symbols-outlined.woff2 +0 -0
  56. package/dist/client/material-symbols-rounded.woff2 +0 -0
  57. package/dist/client/material-symbols-sharp.woff2 +0 -0
  58. package/dist/client/material-symbols-subset.woff2 +0 -0
  59. package/dist/client/templates.js +106 -49
  60. package/dist/client/{transition-C98Yn4Vo.js → transition-Byvp3L6Y.js} +1 -1
  61. package/dist/node/cli.js +6 -6
  62. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +24 -10
  63. package/dist/types/core/client/eodashSTAC/auth.d.ts +7 -0
  64. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +15 -3
  65. package/dist/types/core/client/eodashSTAC/helpers.d.ts +51 -15
  66. package/dist/types/core/client/plugins/vuetify.d.ts +14 -14
  67. package/dist/types/core/client/store/actions.d.ts +2 -0
  68. package/dist/types/core/client/store/stac.d.ts +16 -7
  69. package/dist/types/core/client/store/states.d.ts +4 -0
  70. package/dist/types/core/client/types.d.ts +171 -3
  71. package/dist/types/core/client/utils/bands-editor/arithmetic.d.ts +8 -0
  72. package/dist/types/core/client/utils/bands-editor/colors.d.ts +15 -0
  73. package/dist/types/core/client/utils/bands-editor/dom.d.ts +42 -0
  74. package/dist/types/core/client/utils/bands-editor/index.d.ts +20 -0
  75. package/dist/types/core/client/utils/bands-editor/rgb.d.ts +15 -0
  76. package/dist/types/core/client/utils/index.d.ts +1 -1
  77. package/dist/types/templates/baseConfig.d.ts +87 -1
  78. package/dist/types/templates/compare.d.ts +0 -25
  79. package/dist/types/templates/expert.d.ts +17 -21
  80. package/dist/types/templates/explore.d.ts +67 -0
  81. package/dist/types/templates/index.d.ts +1 -1
  82. package/dist/types/templates/{light.d.ts → lite.d.ts} +9 -0
  83. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +21 -0
  84. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +49 -0
  85. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +4 -0
  86. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +12 -0
  87. package/dist/types/widgets/EodashItemCatalog/types.d.ts +14 -0
  88. package/dist/types/widgets/{EodashMapBtns.vue.d.ts → EodashMap/EodashMapBtns.vue.d.ts} +6 -0
  89. package/dist/types/widgets/EodashMap/index.vue.d.ts +114 -0
  90. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  91. package/dist/types/widgets/EodashMap/methods/index.d.ts +1 -1
  92. package/dist/types/widgets/EodashProcess/methods/async.d.ts +1 -0
  93. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  94. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +7 -0
  95. package/dist/types/widgets/EodashTools.vue.d.ts +10 -10
  96. package/dist/types/widgets/ExportState.vue.d.ts +2 -0
  97. package/package.json +31 -28
  98. package/templates/baseConfig.js +10 -5
  99. package/templates/compare.js +2 -22
  100. package/templates/expert.js +19 -18
  101. package/templates/explore.js +62 -0
  102. package/templates/index.js +1 -1
  103. package/templates/{light.js → lite.js} +11 -2
  104. package/widgets/EodashDatePicker.vue +15 -18
  105. package/widgets/EodashItemCatalog/index.vue +161 -0
  106. package/widgets/EodashItemCatalog/methods/filters.js +216 -0
  107. package/widgets/EodashItemCatalog/methods/handlers.js +50 -0
  108. package/widgets/EodashItemCatalog/methods/map.js +144 -0
  109. package/widgets/EodashItemCatalog/types.ts +15 -0
  110. package/widgets/EodashItemFilter.vue +35 -28
  111. package/widgets/EodashLayerControl.vue +10 -6
  112. package/widgets/EodashLayoutSwitcher.vue +1 -1
  113. package/widgets/EodashMap/EodashMapBtns.vue +278 -0
  114. package/widgets/EodashMap/index.vue +263 -38
  115. package/widgets/EodashMap/methods/create-layers-config.js +9 -6
  116. package/widgets/EodashMap/methods/index.js +27 -13
  117. package/widgets/EodashProcess/ProcessList.vue +13 -1
  118. package/widgets/EodashProcess/index.vue +17 -1
  119. package/widgets/EodashProcess/methods/async.js +22 -1
  120. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +25 -3
  121. package/widgets/EodashProcess/methods/handling.js +2 -0
  122. package/widgets/EodashProcess/methods/outputs.js +1 -0
  123. package/widgets/EodashProcess/methods/utils.js +45 -1
  124. package/widgets/EodashTimeSlider.vue +40 -0
  125. package/widgets/EodashTools.vue +7 -3
  126. package/widgets/ExportState.vue +53 -22
  127. package/dist/client/EodashLayerControl-Bhxjw4V2.js +0 -154
  128. package/dist/client/EodashMapBtns-WoGq8MuV.js +0 -173
  129. package/dist/client/MobileLayout-EKQ_kpSh.js +0 -1226
  130. package/dist/client/asWebComponent-By_7_JjS.js +0 -19193
  131. package/dist/client/forwardRefs-BXxrv98s.js +0 -272
  132. package/dist/client/index-BuhOHXKv.js +0 -199
  133. package/widgets/EodashMapBtns.vue +0 -155
@@ -1,28 +1,37 @@
1
1
  export const useSTAcStore: import("pinia").StoreDefinition<"stac", Pick<{
2
+ stacEndpoint: import("vue").Ref<string | null, string | null>;
3
+ isApi: import("vue").Ref<boolean, boolean>;
2
4
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
3
5
  init: (endpoint: import("../types").StacEndpoint) => void;
4
- loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
5
- loadSelectedSTAC: (relativePath?: string, isPoi?: boolean) => Promise<void>;
6
+ loadSTAC: (url?: string) => Promise<void>;
7
+ loadSelectedSTAC: (relativePath?: string, isPoi?: boolean, stacItem?: Object) => Promise<void>;
6
8
  loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
7
9
  resetSelectedCompareSTAC: () => Promise<void>;
8
10
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
9
11
  selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
10
- }, "stac" | "selectedStac" | "selectedCompareStac">, Pick<{
12
+ selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
13
+ }, "stacEndpoint" | "isApi" | "stac" | "selectedStac" | "selectedCompareStac" | "selectedItem">, Pick<{
14
+ stacEndpoint: import("vue").Ref<string | null, string | null>;
15
+ isApi: import("vue").Ref<boolean, boolean>;
11
16
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
12
17
  init: (endpoint: import("../types").StacEndpoint) => void;
13
- loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
14
- loadSelectedSTAC: (relativePath?: string, isPoi?: boolean) => Promise<void>;
18
+ loadSTAC: (url?: string) => Promise<void>;
19
+ loadSelectedSTAC: (relativePath?: string, isPoi?: boolean, stacItem?: Object) => Promise<void>;
15
20
  loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
16
21
  resetSelectedCompareSTAC: () => Promise<void>;
17
22
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
18
23
  selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
24
+ selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
19
25
  }, never>, Pick<{
26
+ stacEndpoint: import("vue").Ref<string | null, string | null>;
27
+ isApi: import("vue").Ref<boolean, boolean>;
20
28
  stac: import("vue").Ref<import("stac-ts").StacLink[] | null, import("stac-ts").StacLink[] | null>;
21
29
  init: (endpoint: import("../types").StacEndpoint) => void;
22
- loadSTAC: (url?: import("../types").StacEndpoint) => Promise<void>;
23
- loadSelectedSTAC: (relativePath?: string, isPoi?: boolean) => Promise<void>;
30
+ loadSTAC: (url?: string) => Promise<void>;
31
+ loadSelectedSTAC: (relativePath?: string, isPoi?: boolean, stacItem?: Object) => Promise<void>;
24
32
  loadSelectedCompareSTAC: (relativePath?: string, isPOI?: boolean) => Promise<void>;
25
33
  resetSelectedCompareSTAC: () => Promise<void>;
26
34
  selectedStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
27
35
  selectedCompareStac: import("vue").Ref<import("stac-ts").StacCollection | null, import("stac-ts").StacCollection | null>;
36
+ selectedItem: import("vue").Ref<import("stac-ts").StacLink | import("stac-ts").StacItem | null, import("stac-ts").StacLink | import("stac-ts").StacItem | null>;
28
37
  }, "init" | "loadSTAC" | "loadSelectedSTAC" | "loadSelectedCompareSTAC" | "resetSelectedCompareSTAC">>;
@@ -30,3 +30,7 @@ export const poi: import("vue").Ref<string, string>;
30
30
  * Selected point of interest for comparison, used for location collections
31
31
  */
32
32
  export const comparePoi: import("vue").Ref<string, string>;
33
+ /** @type {import("vue").Ref<import("@eox/chart").EOxChart | null>} */
34
+ export const chartEl: import("vue").Ref<import("@eox/chart").EOxChart | null>;
35
+ /** @type {import("vue").Ref<import("@eox/chart").EOxChart | null>} */
36
+ export const compareChartEl: import("vue").Ref<import("@eox/chart").EOxChart | null>;
@@ -94,6 +94,11 @@ export interface TEodashDatePicker {
94
94
  properties?: InstanceType<typeof import("../../widgets/EodashDatePicker.vue").default>["$props"];
95
95
  }
96
96
  /** @group Widgets */
97
+ export interface TEodashTimeSlider {
98
+ name: "EodashTimeSlider";
99
+ properties?: InstanceType<typeof import("../../widgets/EodashTimeSlider.vue").default>["$props"];
100
+ }
101
+ /** @group Widgets */
97
102
  export interface TEodashItemFilter {
98
103
  name: "EodashItemFilter";
99
104
  properties?: InstanceType<typeof import("../../widgets/EodashItemFilter.vue").default>["$props"];
@@ -116,7 +121,7 @@ export interface TEodashProcess {
116
121
  /** @group Widgets */
117
122
  export interface TEodashMapBtns {
118
123
  name: "EodashMapBtns";
119
- properties?: InstanceType<typeof import("../../widgets/EodashMapBtns.vue").default>["$props"];
124
+ properties?: InstanceType<typeof import("^/EodashMapBtns.vue").default>["$props"];
120
125
  }
121
126
  /** @group Widgets */
122
127
  export interface TEodashTools {
@@ -128,6 +133,10 @@ export interface TEodashLayoutSwitcher {
128
133
  name: "EodashLayoutSwitcher";
129
134
  properties?: InstanceType<typeof import("../../widgets/EodashLayoutSwitcher.vue").default>["$props"];
130
135
  }
136
+ export interface TEodashItemCatalog {
137
+ name: "EodashItemCatalog";
138
+ properties?: InstanceType<typeof import("../../widgets/EodashItemCatalog/index.vue").default>["$props"];
139
+ }
131
140
  /** @group Widgets */
132
141
  export interface TExportState {
133
142
  name: "ExportState";
@@ -149,7 +158,7 @@ export interface TWidgetsContainer {
149
158
  * Referenced using their name without the .vue extention
150
159
  * @group Widgets
151
160
  */
152
- export type ComponentWidget = TEodashMap | TEodashDatePicker | TEodashItemFilter | TEodashLayerControl | TEodashStacInfo | TEodashProcess | TEodashMapBtns | TEodashTools | TEodashLayoutSwitcher | TExportState | TPopUp | TWidgetsContainer;
161
+ export type ComponentWidget = TEodashMap | TEodashDatePicker | TEodashItemFilter | TEodashLayerControl | TEodashStacInfo | TEodashProcess | TEodashMapBtns | TEodashTools | TEodashLayoutSwitcher | TEodashItemCatalog | TExportState | TPopUp | TWidgetsContainer | TEodashTimeSlider;
153
162
  /**
154
163
  * Widget type: `internal` API. Internal widgets are Vue components provided by
155
164
  * eodash.
@@ -232,7 +241,12 @@ export interface Template {
232
241
  /** @group Eodash */
233
242
  export type MultiTemplates = Record<string, Template>;
234
243
  /** @ignore */
235
- export type StacEndpoint = `${string}/catalog.json`;
244
+ export type StacEndpoint = string | {
245
+ endpoint: string;
246
+ api?: boolean;
247
+ rasterEndpoint?: string;
248
+ vectorEndpoint?: string;
249
+ };
236
250
  /** @group Eodash */
237
251
  export interface EodashFont {
238
252
  /**
@@ -363,4 +377,158 @@ export type EodashStyleJson = import("ol/style/flat").FlatStyleLike & {
363
377
  appendix?: string;
364
378
  }[];
365
379
  };
380
+ export type EodashRasterJSONForm = {
381
+ jsonform: Record<string, any>;
382
+ legend?: import("@eox/layercontrol/src/components/layer-config.js").EOxLayerControlLayerConfig["layerConfig"]["legend"];
383
+ };
384
+ /** @ignore */
366
385
  export type LayersEventBusKeys = "layers:updated" | "time:updated" | "process:updated" | "compareLayers:updated" | "compareTime:updated" | "compareProcess:updated";
386
+ /** @ignore */
387
+ export interface SearchParams {
388
+ /** Collection IDs to search within */
389
+ collections: string[];
390
+ /** Query parameters */
391
+ query: {
392
+ datetime?: {
393
+ eq?: string;
394
+ in?: string[];
395
+ };
396
+ geometry?: Record<string, any>;
397
+ };
398
+ /** Maximum number of results to return */
399
+ limit?: number;
400
+ }
401
+ export interface StacItemsAPIResponse {
402
+ type: "FeatureCollection";
403
+ features: import("stac-ts").StacItem[];
404
+ }
405
+ /** @ignore */
406
+ export interface Render {
407
+ /** REQUIRED. Array of asset keys referencing the assets that are used to make the rendering */
408
+ assets: string[];
409
+ /** Optional title of the rendering */
410
+ title?: string;
411
+ /** 2 dimensions array of delimited Min,Max range per band. If not provided, the data will not be rescaled. */
412
+ rescale?: number[][];
413
+ /** Nodata value to use for the referenced assets. */
414
+ nodata?: number | string;
415
+ /** Color map identifier that must be applied for a raster band */
416
+ colormap_name?: string;
417
+ /** Color map JSON definition that must be applied for a raster band */
418
+ colormap?: Record<string, unknown>;
419
+ /** Color formula that must be applied for a raster band */
420
+ color_formula?: string;
421
+ /** Resampling algorithm to apply to the referenced assets. See GDAL resampling algorithm for some examples. */
422
+ resampling?: string;
423
+ /** Band arithmetic formula to apply to the referenced assets. */
424
+ expression?: string;
425
+ /** Zoom levels range applicable for the visualization */
426
+ minmax_zoom?: number[];
427
+ }
428
+ /** @ignore */
429
+ export interface TitilerSTACParameters {
430
+ /** STAC Item URL. Required */
431
+ url: string;
432
+ /** asset names. */
433
+ assets?: string[];
434
+ /** rio-tiler's math expression with asset names (e.g Asset1_b1/Asset2_b1). */
435
+ expression?: string;
436
+ /** tell rio-tiler that each asset is a 1 band dataset, so expression Asset1/Asset2 can be passed. */
437
+ asset_as_band?: boolean;
438
+ /** Per asset band math expression (e.g Asset1|1,2,3). */
439
+ asset_bidx?: string[];
440
+ /** Overwrite internal Nodata value. */
441
+ nodata?: string | number;
442
+ /** Apply dataset internal Scale/Offset. */
443
+ unscale?: boolean;
444
+ /** RasterIO resampling algorithm. Defaults to nearest. */
445
+ resampling?: string;
446
+ /** WarpKernel resampling algorithm (only used when doing re-projection). Defaults to nearest. */
447
+ reproject?: string;
448
+ /** Comma (',') delimited Min,Max range (e.g rescale=0,1000, rescale=0,1000&rescale=0,3000&rescale=0,2000). */
449
+ rescale?: string[];
450
+ /** rio-color formula. */
451
+ color_formula?: string;
452
+ /** JSON encoded custom Colormap. */
453
+ colormap?: string;
454
+ /** rio-tiler color map name. */
455
+ colormap_name?: string;
456
+ /** Add mask to the output data. Default is True. */
457
+ return_mask?: boolean;
458
+ /** Buffer on each side of the given tile. It must be a multiple of 0.5. Output tilesize will be expanded to tilesize + 2 * buffer (e.g 0.5 = 257x257, 1.0 = 258x258). */
459
+ buffer?: number;
460
+ /** Padding to apply to each tile edge. Helps reduce resampling artefacts along edges. Defaults to 0. */
461
+ padding?: number;
462
+ /** Custom algorithm name (e.g hillshade). */
463
+ algorithm?: string;
464
+ /** JSON encoded algorithm parameters. */
465
+ algorithm_params?: string;
466
+ }
467
+ /**
468
+ * Generic GeoJSON Feature interface that can hold additional properties.
469
+ * @ignore
470
+ */
471
+ export interface GeoJsonFeature<T = Record<string, any>, G = GeoJSON.Geometry> {
472
+ type: "Feature";
473
+ geometry: G;
474
+ properties: T & Record<string, any>;
475
+ id?: string | number;
476
+ }
477
+ /**
478
+ * Generic GeoJSON FeatureCollection interface that can hold additional properties.
479
+ * @ignore
480
+ */
481
+ export interface GeoJsonFeatureCollection<T = Record<string, any>, G = GeoJSON.Geometry> {
482
+ type: "FeatureCollection";
483
+ features: Array<GeoJsonFeature<T, G>>;
484
+ properties?: T & Record<string, any>;
485
+ }
486
+ /**
487
+ * Partial STAC Authentication Extension v1.1.0
488
+ * Generated from https://stac-extensions.github.io/authentication/v1.1.0/schema.json
489
+ */
490
+ export interface AuthScheme {
491
+ /** Scheme keyword, e.g. http, s3, signedUrl, oauth2, apiKey, openIdConnect */
492
+ type: "http" | "s3" | "signedUrl" | "oauth2" | "apiKey" | "openIdConnect" | string;
493
+ description?: string;
494
+ name?: string;
495
+ in?: string;
496
+ scheme?: string;
497
+ flows?: Record<string, OAuth2Flow | SignedUrlFlow>;
498
+ openIdConnectUrl?: string;
499
+ }
500
+ export interface OAuth2Flow {
501
+ authorizationUrl?: string;
502
+ tokenUrl?: string;
503
+ refreshUrl?: string;
504
+ scopes: Record<string, string>;
505
+ }
506
+ /** Signed URL flow configuration */
507
+ export interface SignedUrlFlow {
508
+ authorizationApi: string;
509
+ method: string;
510
+ responseField?: string;
511
+ parameters?: Record<string, {
512
+ in: "query" | "header" | "body" | string;
513
+ required: boolean;
514
+ description?: string;
515
+ schema?: object;
516
+ }>;
517
+ }
518
+ export interface ApiKeyAuthScheme extends AuthScheme {
519
+ type: "apiKey";
520
+ name: string;
521
+ in: string;
522
+ }
523
+ import { StacItem, StacLink, StacAsset } from "stac-ts";
524
+ export interface StacAuthItem extends StacItem {
525
+ "auth:schemes": {
526
+ [key: string]: AuthScheme;
527
+ };
528
+ }
529
+ export interface StacAuthLink extends StacLink {
530
+ "auth:refs": [string];
531
+ }
532
+ export interface StacAuthAsset extends StacAsset {
533
+ "auth:refs": [string];
534
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Build the arithmetic expression interface
3
+ * @param {import("./index.js").BandsEditor} editor - The editor instance
4
+ * @param {Array<string>} colors - Array of color strings
5
+ * @param {Array<string>} bands - Array of band identifiers
6
+ * @param {Array<string>} bandTitles - Array of band titles
7
+ */
8
+ export function buildArithmeticInterface(editor: import("./index.js").BandsEditor, colors: Array<string>, bands: Array<string>, bandTitles: Array<string>): void;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Generate band colors for the editor
3
+ * @param {Record<string,any>} schema - JSON schema
4
+ * @param {string} format - Format type ("bands" or "bands-arithmetic")
5
+ * @returns {string[]} Array of color strings
6
+ */
7
+ export function generateBandColors(schema: Record<string, any>, format: string): string[];
8
+ /**
9
+ * Get color for a specific band
10
+ * @param {string} band - Band identifier
11
+ * @param {string[]} bands - Array of band identifiers
12
+ * @param {string[]} colors - Array of color strings
13
+ * @returns {string} Color string
14
+ */
15
+ export function getBandColor(band: string, bands: string[], colors: string[]): string;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Create band styles
3
+ * @param {string[]} bands - Array of band identifiers
4
+ * @param {string[]} colors - Array of color strings
5
+ * @param {string} additionalStyles - Additional CSS styles
6
+ * @returns {HTMLStyleElement} Style element
7
+ */
8
+ export function createBandStyles(bands: string[], colors: string[], additionalStyles?: string): HTMLStyleElement;
9
+ /**
10
+ * Create a draggable band element.
11
+ * @param {string} enumValue
12
+ * @param {string} title
13
+ */
14
+ export function createBandDiv(enumValue: string, title: string): HTMLDivElement;
15
+ /**
16
+ * Add draggable band elements
17
+ * @param {import("./index.js").BandsEditor} editor - The editor instance
18
+ * @param {Array<string>} bands - Array of band identifiers
19
+ * @param {Array<string>} bandTitles - Array of band titles
20
+ */
21
+ export function addDraggableBands(editor: import("./index.js").BandsEditor, bands: Array<string>, bandTitles: Array<string>): void;
22
+ /**
23
+ * Create unified styles for all slot types
24
+ * @param {string[]} bands - Array of band identifiers
25
+ * @param {string[]} colors - Array of color strings
26
+ * @returns {HTMLStyleElement} Style element with unified slot styles
27
+ */
28
+ export function createSlotStyles(bands: string[], colors: string[]): HTMLStyleElement;
29
+ /**
30
+ * Create a unified slot element for RGB or arithmetic use
31
+ * @param {string} identifier - RGB letter ("R", "G", "B") or variable name for arithmetic
32
+ * @param {(e: DragEvent) => void} onDrop - Drop handler function
33
+ * @returns {HTMLDivElement} Slot element
34
+ */
35
+ export function createSlot(identifier: string, onDrop: (e: DragEvent) => void): HTMLDivElement;
36
+ /**
37
+ * Fill a slot with a band
38
+ * @param {HTMLElement} slot - Slot element
39
+ * @param {string} enumValue - Band value
40
+ * @param {string} title - Band title
41
+ */
42
+ export function fillSlotWithBand(slot: HTMLElement, enumValue: string, title: string): void;
@@ -0,0 +1,20 @@
1
+ export class BandsEditor extends AbstractEditor {
2
+ /** @type {Record<string, HTMLElement[]>} */
3
+ variableSlots: Record<string, HTMLElement[]>;
4
+ /** @type {Record<string, string>} */
5
+ variableValues: Record<string, string>;
6
+ /** @type {string[]} */
7
+ bands: string[];
8
+ /** @type {string[]} */
9
+ bandTitles: string[];
10
+ /** @type {string[]} */
11
+ colors: string[];
12
+ control: HTMLDivElement | undefined;
13
+ }
14
+ export const bandsEditorInterface: {
15
+ type: string;
16
+ format: string;
17
+ func: typeof BandsEditor;
18
+ }[];
19
+ export default bandsEditorInterface;
20
+ import { AbstractEditor } from "@json-editor/json-editor/src/editor";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Build the traditional RGB bands interface
3
+ * @param {import("./index.js").BandsEditor} editor - The editor instance
4
+ * @param {Array<string>} colors - Array of color strings
5
+ * @param {Array<string>} bands - Array of band identifiers
6
+ * @param {Array<string>} bandTitles - Array of band titles
7
+ */
8
+ export function buildRGBInterface(editor: import("./index.js").BandsEditor, colors: Array<string>, bands: Array<string>, bandTitles: Array<string>): void;
9
+ /**
10
+ * Add RGB slots for traditional bands interface using unified slot system
11
+ * @param {import("./index.js").BandsEditor} editor - The editor instance
12
+ * @param {Array<string>} bands - Array of band identifiers
13
+ * @param {Array<string>} bandTitles - Array of band titles
14
+ */
15
+ export function addRGBSlots(editor: import("./index.js").BandsEditor, bands: Array<string>, bandTitles: Array<string>): void;
@@ -1,5 +1,5 @@
1
1
  export function loadFont(fontConfig: import("../types").Eodash["brand"]["font"], isWebComponent: boolean): Promise<string[]>;
2
2
  export function copyToClipBoard(text: string, showIcon: import("vue").Ref<boolean>): Promise<void>;
3
3
  export function setCollectionsPalette(colors: string[]): void;
4
- export function updateEodashCollections(eodashCollections: import("../eodashSTAC/EodashCollection").EodashCollection[], selectedStac: import("stac-ts").StacCollection, absoluteUrl: string, colorPalette: string[]): Promise<void>;
4
+ export function updateEodashCollections(eodashCollections: import("../eodashSTAC/EodashCollection").EodashCollection[], selectedStac: import("stac-ts").StacCollection, absoluteUrl: string, colorPalette: string[], isAPI: boolean, rasterEndpoint?: string | null): Promise<void>;
5
5
  export function getElement(selector: Element | string): HTMLElement | null | undefined;
@@ -1,4 +1,90 @@
1
- export function getBaseConfig(config: Partial<import("../core/client/types").Eodash>): import("../core/client/types").Eodash;
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
+ });
34
+ brand: {
35
+ noLayout?: boolean;
36
+ errorMessage?: string;
37
+ font?: import("../core/client/types").EodashFont | {
38
+ body: import("../core/client/types").EodashFont;
39
+ headers: import("../core/client/types").EodashFont;
40
+ };
41
+ name: string;
42
+ logo?: string;
43
+ theme?: import("vuetify").ThemeDefinition & {
44
+ collectionsPalette?: string[];
45
+ };
46
+ footerText?: string;
47
+ } & {
48
+ name: string;
49
+ font?: import("../core/client/types").EodashFont | {
50
+ body: import("../core/client/types").EodashFont;
51
+ headers: import("../core/client/types").EodashFont;
52
+ } | undefined;
53
+ theme?: ({
54
+ dark?: boolean | undefined;
55
+ colors?: {
56
+ [x: string]: string | undefined;
57
+ background?: string | undefined;
58
+ surface?: string | undefined;
59
+ primary?: string | undefined;
60
+ secondary?: string | undefined;
61
+ success?: string | undefined;
62
+ warning?: string | undefined;
63
+ error?: string | undefined;
64
+ info?: string | undefined;
65
+ 'on-background'?: string | undefined;
66
+ 'on-surface'?: string | undefined;
67
+ 'on-primary'?: string | undefined;
68
+ 'on-secondary'?: string | undefined;
69
+ 'on-success'?: string | undefined;
70
+ 'on-warning'?: string | undefined;
71
+ 'on-error'?: string | undefined;
72
+ 'on-info'?: string | undefined;
73
+ } | undefined;
74
+ variables?: {
75
+ [x: string]: string | number | undefined;
76
+ } | undefined;
77
+ } & {
78
+ collectionsPalette?: string[];
79
+ }) | undefined;
80
+ noLayout?: boolean | undefined;
81
+ errorMessage?: string | undefined;
82
+ logo?: string | undefined;
83
+ footerText?: string | undefined;
84
+ };
85
+ template: import("../core/client/types").Template;
86
+ templates: import("../core/client/types").MultiTemplates;
87
+ };
2
88
  export default baseConfig;
3
89
  /** @type {import("../core/client/types").Eodash} */
4
90
  declare const baseConfig: import("../core/client/types").Eodash;
@@ -156,31 +156,6 @@ declare const _default: {
156
156
  title?: undefined;
157
157
  layout?: undefined;
158
158
  widget?: undefined;
159
- } | {
160
- defineWidget: (selected: import("stac-ts").StacCollection | null) => {
161
- id: string;
162
- layout: {
163
- x: string;
164
- y: number;
165
- w: number;
166
- h: number;
167
- };
168
- title: string;
169
- type: "internal";
170
- widget: {
171
- name: "EodashMapBtns";
172
- properties: {
173
- compareIndicators: {
174
- fallbackTemplate: string;
175
- };
176
- };
177
- };
178
- } | null;
179
- id?: undefined;
180
- type?: undefined;
181
- title?: undefined;
182
- layout?: undefined;
183
- widget?: undefined;
184
159
  } | {
185
160
  defineWidget: (selectedSTAC: import("stac-ts").StacCollection | null) => {
186
161
  id: string;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  loading: {
3
- id: symbol;
3
+ id: string;
4
4
  type: "web-component";
5
5
  widget: {
6
6
  link: string;
@@ -20,6 +20,22 @@ declare const _default: {
20
20
  name: "EodashMap";
21
21
  properties: {
22
22
  enableCompare: true;
23
+ zoomToExtent: true;
24
+ btns: {
25
+ enableZoom: true;
26
+ enableExportMap: true;
27
+ enableChangeProjection: true;
28
+ enableCompareIndicators: {
29
+ fallbackTemplate: string;
30
+ };
31
+ enableBackToPOIs: true;
32
+ enableSearch: true;
33
+ };
34
+ btnsPosition: {
35
+ x: string;
36
+ y: number;
37
+ gap: number;
38
+ };
23
39
  };
24
40
  };
25
41
  };
@@ -106,26 +122,6 @@ declare const _default: {
106
122
  title?: undefined;
107
123
  layout?: undefined;
108
124
  widget?: undefined;
109
- } | {
110
- defineWidget: (selected: import("stac-ts").StacCollection | null) => {
111
- id: string;
112
- layout: {
113
- x: string;
114
- y: number;
115
- w: number;
116
- h: number;
117
- };
118
- title: string;
119
- type: "internal";
120
- widget: {
121
- name: "EodashMapBtns";
122
- };
123
- } | null;
124
- id?: undefined;
125
- type?: undefined;
126
- title?: undefined;
127
- layout?: undefined;
128
- widget?: undefined;
129
125
  } | {
130
126
  defineWidget: (selectedSTAC: import("stac-ts").StacCollection | null) => false | {
131
127
  id: string;
@@ -0,0 +1,67 @@
1
+ declare const _default: {
2
+ gap: number;
3
+ loading: {
4
+ id: string;
5
+ type: "web-component";
6
+ widget: {
7
+ link: string;
8
+ tagName: "l-mirage";
9
+ properties: {
10
+ class: string;
11
+ size: string;
12
+ speed: string;
13
+ color: string;
14
+ };
15
+ };
16
+ };
17
+ background: {
18
+ id: string;
19
+ type: "internal";
20
+ widget: {
21
+ name: "EodashMap";
22
+ properties: {
23
+ enableCompare: true;
24
+ btns: {
25
+ enableZoom: true;
26
+ enableExportMap: true;
27
+ enableChangeProjection: true;
28
+ enableCompareIndicators: {
29
+ fallbackTemplate: string;
30
+ itemFilterConfig: {
31
+ imageProperty: string;
32
+ };
33
+ };
34
+ enableSearch: true;
35
+ };
36
+ };
37
+ };
38
+ };
39
+ widgets: ({
40
+ id: string;
41
+ type: "internal";
42
+ title: string;
43
+ layout: {
44
+ x: string;
45
+ y: number;
46
+ w: string;
47
+ h: number;
48
+ };
49
+ widget: {
50
+ name: "EodashLayerControl";
51
+ };
52
+ } | {
53
+ id: string;
54
+ title: string;
55
+ type: "internal";
56
+ layout: {
57
+ x: number;
58
+ y: number;
59
+ w: string;
60
+ h: number;
61
+ };
62
+ widget: {
63
+ name: "EodashItemCatalog";
64
+ };
65
+ })[];
66
+ };
67
+ export default _default;
@@ -1,4 +1,4 @@
1
- export { default as light } from "./light";
1
+ export { default as lite } from "./lite";
2
2
  export { default as expert } from "./expert";
3
3
  export { default as compare } from "./compare";
4
4
  export { getBaseConfig };
@@ -21,6 +21,15 @@ declare const _default: {
21
21
  name: "EodashMap";
22
22
  properties: {
23
23
  enableCompare: true;
24
+ enableCursorCoordinates: false;
25
+ enableScaleLine: false;
26
+ btns: {
27
+ enableExportMap: false;
28
+ enableChangeProjection: false;
29
+ enableCompareIndicators: false;
30
+ enableBackToPOIs: false;
31
+ enableSearch: true;
32
+ };
24
33
  };
25
34
  };
26
35
  };