@eodash/eodash 5.2.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 (119) hide show
  1. package/core/client/components/DashboardLayout.vue +0 -1
  2. package/core/client/composables/index.js +53 -59
  3. package/core/client/eodashSTAC/EodashCollection.js +196 -94
  4. package/core/client/eodashSTAC/auth.js +86 -0
  5. package/core/client/eodashSTAC/createLayers.js +204 -4
  6. package/core/client/eodashSTAC/helpers.js +258 -58
  7. package/core/client/eodashSTAC/parquet.js +0 -13
  8. package/core/client/eodashSTAC/triggers.js +1 -1
  9. package/core/client/store/actions.js +14 -0
  10. package/core/client/store/stac.js +46 -8
  11. package/core/client/store/states.js +6 -0
  12. package/core/client/types.ts +206 -3
  13. package/core/client/utils/bands-editor/arithmetic.js +144 -0
  14. package/core/client/utils/bands-editor/colors.js +36 -0
  15. package/core/client/utils/bands-editor/dom.js +196 -0
  16. package/core/client/utils/bands-editor/exampleSchema.json +1320 -0
  17. package/core/client/utils/bands-editor/index.js +68 -0
  18. package/core/client/utils/bands-editor/rgb.js +102 -0
  19. package/core/client/utils/index.js +5 -2
  20. package/core/client/views/Dashboard.vue +1 -1
  21. package/core/client/vite-env.d.ts +122 -0
  22. package/dist/client/{DashboardLayout-Dq9Kfe6O.js → DashboardLayout-Cq15p4TH.js} +4 -5
  23. package/dist/client/{DynamicWebComponent-DCBMXskE.js → DynamicWebComponent-Cv-fPRG1.js} +1 -1
  24. package/dist/client/{EodashDatePicker-DtngxU6s.js → EodashDatePicker-CPlJwEIO.js} +20 -22
  25. package/dist/client/{EodashItemFilter-ClQebJQt.js → EodashItemFilter-Ydebgbjj.js} +46 -31
  26. package/dist/client/EodashLayerControl-COhrkNEs.js +1517 -0
  27. package/dist/client/{EodashLayoutSwitcher-DQ8SfVDd.js → EodashLayoutSwitcher-pnKhTRZV.js} +4 -4
  28. package/dist/client/EodashMapBtns-Cj0Fx119.js +301 -0
  29. package/dist/client/{EodashStacInfo-Dt1nF06x.js → EodashStacInfo-Dadkg_Nj.js} +1 -1
  30. package/dist/client/EodashTimeSlider-CpoHX0S7.js +53 -0
  31. package/dist/client/{EodashTools-DV5ykmWc.js → EodashTools-UGBG7KC9.js} +10 -7
  32. package/dist/client/{ExportState-B6zZQUmE.js → ExportState-GtJkAqeZ.js} +145 -120
  33. package/dist/client/{Footer-DNhXs8k6.js → Footer-D3ZPG5c4.js} +1 -1
  34. package/dist/client/{Header-BjhN5JY4.js → Header-z6AK-wpN.js} +2 -2
  35. package/dist/client/MobileLayout-BXNsNftb.js +118 -0
  36. package/dist/client/{PopUp-CgpvNr3o.js → PopUp-BbQdjENV.js} +79 -43
  37. package/dist/client/{ProcessList-vecpxThi.js → ProcessList-C6VsdsYI.js} +5 -6
  38. package/dist/client/{VImg-CETuikH2.js → VImg-CxaMSB99.js} +6 -3
  39. package/dist/client/{VMain-Ci9DyaGU.js → VMain-Ds7yw0wj.js} +1 -1
  40. package/dist/client/{VTooltip-J4ac48X7.js → VTooltip-Cze6CEVh.js} +2 -2
  41. package/dist/client/{WidgetsContainer-CCML4TyV.js → WidgetsContainer-D66bj-JJ.js} +1 -1
  42. package/dist/client/asWebComponent-CWbNRdf9.js +8895 -0
  43. package/dist/client/{async-B7jIrM53.js → async-BA7oWCMX.js} +2 -2
  44. package/dist/client/easing-CH0-9wR8.js +35 -0
  45. package/dist/client/eo-dash.js +1 -1
  46. package/dist/client/{forwardRefs-BQclvjMq.js → forwardRefs-BUfxOIo-.js} +58 -45
  47. package/dist/client/{handling-BS24aG1q.js → handling-DlNTtKB-.js} +12 -6
  48. package/dist/client/{helpers-wXK7Ywio.js → helpers-CtE0W7iu.js} +572 -277
  49. package/dist/client/{index-4UCzZi8B.js → index-CeEZIjO6.js} +26 -13
  50. package/dist/client/{index-B2XpdgR6.js → index-CsKbRDeN.js} +63 -36
  51. package/dist/client/{index-9KR-G20t.js → index-D4_NRKrf.js} +2 -2
  52. package/dist/client/index-DeECc3lV.js +571 -0
  53. package/dist/client/templates.js +82 -15
  54. package/dist/client/{transition-yBii4fu6.js → transition-Byvp3L6Y.js} +1 -1
  55. package/dist/node/cli.js +6 -6
  56. package/dist/types/core/client/eodashSTAC/EodashCollection.d.ts +24 -10
  57. package/dist/types/core/client/eodashSTAC/auth.d.ts +7 -0
  58. package/dist/types/core/client/eodashSTAC/createLayers.d.ts +15 -3
  59. package/dist/types/core/client/eodashSTAC/helpers.d.ts +46 -15
  60. package/dist/types/core/client/plugins/vuetify.d.ts +14 -14
  61. package/dist/types/core/client/store/actions.d.ts +2 -0
  62. package/dist/types/core/client/store/stac.d.ts +16 -7
  63. package/dist/types/core/client/store/states.d.ts +4 -0
  64. package/dist/types/core/client/types.d.ts +170 -2
  65. package/dist/types/core/client/utils/bands-editor/arithmetic.d.ts +8 -0
  66. package/dist/types/core/client/utils/bands-editor/colors.d.ts +15 -0
  67. package/dist/types/core/client/utils/bands-editor/dom.d.ts +42 -0
  68. package/dist/types/core/client/utils/bands-editor/index.d.ts +20 -0
  69. package/dist/types/core/client/utils/bands-editor/rgb.d.ts +15 -0
  70. package/dist/types/core/client/utils/index.d.ts +1 -1
  71. package/dist/types/templates/baseConfig.d.ts +87 -1
  72. package/dist/types/templates/expert.d.ts +6 -6
  73. package/dist/types/templates/explore.d.ts +67 -0
  74. package/dist/types/templates/index.d.ts +1 -1
  75. package/dist/types/templates/{light.d.ts → lite.d.ts} +5 -5
  76. package/dist/types/widgets/EodashItemCatalog/index.vue.d.ts +21 -0
  77. package/dist/types/widgets/EodashItemCatalog/methods/filters.d.ts +49 -0
  78. package/dist/types/widgets/EodashItemCatalog/methods/handlers.d.ts +4 -0
  79. package/dist/types/widgets/EodashItemCatalog/methods/map.d.ts +12 -0
  80. package/dist/types/widgets/EodashItemCatalog/types.d.ts +14 -0
  81. package/dist/types/widgets/EodashMap/EodashMapBtns.vue.d.ts +2 -0
  82. package/dist/types/widgets/EodashMap/index.vue.d.ts +108 -2
  83. package/dist/types/widgets/EodashMap/methods/create-layers-config.d.ts +1 -1
  84. package/dist/types/widgets/EodashMap/methods/index.d.ts +1 -1
  85. package/dist/types/widgets/EodashProcess/methods/custom-endpoints/layers/eoxhub-workspaces-endpoint.d.ts +1 -1
  86. package/dist/types/widgets/EodashTimeSlider.vue.d.ts +7 -0
  87. package/dist/types/widgets/EodashTools.vue.d.ts +10 -10
  88. package/dist/types/widgets/ExportState.vue.d.ts +2 -0
  89. package/package.json +28 -27
  90. package/templates/baseConfig.js +10 -5
  91. package/templates/compare.js +2 -2
  92. package/templates/expert.js +5 -5
  93. package/templates/explore.js +62 -0
  94. package/templates/index.js +1 -1
  95. package/templates/{light.js → lite.js} +1 -1
  96. package/widgets/EodashDatePicker.vue +15 -18
  97. package/widgets/EodashItemCatalog/index.vue +161 -0
  98. package/widgets/EodashItemCatalog/methods/filters.js +216 -0
  99. package/widgets/EodashItemCatalog/methods/handlers.js +50 -0
  100. package/widgets/EodashItemCatalog/methods/map.js +144 -0
  101. package/widgets/EodashItemCatalog/types.ts +15 -0
  102. package/widgets/EodashItemFilter.vue +35 -28
  103. package/widgets/EodashLayerControl.vue +10 -6
  104. package/widgets/EodashLayoutSwitcher.vue +1 -1
  105. package/widgets/EodashMap/EodashMapBtns.vue +18 -9
  106. package/widgets/EodashMap/index.vue +22 -12
  107. package/widgets/EodashMap/methods/create-layers-config.js +9 -6
  108. package/widgets/EodashMap/methods/index.js +27 -13
  109. package/widgets/EodashProcess/index.vue +17 -1
  110. package/widgets/EodashProcess/methods/custom-endpoints/chart/veda-endpoint.js +9 -3
  111. package/widgets/EodashProcess/methods/handling.js +2 -0
  112. package/widgets/EodashProcess/methods/outputs.js +1 -0
  113. package/widgets/EodashTimeSlider.vue +40 -0
  114. package/widgets/EodashTools.vue +7 -3
  115. package/widgets/ExportState.vue +53 -22
  116. package/dist/client/EodashLayerControl-BLBds28C.js +0 -154
  117. package/dist/client/EodashMapBtns-B89_YBDw.js +0 -326
  118. package/dist/client/MobileLayout-JelB6w1G.js +0 -118
  119. package/dist/client/asWebComponent-ZyEzWOOf.js +0 -19092
@@ -1,5 +1,5 @@
1
1
  import { mdiViewDashboardVariant, mdiViewDashboard } from '@mdi/js';
2
- import { H as includesProcess } from './helpers-wXK7Ywio.js';
2
+ import { K as includesProcess } from './helpers-CtE0W7iu.js';
3
3
 
4
4
  /**
5
5
  * Special values that tell deepmerge to perform a certain action.
@@ -375,7 +375,7 @@ function mergeOthersInto(mut_target, values, utils, meta) {
375
375
  }
376
376
 
377
377
  /** @type {import("@/types").Template} */
378
- const light = {
378
+ const lite = {
379
379
  gap: 16,
380
380
  loading: {
381
381
  id: Symbol(),
@@ -416,7 +416,7 @@ const light = {
416
416
  id: "tools-light",
417
417
  type: "internal",
418
418
  title: "Tools",
419
- layout: { x: 0, y: 0, w: "3/3/2", h: 1 },
419
+ layout: { x: 0, y: 0, w: "3/3/2", h: 2 },
420
420
  widget: {
421
421
  name: "EodashTools",
422
422
  properties: {
@@ -515,7 +515,7 @@ const light = {
515
515
  /** @type {import("@/types").Template} */
516
516
  const expert = {
517
517
  loading: {
518
- id: Symbol(),
518
+ id: "loading",
519
519
  type: "web-component",
520
520
  widget: {
521
521
  // https://uiball.com/ldrs/
@@ -550,8 +550,8 @@ const expert = {
550
550
  btnsPosition: {
551
551
  x: "12/9/9",
552
552
  y: 1,
553
- gap: 16
554
- }
553
+ gap: 16,
554
+ },
555
555
  },
556
556
  },
557
557
  },
@@ -560,11 +560,11 @@ const expert = {
560
560
  id: "Tools",
561
561
  type: "internal",
562
562
  title: "Tools",
563
- layout: { x: 0, y: 0, w: "3/3/2", h: 1 },
563
+ layout: { x: 0, y: 0, w: "3/3/2", h: 2 },
564
564
  widget: {
565
565
  name: "EodashTools",
566
566
  properties: {
567
- layoutTarget: "light",
567
+ layoutTarget: "lite",
568
568
  layoutIcon: mdiViewDashboard,
569
569
  itemFilterConfig: {
570
570
  resultType: "cards",
@@ -667,7 +667,7 @@ const compare = {
667
667
  id: "Tools",
668
668
  type: "internal",
669
669
  title: "Tools",
670
- layout: { x: 0, y: 0, w: "3/3/2", h: 1 },
670
+ layout: { x: 0, y: 0, w: "3/3/2", h: 2 },
671
671
  widget: {
672
672
  name: "EodashTools",
673
673
  properties: {
@@ -687,7 +687,7 @@ const compare = {
687
687
  id: "CompareTools",
688
688
  type: "internal",
689
689
  title: "Tools",
690
- layout: { x: "9/9/10", y: 0, w: "3/3/2", h: 1 },
690
+ layout: { x: "9/9/10", y: 0, w: "3/3/2", h: 2 },
691
691
  widget: {
692
692
  name: "EodashTools",
693
693
  properties: {
@@ -775,14 +775,80 @@ const compare = {
775
775
  ],
776
776
  };
777
777
 
778
+ // import { includesProcess } from "@/store/actions";
779
+ /** @type {import("@/types").Template} */
780
+ const explore = {
781
+ gap: 16,
782
+ loading: {
783
+ id: "loading",
784
+ type: "web-component",
785
+ widget: {
786
+ // https://uiball.com/ldrs/
787
+ link: "https://cdn.jsdelivr.net/npm/ldrs/dist/auto/mirage.js",
788
+ tagName: "l-mirage",
789
+ properties: {
790
+ class: "align-self-center justify-self-center",
791
+ size: "120",
792
+ speed: "2.5",
793
+ color: "#004170",
794
+ },
795
+ },
796
+ },
797
+ background: {
798
+ id: "background-map",
799
+ type: "internal",
800
+ widget: {
801
+ name: "EodashMap",
802
+ properties: {
803
+ enableCompare: true,
804
+ btns: {
805
+ enableZoom: true,
806
+ enableExportMap: true,
807
+ enableChangeProjection: true,
808
+ enableCompareIndicators: {
809
+ fallbackTemplate: "explore",
810
+ itemFilterConfig: {
811
+ imageProperty: "assets.thumbnail.href",
812
+ },
813
+ },
814
+ enableSearch: true,
815
+ },
816
+ },
817
+ },
818
+ },
819
+ widgets: [
820
+ {
821
+ id: "Layercontrol",
822
+ type: "internal",
823
+ title: "Layers",
824
+ layout: { x: "9/9/10", y: 0, w: "3/3/2", h: 12 },
825
+ widget: {
826
+ name: "EodashLayerControl",
827
+ },
828
+ },
829
+ {
830
+ id: "ItemCatalog",
831
+ title: "Catalog",
832
+ type: "internal",
833
+ layout: { x: 0, y: 0, w: "3/3/2", h: 12 },
834
+ widget: {
835
+ name: "EodashItemCatalog",
836
+ },
837
+ },
838
+ ],
839
+ };
840
+
778
841
  /** @type {import("@/types").Eodash} */
779
842
  const baseConfig = {
780
843
  id: "demo",
781
844
  options: {
782
845
  // useSubCode: true,
783
846
  },
784
- stacEndpoint:
785
- "https://esa-eodashboards.github.io/eodashboard-catalog/trilateral/catalog.json",
847
+ stacEndpoint: {
848
+ endpoint:
849
+ "https://esa-eodashboards.github.io/eodashboard-catalog/trilateral/catalog.json",
850
+ api: false,
851
+ },
786
852
  brand: {
787
853
  noLayout: true,
788
854
  name: "Demo",
@@ -822,14 +888,15 @@ const baseConfig = {
822
888
  footerText: "Demo configuration of eodash client",
823
889
  },
824
890
  templates: {
825
- light,
891
+ lite,
826
892
  expert,
827
893
  compare,
894
+ explore,
828
895
  },
829
896
  };
830
897
 
831
898
  /**
832
- * @param {Partial<import("@/types").Eodash>} config
899
+ * @param {import("vega-lite").DeepPartial<import("@/types").Eodash>} config
833
900
  */
834
901
  const getBaseConfig = (config) => {
835
902
  const merged = /** @type {import("@/types").Eodash} */ ({});
@@ -837,4 +904,4 @@ const getBaseConfig = (config) => {
837
904
  return merged;
838
905
  };
839
906
 
840
- export { compare, getBaseConfig as default, expert, getBaseConfig, light };
907
+ export { compare, getBaseConfig as default, expert, getBaseConfig, lite };
@@ -1,5 +1,5 @@
1
1
  import { mergeProps, h, TransitionGroup, Transition } from 'vue';
2
- import { p as propsFactory, X as isObject, aD as onlyDefinedProps } from './asWebComponent-ZyEzWOOf.js';
2
+ import { p as propsFactory, Y as isObject, aG as onlyDefinedProps } from './asWebComponent-CWbNRdf9.js';
3
3
 
4
4
  // Utilities
5
5
  const makeTransitionProps = propsFactory({
package/dist/node/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{createLogger as F,defineConfig as C,searchForWorkspaceRoot as W,mergeConfig as U,preview as A,createServer as O,build as L}from"vite";import{readFileSync as P,existsSync as v}from"fs";import s from"path";import{Command as $}from"commander";import{fileURLToPath as H}from"url";import{readFile as I,writeFile as T,rm as R,cp as V}from"fs/promises";import J from"@vitejs/plugin-vue";import M,{transformAssetUrls as B}from"vite-plugin-vuetify";import{config as G}from"dotenv";const y=new $("eodash"),u=x(),c=x(process.cwd());JSON.parse(P(s.join(c,"package.json"),"utf-8"));const S=JSON.parse(P(s.join(u,"package.json"),"utf-8"))??{},Y=["commander","vite","@vitejs/plugin-vue","vite-plugin-vuetify","axios","dotenv"],z=Object.keys(S?.dependencies).filter(e=>!Y.includes(e));y.version(S.version,"-v, --version","output the current version"),y.allowExcessArguments().option("--publicDir <path>","path to statically served assets folder").option("--no-publicDir","stop serving static assets").option("--outDir <path>","minified output folder").option("-e, --entryPoint <path>","file exporting `createEodash`").option("-w, --widgets <path>","folder that contains vue components as internal widgets").option("--cacheDir <path>","cache folder").option("-r, --runtime <path>","file exporting eodash client runtime config").option("-b, --base <path>","base public path").option("-p, --port <port>","serving port").option("-o, --open","open default browser when the server starts").option("-c, --config <path>","path to eodash server and build configuration file").option("--host [IP address]","specify which IP addresses the server should listen on").option("-l, --lib","builds eodash as a web component library").option("--no-lib","builds eodash as an SPA").option("--no-host","do not expose server to the network").parse(process.argv);const i=await X(y.opts(),process.argv?.[2]),K=i.publicDir?s.resolve(c,i.publicDir):s.join(c,"./public"),b=s.join(c,"/src"),f=i.runtime?s.resolve(c,i.runtime):s.join(b,"./runtime.js"),m=i.entryPoint==="false"?!1:i.entryPoint?s.resolve(c,i.entryPoint):s.join(b,"/main.js"),D=i.widgets?s.resolve(c,i.widgets):s.join(b,"widgets"),E=s.join(c,"/.eodash"),w=i.outDir?s.resolve(c,i.outDir):s.join(E,"/dist"),Q=i.cacheDir?s.resolve(c,i.cacheDir):s.join(E,"cache"),j=F(void 0,{prefix:"[eodash]"});async function X(e,n){let r=e.config?s.resolve(c,e.config):s.join(c,"eodash.config.js"),t={};return v(r)?t=await import(r).then(o=>o.default instanceof Function?o.default():o.default).catch(o=>{console.error(o)}):r=null,{base:e.base??t?.base,port:Number(e.port??t?.[n]?.port),host:e.host??t?.[n]?.host,open:e.open??t?.[n]?.open,cacheDir:e.cacheDir??t?.cacheDir,entryPoint:e.entryPoint??t?.entryPoint,outDir:e.outDir??t?.outDir,publicDir:e.publicDir??t?.publicDir,runtime:e.runtime??t?.runtime,widgets:e.widgets??t?.widgets,lib:e.lib??t?.lib,vite:t.vite}}function x(e=import.meta.dirname??s.dirname(H(import.meta.url))){if(e?.split("/").length)return v(s.resolve(e,"package.json"))?e:x(s.resolve(e,".."));throw new Error("no package root found from "+e)}const k=`
2
+ import{createLogger as F,defineConfig as C,searchForWorkspaceRoot as W,mergeConfig as O,preview as U,createServer as A,build as L}from"vite";import{readFileSync as P,existsSync as v}from"fs";import t from"path";import{Command as $}from"commander";import{fileURLToPath as H}from"url";import{readFile as I,writeFile as T,rm as R,cp as V}from"fs/promises";import J from"@vitejs/plugin-vue";import M,{transformAssetUrls as B}from"vite-plugin-vuetify";import{config as G}from"dotenv";const y=new $("eodash"),c=x(),l=x(process.cwd());JSON.parse(P(t.join(l,"package.json"),"utf-8"));const S=JSON.parse(P(t.join(c,"package.json"),"utf-8"))??{},Y=["commander","vite","@vitejs/plugin-vue","vite-plugin-vuetify","axios","dotenv"],z=Object.keys(S?.dependencies).filter(e=>!Y.includes(e));y.version(S.version,"-v, --version","output the current version"),y.allowExcessArguments().option("--publicDir <path>","path to statically served assets folder").option("--no-publicDir","stop serving static assets").option("--outDir <path>","minified output folder").option("-e, --entryPoint <path>","file exporting `createEodash`").option("-w, --widgets <path>","folder that contains vue components as internal widgets").option("--cacheDir <path>","cache folder").option("-r, --runtime <path>","file exporting eodash client runtime config").option("-b, --base <path>","base public path").option("-p, --port <port>","serving port").option("-o, --open","open default browser when the server starts").option("-c, --config <path>","path to eodash server and build configuration file").option("--host [IP address]","specify which IP addresses the server should listen on").option("-l, --lib","builds eodash as a web component library").option("--no-lib","builds eodash as an SPA").option("--no-host","do not expose server to the network").parse(process.argv);const s=await X(y.opts(),process.argv?.[2]),K=s.publicDir?t.resolve(l,s.publicDir):t.join(l,"./public"),b=t.join(l,"/src"),f=s.runtime?t.resolve(l,s.runtime):t.join(b,"./runtime.js"),m=s.entryPoint==="false"?!1:s.entryPoint?t.resolve(l,s.entryPoint):t.join(b,"/main.js"),D=s.widgets?t.resolve(l,s.widgets):t.join(b,"widgets"),E=t.join(l,"/.eodash"),w=s.outDir?t.resolve(l,s.outDir):t.join(E,"/dist"),Q=s.cacheDir?t.resolve(l,s.cacheDir):t.join(E,"cache"),j=F(void 0,{prefix:"[eodash]"});async function X(e,n){let r=e.config?t.resolve(l,e.config):t.join(l,"eodash.config.js"),o={};return v(r)?o=await import(r).then(i=>i.default instanceof Function?i.default():i.default).catch(i=>{console.error(i)}):r=null,{base:e.base??o?.base,port:Number(e.port??o?.[n]?.port),host:e.host??o?.[n]?.host,open:e.open??o?.[n]?.open,cacheDir:e.cacheDir??o?.cacheDir,entryPoint:e.entryPoint??o?.entryPoint,outDir:e.outDir??o?.outDir,publicDir:e.publicDir??o?.publicDir,runtime:e.runtime??o?.runtime,widgets:e.widgets??o?.widgets,lib:e.lib??o?.lib,vite:o.vite}}function x(e=import.meta.dirname??t.dirname(H(import.meta.url))){if(e?.split("/").length)return v(t.resolve(e,"package.json"))?e:x(t.resolve(e,".."));throw new Error("no package root found from "+e)}const k=`
3
3
  <!DOCTYPE html>
4
4
  <html lang="en" style="overflow: hidden">
5
5
 
@@ -20,11 +20,11 @@ import{createLogger as F,defineConfig as C,searchForWorkspaceRoot as W,mergeConf
20
20
  </head>
21
21
 
22
22
  <body>
23
- ${i.lib?`<eo-dash style="height:100%;"/>
24
- <script type="module" src="${s.resolve(`/@fs/${u}`,"core/client/asWebComponent.js")}"><\/script>
23
+ ${s.lib?`<eo-dash style="height:100%;"/>
24
+ <script type="module" src="${t.resolve(`/@fs/${c}`,"core/client/asWebComponent.js")}"><\/script>
25
25
  `:` <div id="app" style="height:100%;" />
26
- <script type="module" src="${s.resolve(`/@fs/${u}`,"core/client/render.js")}"><\/script>
26
+ <script type="module" src="${t.resolve(`/@fs/${c}`,"core/client/render.js")}"><\/script>
27
27
  `}
28
28
  </body>
29
- </html>`;function Z(e={customElementFileName:"asWebComponent.js",stylePlaceHolder:"__VUE_CE_STYLES__"}){const{customElementFileName:n,stylePlaceHolder:r}=e;return{name:"vite-plugin-vue-custom-element-style-injector",enforce:"post",async transform(t,o){if(this.environment.mode!=="build")return;if(s.basename(o)===n){let l=t;return/defineCustomElement\s*\([^{]*\{[\s\S]*?styles\s*:/.test(t)||(l=t.replace(/(defineCustomElement\s*\(\s*[^,{]*,?\s*\{)/,`$1
30
- styles: ${r},`)),{code:l,map:null}}},generateBundle(t,o){let a="",l=[];const p=[];for(const d in o){const h=o[d];if(h.type==="chunk"&&h.code.includes(r)){a=d;break}}for(const d in o){const h=o[d];if(q(d)&&h.type==="asset"){let g=h.source.toString();g=g.replaceAll(":root",":host"),l.push(g),p.push(d)}}o[a].code=o[a].code.replace(r,JSON.stringify(l)),p.forEach(d=>{delete o[d]})}}}function q(e){return/\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/.test(e)}const _=C(async({mode:e,command:n})=>{const r=["VITE_","EODASH_"];return{base:i.base??"",cacheDir:Q,plugins:[J({features:{customElement:n==="build"&&i.lib},template:{transformAssetUrls:B,compilerOptions:{isCustomElement:t=>!t.includes("v-")&&t.includes("-")}}}),M({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:ee},i.lib&&Z()],customLogger:j,define:{__userConfigExist__:!!m,...n==="build"&&i.lib?{"process.env":"import.meta.env"}:{"process.env":{},...te(r)}},envPrefix:r,resolve:{alias:{"@":s.join(u,"core/client"),"^":s.join(u,"widgets"),"user:widgets":D,...m&&{"user:config":m}},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{allowedHosts:!0,warmup:{clientFiles:[s.join(u,"core/client/**"),m]},port:i.port??3e3,open:i.open,fs:{allow:[W(process.cwd())]},host:i.host},root:u,...e==="development"&&{optimizeDeps:{include:["webfontloader","vuetify","vue","pinia","stac-js","urijs","loglevel","vega","vega-lite","vega-embed","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/drawtools","@eox/chart","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/timecontrol","@eox/stacinfo","color-legend-element","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/timecontrol","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/stacinfo","@eox/elements-utils","@eox/geosearch"],noDiscovery:!0}},publicDir:i.publicDir===!1?!1:K,build:{outDir:w,emptyOutDir:!0,target:"esnext",cssMinify:!0,...i.lib&&n==="build"&&{minify:!1,lib:{entry:s.join(u,"core/client/asWebComponent.js"),fileName:(t,o)=>o==="asWebComponent"?"eo-dash.js":"templates.js",cssFileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:{asWebComponent:s.join(u,"core/client/asWebComponent.js"),templates:s.join(u,"templates/index.js")},external:t=>{const o=t.includes("vuetify")||t.endsWith(".css")||t.endsWith("styles"),a=z.some(p=>t.startsWith(p));return!o&&a||t==="user:config"&&!m},treeshake:{moduleSideEffects:!0,preset:"smallest"}}}}}}),N=C(async e=>i.vite?U(await _(e),i.vite):_(e));async function ee(e){const n=[f,s.join(D,"**/*.vue")];m&&n.push(m),e.watcher.add(n);let r="";const t=j.info;return j.info=(o,a)=>{if(o.includes("core")){const l=o.split("/")[0].split(" ");l.pop();const p=l.join(" ")+" "+r.replace(c,"");return t(p,a)}return t(o,a)},e.watcher.on("change",async o=>{r=o,o===f&&e.ws.send({type:"full-reload",path:o})}),()=>{e.middlewares.use(async(o,a,l)=>{if(o.originalUrl==="/@fs/config.js"||o.originalUrl==="/config.js"){a.statusCode=200,a.setHeader("Content-Type","text/javascript"),v(f)&&await I(f).then(p=>{a.write(p)}),a.end();return}if(o.url?.endsWith(".html")){a.statusCode=200,a.setHeader("Content-Type","text/html");const p=await e.transformIndexHtml(o.url,k,o.originalUrl);a.end(p);return}l()})}}function te(e){G({quiet:!0});const n={};for(const r in process.env)e.some(t=>r.startsWith(t))&&(n["process.env."+r]=`"${process.env[r]}"`);return n}const oe=async()=>{const e=await O(await N({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},se=async()=>{const e=async()=>{const n=await N({mode:"production",command:"build"});await L(n),v(f)&&await V(f,s.join(w,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(i.lib)await e();else{const n=s.join(u,"/index.html");await T(n,k).then(async()=>{await e(),await R(n).catch(()=>{console.error("failed to remove index.html")})})}};async function ie(){(await A({root:c,base:i.base??"",preview:{port:isNaN(i.port)?8080:i.port,open:i.open,host:i.host},build:{outDir:w}})).printUrls()}const ne=process.argv?.[2];(async()=>{switch(ne){case"dev":await oe();break;case"build":await se();break;case"preview":await ie();break;default:console.error("command not found");break}})();
29
+ </html>`;function Z(e={customElementFileName:"asWebComponent.js",stylePlaceHolder:"__VUE_CE_STYLES__"}){const{customElementFileName:n,stylePlaceHolder:r}=e;return{name:"vite-plugin-vue-custom-element-style-injector",enforce:"post",async transform(o,i){if(this.environment.mode!=="build")return;if(t.basename(i)===n){let p=o;return/defineCustomElement\s*\([^{]*\{[\s\S]*?styles\s*:/.test(o)||(p=o.replace(/(defineCustomElement\s*\(\s*[^,{]*,?\s*\{)/,`$1
30
+ styles: ${r},`)),{code:p,map:null}}},generateBundle(o,i){let a="",p=[];const u=[];for(const d in i){const h=i[d];if(h.type==="chunk"&&h.code.includes(r)){a=d;break}}for(const d in i){const h=i[d];if(q(d)&&h.type==="asset"){let g=h.source.toString();g=g.replaceAll(":root",":host"),p.push(g),u.push(d)}}i[a].code=i[a].code.replace(r,JSON.stringify(p)),u.forEach(d=>{delete i[d]})}}}function q(e){return/\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/.test(e)}const _=C(async({mode:e,command:n})=>{const r=["VITE_","EODASH_"];return{base:s.base??"",cacheDir:Q,plugins:[J({features:{customElement:n==="build"&&s.lib},template:{transformAssetUrls:B,compilerOptions:{isCustomElement:o=>!o.includes("v-")&&o.includes("-")}}}),M({autoImport:!0}),e==="development"&&{name:"inject-html",configureServer:ee},s.lib&&Z()],customLogger:j,define:{__userConfigExist__:!!m,...n==="build"&&s.lib?{"process.env":"import.meta.env"}:{"process.env":{},...te(r)}},envPrefix:r,resolve:{alias:{"@":t.join(c,"core/client"),"^":t.join(c,"widgets"),"user:widgets":D,...m&&{"user:config":m}},extensions:[".js",".json",".jsx",".mjs",".ts",".tsx",".vue"]},server:{allowedHosts:!0,warmup:{clientFiles:[t.join(c,"core/client/**"),m]},port:s.port??3e3,open:s.open,fs:{allow:[W(process.cwd())]},host:s.host},root:c,...e==="development"&&{optimizeDeps:{include:["webfontloader","vuetify","vue","pinia","stac-js","urijs","loglevel","vega","vega-lite","vega-embed","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/drawtools","@eox/chart","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/timecontrol","@eox/stacinfo","color-legend-element","@eox/map","@eox/map/src/plugins/advancedLayersAndSources","@eox/layercontrol","@eox/timecontrol","@eox/jsonform","@eox/layout","@eox/itemfilter","@eox/stacinfo","@eox/elements-utils","@eox/geosearch","@eox/timeslider"],noDiscovery:!0}},publicDir:s.publicDir===!1?!1:K,build:{outDir:w,emptyOutDir:!0,target:"esnext",cssMinify:!0,...!s.lib&&n==="build"&&{manifest:!0,rollupOptions:{input:{main:t.join(c,"index.html"),templates:t.join(c,"templates/index.js")}}},...s.lib&&n==="build"&&{minify:!1,lib:{entry:t.join(c,"core/client/asWebComponent.js"),fileName:(o,i)=>i==="asWebComponent"?"eo-dash.js":"templates.js",cssFileName:"eo-dash",formats:["es"],name:"@eodash/eodash"},rollupOptions:{input:{asWebComponent:t.join(c,"core/client/asWebComponent.js"),templates:t.join(c,"templates/index.js")},external:o=>{const i=o.includes("vuetify")||o.endsWith(".css")||o.endsWith("styles"),a=z.some(u=>o.startsWith(u));return!i&&a||o==="user:config"&&!m},treeshake:{moduleSideEffects:!0,preset:"smallest"}}}}}}),N=C(async e=>s.vite?O(await _(e),s.vite):_(e));async function ee(e){const n=[f,t.join(D,"**/*.vue")];m&&n.push(m),e.watcher.add(n);let r="";const o=j.info;return j.info=(i,a)=>{if(i.includes("core")){const p=i.split("/")[0].split(" ");p.pop();const u=p.join(" ")+" "+r.replace(l,"");return o(u,a)}return o(i,a)},e.watcher.on("change",async i=>{r=i,i===f&&e.ws.send({type:"full-reload",path:i})}),()=>{e.middlewares.use(async(i,a,p)=>{if(i.originalUrl==="/@fs/config.js"||i.originalUrl==="/config.js"){a.statusCode=200,a.setHeader("Content-Type","text/javascript"),v(f)&&await I(f).then(u=>{a.write(u)}),a.end();return}if(i.url?.endsWith(".html")){a.statusCode=200,a.setHeader("Content-Type","text/html");const u=await e.transformIndexHtml(i.url,k,i.originalUrl);a.end(u);return}p()})}}function te(e){G({quiet:!0});const n={};for(const r in process.env)e.some(o=>r.startsWith(o))&&(n["process.env."+r]=`"${process.env[r]}"`);return n}const oe=async()=>{const e=await A(await N({mode:"development",command:"serve"}));await e.listen(),e.printUrls(),e.bindCLIShortcuts({print:!0})},ie=async()=>{const e=async()=>{const n=await N({mode:"production",command:"build"});await L(n),v(f)&&await V(f,t.join(w,"config.js"),{recursive:!0}).catch(r=>{console.error(r)})};if(s.lib)await e();else{const n=t.join(c,"/index.html");await T(n,k).then(async()=>{await e(),await R(n).catch(()=>{console.error("failed to remove index.html")})})}};async function se(){(await U({root:l,base:s.base??"",preview:{port:isNaN(s.port)?8080:s.port,open:s.open,host:s.host},build:{outDir:w}})).printUrls()}const ne=process.argv?.[2];(async()=>{switch(ne){case"dev":await oe();break;case"build":await ie();break;case"preview":await se();break;default:console.error("command not found");break}})();
@@ -10,7 +10,7 @@ export class EodashCollection {
10
10
  source: {
11
11
  type: string;
12
12
  url: string;
13
- format: string;
13
+ projection: string;
14
14
  attributions: unknown;
15
15
  };
16
16
  properties: {
@@ -28,7 +28,10 @@ export class EodashCollection {
28
28
  source: {
29
29
  type: string;
30
30
  url: string | undefined;
31
- format: string;
31
+ format: {
32
+ type: string;
33
+ dataProjection: string | undefined;
34
+ };
32
35
  attributions: {}[];
33
36
  };
34
37
  properties: {
@@ -93,8 +96,15 @@ export class EodashCollection {
93
96
  })[];
94
97
  interactions: import("@eox/map/src/types").EOxInteraction[];
95
98
  } | null;
96
- /** @param {string} collectionUrl */
97
- constructor(collectionUrl: string);
99
+ /**
100
+ * @param {string} collectionUrl
101
+ * @param {boolean} isAPI
102
+ * @param {string | null} rasterEndpoint
103
+ */
104
+ constructor(collectionUrl: string, isAPI?: boolean, rasterEndpoint?: string | null);
105
+ isAPI: boolean;
106
+ /** @type {string | null} */
107
+ rasterEndpoint: string | null;
98
108
  /**
99
109
  * @type {import("stac-ts").StacLink
100
110
  * | import("stac-ts").StacItem
@@ -106,10 +116,10 @@ export class EodashCollection {
106
116
  get collectionStac(): import("stac-ts").StacCollection | undefined;
107
117
  /**
108
118
  * @async
109
- * @param {import('stac-ts').StacLink | Date} [linkOrDate]
110
- * @returns
119
+ * @param {import("stac-ts").StacItem | import('stac-ts').StacLink | Date } [itemOrDate]
120
+ * @returns {Promise<Record<string,any>[]>} layers
111
121
  */
112
- createLayersJson: (linkOrDate?: import("stac-ts").StacLink | Date) => Promise<Record<string, any>[]>;
122
+ createLayersJson: (itemOrDate?: import("stac-ts").StacItem | import("stac-ts").StacLink | Date) => Promise<Record<string, any>[]>;
113
123
  /**
114
124
  * @param {import("stac-ts").StacItem} item
115
125
  * @param {string} itemUrl
@@ -122,16 +132,20 @@ export class EodashCollection {
122
132
  fetchCollection(): Promise<import("stac-ts").StacCollection>;
123
133
  /**
124
134
  * Returns all item links sorted by datetime ascendingly
135
+ * @param {boolean} [fields=false] if true, fetch items from API with only properties
136
+ * @param {boolean} [first] - if true, returns the first page of items only (for API collections)
137
+ * @returns {Promise<import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined>}
125
138
  */
126
- getItems(): import("stac-ts").StacLink[] | undefined;
127
- getDates(): Date[] | undefined;
139
+ getItems(fields?: boolean, first?: boolean): Promise<import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined>;
140
+ getDates(): Promise<Date[]>;
128
141
  getExtent(): Promise<import("stac-ts").Extents | undefined>;
129
142
  /**
130
143
  * Get closest Item Link from a certain date,
131
144
  * get the latest if no date provided
132
145
  * @param {Date} [date]
146
+ * @return {Promise<import("stac-ts").StacItem | import("stac-ts").StacLink | undefined>} item
133
147
  **/
134
- getItem(date?: Date): import("stac-ts").StacLink | undefined;
148
+ getItem(date?: Date): Promise<import("stac-ts").StacItem | import("stac-ts").StacLink | undefined>;
135
149
  getToolTipProperties(): Promise<{
136
150
  id: string;
137
151
  title?: string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generic handler for possible authentications schemes as defined in STAC authentication extension.
3
+ * @param {import("../types").StacAuthItem } item
4
+ * @param {import("../types").StacAuthLink | import("../types").StacAuthAsset} linkOrAsset
5
+ * @returns {string}
6
+ */
7
+ export function handleAuthenticationOfLink(item: import("../types").StacAuthItem, linkOrAsset: import("../types").StacAuthLink | import("../types").StacAuthAsset): string;
@@ -15,7 +15,7 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
15
15
  source: {
16
16
  type: string;
17
17
  url: string;
18
- format: string;
18
+ projection: string;
19
19
  attributions: unknown;
20
20
  };
21
21
  properties: {
@@ -33,7 +33,10 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
33
33
  source: {
34
34
  type: string;
35
35
  url: string | undefined;
36
- format: string;
36
+ format: {
37
+ type: string;
38
+ dataProjection: string | undefined;
39
+ };
37
40
  attributions: {}[];
38
41
  };
39
42
  properties: {
@@ -63,4 +66,13 @@ export function createLayersFromAssets(collectionId: string, title: string, asse
63
66
  };
64
67
  style: import("../types").EodashStyleJson | undefined;
65
68
  })[]>;
66
- export function createLayersFromLinks(collectionId: string, title: string, item: import("stac-ts").StacItem, layerDatetime?: Record<string, any>, extraProperties?: object | null): Promise<Record<string, any>[]>;
69
+ /**
70
+ * Implementation of a function that creates a layer from the render extention
71
+ * @param {import("stac-ts").StacCollection | undefined | null} collection
72
+ * @param {import("stac-ts").StacItem | undefined | null} item
73
+ * @param {string} rasterURL
74
+ * @param {Record<string, any>} [extraProperties]
75
+ * @returns {import("@eox/map/src/layers").EOxLayerType<"Tile","XYZ">[]}
76
+ */
77
+ export function createLayerFromRender(rasterURL: string, collection: import("stac-ts").StacCollection | undefined | null, item: import("stac-ts").StacItem | undefined | null, extraProperties?: Record<string, any>): import("@eox/map/src/layers").EOxLayerType<"Tile", "XYZ">[];
78
+ export function createLayersFromLinks(collectionId: string, title: string, item: import("stac-ts").StacItem, itemUrl: string, layerDatetime?: Record<string, any>, extraProperties?: object | null): Promise<Record<string, any>[]>;
@@ -18,13 +18,18 @@ export function generateFeatures(links?: import("stac-ts").StacLink[], extraProp
18
18
  *
19
19
  * @param {string} collectionId
20
20
  * @param { import("../types").EodashStyleJson} [style]
21
+ * @param {Record<string,any>} [rasterJsonform]
21
22
  * */
22
- export function extractLayerConfig(collectionId: string, style?: import("../types").EodashStyleJson): {
23
- layerConfig: undefined;
24
- style: undefined;
23
+ export function extractLayerConfig(collectionId: string, style?: import("../types").EodashStyleJson, rasterJsonform?: Record<string, any>): {
24
+ layerConfig: {
25
+ schema: any;
26
+ legend: any;
27
+ type: string;
28
+ };
29
+ style: import("../types").EodashStyleJson | undefined;
25
30
  } | {
26
31
  layerConfig: Record<string, unknown> | undefined;
27
- style: import("../types").EodashStyleJson;
32
+ style: import("../types").EodashStyleJson | undefined;
28
33
  };
29
34
  /**
30
35
  * Function to extract collection urls from an indicator
@@ -64,16 +69,32 @@ export function generateLinksFromItems(items: import("stac-ts").StacItem[]): any
64
69
  export function revokeCollectionBlobUrls(collection: import("../eodashSTAC/EodashCollection.js").EodashCollection): void;
65
70
  /**
66
71
  *
67
- * @param {import("stac-ts").StacLink[]} [links]
72
+ * @param {import("stac-ts").StacLink[] | import("stac-ts").StacItem[] |undefined |null} [linksOrItems]
73
+ */
74
+ export function getDatetimeProperty(linksOrItems?: import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined | null): string | undefined;
75
+ /**
76
+ *
77
+ * @param {*} stacObject
78
+ * @returns {stacObject is import("stac-ts").StacItem}
68
79
  */
69
- export function getDatetimeProperty(links?: import("stac-ts").StacLink[]): string | undefined;
80
+ export function isSTACItem(stacObject: any): stacObject is import("stac-ts").StacItem;
81
+ /**
82
+ * Fetch all STAC items from a STAC API endpoint.
83
+ * @param {string} itemsUrl
84
+ * @param {string} [query]
85
+ * @param {number} [limit=100] - The maximum number of items to fetch per request.
86
+ * @param {boolean} [returnFirst] - If true, only the first page of results will be returned.
87
+ * @param {number} [maxNumber=1000] - if the matched number of items exceed this, only the first page will be returned.
88
+ */
89
+ export function fetchApiItems(itemsUrl: string, query?: string, limit?: number, returnFirst?: boolean, maxNumber?: number): Promise<import("stac-ts").StacItem[]>;
70
90
  /**
71
91
  * @param {import ("stac-ts").StacCollection | undefined | null} collection
72
92
  * @returns {object}
73
93
  */
74
94
  export function extractLayerLegend(collection: import("stac-ts").StacCollection | undefined | null): object;
95
+ export function sanitizeBbox(bbox: number[]): number[];
75
96
  export function extractRoles(properties: Record<string, any>, linkOrAsset: import("stac-ts").StacLink | import("stac-ts").StacAsset): Record<string, any>;
76
- export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string): Promise<{
97
+ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string, key?: string | undefined): Promise<{
77
98
  "fill-color"?: import("ol/style/flat.js").ColorExpression | undefined;
78
99
  "fill-pattern-src"?: import("ol/style/flat.js").StringExpression | undefined;
79
100
  "fill-pattern-size"?: import("ol/style/flat.js").SizeExpression | undefined;
@@ -451,18 +472,28 @@ export function fetchStyle(item: import("stac-ts").StacItem, itemUrl: string): P
451
472
  appendix?: string;
452
473
  }[];
453
474
  } | undefined>;
475
+ export function fetchAllStyles(item: import("stac-ts").StacItem, itemUrl: string): Promise<Array<import("../types").EodashStyleJson>>;
454
476
  export function getProjectionCode(projection?: string | number | {
455
477
  name: string;
456
478
  def: string;
457
479
  }): string;
458
- export function extractLayerDatetime(links?: import("stac-ts").StacLink[], currentStep?: string | null): {
459
- controlValues: string[];
460
- currentStep: string;
461
- slider: boolean;
462
- navigation: boolean;
463
- play: boolean;
464
- displayFormat: string;
465
- } | undefined;
480
+ export function extractLayerTimeValues(items?: import("stac-ts").StacLink[] | import("stac-ts").StacItem[] | undefined, currentStep?: string | null): {
481
+ layerDatetime: undefined;
482
+ timeControlValues: undefined;
483
+ } | {
484
+ layerDatetime: {
485
+ controlValues: string[];
486
+ currentStep: string;
487
+ slider: boolean;
488
+ navigation: boolean;
489
+ play: boolean;
490
+ displayFormat: string;
491
+ };
492
+ timeControlValues: {
493
+ date: string;
494
+ itemId: string;
495
+ }[];
496
+ };
466
497
  export function findLayer(layers: import("@eox/map").EoxLayer[], layer: string): import("@eox/map").EoxLayer | undefined;
467
498
  export function replaceLayer(currentLayers: import("@eox/map").EoxLayer[], oldLayer: string, newLayers: import("@eox/map").EoxLayer[]): import("@eox/map").EoxLayer[];
468
499
  export function getColFromLayer(indicators: import("../eodashSTAC/EodashCollection.js").EodashCollection[], layer: import("ol/layer").Layer): import("../eodashSTAC/EodashCollection.js").EodashCollection | undefined;
@@ -1,11 +1,11 @@
1
1
  export default vuetify;
2
2
  declare const vuetify: {
3
- install: (app: import("vue").App) => void;
3
+ install: (app: import("vue").App<any>) => void;
4
4
  unmount: () => void;
5
5
  defaults: import("vue").Ref<import("vuetify").DefaultsInstance, import("vuetify").DefaultsInstance>;
6
6
  display: import("vuetify").DisplayInstance;
7
7
  theme: import("vuetify").ThemeInstance & {
8
- install: (app: import("vue").App) => void;
8
+ install: (app: import("vue").App<any>) => void;
9
9
  };
10
10
  icons: {
11
11
  defaultSet: string;
@@ -13,17 +13,17 @@ declare const vuetify: {
13
13
  sets: Record<string, import("vuetify").IconSet>;
14
14
  };
15
15
  locale: {
16
- isRtl: import("vue").Ref<boolean>;
17
- rtl: import("vue").Ref<Record<string, boolean>>;
18
- rtlClasses: import("vue").Ref<string>;
19
16
  name: string;
20
17
  decimalSeparator: import("vue").ShallowRef<string>;
21
- messages: import("vue").Ref<import("vuetify").LocaleMessages>;
22
- current: import("vue").Ref<string>;
23
- fallback: import("vue").Ref<string>;
18
+ messages: import("vue").Ref<import("vuetify").LocaleMessages, import("vuetify").LocaleMessages>;
19
+ current: import("vue").Ref<string, string>;
20
+ fallback: import("vue").Ref<string, string>;
24
21
  t: (key: string, ...params: unknown[]) => string;
25
22
  n: (value: number) => string;
26
23
  provide: (props: import("vuetify").LocaleOptions) => import("vuetify").LocaleInstance;
24
+ isRtl: import("vue").Ref<boolean, boolean>;
25
+ rtl: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>;
26
+ rtlClasses: import("vue").Ref<string, string>;
27
27
  };
28
28
  date: {
29
29
  options: {
@@ -35,7 +35,6 @@ declare const vuetify: {
35
35
  locale: Record<string, any>;
36
36
  };
37
37
  instance: {
38
- locale?: any;
39
38
  date: (value?: any) => unknown;
40
39
  format: (date: unknown, formatString: string) => string;
41
40
  toJsDate: (value: unknown) => Date;
@@ -43,7 +42,7 @@ declare const vuetify: {
43
42
  toISO: (date: unknown) => string;
44
43
  startOfDay: (date: unknown) => unknown;
45
44
  endOfDay: (date: unknown) => unknown;
46
- startOfWeek: (date: unknown, firstDayOfWeek?: number | string) => unknown;
45
+ startOfWeek: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown;
47
46
  endOfWeek: (date: unknown) => unknown;
48
47
  startOfMonth: (date: unknown) => unknown;
49
48
  endOfMonth: (date: unknown) => unknown;
@@ -65,10 +64,10 @@ declare const vuetify: {
65
64
  addMonths: (date: unknown, amount: number) => unknown;
66
65
  getYear: (date: unknown) => number;
67
66
  setYear: (date: unknown, year: number) => unknown;
68
- getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
69
- getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
70
- getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
71
- getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
67
+ getDiff: (date: unknown, comparing: unknown, unit?: string | undefined) => number;
68
+ getWeekArray: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown[][];
69
+ getWeekdays: (firstDayOfWeek?: string | number | undefined, weekdayFormat?: "long" | "narrow" | "short" | undefined) => string[];
70
+ getWeek: (date: unknown, firstDayOfWeek?: string | number | undefined, firstDayOfYear?: string | number | undefined) => number;
72
71
  getMonth: (date: unknown) => number;
73
72
  setMonth: (date: unknown, month: number) => unknown;
74
73
  getDate: (date: unknown) => number;
@@ -79,6 +78,7 @@ declare const vuetify: {
79
78
  setHours: (date: unknown, hours: number) => unknown;
80
79
  getMinutes: (date: unknown) => number;
81
80
  setMinutes: (date: unknown, minutes: number) => unknown;
81
+ locale?: any;
82
82
  };
83
83
  };
84
84
  goTo: import("vuetify").GoToInstance;
@@ -1,5 +1,7 @@
1
1
  export function getLayers(): import("@eox/map").EoxLayer[];
2
2
  export function getCompareLayers(): import("@eox/map").EoxLayer[];
3
+ export function getChartSpec(): import("vega-embed").VisualizationSpec | null;
4
+ export function getCompareChartSpec(): import("vega-embed").VisualizationSpec | null;
3
5
  export function registerProjection(projection?: string | number | {
4
6
  name: string;
5
7
  def: string;
@@ -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>;