@nasa-terra/components 0.0.179 → 0.0.182

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 (1292) hide show
  1. package/cdn/apis/harmony.api.d.ts +24 -1
  2. package/cdn/chunks/chunk.27H6Y66N.js +19 -0
  3. package/cdn/chunks/chunk.2JCGLAAZ.js +19 -0
  4. package/cdn/chunks/chunk.2NDZGMG2.js +33 -0
  5. package/cdn/chunks/chunk.2YBP736T.js +161 -0
  6. package/cdn/chunks/chunk.3465UHBW.js +125 -0
  7. package/cdn/chunks/chunk.3C6QCU6U.js +56 -0
  8. package/cdn/chunks/chunk.3E3PL47L.js +19 -0
  9. package/cdn/chunks/chunk.3RT5OMRR.js +19 -0
  10. package/cdn/chunks/chunk.3S6TXNYN.js +357 -0
  11. package/cdn/chunks/chunk.3TNPXGSN.js +29 -0
  12. package/cdn/chunks/chunk.3U3QMVU3.js +35 -0
  13. package/cdn/chunks/chunk.3XHMRHX4.js +19 -0
  14. package/cdn/chunks/chunk.45J3MZ3A.js +205 -0
  15. package/cdn/chunks/chunk.4A2AWXGY.js +29 -0
  16. package/cdn/chunks/chunk.4CRAZGX7.js +19 -0
  17. package/cdn/chunks/chunk.4EHEYIXJ.js +29 -0
  18. package/cdn/chunks/chunk.4JH2XUDX.js +32 -0
  19. package/cdn/chunks/chunk.4M4OKGDE.js +19 -0
  20. package/cdn/chunks/chunk.4TR3C3XT.js +19 -0
  21. package/cdn/chunks/chunk.4YHMBW3P.js +188 -0
  22. package/cdn/chunks/chunk.4YNI6KD4.js +19 -0
  23. package/cdn/chunks/chunk.53SX2HQI.js +30 -0
  24. package/cdn/chunks/chunk.54XCTTO5.js +19 -0
  25. package/cdn/chunks/chunk.56MUPGEK.js +32 -0
  26. package/cdn/chunks/chunk.5EAUYTIJ.js +19 -0
  27. package/cdn/chunks/chunk.5I3VER3F.js +19 -0
  28. package/cdn/chunks/chunk.5KYNNL32.js +32 -0
  29. package/cdn/chunks/chunk.5MIFCXBI.js +29 -0
  30. package/cdn/chunks/chunk.62ZIBC6B.js +19 -0
  31. package/cdn/chunks/chunk.653O7V4M.js +599 -0
  32. package/cdn/chunks/chunk.67TYJBGE.js +19 -0
  33. package/cdn/chunks/chunk.6CQFWVR6.js +29 -0
  34. package/cdn/chunks/chunk.6QSUPLGB.js +29 -0
  35. package/cdn/chunks/chunk.6TITQBN5.js +86 -0
  36. package/cdn/chunks/chunk.77Y544HC.js +19 -0
  37. package/cdn/chunks/chunk.7ASKZORP.js +33 -0
  38. package/cdn/chunks/chunk.7BHCY74I.js +33 -0
  39. package/cdn/chunks/chunk.7CTLZBMK.js +99 -0
  40. package/cdn/chunks/chunk.7GWSNU54.js +19 -0
  41. package/cdn/chunks/chunk.7PYSPYWO.js +19 -0
  42. package/cdn/chunks/chunk.7QYAG5RH.js +19 -0
  43. package/cdn/chunks/chunk.7VNZMOKC.js +56075 -0
  44. package/cdn/chunks/chunk.7YI473J2.js +39 -0
  45. package/cdn/chunks/chunk.7YXZ4PLT.js +359 -0
  46. package/cdn/chunks/chunk.7ZVYIV7K.js +662 -0
  47. package/cdn/chunks/chunk.ACJHUN64.js +19 -0
  48. package/cdn/chunks/chunk.ACVD4RLC.js +538 -0
  49. package/cdn/chunks/chunk.AFRV7PHS.js +19 -0
  50. package/cdn/chunks/chunk.AG3OHBNW.js +32 -0
  51. package/cdn/chunks/chunk.AMEOWPTV.js +29 -0
  52. package/cdn/chunks/chunk.AN25EHYN.js +19 -0
  53. package/cdn/chunks/chunk.APOEQA6N.js +157 -0
  54. package/cdn/chunks/chunk.AQHIU4QQ.js +19 -0
  55. package/cdn/chunks/chunk.AW7RGJQF.js +237 -0
  56. package/cdn/chunks/chunk.AXHE75CH.js +1211 -0
  57. package/cdn/chunks/chunk.AXHGJXN6.js +113 -0
  58. package/cdn/chunks/chunk.B7OA73S6.js +19 -0
  59. package/cdn/chunks/chunk.BCQ2ITZO.js +33 -0
  60. package/cdn/chunks/chunk.BEMRQEFJ.js +29 -0
  61. package/cdn/chunks/chunk.BEWDP23N.js +29 -0
  62. package/cdn/chunks/chunk.BVACLOKI.js +110 -0
  63. package/cdn/chunks/chunk.BYUN5CQ7.js +34 -0
  64. package/cdn/chunks/chunk.CL66DXQH.js +19 -0
  65. package/cdn/chunks/chunk.CLOSWCHA.js +279 -0
  66. package/cdn/chunks/chunk.CMWLAYXG.js +19 -0
  67. package/cdn/chunks/chunk.CU6Y4S4O.js +134 -0
  68. package/cdn/chunks/chunk.DCABAUTG.js +29 -0
  69. package/cdn/chunks/chunk.DCDKEGGF.js +60 -0
  70. package/cdn/chunks/chunk.DHUO654N.js +19 -0
  71. package/cdn/chunks/chunk.DHZRFA4Q.js +71 -0
  72. package/cdn/chunks/chunk.DKR37O6M.js +99 -0
  73. package/cdn/chunks/chunk.E5INDWJO.js +231 -0
  74. package/cdn/chunks/chunk.EB57UDHS.js +29 -0
  75. package/cdn/chunks/chunk.EHU3RZOC.js +320 -0
  76. package/cdn/chunks/chunk.EHXDAY7E.js +29 -0
  77. package/cdn/chunks/chunk.EJC7WV7R.js +19 -0
  78. package/cdn/chunks/chunk.EPEVTPDD.js +29 -0
  79. package/cdn/chunks/chunk.ESBUSULS.js +658 -0
  80. package/cdn/chunks/chunk.EWQBAXSZ.js +514 -0
  81. package/cdn/chunks/chunk.EXWRYIIG.js +34 -0
  82. package/cdn/chunks/chunk.F7RM6CKI.js +19 -0
  83. package/cdn/chunks/chunk.FEU2ZHGK.js +136 -0
  84. package/cdn/chunks/chunk.FKESQTK7.js +62 -0
  85. package/cdn/chunks/chunk.FQW6VWTA.js +29 -0
  86. package/cdn/chunks/chunk.FVNPWS7L.js +29 -0
  87. package/cdn/chunks/chunk.FZSG2R6K.js +36 -0
  88. package/cdn/chunks/chunk.G6UY4GIZ.js +610 -0
  89. package/cdn/chunks/chunk.GAF2R7BX.js +19 -0
  90. package/cdn/chunks/chunk.GH3O32TH.js +616 -0
  91. package/cdn/chunks/chunk.GHQXXUOZ.js +19 -0
  92. package/cdn/chunks/chunk.GLLNU6QT.js +276 -0
  93. package/cdn/chunks/chunk.GN5JXOUJ.js +19 -0
  94. package/cdn/chunks/chunk.GN7JEDN2.js +234 -0
  95. package/cdn/chunks/chunk.GPPIIBI2.js +19 -0
  96. package/cdn/chunks/chunk.GU2TJT7Q.js +19 -0
  97. package/cdn/chunks/chunk.GUW2SGCI.js +493 -0
  98. package/cdn/chunks/chunk.H64ZXOYB.js +473 -0
  99. package/cdn/chunks/chunk.HA4DY4XJ.js +35 -0
  100. package/cdn/chunks/chunk.HARGEVGT.js +36 -0
  101. package/cdn/chunks/chunk.HFRKSSXY.js +187 -0
  102. package/cdn/chunks/chunk.HO6Z2DWH.js +29 -0
  103. package/cdn/chunks/chunk.HQYWW5B6.js +32 -0
  104. package/cdn/chunks/chunk.I6FQTBRX.js +32 -0
  105. package/cdn/chunks/chunk.IARTVWTE.js +19 -0
  106. package/cdn/chunks/chunk.IFBDVPXH.js +1975 -0
  107. package/cdn/chunks/chunk.IFN7JOYQ.js +34 -0
  108. package/cdn/chunks/chunk.IJMKGIXM.js +224 -0
  109. package/cdn/chunks/chunk.IKTRYO23.js +29 -0
  110. package/cdn/chunks/chunk.INTWBGMN.js +92 -0
  111. package/cdn/chunks/chunk.ISR3MVUO.js +19 -0
  112. package/cdn/chunks/chunk.ITFVYNFS.js +104 -0
  113. package/cdn/chunks/chunk.J3JP6ALM.js +1184 -0
  114. package/cdn/chunks/chunk.J5HCHNS6.js +29 -0
  115. package/cdn/chunks/chunk.JCDZ72UU.js +29 -0
  116. package/cdn/chunks/chunk.JLIH4UDK.js +29 -0
  117. package/cdn/chunks/chunk.JLKIJ7LH.js +113 -0
  118. package/cdn/chunks/chunk.JSYNLIEX.js +288 -0
  119. package/cdn/chunks/chunk.JWN5RFZR.js +29 -0
  120. package/cdn/chunks/chunk.JZEMAEKF.js +542 -0
  121. package/cdn/chunks/chunk.K4DUOTZR.js +19 -0
  122. package/cdn/chunks/chunk.K4XDAFMU.js +904 -0
  123. package/cdn/chunks/chunk.KAO2PZDB.js +975 -0
  124. package/cdn/chunks/chunk.KIWNTLEB.js +3452 -0
  125. package/cdn/chunks/chunk.KJ5MDHOB.js +19 -0
  126. package/cdn/chunks/chunk.KM6WWUYU.js +77 -0
  127. package/cdn/chunks/chunk.KNFKQMZL.js +37 -0
  128. package/cdn/chunks/chunk.KPL5WVGQ.js +443 -0
  129. package/cdn/chunks/chunk.KXIMRSUN.js +49 -0
  130. package/cdn/chunks/chunk.KXPMQRAG.js +19 -0
  131. package/cdn/chunks/chunk.L2SHDSJB.js +36 -0
  132. package/cdn/chunks/chunk.L3PHK56S.js +19 -0
  133. package/cdn/chunks/chunk.L4UIOAJ6.js +19 -0
  134. package/cdn/chunks/chunk.L6QGKCD7.js +106 -0
  135. package/cdn/chunks/chunk.LVROX2ZC.js +32 -0
  136. package/cdn/chunks/chunk.M5K77MVA.js +19 -0
  137. package/cdn/chunks/chunk.M65VG5RW.js +472 -0
  138. package/cdn/chunks/chunk.MG53IOR7.js +123 -0
  139. package/cdn/chunks/chunk.MVC5FVKI.js +9744 -0
  140. package/cdn/chunks/chunk.MZC6KDXV.js +417 -0
  141. package/cdn/chunks/chunk.MZX3RGLE.js +189 -0
  142. package/cdn/chunks/chunk.N23A2TLL.js +155 -0
  143. package/cdn/chunks/chunk.N35W2LNG.js +190 -0
  144. package/cdn/chunks/chunk.NDP3WIKQ.js +19 -0
  145. package/cdn/chunks/chunk.O3DIP4UG.js +81 -0
  146. package/cdn/chunks/chunk.O3REVIRV.js +19 -0
  147. package/cdn/chunks/chunk.O6EPXMCN.js +32 -0
  148. package/cdn/chunks/chunk.OE3SG35G.js +372 -0
  149. package/cdn/chunks/chunk.OH4XSXGH.js +35 -0
  150. package/cdn/chunks/chunk.OLZPMQEW.js +60 -0
  151. package/cdn/chunks/chunk.OXV3VH7N.js +264 -0
  152. package/cdn/chunks/chunk.P6HJOUWE.js +32 -0
  153. package/cdn/chunks/chunk.PHTZBZS3.js +19 -0
  154. package/cdn/chunks/chunk.PJUJ4YID.js +29 -0
  155. package/cdn/chunks/chunk.PXVXOSWN.js +32 -0
  156. package/cdn/chunks/chunk.PZUVUD4C.js +93 -0
  157. package/cdn/chunks/chunk.Q6MUWVO4.js +310 -0
  158. package/cdn/chunks/chunk.Q7SMQGGV.js +32 -0
  159. package/cdn/chunks/chunk.QCZATBDS.js +19 -0
  160. package/cdn/chunks/chunk.QMC7DUVJ.js +151 -0
  161. package/cdn/chunks/chunk.QR25OOSG.js +83 -0
  162. package/cdn/chunks/chunk.R5WMOIJK.js +19 -0
  163. package/cdn/chunks/chunk.R7TKEPVG.js +165 -0
  164. package/cdn/chunks/chunk.RKSUZJZ6.js +68 -0
  165. package/cdn/chunks/chunk.RQWWWR7J.js +19 -0
  166. package/cdn/chunks/chunk.RWBA2MGO.js +19 -0
  167. package/cdn/chunks/chunk.RY5SOLET.js +132 -0
  168. package/cdn/chunks/chunk.RY7CXQXT.js +36 -0
  169. package/cdn/chunks/chunk.S3QWAZET.js +230 -0
  170. package/cdn/chunks/chunk.S7K4YQO5.js +29 -0
  171. package/cdn/chunks/chunk.SFTDPOR4.js +293 -0
  172. package/cdn/chunks/chunk.SQFLMSG5.js +37 -0
  173. package/cdn/chunks/chunk.TDT5Q3JF.js +29 -0
  174. package/cdn/chunks/chunk.TEOWGCS6.js +259 -0
  175. package/cdn/chunks/chunk.TKGLHWZN.js +19 -0
  176. package/cdn/chunks/chunk.TMZ3GMSL.js +134 -0
  177. package/cdn/chunks/chunk.TOQTKNTX.js +19 -0
  178. package/cdn/chunks/chunk.UERLDTQZ.js +29 -0
  179. package/cdn/chunks/chunk.UEUZKV5K.js +32 -0
  180. package/cdn/chunks/chunk.V4VJ4UT2.js +29 -0
  181. package/cdn/chunks/chunk.V5DBQVJ5.js +19 -0
  182. package/cdn/chunks/chunk.V5OO2XEE.js +33 -0
  183. package/cdn/chunks/chunk.VECOM4X2.js +19 -0
  184. package/cdn/chunks/chunk.VGXUJ5AG.js +19 -0
  185. package/cdn/chunks/chunk.VHMUJ6SG.js +2244 -0
  186. package/cdn/chunks/chunk.VJKPC2DS.js +29 -0
  187. package/cdn/chunks/chunk.VS4OOTZG.js +524 -0
  188. package/cdn/chunks/chunk.VUKYQOBK.js +350 -0
  189. package/cdn/chunks/chunk.W67YDC4P.js +19 -0
  190. package/cdn/chunks/chunk.W7N4JADB.js +915 -0
  191. package/cdn/chunks/chunk.WA3LBDSM.js +19 -0
  192. package/cdn/chunks/chunk.WDQXQ2MJ.js +19 -0
  193. package/cdn/chunks/chunk.WE35UV4V.js +41 -0
  194. package/cdn/chunks/chunk.WEO6T7Q7.js +32 -0
  195. package/cdn/chunks/chunk.WIBZBHVO.js +29 -0
  196. package/cdn/chunks/chunk.WLINE26F.js +19 -0
  197. package/cdn/chunks/chunk.WODOIA57.js +278 -0
  198. package/cdn/chunks/chunk.WUA2GRUX.js +19 -0
  199. package/cdn/chunks/chunk.WXQGG4OH.js +74 -0
  200. package/cdn/chunks/chunk.X76BZAG2.js +29 -0
  201. package/cdn/chunks/chunk.XCZDPAFQ.js +285 -0
  202. package/cdn/chunks/chunk.XPO6CGIX.js +32 -0
  203. package/cdn/chunks/chunk.XSBBTQKS.js +19 -0
  204. package/cdn/chunks/chunk.XUC2AP34.js +47 -0
  205. package/cdn/chunks/chunk.XUZNRU2A.js +35 -0
  206. package/cdn/chunks/chunk.XY2BAW25.js +82 -0
  207. package/cdn/chunks/chunk.Y73I7UWA.js +19 -0
  208. package/cdn/chunks/chunk.YBQIGWAG.js +2547 -0
  209. package/cdn/chunks/chunk.YFMBAZ43.js +123 -0
  210. package/cdn/chunks/chunk.YOBKY3PV.js +29 -0
  211. package/cdn/chunks/chunk.YYHCRDOA.js +93 -0
  212. package/cdn/chunks/chunk.Z66NGM6N.js +78 -0
  213. package/cdn/chunks/chunk.ZGM73SI6.js +19 -0
  214. package/cdn/chunks/chunk.ZIBQ3RIQ.js +477 -0
  215. package/cdn/chunks/chunk.ZO4JZI7Q.js +19 -0
  216. package/cdn/components/accordion/accordion.component.js +5 -5
  217. package/cdn/components/accordion/accordion.js +6 -6
  218. package/cdn/components/alert/alert.component.js +3 -3
  219. package/cdn/components/alert/alert.js +4 -4
  220. package/cdn/components/avatar/avatar.component.js +7 -7
  221. package/cdn/components/avatar/avatar.js +8 -8
  222. package/cdn/components/badge/badge.component.js +2 -2
  223. package/cdn/components/badge/badge.js +3 -3
  224. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  225. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  226. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  227. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  228. package/cdn/components/browse-variables/browse-variables.component.js +18 -18
  229. package/cdn/components/browse-variables/browse-variables.js +19 -19
  230. package/cdn/components/button/button.component.js +7 -7
  231. package/cdn/components/button/button.js +8 -8
  232. package/cdn/components/button-group/button-group.component.js +2 -2
  233. package/cdn/components/button-group/button-group.js +3 -3
  234. package/cdn/components/caption/caption.component.js +2 -2
  235. package/cdn/components/caption/caption.js +3 -3
  236. package/cdn/components/card/card.component.js +2 -2
  237. package/cdn/components/card/card.js +3 -3
  238. package/cdn/components/checkbox/checkbox.component.js +8 -8
  239. package/cdn/components/checkbox/checkbox.js +9 -9
  240. package/cdn/components/chip/chip.component.js +2 -2
  241. package/cdn/components/chip/chip.js +3 -3
  242. package/cdn/components/combobox/combobox.component.js +6 -6
  243. package/cdn/components/combobox/combobox.js +7 -7
  244. package/cdn/components/data-access/data-access.component.js +36 -35
  245. package/cdn/components/data-access/data-access.js +37 -36
  246. package/cdn/components/data-grid/data-grid.component.js +5 -5
  247. package/cdn/components/data-grid/data-grid.js +6 -6
  248. package/cdn/components/data-rods/data-rods.component.js +48 -47
  249. package/cdn/components/data-rods/data-rods.js +49 -48
  250. package/cdn/components/data-subsetter/data-subsetter.component.js +47 -45
  251. package/cdn/components/data-subsetter/data-subsetter.js +48 -46
  252. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  253. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +48 -46
  254. package/cdn/components/data-subsetter-history/data-subsetter-history.js +49 -47
  255. package/cdn/components/date-picker/date-picker.component.js +14 -14
  256. package/cdn/components/date-picker/date-picker.js +15 -15
  257. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  258. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  259. package/cdn/components/dialog/dialog.component.js +9 -9
  260. package/cdn/components/dialog/dialog.js +10 -10
  261. package/cdn/components/divider/divider.component.js +2 -2
  262. package/cdn/components/divider/divider.js +3 -3
  263. package/cdn/components/dropdown/dropdown.component.js +3 -3
  264. package/cdn/components/dropdown/dropdown.js +4 -4
  265. package/cdn/components/earthdata-login/earthdata-login.component.js +15 -15
  266. package/cdn/components/earthdata-login/earthdata-login.js +16 -16
  267. package/cdn/components/file-upload/file-upload.component.js +2 -2
  268. package/cdn/components/file-upload/file-upload.js +3 -3
  269. package/cdn/components/harmony-history/harmony-history.component.d.ts +91 -0
  270. package/cdn/components/harmony-history/harmony-history.component.js +43 -0
  271. package/cdn/components/harmony-history/harmony-history.d.ts +8 -0
  272. package/cdn/components/harmony-history/harmony-history.js +44 -0
  273. package/cdn/components/harmony-history/harmony-history.styles.d.ts +2 -0
  274. package/cdn/components/harmony-history/harmony-history.styles.js +9 -0
  275. package/cdn/components/icon/icon.component.js +3 -3
  276. package/cdn/components/icon/icon.js +4 -4
  277. package/cdn/components/input/input.component.js +8 -8
  278. package/cdn/components/input/input.js +9 -9
  279. package/cdn/components/loader/loader.component.js +2 -2
  280. package/cdn/components/loader/loader.js +3 -3
  281. package/cdn/components/login/login.component.js +12 -12
  282. package/cdn/components/login/login.js +13 -13
  283. package/cdn/components/map/map.component.js +9 -9
  284. package/cdn/components/map/map.js +10 -10
  285. package/cdn/components/map/map.service.js +3 -3
  286. package/cdn/components/menu/menu.component.js +2 -2
  287. package/cdn/components/menu/menu.js +3 -3
  288. package/cdn/components/menu-item/menu-item.component.js +11 -11
  289. package/cdn/components/menu-item/menu-item.js +12 -12
  290. package/cdn/components/menu-item/submenu-controller.js +3 -3
  291. package/cdn/components/option/option.component.js +6 -6
  292. package/cdn/components/option/option.js +7 -7
  293. package/cdn/components/pagination/pagination.component.js +6 -6
  294. package/cdn/components/pagination/pagination.js +7 -7
  295. package/cdn/components/plot/plot.component.js +3 -3
  296. package/cdn/components/plot/plot.js +4 -4
  297. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  298. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  299. package/cdn/components/plot-toolbar/plot-toolbar.component.js +19 -20
  300. package/cdn/components/plot-toolbar/plot-toolbar.js +20 -21
  301. package/cdn/components/popup/popup.component.js +2 -2
  302. package/cdn/components/popup/popup.js +3 -3
  303. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  304. package/cdn/components/progress-bar/progress-bar.js +3 -3
  305. package/cdn/components/radio/radio.component.js +4 -4
  306. package/cdn/components/radio/radio.js +5 -5
  307. package/cdn/components/radio-group/radio-group.component.js +2 -2
  308. package/cdn/components/radio-group/radio-group.js +3 -3
  309. package/cdn/components/scroll-hint/scroll-hint.component.js +4 -4
  310. package/cdn/components/scroll-hint/scroll-hint.js +5 -5
  311. package/cdn/components/select/select.component.js +10 -10
  312. package/cdn/components/select/select.js +11 -11
  313. package/cdn/components/site-header/site-header.component.js +5 -5
  314. package/cdn/components/site-header/site-header.js +5 -5
  315. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  316. package/cdn/components/site-navigation/site-navigation.js +2 -2
  317. package/cdn/components/skeleton/skeleton.component.js +2 -2
  318. package/cdn/components/skeleton/skeleton.js +3 -3
  319. package/cdn/components/slider/slider.component.js +2 -2
  320. package/cdn/components/slider/slider.js +3 -3
  321. package/cdn/components/spatial-picker/spatial-picker.component.js +20 -20
  322. package/cdn/components/spatial-picker/spatial-picker.js +21 -21
  323. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  324. package/cdn/components/status-indicator/status-indicator.js +3 -3
  325. package/cdn/components/stepper/stepper.component.js +2 -2
  326. package/cdn/components/stepper/stepper.js +3 -3
  327. package/cdn/components/stepper-step/stepper-step.component.js +6 -6
  328. package/cdn/components/stepper-step/stepper-step.js +7 -7
  329. package/cdn/components/tab/tab.component.js +6 -6
  330. package/cdn/components/tab/tab.js +7 -7
  331. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  332. package/cdn/components/tab-panel/tab-panel.js +3 -3
  333. package/cdn/components/tabs/tabs.component.js +6 -6
  334. package/cdn/components/tabs/tabs.js +7 -7
  335. package/cdn/components/tag/tag.component.js +6 -6
  336. package/cdn/components/tag/tag.js +7 -7
  337. package/cdn/components/textarea/textarea.component.js +4 -4
  338. package/cdn/components/textarea/textarea.js +5 -5
  339. package/cdn/components/time-average-map/time-average-map-cache.service.js +2 -3
  340. package/cdn/components/time-average-map/time-average-map.component.d.ts +16 -0
  341. package/cdn/components/time-average-map/time-average-map.component.js +33 -32
  342. package/cdn/components/time-average-map/time-average-map.controller.js +7 -6
  343. package/cdn/components/time-average-map/time-average-map.js +34 -33
  344. package/cdn/components/time-series/time-series-cache.service.js +2 -3
  345. package/cdn/components/time-series/time-series.component.d.ts +10 -0
  346. package/cdn/components/time-series/time-series.component.js +34 -33
  347. package/cdn/components/time-series/time-series.controller.js +8 -6
  348. package/cdn/components/time-series/time-series.js +35 -34
  349. package/cdn/components/toast/toast.component.js +4 -4
  350. package/cdn/components/toast/toast.js +5 -5
  351. package/cdn/components/toggle/toggle.component.js +4 -4
  352. package/cdn/components/toggle/toggle.js +5 -5
  353. package/cdn/components/tooltip/tooltip.component.d.ts +5 -0
  354. package/cdn/components/tooltip/tooltip.component.js +4 -4
  355. package/cdn/components/tooltip/tooltip.js +5 -5
  356. package/cdn/components/tooltip/tooltip.styles.js +1 -1
  357. package/cdn/components/variable-combobox/lib.js +3 -3
  358. package/cdn/components/variable-combobox/variable-combobox.component.js +15 -15
  359. package/cdn/components/variable-combobox/variable-combobox.controller.js +4 -4
  360. package/cdn/components/variable-combobox/variable-combobox.js +16 -16
  361. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +12 -12
  362. package/cdn/components/variable-keyword-search/variable-keyword-search.js +13 -13
  363. package/cdn/custom-elements.json +827 -329
  364. package/cdn/data-services/types.d.ts +2 -0
  365. package/cdn/events/events.d.ts +2 -0
  366. package/cdn/events/terra-harmony-job-delete.d.ts +8 -0
  367. package/cdn/events/terra-harmony-job-select.d.ts +9 -0
  368. package/cdn/internal/indexeddb.d.ts +2 -1
  369. package/cdn/lib/api.client.d.ts +1 -1
  370. package/cdn/lib/harmony/harmony.request.d.ts +23 -1
  371. package/cdn/lib/thumbnails/thumbnail.service.d.ts +14 -0
  372. package/cdn/queries/harmony.queries.d.ts +28 -0
  373. package/cdn/react/accordion/index.js +6 -6
  374. package/cdn/react/alert/index.js +4 -4
  375. package/cdn/react/avatar/index.js +8 -8
  376. package/cdn/react/badge/index.js +3 -3
  377. package/cdn/react/breadcrumb/index.js +3 -3
  378. package/cdn/react/breadcrumbs/index.js +3 -3
  379. package/cdn/react/browse-variables/index.js +19 -19
  380. package/cdn/react/button/index.js +8 -8
  381. package/cdn/react/button-group/index.js +3 -3
  382. package/cdn/react/caption/index.js +3 -3
  383. package/cdn/react/card/index.js +3 -3
  384. package/cdn/react/checkbox/index.js +9 -9
  385. package/cdn/react/chip/index.js +3 -3
  386. package/cdn/react/combobox/index.js +7 -7
  387. package/cdn/react/data-access/index.js +37 -36
  388. package/cdn/react/data-grid/index.js +6 -6
  389. package/cdn/react/data-rods/index.js +49 -48
  390. package/cdn/react/data-subsetter/index.js +48 -46
  391. package/cdn/react/data-subsetter-history/index.js +49 -47
  392. package/cdn/react/date-picker/index.js +15 -15
  393. package/cdn/react/date-range-slider/index.js +3 -3
  394. package/cdn/react/dialog/index.js +10 -10
  395. package/cdn/react/divider/index.js +3 -3
  396. package/cdn/react/dropdown/index.js +4 -4
  397. package/cdn/react/earthdata-login/index.js +16 -16
  398. package/cdn/react/file-upload/index.js +3 -3
  399. package/cdn/react/harmony-history/index.d.ts +30 -0
  400. package/cdn/react/harmony-history/index.js +44 -0
  401. package/cdn/react/icon/index.js +4 -4
  402. package/cdn/react/index.d.ts +2 -1
  403. package/cdn/react/index.js +222 -215
  404. package/cdn/react/input/index.js +9 -9
  405. package/cdn/react/loader/index.js +3 -3
  406. package/cdn/react/login/index.js +13 -13
  407. package/cdn/react/map/index.js +10 -10
  408. package/cdn/react/menu/index.js +3 -3
  409. package/cdn/react/menu-item/index.js +12 -12
  410. package/cdn/react/option/index.js +7 -7
  411. package/cdn/react/pagination/index.js +7 -7
  412. package/cdn/react/plot/index.js +4 -4
  413. package/cdn/react/plot-toolbar/index.js +20 -21
  414. package/cdn/react/popup/index.js +3 -3
  415. package/cdn/react/progress-bar/index.js +3 -3
  416. package/cdn/react/radio/index.js +5 -5
  417. package/cdn/react/radio-group/index.js +3 -3
  418. package/cdn/react/scroll-hint/index.js +5 -5
  419. package/cdn/react/select/index.js +11 -11
  420. package/cdn/react/site-header/index.js +6 -6
  421. package/cdn/react/site-navigation/index.js +3 -3
  422. package/cdn/react/skeleton/index.js +3 -3
  423. package/cdn/react/slider/index.js +3 -3
  424. package/cdn/react/spatial-picker/index.js +21 -21
  425. package/cdn/react/status-indicator/index.js +3 -3
  426. package/cdn/react/stepper/index.js +3 -3
  427. package/cdn/react/stepper-step/index.js +7 -7
  428. package/cdn/react/tab/index.js +7 -7
  429. package/cdn/react/tab-panel/index.js +3 -3
  430. package/cdn/react/tabs/index.js +7 -7
  431. package/cdn/react/tag/index.js +7 -7
  432. package/cdn/react/textarea/index.js +5 -5
  433. package/cdn/react/time-average-map/index.js +34 -33
  434. package/cdn/react/time-series/index.js +35 -34
  435. package/cdn/react/toast/index.js +5 -5
  436. package/cdn/react/toggle/index.js +5 -5
  437. package/cdn/react/tooltip/index.js +5 -5
  438. package/cdn/react/variable-combobox/index.js +16 -16
  439. package/cdn/react/variable-keyword-search/index.js +13 -13
  440. package/cdn/terra-ui-components.d.ts +1 -0
  441. package/cdn/terra-ui-components.js +197 -190
  442. package/cdn/types/vue/index.d.ts +113 -49
  443. package/cdn/vscode.html-custom-data.json +71 -26
  444. package/cdn/web-types.json +228 -112
  445. package/dist/apis/harmony.api.d.ts +24 -1
  446. package/dist/chunks/chunk.25IJTRN2.js +35 -0
  447. package/dist/chunks/chunk.26TIQ67V.js +1 -0
  448. package/dist/chunks/chunk.2FKZOYDM.js +170 -0
  449. package/dist/chunks/chunk.2QS2GW24.js +1 -0
  450. package/dist/chunks/chunk.2W4QHF33.js +100 -0
  451. package/dist/chunks/chunk.35AKYR3R.js +1 -0
  452. package/dist/chunks/chunk.3A7J6DJT.js +1 -0
  453. package/dist/chunks/chunk.3AWO3Q45.js +1 -0
  454. package/dist/chunks/chunk.3IP76OK4.js +1 -0
  455. package/dist/chunks/chunk.3NZFQPY5.js +1 -0
  456. package/dist/chunks/chunk.443D6GCI.js +1 -0
  457. package/dist/chunks/chunk.46MIWFWF.js +121 -0
  458. package/dist/chunks/chunk.4CPC6T4W.js +23 -0
  459. package/dist/chunks/chunk.4EI5AQ55.js +47 -0
  460. package/dist/chunks/chunk.4MF3EOIE.js +1 -0
  461. package/dist/chunks/chunk.4R54XEI5.js +14 -0
  462. package/dist/chunks/chunk.52AIVMJA.js +20 -0
  463. package/dist/chunks/chunk.52DDN5Y5.js +1 -0
  464. package/dist/chunks/chunk.5AT7REMR.js +1 -0
  465. package/dist/chunks/chunk.5AYLTPSG.js +55 -0
  466. package/dist/chunks/chunk.5NVT3NMG.js +1 -0
  467. package/dist/chunks/chunk.5ZJ22MI2.js +1 -0
  468. package/dist/chunks/chunk.63XFDLLU.js +22 -0
  469. package/dist/chunks/chunk.64Z5WQSA.js +1 -0
  470. package/dist/chunks/chunk.67ZMDEXW.js +1 -0
  471. package/dist/chunks/chunk.6BU2ZYA2.js +1 -0
  472. package/dist/chunks/chunk.6C2DLXBV.js +1 -0
  473. package/dist/chunks/chunk.6DUHY2K7.js +1 -0
  474. package/dist/chunks/chunk.6RGAOWQL.js +1 -0
  475. package/dist/chunks/chunk.6XHS36ZS.js +1 -0
  476. package/dist/chunks/chunk.6YC7NU6R.js +1 -0
  477. package/dist/chunks/chunk.74OC24MY.js +1 -0
  478. package/dist/chunks/chunk.76MUDXWL.js +1 -0
  479. package/dist/chunks/chunk.7M4J27XW.js +9 -0
  480. package/dist/chunks/chunk.7YKWHD3Q.js +1 -0
  481. package/dist/chunks/chunk.ADD22LT5.js +1 -0
  482. package/dist/chunks/chunk.ADOJGUIM.js +1 -0
  483. package/dist/chunks/chunk.ADRI7S3D.js +1 -0
  484. package/dist/chunks/chunk.AJTT6ZVS.js +1 -0
  485. package/dist/chunks/chunk.ALLTKOK5.js +55 -0
  486. package/dist/chunks/chunk.ALWXS4EN.js +1 -0
  487. package/dist/chunks/chunk.AOG74ZOR.js +1 -0
  488. package/dist/chunks/chunk.AXW6QQ5G.js +1 -0
  489. package/dist/chunks/chunk.BDUWGLTX.js +1 -0
  490. package/dist/chunks/chunk.BHTVOOL3.js +1 -0
  491. package/dist/chunks/chunk.BNL5MQSM.js +67 -0
  492. package/dist/chunks/chunk.BPGBHDOI.js +1 -0
  493. package/dist/chunks/chunk.BPHQBSYM.js +1 -0
  494. package/dist/chunks/chunk.BR23Z5K4.js +1 -0
  495. package/dist/chunks/chunk.BXSXRNLA.js +9 -0
  496. package/dist/chunks/chunk.CARZD2IC.js +1 -0
  497. package/dist/chunks/chunk.CMJJA2FU.js +280 -0
  498. package/dist/chunks/chunk.CNGKS3CF.js +74 -0
  499. package/dist/chunks/chunk.CSD2H2XD.js +1 -0
  500. package/dist/chunks/chunk.CWW64TWB.js +1 -0
  501. package/dist/chunks/chunk.D4AQVUAD.js +1 -0
  502. package/dist/chunks/chunk.DDT4SEKP.js +1 -0
  503. package/dist/chunks/chunk.DN2W7CXP.js +25 -0
  504. package/dist/chunks/chunk.DNECT5E5.js +1 -0
  505. package/dist/chunks/chunk.DSKRM2DE.js +1 -0
  506. package/dist/chunks/chunk.E2WOMCTG.js +115 -0
  507. package/dist/chunks/chunk.E74KOQ6O.js +37 -0
  508. package/dist/chunks/chunk.EB7RTWHA.js +1 -0
  509. package/dist/chunks/chunk.EHNN7VF7.js +1 -0
  510. package/dist/chunks/chunk.EKZ44GOI.js +300 -0
  511. package/dist/chunks/chunk.EKZZOM3I.js +1 -0
  512. package/dist/chunks/chunk.ELYC43YZ.js +1 -0
  513. package/dist/chunks/chunk.EMUOCMNG.js +1 -0
  514. package/dist/chunks/chunk.EQ77DEN3.js +1 -0
  515. package/dist/chunks/chunk.EVAOZTKK.js +37 -0
  516. package/dist/chunks/chunk.EXISX4DM.js +1 -0
  517. package/dist/chunks/chunk.EY7CGJXP.js +16 -0
  518. package/dist/chunks/chunk.F5XNFJYR.js +17 -0
  519. package/dist/chunks/chunk.FGAFF4GY.js +8 -0
  520. package/dist/chunks/chunk.FQ6VIV6W.js +1 -0
  521. package/dist/chunks/chunk.FT7HZOCQ.js +145 -0
  522. package/dist/chunks/chunk.FXGSYMQ5.js +1 -0
  523. package/dist/chunks/chunk.G3TKMUU4.js +1 -0
  524. package/dist/chunks/chunk.G7EZQRZI.js +26 -0
  525. package/dist/chunks/chunk.GHVDYLX5.js +1 -0
  526. package/dist/chunks/chunk.GIZLZV63.js +1 -0
  527. package/dist/chunks/chunk.H2SGQQPI.js +126 -0
  528. package/dist/chunks/chunk.H4FARZ53.js +1 -0
  529. package/dist/chunks/chunk.H6PC5SSG.js +8 -0
  530. package/dist/chunks/chunk.HDPC44EI.js +1 -0
  531. package/dist/chunks/chunk.HJJKMAXZ.js +1 -0
  532. package/dist/chunks/chunk.HRG3YIXF.js +1 -0
  533. package/dist/chunks/chunk.HTTWDTCN.js +1 -0
  534. package/dist/chunks/chunk.I6KMV3PH.js +1 -0
  535. package/dist/chunks/chunk.IAZ53T5N.js +1 -0
  536. package/dist/chunks/chunk.IECIA36P.js +1 -0
  537. package/dist/chunks/chunk.IFRRAZJZ.js +1 -0
  538. package/dist/chunks/chunk.ILWARFBK.js +80 -0
  539. package/dist/chunks/chunk.IO5RP4LZ.js +43 -0
  540. package/dist/chunks/chunk.ITLR4NVV.js +1 -0
  541. package/dist/chunks/chunk.J6LC4XO6.js +1 -0
  542. package/dist/chunks/chunk.JFAE577A.js +1 -0
  543. package/dist/chunks/chunk.JHNY5UC5.js +1 -0
  544. package/dist/chunks/chunk.JIFY72GY.js +1 -0
  545. package/dist/chunks/chunk.JMHCKJE6.js +12 -0
  546. package/dist/chunks/chunk.JPCSPQ7M.js +122 -0
  547. package/dist/chunks/chunk.JUBS77KN.js +1 -0
  548. package/dist/chunks/chunk.JVNL2XTU.js +5 -0
  549. package/dist/chunks/chunk.K3NTQ4JF.js +1 -0
  550. package/dist/chunks/chunk.K3RQUNKR.js +1 -0
  551. package/dist/chunks/chunk.K6EEJAT5.js +1 -0
  552. package/dist/chunks/chunk.KBQI5V5Q.js +749 -0
  553. package/dist/chunks/chunk.KNYMQKW4.js +1 -0
  554. package/dist/chunks/chunk.KPFWB2YA.js +1 -0
  555. package/dist/chunks/chunk.KRWSFDPL.js +1 -0
  556. package/dist/chunks/chunk.KVHJU4LP.js +1 -0
  557. package/dist/chunks/chunk.KYXMELYH.js +1 -0
  558. package/dist/chunks/chunk.L745Y2S6.js +1 -0
  559. package/dist/chunks/chunk.LA4EE2OS.js +26 -0
  560. package/dist/chunks/chunk.LBOZG7DZ.js +1 -0
  561. package/dist/chunks/chunk.LCC2VNUN.js +1 -0
  562. package/dist/chunks/chunk.LFGMVPWO.js +6 -0
  563. package/dist/chunks/chunk.LPNUA4MS.js +43 -0
  564. package/dist/chunks/chunk.MAZZVNDV.js +55 -0
  565. package/dist/chunks/chunk.MFSYNWGZ.js +1 -0
  566. package/dist/chunks/chunk.MJISDOIT.js +1 -0
  567. package/dist/chunks/chunk.MNSPDFPW.js +1 -0
  568. package/dist/chunks/chunk.MSFH4A6C.js +1 -0
  569. package/dist/chunks/chunk.MWN6SUCO.js +1 -0
  570. package/dist/chunks/chunk.N6MMAM36.js +1 -0
  571. package/dist/chunks/chunk.NBONFMWU.js +1 -0
  572. package/dist/chunks/chunk.NDMEGIXT.js +1 -0
  573. package/dist/chunks/chunk.NH6VLJ6J.js +1 -0
  574. package/dist/chunks/chunk.NRKQII5L.js +1 -0
  575. package/dist/chunks/chunk.NV3RRECJ.js +5 -0
  576. package/dist/chunks/chunk.NW7UERHZ.js +99 -0
  577. package/dist/chunks/chunk.NZ2EQTLJ.js +1 -0
  578. package/dist/chunks/chunk.O3T4ATYT.js +1 -0
  579. package/dist/chunks/chunk.OGQJXR3F.js +1 -0
  580. package/dist/chunks/chunk.OJGU37E3.js +1 -0
  581. package/dist/chunks/chunk.OQULIOOE.js +1 -0
  582. package/dist/chunks/chunk.OTF3DTPS.js +299 -0
  583. package/dist/chunks/chunk.OTK4YHSY.js +1 -0
  584. package/dist/chunks/chunk.OZ4SZSLD.js +1 -0
  585. package/dist/chunks/chunk.PA77JIJB.js +1 -0
  586. package/dist/chunks/chunk.PAOPYU6H.js +48 -0
  587. package/dist/chunks/chunk.PPSCVLKZ.js +566 -0
  588. package/dist/chunks/chunk.PQWOPKO5.js +1 -0
  589. package/dist/chunks/chunk.PZM3CPCG.js +64 -0
  590. package/dist/chunks/chunk.Q6QIRUFF.js +35 -0
  591. package/dist/chunks/chunk.QLI6APTM.js +1 -0
  592. package/dist/chunks/chunk.QNHHTCKA.js +20 -0
  593. package/dist/chunks/chunk.QP47LYRE.js +1 -0
  594. package/dist/chunks/chunk.QS53EJDR.js +1 -0
  595. package/dist/chunks/chunk.QTWF2WDX.js +1 -0
  596. package/dist/chunks/chunk.QUWBD3SD.js +2 -0
  597. package/dist/chunks/chunk.RMKTIRLM.js +1 -0
  598. package/dist/chunks/chunk.ROGSTGQT.js +1 -0
  599. package/dist/chunks/chunk.RYXFAYSI.js +1 -0
  600. package/dist/chunks/chunk.S3EEI23E.js +1 -0
  601. package/dist/chunks/chunk.SATJQMPW.js +1 -0
  602. package/dist/chunks/chunk.SDHUSIQJ.js +1 -0
  603. package/dist/chunks/chunk.SEODWXYC.js +38 -0
  604. package/dist/chunks/chunk.SJ7SUN6N.js +1 -0
  605. package/dist/chunks/chunk.T3F226QD.js +24 -0
  606. package/dist/chunks/chunk.T7B46YQE.js +1 -0
  607. package/dist/chunks/chunk.T7GB532E.js +101 -0
  608. package/dist/chunks/chunk.TKOSJQ55.js +33 -0
  609. package/dist/chunks/chunk.TLQME5TY.js +1 -0
  610. package/dist/chunks/chunk.TQGIFDYA.js +65 -0
  611. package/dist/chunks/chunk.TRPU5KOO.js +1 -0
  612. package/dist/chunks/chunk.TSTFRNHO.js +30 -0
  613. package/dist/chunks/chunk.TSVYBK3W.js +1 -0
  614. package/dist/chunks/chunk.UFDERNNG.js +140 -0
  615. package/dist/chunks/chunk.V2RCW5GT.js +1 -0
  616. package/dist/chunks/chunk.VIXBKCRX.js +1 -0
  617. package/dist/chunks/chunk.VPN54IEF.js +1 -0
  618. package/dist/chunks/chunk.VRH7V55E.js +1 -0
  619. package/dist/chunks/chunk.VRMDJLQD.js +1157 -0
  620. package/dist/chunks/chunk.W6XVQOLT.js +1 -0
  621. package/dist/chunks/chunk.WCR7D3KN.js +49 -0
  622. package/dist/chunks/chunk.WETDUXP5.js +1 -0
  623. package/dist/chunks/chunk.WKXYY2SS.js +1 -0
  624. package/dist/chunks/chunk.WLKVTAB4.js +1 -0
  625. package/dist/chunks/chunk.WNYSCJWU.js +1 -0
  626. package/dist/chunks/chunk.WR22TB5Y.js +106 -0
  627. package/dist/chunks/chunk.WSSQCROT.js +62 -0
  628. package/dist/chunks/chunk.WSV3Y476.js +1 -0
  629. package/dist/chunks/chunk.WUMKEMAE.js +1 -0
  630. package/dist/chunks/chunk.WUQDOY44.js +1 -0
  631. package/dist/chunks/chunk.WYFUGJYX.js +1 -0
  632. package/dist/chunks/chunk.WZJ6BLFI.js +154 -0
  633. package/dist/chunks/chunk.XA74HUUF.js +11 -0
  634. package/dist/chunks/chunk.XAR5NYEQ.js +19 -0
  635. package/dist/chunks/chunk.XBLQSPUU.js +39 -0
  636. package/dist/chunks/chunk.XOZSKLSU.js +1 -0
  637. package/dist/chunks/chunk.XQ2DODLW.js +1 -0
  638. package/dist/chunks/chunk.XUXVJHWD.js +1 -0
  639. package/dist/chunks/chunk.XW6P4ZVZ.js +75 -0
  640. package/dist/chunks/chunk.XWN6PMIT.js +1 -0
  641. package/dist/chunks/chunk.Y4NGZVLV.js +157 -0
  642. package/dist/chunks/chunk.YITLAPOA.js +1 -0
  643. package/dist/chunks/chunk.YSFPB4SY.js +1 -0
  644. package/dist/chunks/chunk.YVJLNJOM.js +1 -0
  645. package/dist/chunks/chunk.ZAZLZRKQ.js +1 -0
  646. package/dist/chunks/chunk.ZFBM4OFX.js +1 -0
  647. package/dist/chunks/chunk.ZGKHSKIP.js +1 -0
  648. package/dist/chunks/chunk.ZJOXNJ4J.js +30 -0
  649. package/dist/chunks/chunk.ZJQMVD74.js +4 -0
  650. package/dist/chunks/chunk.ZKKAJVQK.js +11 -0
  651. package/dist/chunks/chunk.ZVQU27UY.js +1 -0
  652. package/dist/components/accordion/accordion.component.js +1 -1
  653. package/dist/components/accordion/accordion.js +1 -1
  654. package/dist/components/alert/alert.component.js +1 -1
  655. package/dist/components/alert/alert.js +1 -1
  656. package/dist/components/avatar/avatar.component.js +1 -1
  657. package/dist/components/avatar/avatar.js +1 -1
  658. package/dist/components/badge/badge.component.js +1 -1
  659. package/dist/components/badge/badge.js +1 -1
  660. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  661. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  662. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  663. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  664. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  665. package/dist/components/browse-variables/browse-variables.js +1 -1
  666. package/dist/components/button/button.component.js +1 -1
  667. package/dist/components/button/button.js +1 -1
  668. package/dist/components/button-group/button-group.component.js +1 -1
  669. package/dist/components/button-group/button-group.js +1 -1
  670. package/dist/components/caption/caption.component.js +1 -1
  671. package/dist/components/caption/caption.js +1 -1
  672. package/dist/components/card/card.component.js +1 -1
  673. package/dist/components/card/card.js +1 -1
  674. package/dist/components/checkbox/checkbox.component.js +1 -1
  675. package/dist/components/checkbox/checkbox.js +1 -1
  676. package/dist/components/chip/chip.component.js +1 -1
  677. package/dist/components/chip/chip.js +1 -1
  678. package/dist/components/combobox/combobox.component.js +1 -1
  679. package/dist/components/combobox/combobox.js +1 -1
  680. package/dist/components/data-access/data-access.component.js +1 -1
  681. package/dist/components/data-access/data-access.js +1 -1
  682. package/dist/components/data-grid/data-grid.component.js +1 -1
  683. package/dist/components/data-grid/data-grid.js +1 -1
  684. package/dist/components/data-rods/data-rods.component.js +1 -1
  685. package/dist/components/data-rods/data-rods.js +1 -1
  686. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  687. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  688. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  689. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  690. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  691. package/dist/components/date-picker/date-picker.component.js +1 -1
  692. package/dist/components/date-picker/date-picker.js +1 -1
  693. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  694. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  695. package/dist/components/dialog/dialog.component.js +1 -1
  696. package/dist/components/dialog/dialog.js +1 -1
  697. package/dist/components/divider/divider.component.js +1 -1
  698. package/dist/components/divider/divider.js +1 -1
  699. package/dist/components/dropdown/dropdown.component.js +1 -1
  700. package/dist/components/dropdown/dropdown.js +1 -1
  701. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  702. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  703. package/dist/components/file-upload/file-upload.component.js +1 -1
  704. package/dist/components/file-upload/file-upload.js +1 -1
  705. package/dist/components/harmony-history/harmony-history.component.d.ts +91 -0
  706. package/dist/components/harmony-history/harmony-history.component.js +1 -0
  707. package/dist/components/harmony-history/harmony-history.d.ts +8 -0
  708. package/dist/components/harmony-history/harmony-history.js +1 -0
  709. package/dist/components/harmony-history/harmony-history.styles.d.ts +2 -0
  710. package/dist/components/harmony-history/harmony-history.styles.js +1 -0
  711. package/dist/components/icon/icon.component.js +1 -1
  712. package/dist/components/icon/icon.js +1 -1
  713. package/dist/components/input/input.component.js +1 -1
  714. package/dist/components/input/input.js +1 -1
  715. package/dist/components/loader/loader.component.js +1 -1
  716. package/dist/components/loader/loader.js +1 -1
  717. package/dist/components/login/login.component.js +1 -1
  718. package/dist/components/login/login.js +1 -1
  719. package/dist/components/map/map.component.js +1 -1
  720. package/dist/components/map/map.js +1 -1
  721. package/dist/components/map/map.service.js +1 -1
  722. package/dist/components/menu/menu.component.js +1 -1
  723. package/dist/components/menu/menu.js +1 -1
  724. package/dist/components/menu-item/menu-item.component.js +1 -1
  725. package/dist/components/menu-item/menu-item.js +1 -1
  726. package/dist/components/option/option.component.js +1 -1
  727. package/dist/components/option/option.js +1 -1
  728. package/dist/components/pagination/pagination.component.js +1 -1
  729. package/dist/components/pagination/pagination.js +1 -1
  730. package/dist/components/plot/plot.component.js +1 -1
  731. package/dist/components/plot/plot.js +1 -1
  732. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  733. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  734. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  735. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  736. package/dist/components/popup/popup.component.js +1 -1
  737. package/dist/components/popup/popup.js +1 -1
  738. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  739. package/dist/components/progress-bar/progress-bar.js +1 -1
  740. package/dist/components/radio/radio.component.js +1 -1
  741. package/dist/components/radio/radio.js +1 -1
  742. package/dist/components/radio-group/radio-group.component.js +1 -1
  743. package/dist/components/radio-group/radio-group.js +1 -1
  744. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  745. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  746. package/dist/components/select/select.component.js +1 -1
  747. package/dist/components/select/select.js +1 -1
  748. package/dist/components/site-header/site-header.component.js +1 -1
  749. package/dist/components/site-header/site-header.js +1 -1
  750. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  751. package/dist/components/site-navigation/site-navigation.js +1 -1
  752. package/dist/components/skeleton/skeleton.component.js +1 -1
  753. package/dist/components/skeleton/skeleton.js +1 -1
  754. package/dist/components/slider/slider.component.js +1 -1
  755. package/dist/components/slider/slider.js +1 -1
  756. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  757. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  758. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  759. package/dist/components/status-indicator/status-indicator.js +1 -1
  760. package/dist/components/stepper/stepper.component.js +1 -1
  761. package/dist/components/stepper/stepper.js +1 -1
  762. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  763. package/dist/components/stepper-step/stepper-step.js +1 -1
  764. package/dist/components/tab/tab.component.js +1 -1
  765. package/dist/components/tab/tab.js +1 -1
  766. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  767. package/dist/components/tab-panel/tab-panel.js +1 -1
  768. package/dist/components/tabs/tabs.component.js +1 -1
  769. package/dist/components/tabs/tabs.js +1 -1
  770. package/dist/components/tag/tag.component.js +1 -1
  771. package/dist/components/tag/tag.js +1 -1
  772. package/dist/components/textarea/textarea.component.js +1 -1
  773. package/dist/components/textarea/textarea.js +1 -1
  774. package/dist/components/time-average-map/time-average-map-cache.service.js +1 -1
  775. package/dist/components/time-average-map/time-average-map.component.d.ts +16 -0
  776. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  777. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  778. package/dist/components/time-average-map/time-average-map.js +1 -1
  779. package/dist/components/time-series/time-series-cache.service.js +1 -1
  780. package/dist/components/time-series/time-series.component.d.ts +10 -0
  781. package/dist/components/time-series/time-series.component.js +1 -1
  782. package/dist/components/time-series/time-series.controller.js +1 -1
  783. package/dist/components/time-series/time-series.js +1 -1
  784. package/dist/components/toast/toast.component.js +1 -1
  785. package/dist/components/toast/toast.js +1 -1
  786. package/dist/components/toggle/toggle.component.js +1 -1
  787. package/dist/components/toggle/toggle.js +1 -1
  788. package/dist/components/tooltip/tooltip.component.d.ts +5 -0
  789. package/dist/components/tooltip/tooltip.component.js +1 -1
  790. package/dist/components/tooltip/tooltip.js +1 -1
  791. package/dist/components/tooltip/tooltip.styles.js +1 -1
  792. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  793. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  794. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  795. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  796. package/dist/custom-elements.json +827 -329
  797. package/dist/data-services/types.d.ts +2 -0
  798. package/dist/events/events.d.ts +2 -0
  799. package/dist/events/terra-harmony-job-delete.d.ts +8 -0
  800. package/dist/events/terra-harmony-job-select.d.ts +9 -0
  801. package/dist/internal/indexeddb.d.ts +2 -1
  802. package/dist/lib/api.client.d.ts +1 -1
  803. package/dist/lib/harmony/harmony.request.d.ts +23 -1
  804. package/dist/lib/thumbnails/thumbnail.service.d.ts +14 -0
  805. package/dist/queries/harmony.queries.d.ts +28 -0
  806. package/dist/react/accordion/index.js +1 -1
  807. package/dist/react/alert/index.js +1 -1
  808. package/dist/react/avatar/index.js +1 -1
  809. package/dist/react/badge/index.js +1 -1
  810. package/dist/react/breadcrumb/index.js +1 -1
  811. package/dist/react/breadcrumbs/index.js +1 -1
  812. package/dist/react/browse-variables/index.js +1 -1
  813. package/dist/react/button/index.js +1 -1
  814. package/dist/react/button-group/index.js +1 -1
  815. package/dist/react/caption/index.js +1 -1
  816. package/dist/react/card/index.js +1 -1
  817. package/dist/react/checkbox/index.js +1 -1
  818. package/dist/react/chip/index.js +1 -1
  819. package/dist/react/combobox/index.js +1 -1
  820. package/dist/react/data-access/index.js +1 -1
  821. package/dist/react/data-grid/index.js +1 -1
  822. package/dist/react/data-rods/index.js +1 -1
  823. package/dist/react/data-subsetter/index.js +1 -1
  824. package/dist/react/data-subsetter-history/index.js +1 -1
  825. package/dist/react/date-picker/index.js +1 -1
  826. package/dist/react/date-range-slider/index.js +1 -1
  827. package/dist/react/dialog/index.js +1 -1
  828. package/dist/react/divider/index.js +1 -1
  829. package/dist/react/dropdown/index.js +1 -1
  830. package/dist/react/earthdata-login/index.js +1 -1
  831. package/dist/react/file-upload/index.js +1 -1
  832. package/dist/react/harmony-history/index.d.ts +30 -0
  833. package/dist/react/harmony-history/index.js +1 -0
  834. package/dist/react/icon/index.js +1 -1
  835. package/dist/react/index.d.ts +2 -1
  836. package/dist/react/index.js +1 -1
  837. package/dist/react/input/index.js +1 -1
  838. package/dist/react/loader/index.js +1 -1
  839. package/dist/react/login/index.js +1 -1
  840. package/dist/react/map/index.js +1 -1
  841. package/dist/react/menu/index.js +1 -1
  842. package/dist/react/menu-item/index.js +1 -1
  843. package/dist/react/option/index.js +1 -1
  844. package/dist/react/pagination/index.js +1 -1
  845. package/dist/react/plot/index.js +1 -1
  846. package/dist/react/plot-toolbar/index.js +1 -1
  847. package/dist/react/popup/index.js +1 -1
  848. package/dist/react/progress-bar/index.js +1 -1
  849. package/dist/react/radio/index.js +1 -1
  850. package/dist/react/radio-group/index.js +1 -1
  851. package/dist/react/scroll-hint/index.js +1 -1
  852. package/dist/react/select/index.js +1 -1
  853. package/dist/react/site-header/index.js +1 -1
  854. package/dist/react/site-navigation/index.js +1 -1
  855. package/dist/react/skeleton/index.js +1 -1
  856. package/dist/react/slider/index.js +1 -1
  857. package/dist/react/spatial-picker/index.js +1 -1
  858. package/dist/react/status-indicator/index.js +1 -1
  859. package/dist/react/stepper/index.js +1 -1
  860. package/dist/react/stepper-step/index.js +1 -1
  861. package/dist/react/tab/index.js +1 -1
  862. package/dist/react/tab-panel/index.js +1 -1
  863. package/dist/react/tabs/index.js +1 -1
  864. package/dist/react/tag/index.js +1 -1
  865. package/dist/react/textarea/index.js +1 -1
  866. package/dist/react/time-average-map/index.js +1 -1
  867. package/dist/react/time-series/index.js +1 -1
  868. package/dist/react/toast/index.js +1 -1
  869. package/dist/react/toggle/index.js +1 -1
  870. package/dist/react/tooltip/index.js +1 -1
  871. package/dist/react/variable-combobox/index.js +1 -1
  872. package/dist/react/variable-keyword-search/index.js +1 -1
  873. package/dist/terra-ui-components.d.ts +1 -0
  874. package/dist/terra-ui-components.js +1 -1
  875. package/dist/terra_ui_components-0.0.181-py3-none-any.whl +0 -0
  876. package/dist/terra_ui_components-0.0.181.tar.gz +0 -0
  877. package/dist/types/vue/index.d.ts +113 -49
  878. package/dist/vscode.html-custom-data.json +71 -26
  879. package/dist/web-types.json +228 -112
  880. package/package.json +1 -1
  881. package/cdn/chunks/chunk.26KT257Q.js +0 -19
  882. package/cdn/chunks/chunk.26SCJOJ4.js +0 -74
  883. package/cdn/chunks/chunk.2EHI57XD.js +0 -231
  884. package/cdn/chunks/chunk.2I5KN4RI.js +0 -37
  885. package/cdn/chunks/chunk.2NYR45OC.js +0 -19
  886. package/cdn/chunks/chunk.2PCUEDQZ.js +0 -443
  887. package/cdn/chunks/chunk.2PIJCAHO.js +0 -99
  888. package/cdn/chunks/chunk.2UX56X34.js +0 -113
  889. package/cdn/chunks/chunk.2XHYYHQN.js +0 -275
  890. package/cdn/chunks/chunk.3AKWECBP.js +0 -372
  891. package/cdn/chunks/chunk.3GBETBER.js +0 -123
  892. package/cdn/chunks/chunk.3HV55YDS.js +0 -224
  893. package/cdn/chunks/chunk.3KFZES7Q.js +0 -230
  894. package/cdn/chunks/chunk.3LTFEU5K.js +0 -36
  895. package/cdn/chunks/chunk.3MWEGEU7.js +0 -610
  896. package/cdn/chunks/chunk.3NTDKUSD.js +0 -29
  897. package/cdn/chunks/chunk.3S4XI5MC.js +0 -86
  898. package/cdn/chunks/chunk.3Y7HZ5CS.js +0 -110
  899. package/cdn/chunks/chunk.43WTY3ZD.js +0 -32
  900. package/cdn/chunks/chunk.45N3DFV4.js +0 -19
  901. package/cdn/chunks/chunk.4HCU45UG.js +0 -29
  902. package/cdn/chunks/chunk.4LFOVYFH.js +0 -99
  903. package/cdn/chunks/chunk.4NTCIMIX.js +0 -2244
  904. package/cdn/chunks/chunk.4OP4GNVW.js +0 -29
  905. package/cdn/chunks/chunk.4VAP3VBN.js +0 -29
  906. package/cdn/chunks/chunk.4YNSLPJC.js +0 -19
  907. package/cdn/chunks/chunk.4ZM4QKER.js +0 -19
  908. package/cdn/chunks/chunk.55427GKA.js +0 -82
  909. package/cdn/chunks/chunk.57IZ2MZ2.js +0 -19
  910. package/cdn/chunks/chunk.5KGLRM37.js +0 -19
  911. package/cdn/chunks/chunk.5LCTOD4H.js +0 -19
  912. package/cdn/chunks/chunk.5OXHAB2B.js +0 -29
  913. package/cdn/chunks/chunk.5PL6BT5L.js +0 -19
  914. package/cdn/chunks/chunk.5PSII5RD.js +0 -19
  915. package/cdn/chunks/chunk.5SVFWLUR.js +0 -32
  916. package/cdn/chunks/chunk.5VKEN4OT.js +0 -19
  917. package/cdn/chunks/chunk.62YQVV2U.js +0 -2545
  918. package/cdn/chunks/chunk.6345KRH3.js +0 -29
  919. package/cdn/chunks/chunk.63OVZYG7.js +0 -134
  920. package/cdn/chunks/chunk.64LFYQBJ.js +0 -36
  921. package/cdn/chunks/chunk.65JGKMIH.js +0 -33
  922. package/cdn/chunks/chunk.6BANIONF.js +0 -36
  923. package/cdn/chunks/chunk.6BNVBPDD.js +0 -83
  924. package/cdn/chunks/chunk.6FWBBVHU.js +0 -29
  925. package/cdn/chunks/chunk.7CYCPGZL.js +0 -19
  926. package/cdn/chunks/chunk.7DBQXMNS.js +0 -32
  927. package/cdn/chunks/chunk.AFVDFDPT.js +0 -19
  928. package/cdn/chunks/chunk.ANMFYKYT.js +0 -19
  929. package/cdn/chunks/chunk.AO2NP5HV.js +0 -29
  930. package/cdn/chunks/chunk.ASJLND3B.js +0 -77
  931. package/cdn/chunks/chunk.AZNBVV2E.js +0 -278
  932. package/cdn/chunks/chunk.B5SI6B3Q.js +0 -19
  933. package/cdn/chunks/chunk.B6HZN4GK.js +0 -29
  934. package/cdn/chunks/chunk.BQ2HB43G.js +0 -189
  935. package/cdn/chunks/chunk.BQPGMCWW.js +0 -19
  936. package/cdn/chunks/chunk.BS2LEWWJ.js +0 -19
  937. package/cdn/chunks/chunk.BY2PSOYC.js +0 -29
  938. package/cdn/chunks/chunk.CEYEI6T4.js +0 -19
  939. package/cdn/chunks/chunk.CGEZSHZ5.js +0 -33
  940. package/cdn/chunks/chunk.CK5NGIYK.js +0 -60
  941. package/cdn/chunks/chunk.CLKXRS73.js +0 -19
  942. package/cdn/chunks/chunk.DFGOCWJB.js +0 -32
  943. package/cdn/chunks/chunk.DOBB44OO.js +0 -32
  944. package/cdn/chunks/chunk.DQMBRW4N.js +0 -205
  945. package/cdn/chunks/chunk.DZ7HKQYS.js +0 -19
  946. package/cdn/chunks/chunk.DZK2VH2Q.js +0 -19
  947. package/cdn/chunks/chunk.E46YC4DO.js +0 -190
  948. package/cdn/chunks/chunk.E5WMG3BD.js +0 -19
  949. package/cdn/chunks/chunk.EB3CVSCM.js +0 -41
  950. package/cdn/chunks/chunk.EC5TUHDA.js +0 -56075
  951. package/cdn/chunks/chunk.EFZHNM4Z.js +0 -78
  952. package/cdn/chunks/chunk.EKRKRJLH.js +0 -288
  953. package/cdn/chunks/chunk.EMRMJT4V.js +0 -264
  954. package/cdn/chunks/chunk.EN3OWGOT.js +0 -29
  955. package/cdn/chunks/chunk.ETS22PNR.js +0 -19
  956. package/cdn/chunks/chunk.EVTA6QPK.js +0 -19
  957. package/cdn/chunks/chunk.EWNVVXDC.js +0 -915
  958. package/cdn/chunks/chunk.F5CDI3XH.js +0 -188
  959. package/cdn/chunks/chunk.F65WZTM3.js +0 -524
  960. package/cdn/chunks/chunk.F7QE3QNK.js +0 -93
  961. package/cdn/chunks/chunk.FA7FPDAP.js +0 -33
  962. package/cdn/chunks/chunk.FBQK3I4M.js +0 -251
  963. package/cdn/chunks/chunk.FKX557YD.js +0 -35
  964. package/cdn/chunks/chunk.FP5DQ5TE.js +0 -19
  965. package/cdn/chunks/chunk.FPMFEQWC.js +0 -662
  966. package/cdn/chunks/chunk.FUX5Z5ZH.js +0 -19
  967. package/cdn/chunks/chunk.FVSS56G2.js +0 -904
  968. package/cdn/chunks/chunk.G5R5NCHW.js +0 -29
  969. package/cdn/chunks/chunk.G5WKYWF3.js +0 -1975
  970. package/cdn/chunks/chunk.G7YZNTSI.js +0 -37
  971. package/cdn/chunks/chunk.GB2EHXNN.js +0 -29
  972. package/cdn/chunks/chunk.GDAG7XAY.js +0 -1145
  973. package/cdn/chunks/chunk.GDIHTNEZ.js +0 -19
  974. package/cdn/chunks/chunk.GKNJVUX5.js +0 -32
  975. package/cdn/chunks/chunk.GTYKITY2.js +0 -19
  976. package/cdn/chunks/chunk.GW4OJECU.js +0 -658
  977. package/cdn/chunks/chunk.GXEN7PV7.js +0 -29
  978. package/cdn/chunks/chunk.H7I2MF6Q.js +0 -19
  979. package/cdn/chunks/chunk.HBEYO22S.js +0 -477
  980. package/cdn/chunks/chunk.HBJP5PSR.js +0 -234
  981. package/cdn/chunks/chunk.HGYUVVIH.js +0 -19
  982. package/cdn/chunks/chunk.HHAXDGNT.js +0 -793
  983. package/cdn/chunks/chunk.HWHP3UHO.js +0 -35
  984. package/cdn/chunks/chunk.I64EAKC3.js +0 -68
  985. package/cdn/chunks/chunk.IUIDKVNA.js +0 -19
  986. package/cdn/chunks/chunk.J3OF4YDA.js +0 -19
  987. package/cdn/chunks/chunk.JEKJT3MY.js +0 -71
  988. package/cdn/chunks/chunk.JR5DAYAS.js +0 -19
  989. package/cdn/chunks/chunk.JRVFANJK.js +0 -47
  990. package/cdn/chunks/chunk.JXELTFHA.js +0 -29
  991. package/cdn/chunks/chunk.JYMWEWPJ.js +0 -19
  992. package/cdn/chunks/chunk.K2ACV56W.js +0 -32
  993. package/cdn/chunks/chunk.K44OFKQS.js +0 -32
  994. package/cdn/chunks/chunk.K4OQYYXM.js +0 -29
  995. package/cdn/chunks/chunk.KAUIQBTO.js +0 -359
  996. package/cdn/chunks/chunk.KFCGIILI.js +0 -151
  997. package/cdn/chunks/chunk.KOAN3QWI.js +0 -19
  998. package/cdn/chunks/chunk.KVFJQNWO.js +0 -35
  999. package/cdn/chunks/chunk.KY4QC2V2.js +0 -62
  1000. package/cdn/chunks/chunk.KYZTZY5T.js +0 -32
  1001. package/cdn/chunks/chunk.L5A336NA.js +0 -302
  1002. package/cdn/chunks/chunk.L73LVHAO.js +0 -29
  1003. package/cdn/chunks/chunk.LLAJXXYS.js +0 -29
  1004. package/cdn/chunks/chunk.LRZIT4M2.js +0 -157
  1005. package/cdn/chunks/chunk.LS2IEWTZ.js +0 -36
  1006. package/cdn/chunks/chunk.LYJWWGV5.js +0 -19
  1007. package/cdn/chunks/chunk.MAHUWVEN.js +0 -279
  1008. package/cdn/chunks/chunk.MB2V6COB.js +0 -514
  1009. package/cdn/chunks/chunk.MKM7UBWD.js +0 -19
  1010. package/cdn/chunks/chunk.N445KZFN.js +0 -19
  1011. package/cdn/chunks/chunk.N6S4QWLI.js +0 -19
  1012. package/cdn/chunks/chunk.NAGHFEYY.js +0 -32
  1013. package/cdn/chunks/chunk.NCADSUWB.js +0 -19
  1014. package/cdn/chunks/chunk.NCQOAE3M.js +0 -19
  1015. package/cdn/chunks/chunk.NO4RDEJF.js +0 -92
  1016. package/cdn/chunks/chunk.NPNAGT7B.js +0 -19
  1017. package/cdn/chunks/chunk.NQXDDIXR.js +0 -32
  1018. package/cdn/chunks/chunk.NSBA63MB.js +0 -29
  1019. package/cdn/chunks/chunk.NWIN2OV5.js +0 -329
  1020. package/cdn/chunks/chunk.NWMT6TEO.js +0 -237
  1021. package/cdn/chunks/chunk.NWOUTLRN.js +0 -19
  1022. package/cdn/chunks/chunk.NZXJUHZX.js +0 -293
  1023. package/cdn/chunks/chunk.O6VWUDUR.js +0 -165
  1024. package/cdn/chunks/chunk.ODOR7YRI.js +0 -9744
  1025. package/cdn/chunks/chunk.OHLZOOZU.js +0 -3798
  1026. package/cdn/chunks/chunk.OIJZAJWN.js +0 -357
  1027. package/cdn/chunks/chunk.OXBDJPHT.js +0 -161
  1028. package/cdn/chunks/chunk.OXZDJYTP.js +0 -538
  1029. package/cdn/chunks/chunk.P7H34OO5.js +0 -32
  1030. package/cdn/chunks/chunk.PGQT2SUZ.js +0 -29
  1031. package/cdn/chunks/chunk.PZDOAUYA.js +0 -19
  1032. package/cdn/chunks/chunk.PZTXEDKR.js +0 -32
  1033. package/cdn/chunks/chunk.Q2KZZXNW.js +0 -19
  1034. package/cdn/chunks/chunk.QBWMG6IT.js +0 -34
  1035. package/cdn/chunks/chunk.QKPGMKCU.js +0 -29
  1036. package/cdn/chunks/chunk.QSUEVWML.js +0 -19
  1037. package/cdn/chunks/chunk.R76JUQVJ.js +0 -19
  1038. package/cdn/chunks/chunk.RGVLUCXY.js +0 -136
  1039. package/cdn/chunks/chunk.ROOGE2IT.js +0 -34
  1040. package/cdn/chunks/chunk.RPOR5R2E.js +0 -29
  1041. package/cdn/chunks/chunk.RRAIBGZ4.js +0 -19
  1042. package/cdn/chunks/chunk.RSLF75JQ.js +0 -276
  1043. package/cdn/chunks/chunk.RXWDA5OC.js +0 -29
  1044. package/cdn/chunks/chunk.SEDBHEAB.js +0 -259
  1045. package/cdn/chunks/chunk.SI62BLWL.js +0 -117
  1046. package/cdn/chunks/chunk.SOLKAAGN.js +0 -616
  1047. package/cdn/chunks/chunk.SXQOBC52.js +0 -113
  1048. package/cdn/chunks/chunk.TP5I7KWU.js +0 -19
  1049. package/cdn/chunks/chunk.U5HIJOMQ.js +0 -75
  1050. package/cdn/chunks/chunk.U5MPUZM5.js +0 -19
  1051. package/cdn/chunks/chunk.UDOTA73Q.js +0 -104
  1052. package/cdn/chunks/chunk.UIM3CRXT.js +0 -32
  1053. package/cdn/chunks/chunk.UJ37LSQF.js +0 -35
  1054. package/cdn/chunks/chunk.ULPRYBXE.js +0 -19
  1055. package/cdn/chunks/chunk.UOI45MZN.js +0 -33
  1056. package/cdn/chunks/chunk.UP5IZCN2.js +0 -19
  1057. package/cdn/chunks/chunk.UT7NEDHK.js +0 -56
  1058. package/cdn/chunks/chunk.UZIKKKMX.js +0 -599
  1059. package/cdn/chunks/chunk.V3B7XZSR.js +0 -29
  1060. package/cdn/chunks/chunk.VEQFG24Y.js +0 -29
  1061. package/cdn/chunks/chunk.VJ3HSVRM.js +0 -19
  1062. package/cdn/chunks/chunk.VM7QIPMN.js +0 -19
  1063. package/cdn/chunks/chunk.VOMJQ2PY.js +0 -29
  1064. package/cdn/chunks/chunk.VSWWQTCR.js +0 -49
  1065. package/cdn/chunks/chunk.W6SOSTCJ.js +0 -535
  1066. package/cdn/chunks/chunk.W7J5622D.js +0 -132
  1067. package/cdn/chunks/chunk.WCT2EGAW.js +0 -19
  1068. package/cdn/chunks/chunk.WDXR2JIS.js +0 -155
  1069. package/cdn/chunks/chunk.WG4VDVEI.js +0 -81
  1070. package/cdn/chunks/chunk.WQHKJMY7.js +0 -29
  1071. package/cdn/chunks/chunk.WWVZEJPV.js +0 -19
  1072. package/cdn/chunks/chunk.WWXXMUQQ.js +0 -29
  1073. package/cdn/chunks/chunk.WYHJ7NLI.js +0 -134
  1074. package/cdn/chunks/chunk.Y3GAPNFQ.js +0 -60
  1075. package/cdn/chunks/chunk.Y5OZ5KWP.js +0 -106
  1076. package/cdn/chunks/chunk.Y76LQIOK.js +0 -19
  1077. package/cdn/chunks/chunk.YDXASEGU.js +0 -29
  1078. package/cdn/chunks/chunk.YFQYUNKU.js +0 -19
  1079. package/cdn/chunks/chunk.YIVEZAP4.js +0 -30
  1080. package/cdn/chunks/chunk.YOIXCCDN.js +0 -93
  1081. package/cdn/chunks/chunk.YWHPP2TL.js +0 -19
  1082. package/cdn/chunks/chunk.YYHKRVK5.js +0 -34
  1083. package/cdn/chunks/chunk.Z2Y7UOPY.js +0 -1184
  1084. package/cdn/chunks/chunk.Z4Q7EJUU.js +0 -19
  1085. package/cdn/chunks/chunk.Z5D5WHWT.js +0 -39
  1086. package/cdn/chunks/chunk.Z7JIWZZH.js +0 -285
  1087. package/cdn/chunks/chunk.ZALJFYJ6.js +0 -493
  1088. package/cdn/chunks/chunk.ZWKZYPUO.js +0 -19
  1089. package/cdn/chunks/chunk.ZWVOSI42.js +0 -29
  1090. package/dist/chunks/chunk.2AJNF5Z5.js +0 -1
  1091. package/dist/chunks/chunk.2NT5ZT4T.js +0 -1
  1092. package/dist/chunks/chunk.2P3YOE6H.js +0 -1
  1093. package/dist/chunks/chunk.2QP3CLLZ.js +0 -67
  1094. package/dist/chunks/chunk.2YCZCE4S.js +0 -1
  1095. package/dist/chunks/chunk.34SGSVEH.js +0 -140
  1096. package/dist/chunks/chunk.3NRLZXI2.js +0 -1
  1097. package/dist/chunks/chunk.3YYQOQRG.js +0 -20
  1098. package/dist/chunks/chunk.46H3YDP7.js +0 -1
  1099. package/dist/chunks/chunk.46LCWODR.js +0 -65
  1100. package/dist/chunks/chunk.47BVT76F.js +0 -1
  1101. package/dist/chunks/chunk.4B47VXVP.js +0 -1
  1102. package/dist/chunks/chunk.4DDE3552.js +0 -1
  1103. package/dist/chunks/chunk.4DHJWSZT.js +0 -1
  1104. package/dist/chunks/chunk.4FA2VISH.js +0 -1
  1105. package/dist/chunks/chunk.4MBPAU5Y.js +0 -566
  1106. package/dist/chunks/chunk.4NHCLCIX.js +0 -1
  1107. package/dist/chunks/chunk.4ONQSCPA.js +0 -1
  1108. package/dist/chunks/chunk.4QXSXFWK.js +0 -1
  1109. package/dist/chunks/chunk.4WU5R5TN.js +0 -64
  1110. package/dist/chunks/chunk.5C2GZTN3.js +0 -1
  1111. package/dist/chunks/chunk.5FEQDBOD.js +0 -1
  1112. package/dist/chunks/chunk.5GXUM2LI.js +0 -1
  1113. package/dist/chunks/chunk.5ITKGB2M.js +0 -43
  1114. package/dist/chunks/chunk.5WTW5KGY.js +0 -1
  1115. package/dist/chunks/chunk.6D2P5XBP.js +0 -11
  1116. package/dist/chunks/chunk.6DLYU7II.js +0 -1
  1117. package/dist/chunks/chunk.6FK4JW6B.js +0 -1
  1118. package/dist/chunks/chunk.6QKLZA7M.js +0 -43
  1119. package/dist/chunks/chunk.6S7AITRG.js +0 -1
  1120. package/dist/chunks/chunk.6XKRCX7E.js +0 -300
  1121. package/dist/chunks/chunk.773YJXBD.js +0 -1
  1122. package/dist/chunks/chunk.7UFP5DQ4.js +0 -25
  1123. package/dist/chunks/chunk.7VXGRXO3.js +0 -1
  1124. package/dist/chunks/chunk.7WKPVNAD.js +0 -33
  1125. package/dist/chunks/chunk.A4B6V7DZ.js +0 -1
  1126. package/dist/chunks/chunk.AA4OOWL2.js +0 -6
  1127. package/dist/chunks/chunk.ABTLN6NI.js +0 -1
  1128. package/dist/chunks/chunk.ABUMARPK.js +0 -1
  1129. package/dist/chunks/chunk.AFZGF7AF.js +0 -1
  1130. package/dist/chunks/chunk.AIKRJW76.js +0 -26
  1131. package/dist/chunks/chunk.AXB5O266.js +0 -1
  1132. package/dist/chunks/chunk.AZFD4LBL.js +0 -23
  1133. package/dist/chunks/chunk.B4W7MOEM.js +0 -145
  1134. package/dist/chunks/chunk.B6IOO3S6.js +0 -1
  1135. package/dist/chunks/chunk.B7Z7LN4Y.js +0 -157
  1136. package/dist/chunks/chunk.BDTBEGUV.js +0 -30
  1137. package/dist/chunks/chunk.BML4OHUL.js +0 -1
  1138. package/dist/chunks/chunk.BVJU5S2L.js +0 -1
  1139. package/dist/chunks/chunk.BWUUT4P3.js +0 -1
  1140. package/dist/chunks/chunk.C3LDULRW.js +0 -1
  1141. package/dist/chunks/chunk.C5IAOI5P.js +0 -75
  1142. package/dist/chunks/chunk.C6KTVOGD.js +0 -101
  1143. package/dist/chunks/chunk.C6UJFOJA.js +0 -1
  1144. package/dist/chunks/chunk.CCYI6V7E.js +0 -1
  1145. package/dist/chunks/chunk.CDRNZVTB.js +0 -1
  1146. package/dist/chunks/chunk.CHTAX6YR.js +0 -1
  1147. package/dist/chunks/chunk.CMW3T6G4.js +0 -1
  1148. package/dist/chunks/chunk.CR2MHGYF.js +0 -37
  1149. package/dist/chunks/chunk.CVX2IQ3N.js +0 -1
  1150. package/dist/chunks/chunk.D4FZXK32.js +0 -1
  1151. package/dist/chunks/chunk.DMFUOXZT.js +0 -1
  1152. package/dist/chunks/chunk.DTB6YVF7.js +0 -5
  1153. package/dist/chunks/chunk.DW57B6YE.js +0 -35
  1154. package/dist/chunks/chunk.E2HFVVAU.js +0 -8
  1155. package/dist/chunks/chunk.E4MVZA4I.js +0 -1
  1156. package/dist/chunks/chunk.E5VEP5QD.js +0 -80
  1157. package/dist/chunks/chunk.EQLKJ6SU.js +0 -1
  1158. package/dist/chunks/chunk.EXKNLUSQ.js +0 -299
  1159. package/dist/chunks/chunk.EZDC5SS3.js +0 -1
  1160. package/dist/chunks/chunk.FFPMXRI3.js +0 -1
  1161. package/dist/chunks/chunk.FPQ2ZB2O.js +0 -1
  1162. package/dist/chunks/chunk.FZAX2HVR.js +0 -1
  1163. package/dist/chunks/chunk.G5CKSEBJ.js +0 -1
  1164. package/dist/chunks/chunk.G6FIOHAT.js +0 -1
  1165. package/dist/chunks/chunk.GBHLNNMQ.js +0 -1
  1166. package/dist/chunks/chunk.GD7YPOPL.js +0 -1
  1167. package/dist/chunks/chunk.GDBO6KPI.js +0 -280
  1168. package/dist/chunks/chunk.GEA7S4SS.js +0 -1
  1169. package/dist/chunks/chunk.GKYOUI6O.js +0 -1
  1170. package/dist/chunks/chunk.GNAOV4CE.js +0 -1
  1171. package/dist/chunks/chunk.GNFSENN2.js +0 -1
  1172. package/dist/chunks/chunk.GVVISPQE.js +0 -47
  1173. package/dist/chunks/chunk.GXFFIW4T.js +0 -1
  1174. package/dist/chunks/chunk.HCRWISSS.js +0 -20
  1175. package/dist/chunks/chunk.HG64IQ3Z.js +0 -1
  1176. package/dist/chunks/chunk.HHLLNXRY.js +0 -1
  1177. package/dist/chunks/chunk.HIX5GPFI.js +0 -1
  1178. package/dist/chunks/chunk.HJZJT6KY.js +0 -30
  1179. package/dist/chunks/chunk.HLSW2UGB.js +0 -1
  1180. package/dist/chunks/chunk.HSGYZLW4.js +0 -100
  1181. package/dist/chunks/chunk.HTXCAUP2.js +0 -1
  1182. package/dist/chunks/chunk.HZ7S3ZVA.js +0 -1
  1183. package/dist/chunks/chunk.I3354BKM.js +0 -1
  1184. package/dist/chunks/chunk.I7DU7VFZ.js +0 -2
  1185. package/dist/chunks/chunk.I7UJ44FA.js +0 -100
  1186. package/dist/chunks/chunk.ICBA67NI.js +0 -1
  1187. package/dist/chunks/chunk.IDMFGWNJ.js +0 -1
  1188. package/dist/chunks/chunk.IEIJCOMT.js +0 -1
  1189. package/dist/chunks/chunk.ILEOTN2D.js +0 -1
  1190. package/dist/chunks/chunk.IR5OA5AA.js +0 -1
  1191. package/dist/chunks/chunk.ISVPRRSL.js +0 -37
  1192. package/dist/chunks/chunk.J3542ENW.js +0 -16
  1193. package/dist/chunks/chunk.JKWPNRMY.js +0 -1
  1194. package/dist/chunks/chunk.JM5EALZ5.js +0 -19
  1195. package/dist/chunks/chunk.JON4UZAS.js +0 -22
  1196. package/dist/chunks/chunk.JT3HRZTN.js +0 -1
  1197. package/dist/chunks/chunk.JUBJN5ZN.js +0 -1
  1198. package/dist/chunks/chunk.K4WN3B56.js +0 -24
  1199. package/dist/chunks/chunk.KDMJINCM.js +0 -1
  1200. package/dist/chunks/chunk.KI4EUF67.js +0 -121
  1201. package/dist/chunks/chunk.KIHZQ3LL.js +0 -1
  1202. package/dist/chunks/chunk.KIOEQ552.js +0 -39
  1203. package/dist/chunks/chunk.KSQ6GHXW.js +0 -1
  1204. package/dist/chunks/chunk.KTTXLINR.js +0 -1
  1205. package/dist/chunks/chunk.LHTIGXNJ.js +0 -1
  1206. package/dist/chunks/chunk.LP2CR5VG.js +0 -8
  1207. package/dist/chunks/chunk.LWMXBJFQ.js +0 -1
  1208. package/dist/chunks/chunk.LWURMOZE.js +0 -1
  1209. package/dist/chunks/chunk.LXQMAB2U.js +0 -1
  1210. package/dist/chunks/chunk.MBVNMYVL.js +0 -11
  1211. package/dist/chunks/chunk.MCNJ2ULL.js +0 -1
  1212. package/dist/chunks/chunk.MCW4UTWF.js +0 -74
  1213. package/dist/chunks/chunk.MFUFKXTH.js +0 -14
  1214. package/dist/chunks/chunk.MGKQUQZ4.js +0 -38
  1215. package/dist/chunks/chunk.MJQTHFJL.js +0 -1
  1216. package/dist/chunks/chunk.NDXOHDIZ.js +0 -55
  1217. package/dist/chunks/chunk.NGWYN3KF.js +0 -1
  1218. package/dist/chunks/chunk.NO7DUW25.js +0 -1
  1219. package/dist/chunks/chunk.NUJQKS4H.js +0 -4
  1220. package/dist/chunks/chunk.O2HQT52O.js +0 -1
  1221. package/dist/chunks/chunk.O3ISQM6H.js +0 -62
  1222. package/dist/chunks/chunk.O3JG4DO5.js +0 -9
  1223. package/dist/chunks/chunk.O4PAZJBP.js +0 -5
  1224. package/dist/chunks/chunk.O5IMLJBF.js +0 -1
  1225. package/dist/chunks/chunk.OAXWRTN7.js +0 -1
  1226. package/dist/chunks/chunk.OBEH7FCK.js +0 -1
  1227. package/dist/chunks/chunk.OKOYLAUA.js +0 -1157
  1228. package/dist/chunks/chunk.OMX5FETB.js +0 -1
  1229. package/dist/chunks/chunk.OS6ZETFH.js +0 -1
  1230. package/dist/chunks/chunk.OYNORNE2.js +0 -9
  1231. package/dist/chunks/chunk.OYP2F75M.js +0 -126
  1232. package/dist/chunks/chunk.P75IMUDZ.js +0 -1
  1233. package/dist/chunks/chunk.PA3VBXVK.js +0 -26
  1234. package/dist/chunks/chunk.PEBJNSWB.js +0 -1
  1235. package/dist/chunks/chunk.PFCI7VDW.js +0 -1
  1236. package/dist/chunks/chunk.PJBZOFER.js +0 -1
  1237. package/dist/chunks/chunk.PM4H5JFF.js +0 -1
  1238. package/dist/chunks/chunk.PPPGTIMB.js +0 -1
  1239. package/dist/chunks/chunk.PRA6LX5W.js +0 -1
  1240. package/dist/chunks/chunk.QFB3PCD3.js +0 -1
  1241. package/dist/chunks/chunk.QW3OF5NM.js +0 -1
  1242. package/dist/chunks/chunk.QYBSPXA4.js +0 -55
  1243. package/dist/chunks/chunk.R57SSUHG.js +0 -115
  1244. package/dist/chunks/chunk.R5PW2J2X.js +0 -17
  1245. package/dist/chunks/chunk.REZF2TMV.js +0 -1
  1246. package/dist/chunks/chunk.RI4PAVBN.js +0 -1
  1247. package/dist/chunks/chunk.RQH2KYAF.js +0 -1
  1248. package/dist/chunks/chunk.RRD4GWZM.js +0 -1
  1249. package/dist/chunks/chunk.S2PSK5XR.js +0 -99
  1250. package/dist/chunks/chunk.S37IUS6R.js +0 -154
  1251. package/dist/chunks/chunk.SRXNJS22.js +0 -1
  1252. package/dist/chunks/chunk.T6PYLVCK.js +0 -1
  1253. package/dist/chunks/chunk.TQLT4DUB.js +0 -1
  1254. package/dist/chunks/chunk.TQWV4GMD.js +0 -1
  1255. package/dist/chunks/chunk.TRM2XUGL.js +0 -1
  1256. package/dist/chunks/chunk.TWJIFZVX.js +0 -1
  1257. package/dist/chunks/chunk.TWSY3M6Q.js +0 -1
  1258. package/dist/chunks/chunk.U2K4W4DP.js +0 -35
  1259. package/dist/chunks/chunk.U5EMXKX4.js +0 -1
  1260. package/dist/chunks/chunk.UDAASDQK.js +0 -1
  1261. package/dist/chunks/chunk.UEGDQ6BM.js +0 -1
  1262. package/dist/chunks/chunk.UG3YZVHQ.js +0 -55
  1263. package/dist/chunks/chunk.UIBWBYNW.js +0 -1
  1264. package/dist/chunks/chunk.UMWKE4O2.js +0 -1
  1265. package/dist/chunks/chunk.UYEDKQLP.js +0 -1
  1266. package/dist/chunks/chunk.V6NAM6MU.js +0 -1
  1267. package/dist/chunks/chunk.VFOMINBL.js +0 -48
  1268. package/dist/chunks/chunk.VGFTYA6N.js +0 -1
  1269. package/dist/chunks/chunk.VMACUK42.js +0 -1
  1270. package/dist/chunks/chunk.VRFTRHNI.js +0 -1
  1271. package/dist/chunks/chunk.VRKJSPEU.js +0 -1
  1272. package/dist/chunks/chunk.VSYHMVFB.js +0 -1
  1273. package/dist/chunks/chunk.VY3UBC7Y.js +0 -1
  1274. package/dist/chunks/chunk.W3RY3L2T.js +0 -49
  1275. package/dist/chunks/chunk.W4U6DIPH.js +0 -1
  1276. package/dist/chunks/chunk.W55BGFHT.js +0 -1
  1277. package/dist/chunks/chunk.WEVKLE7C.js +0 -1
  1278. package/dist/chunks/chunk.WG6D7JHO.js +0 -1
  1279. package/dist/chunks/chunk.XT37PN45.js +0 -1
  1280. package/dist/chunks/chunk.Y7BOR5Y6.js +0 -1
  1281. package/dist/chunks/chunk.YCV2ZGED.js +0 -1
  1282. package/dist/chunks/chunk.YMWVYGLQ.js +0 -1
  1283. package/dist/chunks/chunk.YPGTCFAH.js +0 -12
  1284. package/dist/chunks/chunk.Z26IZTH3.js +0 -1
  1285. package/dist/chunks/chunk.Z54EHKYE.js +0 -1
  1286. package/dist/chunks/chunk.ZLSEXTRL.js +0 -1
  1287. package/dist/chunks/chunk.ZRHNMI52.js +0 -1
  1288. package/dist/chunks/chunk.ZSPCDPLN.js +0 -749
  1289. package/dist/chunks/chunk.ZXQ7UCTV.js +0 -1
  1290. package/dist/terra_ui_components-0.0.178-py3-none-any.whl +0 -0
  1291. package/dist/terra_ui_components-0.0.178.tar.gz +0 -0
  1292. /package/cdn/chunks/{GeoTIFF.HVXG65QH.js → GeoTIFF.WDM5HZIC.js} +0 -0
@@ -0,0 +1,975 @@
1
+ import {
2
+ extractHarmonyError
3
+ } from "./chunk.3TKV2VNC.js";
4
+ import {
5
+ time_series_cache_service_default
6
+ } from "./chunk.AXHGJXN6.js";
7
+ import {
8
+ require_plotly_min
9
+ } from "./chunk.NPCTDW7V.js";
10
+ import {
11
+ HarmonyRequestController
12
+ } from "./chunk.3465UHBW.js";
13
+ import {
14
+ HarmonyRequest
15
+ } from "./chunk.VUKYQOBK.js";
16
+ import {
17
+ CollectionController
18
+ } from "./chunk.M65VG5RW.js";
19
+ import {
20
+ FINAL_STATUSES,
21
+ ThumbnailService,
22
+ harmonyApi
23
+ } from "./chunk.KIWNTLEB.js";
24
+ import {
25
+ LatLngBounds
26
+ } from "./chunk.EABQJ4NF.js";
27
+ import {
28
+ LatLng
29
+ } from "./chunk.SN3T4SQP.js";
30
+ import {
31
+ format,
32
+ formatDate,
33
+ getUTCDate,
34
+ isDateRangeContained
35
+ } from "./chunk.TKSEPVAL.js";
36
+ import {
37
+ h,
38
+ i
39
+ } from "./chunk.BQDEKCXK.js";
40
+ import {
41
+ __privateAdd,
42
+ __privateGet,
43
+ __privateMethod,
44
+ __privateSet,
45
+ __spreadProps,
46
+ __spreadValues,
47
+ __toESM,
48
+ init_buffer,
49
+ init_dirname,
50
+ init_process
51
+ } from "./chunk.ZEOVK2FE.js";
52
+
53
+ // src/components/time-series/time-series.controller.ts
54
+ init_dirname();
55
+ init_buffer();
56
+ init_process();
57
+
58
+ // src/lib/dataset.ts
59
+ init_dirname();
60
+ init_buffer();
61
+ init_process();
62
+
63
+ // src/types.ts
64
+ init_dirname();
65
+ init_buffer();
66
+ init_process();
67
+
68
+ // src/lib/dataset.ts
69
+ var MAX_DATAPOINTS_PER_REQUEST = 2e5;
70
+ var MILLIS_IN_HOUR = 1e3 * 60 * 60;
71
+ var MILLIS_IN_DAY = MILLIS_IN_HOUR * 24;
72
+ function calculateDataPoints(timeInterval, startDate, endDate) {
73
+ const diffMs = endDate.getTime() - startDate.getTime();
74
+ switch (timeInterval) {
75
+ case "half-hourly" /* HalfHourly */:
76
+ return Math.floor(diffMs / (MILLIS_IN_HOUR / 2)) + 1;
77
+ case "hourly" /* Hourly */:
78
+ return Math.floor(diffMs / MILLIS_IN_HOUR) + 1;
79
+ case "3-hourly" /* ThreeHourly */:
80
+ return Math.floor(diffMs / (MILLIS_IN_HOUR * 3)) + 1;
81
+ case "daily" /* Daily */:
82
+ return Math.floor(diffMs / MILLIS_IN_DAY) + 1;
83
+ case "weekly" /* Weekly */:
84
+ return Math.floor(diffMs / (MILLIS_IN_DAY * 7)) + 1;
85
+ default:
86
+ throw new Error(`Unsupported time interval: ${timeInterval}`);
87
+ }
88
+ }
89
+ function calculateDateChunks(timeInterval, startDate, endDate) {
90
+ const totalDataPoints = calculateDataPoints(timeInterval, startDate, endDate);
91
+ if (totalDataPoints <= MAX_DATAPOINTS_PER_REQUEST) {
92
+ return [{ start: startDate, end: endDate }];
93
+ }
94
+ const chunks = [];
95
+ const totalDurationMs = endDate.getTime() - startDate.getTime();
96
+ const numChunks = Math.ceil(totalDataPoints / MAX_DATAPOINTS_PER_REQUEST);
97
+ const chunkSizeMs = Math.floor(totalDurationMs / numChunks);
98
+ let chunkStart = new Date(startDate);
99
+ let remainingDuration = totalDurationMs;
100
+ while (remainingDuration > 0) {
101
+ let potentialChunkEnd = new Date(chunkStart.getTime() + chunkSizeMs);
102
+ if (potentialChunkEnd > endDate) {
103
+ potentialChunkEnd = endDate;
104
+ }
105
+ const chunkDataPoints = calculateDataPoints(
106
+ timeInterval,
107
+ chunkStart,
108
+ potentialChunkEnd
109
+ );
110
+ if (chunkDataPoints > MAX_DATAPOINTS_PER_REQUEST) {
111
+ const maxDurationMs = chunkSizeMs * MAX_DATAPOINTS_PER_REQUEST / chunkDataPoints;
112
+ potentialChunkEnd = new Date(chunkStart.getTime() + maxDurationMs);
113
+ }
114
+ chunks.push({
115
+ start: new Date(chunkStart),
116
+ end: new Date(potentialChunkEnd)
117
+ });
118
+ remainingDuration = endDate.getTime() - potentialChunkEnd.getTime();
119
+ chunkStart = potentialChunkEnd;
120
+ }
121
+ return chunks;
122
+ }
123
+
124
+ // src/components/time-series/time-series.controller.ts
125
+ var Plotly = __toESM(require_plotly_min(), 1);
126
+ var NUM_DATAPOINTS_TO_WARN_USER = 5e4;
127
+ var HARMONY_LINK_PROXY_URL = "https://lpo4uv7f0h.execute-api.us-east-1.amazonaws.com/default/harmony-link-proxy";
128
+ var TIME_SERIES_NO_USER_PROXY_URL = "https://8weebb031a.execute-api.us-east-1.amazonaws.com/SIT/timeseries-no-user";
129
+ var HARMONY_STATUS_WAIT_INTERVAL_MS = 300;
130
+ var MAX_CONCEPT_ID_WAIT_MS = 1e4;
131
+ var HISTORY_LOOKUP_DAYS = 7;
132
+ var HISTORY_JOB_LIMIT = 10;
133
+ var plotlyDefaultData = {
134
+ // holds the default Plotly configuration options.
135
+ // see https://plotly.com/javascript/time-series/
136
+ type: "scatter",
137
+ mode: "lines"
138
+ };
139
+ var _userConfirmedWarning, _cacheService, _thumbnailService, _lastHarmonyJobId, _collectionController, _harmonyRequestController, _getRequestedVariables, getRequestedVariables_fn, _loadTimeSeries, loadTimeSeries_fn, _fetchTimeSeriesChunk, fetchTimeSeriesChunk_fn, _fetchRecentHistoryJobs, fetchRecentHistoryJobs_fn, _isMatchingTimeSeriesJob, isMatchingTimeSeriesJob_fn, _fetchTimeSeriesDataFromJob, fetchTimeSeriesDataFromJob_fn, _fetchPointTimeSeriesChunkFromProxy, fetchPointTimeSeriesChunkFromProxy_fn, _waitForHarmonyJob, waitForHarmonyJob_fn, _parseTimeSeriesCsv, parseTimeSeriesCsv_fn, _normalizeTimestamp, normalizeTimestamp_fn, _filterFillValues, filterFillValues_fn, _checkDataPointLimits, checkDataPointLimits_fn, _detectTimeInterval, detectTimeInterval_fn, _getCollectionEntryId, getCollectionEntryId_fn, _waitForCollectionConceptId, waitForCollectionConceptId_fn, _parseLocationInput, parseLocationInput_fn, _capturePlotThumbnail, capturePlotThumbnail_fn, _sleep, sleep_fn, _handleHarmonyError, handleHarmonyError_fn;
140
+ var TimeSeriesController = class {
141
+ constructor(host) {
142
+ __privateAdd(this, _getRequestedVariables);
143
+ __privateAdd(this, _loadTimeSeries);
144
+ /**
145
+ * Fetches a single chunk of time series data
146
+ */
147
+ __privateAdd(this, _fetchTimeSeriesChunk);
148
+ /**
149
+ * Fetches recent successful Harmony time series jobs from the user's history.
150
+ * Returns an empty array if the user is unauthenticated (no bearer token).
151
+ */
152
+ __privateAdd(this, _fetchRecentHistoryJobs);
153
+ /**
154
+ * Returns true if a Harmony history job matches the given chunk parameters.
155
+ * Only applies to bounding box locations — point data uses a non-Harmony proxy.
156
+ */
157
+ __privateAdd(this, _isMatchingTimeSeriesJob);
158
+ /**
159
+ * Fetches and parses time series CSV data from an existing Harmony job's data link.
160
+ * Used when a matching job is found in the user's Harmony history.
161
+ */
162
+ __privateAdd(this, _fetchTimeSeriesDataFromJob);
163
+ __privateAdd(this, _fetchPointTimeSeriesChunkFromProxy);
164
+ __privateAdd(this, _waitForHarmonyJob);
165
+ /**
166
+ * the data we receive for the time series is in CSV format, but with metadata at the top
167
+ * this function parses the CSV data and returns an object of the metadata and the data
168
+ */
169
+ __privateAdd(this, _parseTimeSeriesCsv);
170
+ /**
171
+ * Normalizes timestamp format to be consistent between point-based and area-averaged data
172
+ * Point-based data format: "2013-11-28 23:30"
173
+ * Area-averaged data format: "2009-01-01T00:30:00.000000000"
174
+ * This function converts both formats to ISO 8601 format while preserving full time resolution
175
+ */
176
+ __privateAdd(this, _normalizeTimestamp);
177
+ /**
178
+ * Filters out fill values from time series data
179
+ */
180
+ __privateAdd(this, _filterFillValues);
181
+ /**
182
+ * Checks if the current date range will exceed data point limits
183
+ * Returns true if it's safe to proceed, false if confirmation is needed
184
+ */
185
+ __privateAdd(this, _checkDataPointLimits);
186
+ /**
187
+ * Detects the actual time interval from the data by analyzing timestamp differences
188
+ * Returns the detected TimeInterval or null if unable to determine
189
+ */
190
+ __privateAdd(this, _detectTimeInterval);
191
+ __privateAdd(this, _getCollectionEntryId);
192
+ __privateAdd(this, _waitForCollectionConceptId);
193
+ __privateAdd(this, _parseLocationInput);
194
+ __privateAdd(this, _capturePlotThumbnail);
195
+ __privateAdd(this, _sleep);
196
+ /**
197
+ * Handles errors from Harmony GraphQL operations and dispatches them as events
198
+ */
199
+ __privateAdd(this, _handleHarmonyError);
200
+ __privateAdd(this, _userConfirmedWarning, false);
201
+ __privateAdd(this, _cacheService, new time_series_cache_service_default());
202
+ __privateAdd(this, _thumbnailService, new ThumbnailService());
203
+ __privateAdd(this, _lastHarmonyJobId, void 0);
204
+ __privateAdd(this, _collectionController, void 0);
205
+ __privateAdd(this, _harmonyRequestController, void 0);
206
+ this.emptyPlotData = [
207
+ __spreadProps(__spreadValues({}, plotlyDefaultData), {
208
+ x: [],
209
+ y: []
210
+ })
211
+ ];
212
+ this.host = host;
213
+ __privateSet(this, _collectionController, new CollectionController(this.host, {
214
+ getCollectionEntryId: () => __privateMethod(this, _getCollectionEntryId, getCollectionEntryId_fn).call(this),
215
+ getBearerToken: () => this.host.bearerToken
216
+ }));
217
+ __privateSet(this, _harmonyRequestController, new HarmonyRequestController(this.host));
218
+ this.task = new h(host, {
219
+ // passing the signal in so the fetch request will be aborted when the task is aborted
220
+ task: async (_args, { signal }) => {
221
+ var _a, _b;
222
+ if (!__privateMethod(this, _getRequestedVariables, getRequestedVariables_fn).call(this).length || !this.host.startDate || !this.host.endDate || !this.host.location) {
223
+ console.log("Requirements not met to fetch the time series data ");
224
+ return i;
225
+ }
226
+ const requestedVariables = __privateMethod(this, _getRequestedVariables, getRequestedVariables_fn).call(this);
227
+ const seriesResults = await Promise.all(
228
+ requestedVariables.map(async (variable) => {
229
+ var _a2;
230
+ const timeSeries = await __privateMethod(this, _loadTimeSeries, loadTimeSeries_fn).call(this, signal, variable);
231
+ const filteredData = __privateMethod(this, _filterFillValues, filterFillValues_fn).call(this, timeSeries.data, (_a2 = timeSeries.metadata) == null ? void 0 : _a2.undef);
232
+ return {
233
+ variable,
234
+ timeSeries,
235
+ filteredData
236
+ };
237
+ })
238
+ );
239
+ this.metadata = (_a = seriesResults[0]) == null ? void 0 : _a.timeSeries.metadata;
240
+ this.lastTaskValue = seriesResults.map(
241
+ ({ variable, filteredData }) => {
242
+ var _a2, _b2;
243
+ return __spreadProps(__spreadValues({}, plotlyDefaultData), {
244
+ name: (_b2 = (_a2 = variable.dataFieldLongName) != null ? _a2 : variable.dataFieldShortName) != null ? _b2 : variable.dataFieldId,
245
+ hovertemplate: variable.dataFieldUnits ? `%{x}<br>%{y} ${variable.dataFieldUnits}<extra>%{fullData.name}</extra>` : "%{x}<br>%{y}<extra>%{fullData.name}</extra>",
246
+ x: filteredData.map((row) => row.timestamp),
247
+ y: filteredData.map((row) => row.value)
248
+ });
249
+ }
250
+ );
251
+ const firstSeries = seriesResults[0];
252
+ if (!firstSeries) {
253
+ return (_b = this.lastTaskValue) != null ? _b : this.emptyPlotData;
254
+ }
255
+ this.host.emit("terra-time-series-data-change", {
256
+ detail: {
257
+ data: firstSeries.timeSeries,
258
+ variable: firstSeries.variable,
259
+ series: seriesResults.map(({ variable, timeSeries }) => ({
260
+ variable,
261
+ data: timeSeries
262
+ })),
263
+ startDate: formatDate(this.host.startDate),
264
+ endDate: formatDate(this.host.endDate),
265
+ location: this.host.location
266
+ }
267
+ });
268
+ if (__privateGet(this, _lastHarmonyJobId)) {
269
+ __privateMethod(this, _capturePlotThumbnail, capturePlotThumbnail_fn).call(this, __privateGet(this, _lastHarmonyJobId)).catch(
270
+ console.error
271
+ );
272
+ }
273
+ return this.lastTaskValue;
274
+ },
275
+ args: () => [
276
+ this.host.catalogVariable,
277
+ this.host.catalogVariables,
278
+ this.host.startDate,
279
+ this.host.endDate,
280
+ this.host.location
281
+ ]
282
+ });
283
+ }
284
+ render(renderFunctions) {
285
+ return this.task.render(renderFunctions);
286
+ }
287
+ /**
288
+ * Gets the cache key for the current time series data
289
+ */
290
+ getCacheKey() {
291
+ if (!this.host.location || !this.host.catalogVariable) {
292
+ return "";
293
+ }
294
+ return this.getCacheKeyForVariable(this.host.catalogVariable);
295
+ }
296
+ getCacheKeyForVariable(catalogVariable) {
297
+ return __privateGet(this, _cacheService).getCacheKeyForVariable(
298
+ catalogVariable.dataFieldId,
299
+ this.host.location,
300
+ this.host.environment
301
+ );
302
+ }
303
+ /**
304
+ * Called when the user confirms the data point warning
305
+ */
306
+ confirmDataPointWarning() {
307
+ __privateSet(this, _userConfirmedWarning, true);
308
+ this.host.showDataPointWarning = false;
309
+ }
310
+ };
311
+ _userConfirmedWarning = new WeakMap();
312
+ _cacheService = new WeakMap();
313
+ _thumbnailService = new WeakMap();
314
+ _lastHarmonyJobId = new WeakMap();
315
+ _collectionController = new WeakMap();
316
+ _harmonyRequestController = new WeakMap();
317
+ _getRequestedVariables = new WeakSet();
318
+ getRequestedVariables_fn = function() {
319
+ var _a;
320
+ if ((_a = this.host.catalogVariables) == null ? void 0 : _a.length) {
321
+ return this.host.catalogVariables;
322
+ }
323
+ if (this.host.catalogVariable) {
324
+ return [this.host.catalogVariable];
325
+ }
326
+ return [];
327
+ };
328
+ _loadTimeSeries = new WeakSet();
329
+ loadTimeSeries_fn = async function(signal, catalogVariable) {
330
+ var _a, _b;
331
+ const hostStartDate = this.host.startDate;
332
+ const hostEndDate = this.host.endDate;
333
+ if (!hostStartDate || !hostEndDate) {
334
+ throw new Error(
335
+ "Start and end date are required to fetch time series data"
336
+ );
337
+ }
338
+ const startDate = getUTCDate(hostStartDate);
339
+ const endDate = getUTCDate(hostEndDate, true);
340
+ const cacheKey = this.getCacheKeyForVariable(catalogVariable);
341
+ const variableEntryId = catalogVariable.dataFieldId;
342
+ console.log(
343
+ "Loading time series for variable",
344
+ catalogVariable,
345
+ this.host.startDate,
346
+ this.host.endDate,
347
+ this.host.location
348
+ );
349
+ const existingTerraData = this.host.noCache ? void 0 : await __privateGet(this, _cacheService).getValidCacheEntry(cacheKey);
350
+ const existingStartDate = (existingTerraData == null ? void 0 : existingTerraData.startDate) ? getUTCDate(existingTerraData.startDate) : void 0;
351
+ const existingEndDate = (existingTerraData == null ? void 0 : existingTerraData.endDate) ? getUTCDate(existingTerraData.endDate, true) : void 0;
352
+ console.log("Existing data?", existingTerraData ? "Yes" : "No");
353
+ console.log(
354
+ "Is date range contained?",
355
+ existingStartDate && existingEndDate ? isDateRangeContained(
356
+ startDate,
357
+ endDate,
358
+ existingStartDate,
359
+ existingEndDate
360
+ ) : false
361
+ );
362
+ console.log(
363
+ "Is cache valid?",
364
+ __privateGet(this, _cacheService).isCacheValid(existingTerraData)
365
+ );
366
+ if (existingTerraData && existingStartDate && existingEndDate && isDateRangeContained(
367
+ startDate,
368
+ endDate,
369
+ existingStartDate,
370
+ existingEndDate
371
+ ) && __privateGet(this, _cacheService).isCacheValid(existingTerraData)) {
372
+ console.log("Returning existing data from cache ", this.getCacheKey());
373
+ const fillValue = (_a = existingTerraData.metadata) == null ? void 0 : _a.undef;
374
+ const filteredData2 = __privateMethod(this, _filterFillValues, filterFillValues_fn).call(this, existingTerraData.data, fillValue);
375
+ const filteredTimeSeries = __spreadProps(__spreadValues({}, existingTerraData), {
376
+ data: filteredData2
377
+ });
378
+ return __privateGet(this, _cacheService).getDataInRange(
379
+ filteredTimeSeries,
380
+ startDate,
381
+ endDate
382
+ );
383
+ }
384
+ const dataGaps = __privateGet(this, _cacheService).calculateDataGaps(
385
+ startDate,
386
+ endDate,
387
+ existingTerraData
388
+ );
389
+ if (dataGaps.length === 0 && existingTerraData) {
390
+ const filteredData2 = __privateMethod(this, _filterFillValues, filterFillValues_fn).call(this, existingTerraData.data, (_b = existingTerraData.metadata) == null ? void 0 : _b.undef);
391
+ const filteredTimeSeries = __spreadProps(__spreadValues({}, existingTerraData), {
392
+ data: filteredData2
393
+ });
394
+ return __privateGet(this, _cacheService).getDataInRange(
395
+ filteredTimeSeries,
396
+ startDate,
397
+ endDate
398
+ );
399
+ }
400
+ const detectedInterval = (existingTerraData == null ? void 0 : existingTerraData.data) ? __privateMethod(this, _detectTimeInterval, detectTimeInterval_fn).call(this, existingTerraData.data) : null;
401
+ const timeInterval = detectedInterval || catalogVariable.dataProductTimeInterval || "daily" /* Daily */;
402
+ const allChunks = [];
403
+ for (const gap of dataGaps) {
404
+ const chunks = calculateDateChunks(timeInterval, gap.start, gap.end);
405
+ allChunks.push(...chunks);
406
+ }
407
+ const parsedLocation = __privateMethod(this, _parseLocationInput, parseLocationInput_fn).call(this);
408
+ const historyJobs = parsedLocation instanceof LatLngBounds && this.host.bearerToken ? await __privateMethod(this, _fetchRecentHistoryJobs, fetchRecentHistoryJobs_fn).call(this) : [];
409
+ const chunkResults = await Promise.all(
410
+ allChunks.map(async (chunk) => {
411
+ if (historyJobs.length > 0) {
412
+ const conceptId = await __privateMethod(this, _waitForCollectionConceptId, waitForCollectionConceptId_fn).call(this, signal);
413
+ const historyMatch = historyJobs.find(
414
+ (job) => __privateMethod(this, _isMatchingTimeSeriesJob, isMatchingTimeSeriesJob_fn).call(this, job, conceptId, variableEntryId, chunk.start, chunk.end, parsedLocation)
415
+ );
416
+ if (historyMatch) {
417
+ console.log(
418
+ "Found matching time series job in Harmony history",
419
+ historyMatch.jobID
420
+ );
421
+ __privateSet(this, _lastHarmonyJobId, historyMatch.jobID);
422
+ return __privateMethod(this, _fetchTimeSeriesDataFromJob, fetchTimeSeriesDataFromJob_fn).call(this, historyMatch, signal);
423
+ }
424
+ }
425
+ const result = await __privateMethod(this, _fetchTimeSeriesChunk, fetchTimeSeriesChunk_fn).call(this, variableEntryId, chunk.start, chunk.end, signal, catalogVariable);
426
+ return result;
427
+ })
428
+ );
429
+ let allData = (existingTerraData == null ? void 0 : existingTerraData.data) || [];
430
+ let metadata = (existingTerraData == null ? void 0 : existingTerraData.metadata) || {};
431
+ for (const chunkResult of chunkResults) {
432
+ allData = [...allData, ...chunkResult.data];
433
+ metadata = __spreadValues(__spreadValues({}, metadata), chunkResult.metadata);
434
+ }
435
+ allData = __privateGet(this, _cacheService).deduplicateByTimestamp(allData);
436
+ const consolidatedResult = {
437
+ metadata,
438
+ data: allData
439
+ };
440
+ if (!this.host.noCache) {
441
+ await __privateGet(this, _cacheService).storeConsolidatedData({
442
+ cacheKey,
443
+ variableEntryId,
444
+ environment: this.host.environment,
445
+ metadata: consolidatedResult.metadata,
446
+ data: allData
447
+ });
448
+ }
449
+ const filteredData = __privateMethod(this, _filterFillValues, filterFillValues_fn).call(this, allData, metadata == null ? void 0 : metadata.undef);
450
+ return __privateGet(this, _cacheService).getDataInRange(
451
+ {
452
+ metadata: consolidatedResult.metadata,
453
+ data: filteredData
454
+ },
455
+ startDate,
456
+ endDate
457
+ );
458
+ };
459
+ _fetchTimeSeriesChunk = new WeakSet();
460
+ fetchTimeSeriesChunk_fn = async function(variableEntryId, startDate, endDate, signal, catalogVariable) {
461
+ var _a, _b, _c;
462
+ if (!__privateGet(this, _userConfirmedWarning) && !__privateMethod(this, _checkDataPointLimits, checkDataPointLimits_fn).call(this, catalogVariable, startDate, endDate)) {
463
+ throw new Error("User cancelled data point warning");
464
+ }
465
+ __privateSet(this, _userConfirmedWarning, false);
466
+ const location = __privateMethod(this, _parseLocationInput, parseLocationInput_fn).call(this);
467
+ if (location instanceof LatLng) {
468
+ return __privateMethod(this, _fetchPointTimeSeriesChunkFromProxy, fetchPointTimeSeriesChunkFromProxy_fn).call(this, variableEntryId, startDate, endDate, signal, location);
469
+ }
470
+ const isBoundingBoxLocation = location instanceof LatLngBounds;
471
+ const collectionConceptId = await __privateMethod(this, _waitForCollectionConceptId, waitForCollectionConceptId_fn).call(this, signal);
472
+ const harmonyRequest = new HarmonyRequest({
473
+ collectionConceptId,
474
+ location
475
+ }).variable(variableEntryId).dateRange(
476
+ format(startDate, "yyyy-MM-dd'T'00:00:00'Z'"),
477
+ format(endDate, "yyyy-MM-dd'T'23:59:59'Z'")
478
+ ).format("text/csv").label("terra-time-series");
479
+ if (this.host.applicationId) {
480
+ harmonyRequest.label(this.host.applicationId);
481
+ }
482
+ harmonyRequest.addLabelsFromVariable(catalogVariable);
483
+ if (isBoundingBoxLocation) {
484
+ harmonyRequest.average("area");
485
+ }
486
+ let jobId;
487
+ try {
488
+ const job = await __privateGet(this, _harmonyRequestController).startJob({
489
+ harmonyRequest,
490
+ options: {
491
+ signal,
492
+ bearerToken: this.host.bearerToken,
493
+ environment: this.host.environment
494
+ }
495
+ });
496
+ jobId = job.jobID;
497
+ __privateSet(this, _lastHarmonyJobId, jobId);
498
+ this.host.emit("terra-harmony-job-status-update", {
499
+ detail: job
500
+ });
501
+ } catch (error) {
502
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error);
503
+ throw error;
504
+ }
505
+ const jobStatus = await __privateMethod(this, _waitForHarmonyJob, waitForHarmonyJob_fn).call(this, jobId, signal);
506
+ if (jobStatus.status === "failed" /* FAILED */) {
507
+ const errorMessage = jobStatus.message || ((_b = (_a = jobStatus.errors) == null ? void 0 : _a[0]) == null ? void 0 : _b.message) || "The subset job failed";
508
+ const error = new Error(errorMessage);
509
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error, jobStatus.errors);
510
+ throw error;
511
+ }
512
+ if (jobStatus.status === "complete_with_errors" /* COMPLETE_WITH_ERRORS */ && jobStatus.errors && jobStatus.errors.length > 0) {
513
+ const errorMessage = jobStatus.errors[0].message || "The subset job completed with errors";
514
+ const error = new Error(errorMessage);
515
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error, jobStatus.errors);
516
+ throw error;
517
+ }
518
+ const dataLink = (_c = jobStatus.links.find((link) => link.rel === "data")) == null ? void 0 : _c.href;
519
+ if (!dataLink) {
520
+ const error = new Error("No data link found for Harmony job");
521
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error, jobStatus.errors);
522
+ throw error;
523
+ }
524
+ const proxyUrl = `${HARMONY_LINK_PROXY_URL}?url=${encodeURIComponent(dataLink)}`;
525
+ const response = await fetch(proxyUrl, {
526
+ signal,
527
+ headers: __spreadValues({}, this.host.bearerToken ? { Authorization: `Bearer ${this.host.bearerToken}` } : {})
528
+ });
529
+ if (!response.ok) {
530
+ const error = new Error(
531
+ `Failed to fetch subset job link contents: ${response.statusText}`
532
+ );
533
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error);
534
+ throw error;
535
+ }
536
+ return __privateMethod(this, _parseTimeSeriesCsv, parseTimeSeriesCsv_fn).call(this, await response.text());
537
+ };
538
+ _fetchRecentHistoryJobs = new WeakSet();
539
+ fetchRecentHistoryJobs_fn = async function() {
540
+ if (!this.host.bearerToken) {
541
+ return [];
542
+ }
543
+ try {
544
+ const result = await harmonyApi.getJobs(
545
+ {
546
+ page: 1,
547
+ limit: HISTORY_JOB_LIMIT,
548
+ label: "terra-time-series"
549
+ },
550
+ { bearerToken: this.host.bearerToken }
551
+ );
552
+ const cutoff = /* @__PURE__ */ new Date();
553
+ cutoff.setDate(cutoff.getDate() - HISTORY_LOOKUP_DAYS);
554
+ return result.jobs.filter((job) => {
555
+ if (job.status !== "successful" /* SUCCESSFUL */)
556
+ return false;
557
+ if (new Date(job.createdAt) < cutoff)
558
+ return false;
559
+ if (job.dataExpiration && new Date(job.dataExpiration) < /* @__PURE__ */ new Date())
560
+ return false;
561
+ return true;
562
+ });
563
+ } catch (e) {
564
+ return [];
565
+ }
566
+ };
567
+ _isMatchingTimeSeriesJob = new WeakSet();
568
+ isMatchingTimeSeriesJob_fn = function(job, collectionConceptId, variableEntryId, chunkStart, chunkEnd, location) {
569
+ var _a, _b, _c;
570
+ const parsed = HarmonyRequest.fromUrl(job.request);
571
+ const hist = parsed.options;
572
+ if (hist.collectionConceptId !== collectionConceptId)
573
+ return false;
574
+ if (hist.format !== "text/csv")
575
+ return false;
576
+ if (hist.average !== "area")
577
+ return false;
578
+ const histVars = (_a = hist.variables) != null ? _a : [];
579
+ if (!histVars.includes(variableEntryId))
580
+ return false;
581
+ const reqStart = format(chunkStart, "yyyy-MM-dd");
582
+ const reqEnd = format(chunkEnd, "yyyy-MM-dd");
583
+ const histStart = (_b = hist.startDate) == null ? void 0 : _b.slice(0, 10);
584
+ const histEnd = (_c = hist.endDate) == null ? void 0 : _c.slice(0, 10);
585
+ if (reqStart !== histStart || reqEnd !== histEnd)
586
+ return false;
587
+ if (!(hist.location instanceof LatLngBounds))
588
+ return false;
589
+ const epsilon = 1e-3;
590
+ if (Math.abs(location.getSouth() - hist.location.getSouth()) > epsilon)
591
+ return false;
592
+ if (Math.abs(location.getNorth() - hist.location.getNorth()) > epsilon)
593
+ return false;
594
+ if (Math.abs(location.getWest() - hist.location.getWest()) > epsilon)
595
+ return false;
596
+ if (Math.abs(location.getEast() - hist.location.getEast()) > epsilon)
597
+ return false;
598
+ return true;
599
+ };
600
+ _fetchTimeSeriesDataFromJob = new WeakSet();
601
+ fetchTimeSeriesDataFromJob_fn = async function(job, signal) {
602
+ var _a;
603
+ const fullJob = await harmonyApi.getJobStatus(job.jobID, {
604
+ bearerToken: this.host.bearerToken,
605
+ signal
606
+ });
607
+ const dataLink = (_a = fullJob.links.find((link) => link.rel === "data")) == null ? void 0 : _a.href;
608
+ if (!dataLink) {
609
+ throw new Error(`No data link found for Harmony history job ${job.jobID}`);
610
+ }
611
+ const proxyUrl = `${HARMONY_LINK_PROXY_URL}?url=${encodeURIComponent(dataLink)}`;
612
+ const response = await fetch(proxyUrl, {
613
+ signal,
614
+ headers: __spreadValues({}, this.host.bearerToken ? { Authorization: `Bearer ${this.host.bearerToken}` } : {})
615
+ });
616
+ if (!response.ok) {
617
+ throw new Error(
618
+ `Failed to fetch time series data from history job: ${response.statusText}`
619
+ );
620
+ }
621
+ return __privateMethod(this, _parseTimeSeriesCsv, parseTimeSeriesCsv_fn).call(this, await response.text());
622
+ };
623
+ _fetchPointTimeSeriesChunkFromProxy = new WeakSet();
624
+ fetchPointTimeSeriesChunkFromProxy_fn = async function(variableEntryId, startDate, endDate, signal, location) {
625
+ const lat = location.lat.toFixed(2);
626
+ const lon = location.lng.toFixed(2);
627
+ const url = `${TIME_SERIES_NO_USER_PROXY_URL}?${new URLSearchParams({
628
+ data: variableEntryId,
629
+ lat,
630
+ lon,
631
+ time_start: `${format(startDate, "yyyy-MM-dd")}T00:00:00`,
632
+ time_end: `${format(endDate, "yyyy-MM-dd")}T23:59:59`
633
+ }).toString()}`;
634
+ const response = await fetch(url, {
635
+ mode: "cors",
636
+ signal,
637
+ headers: {
638
+ Accept: "application/json"
639
+ }
640
+ });
641
+ if (!response.ok) {
642
+ let errorDetails = {};
643
+ const contentType = response.headers.get("content-type");
644
+ if (contentType == null ? void 0 : contentType.includes("application/json")) {
645
+ try {
646
+ errorDetails = await response.json();
647
+ } catch (e) {
648
+ errorDetails = { message: response.statusText };
649
+ }
650
+ } else {
651
+ errorDetails = { message: response.statusText };
652
+ }
653
+ this.host.dispatchEvent(
654
+ new CustomEvent("terra-time-series-error", {
655
+ detail: {
656
+ status: response.status,
657
+ code: errorDetails.code || String(response.status),
658
+ message: errorDetails.message || response.statusText,
659
+ context: errorDetails.context
660
+ },
661
+ bubbles: true,
662
+ composed: true
663
+ })
664
+ );
665
+ throw new Error(
666
+ `Failed to fetch time series data: ${errorDetails.message || response.statusText}`
667
+ );
668
+ }
669
+ return __privateMethod(this, _parseTimeSeriesCsv, parseTimeSeriesCsv_fn).call(this, await response.text());
670
+ };
671
+ _waitForHarmonyJob = new WeakSet();
672
+ waitForHarmonyJob_fn = async function(jobId, signal) {
673
+ __privateGet(this, _harmonyRequestController).startPollForJobStatus(jobId);
674
+ while (true) {
675
+ if (signal.aborted) {
676
+ throw new Error("Job polling was aborted");
677
+ }
678
+ const jobStatus = __privateGet(this, _harmonyRequestController).data;
679
+ if (jobStatus) {
680
+ this.host.emit("terra-harmony-job-status-update", {
681
+ detail: jobStatus
682
+ });
683
+ }
684
+ if ((jobStatus == null ? void 0 : jobStatus.jobID) === jobId && FINAL_STATUSES.has(jobStatus.status)) {
685
+ return jobStatus;
686
+ }
687
+ await __privateMethod(this, _sleep, sleep_fn).call(this, HARMONY_STATUS_WAIT_INTERVAL_MS, signal);
688
+ }
689
+ };
690
+ _parseTimeSeriesCsv = new WeakSet();
691
+ parseTimeSeriesCsv_fn = function(text) {
692
+ const lines = text.split("\n").map((line) => line.trim()).filter(Boolean);
693
+ const metadata = {};
694
+ const data = [];
695
+ let inDataSection = false;
696
+ let dataHeaders = [];
697
+ for (const line of lines) {
698
+ if (!inDataSection) {
699
+ if (line.startsWith("Timestamp (UTC)") || line.startsWith("time,")) {
700
+ dataHeaders = line.split(",").map((h2) => h2.trim());
701
+ inDataSection = true;
702
+ continue;
703
+ }
704
+ const [key, value] = line.split(",");
705
+ if (key && value !== void 0) {
706
+ metadata[key.trim()] = value.trim();
707
+ }
708
+ } else {
709
+ const parts = line.split(",");
710
+ if (parts.length === dataHeaders.length) {
711
+ const row = [];
712
+ for (let i2 = 0; i2 < dataHeaders.length; i2++) {
713
+ row.push(parts[i2].trim());
714
+ }
715
+ const timestamp = __privateMethod(this, _normalizeTimestamp, normalizeTimestamp_fn).call(this, row[0]);
716
+ data.push({
717
+ timestamp,
718
+ value: row[1]
719
+ });
720
+ }
721
+ }
722
+ }
723
+ return { metadata, data };
724
+ };
725
+ _normalizeTimestamp = new WeakSet();
726
+ normalizeTimestamp_fn = function(timestamp) {
727
+ try {
728
+ const date = new Date(timestamp);
729
+ if (Number.isNaN(date.getTime())) {
730
+ console.warn("Invalid timestamp:", timestamp);
731
+ return timestamp;
732
+ }
733
+ return date.toISOString();
734
+ } catch (error) {
735
+ console.warn("Failed to normalize timestamp:", timestamp, error);
736
+ return timestamp;
737
+ }
738
+ };
739
+ _filterFillValues = new WeakSet();
740
+ filterFillValues_fn = function(data, fillValue) {
741
+ if (!fillValue) {
742
+ return data;
743
+ }
744
+ return data.filter((row) => {
745
+ const rowValue = row.value.trim();
746
+ const fillValueStr = String(fillValue).trim();
747
+ if (rowValue === fillValueStr) {
748
+ return false;
749
+ }
750
+ const rowNum = parseFloat(rowValue);
751
+ const fillNum = parseFloat(fillValueStr);
752
+ if (!Number.isNaN(rowNum) && !Number.isNaN(fillNum) && rowNum === fillNum) {
753
+ return false;
754
+ }
755
+ return true;
756
+ });
757
+ };
758
+ _checkDataPointLimits = new WeakSet();
759
+ checkDataPointLimits_fn = function(catalogVariable, startDate, endDate) {
760
+ this.host.estimatedDataPoints = calculateDataPoints(
761
+ catalogVariable.dataProductTimeInterval,
762
+ startDate,
763
+ endDate
764
+ );
765
+ if (this.host.estimatedDataPoints < NUM_DATAPOINTS_TO_WARN_USER) {
766
+ return true;
767
+ }
768
+ return true;
769
+ };
770
+ _detectTimeInterval = new WeakSet();
771
+ detectTimeInterval_fn = function(data) {
772
+ if (data.length < 2) {
773
+ return null;
774
+ }
775
+ const sortedData = [...data].sort(
776
+ (a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime()
777
+ );
778
+ const intervals = [];
779
+ for (let i2 = 1; i2 < Math.min(sortedData.length, 100); i2++) {
780
+ const prevTime = new Date(sortedData[i2 - 1].timestamp).getTime();
781
+ const currTime = new Date(sortedData[i2].timestamp).getTime();
782
+ const diffMs = currTime - prevTime;
783
+ if (diffMs > 0) {
784
+ intervals.push(diffMs);
785
+ }
786
+ }
787
+ if (intervals.length === 0) {
788
+ return null;
789
+ }
790
+ const intervalCounts = /* @__PURE__ */ new Map();
791
+ intervals.forEach((interval) => {
792
+ const rounded = Math.round(interval / (1e3 * 60)) * (1e3 * 60);
793
+ intervalCounts.set(rounded, (intervalCounts.get(rounded) || 0) + 1);
794
+ });
795
+ let mostCommonInterval = 0;
796
+ let maxCount = 0;
797
+ intervalCounts.forEach((count, interval) => {
798
+ if (count > maxCount) {
799
+ maxCount = count;
800
+ mostCommonInterval = interval;
801
+ }
802
+ });
803
+ const MILLIS_IN_HOUR2 = 1e3 * 60 * 60;
804
+ const MILLIS_IN_DAY2 = MILLIS_IN_HOUR2 * 24;
805
+ if (mostCommonInterval <= MILLIS_IN_HOUR2 / 2 + 6e4) {
806
+ return "half-hourly" /* HalfHourly */;
807
+ } else if (mostCommonInterval <= MILLIS_IN_HOUR2 + 6e4) {
808
+ return "hourly" /* Hourly */;
809
+ } else if (mostCommonInterval <= MILLIS_IN_HOUR2 * 3 + 6e4) {
810
+ return "3-hourly" /* ThreeHourly */;
811
+ } else if (mostCommonInterval <= MILLIS_IN_DAY2 + 6e4) {
812
+ return "daily" /* Daily */;
813
+ } else if (mostCommonInterval <= MILLIS_IN_DAY2 * 7 + 6e4) {
814
+ return "weekly" /* Weekly */;
815
+ }
816
+ return "daily" /* Daily */;
817
+ };
818
+ _getCollectionEntryId = new WeakSet();
819
+ getCollectionEntryId_fn = function() {
820
+ if (this.host.collection) {
821
+ return this.host.collection;
822
+ }
823
+ const variable = this.host.catalogVariable;
824
+ if (!variable) {
825
+ return void 0;
826
+ }
827
+ return `${variable.dataProductShortName}_${variable.dataProductVersion}`;
828
+ };
829
+ _waitForCollectionConceptId = new WeakSet();
830
+ waitForCollectionConceptId_fn = async function(signal) {
831
+ var _a;
832
+ const startedAt = Date.now();
833
+ while (Date.now() - startedAt < MAX_CONCEPT_ID_WAIT_MS) {
834
+ if (signal.aborted) {
835
+ throw new Error(
836
+ "Request aborted while waiting for collection metadata"
837
+ );
838
+ }
839
+ const conceptId = __privateGet(this, _collectionController).conceptId;
840
+ if (conceptId) {
841
+ return conceptId;
842
+ }
843
+ if ((_a = __privateGet(this, _collectionController).collection) == null ? void 0 : _a.isError) {
844
+ const error2 = new Error(
845
+ "Unable to load collection metadata needed for Harmony requests"
846
+ );
847
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error2);
848
+ throw error2;
849
+ }
850
+ await __privateMethod(this, _sleep, sleep_fn).call(this, HARMONY_STATUS_WAIT_INTERVAL_MS, signal);
851
+ }
852
+ const error = new Error(
853
+ "Timed out waiting for collection metadata needed for Harmony requests"
854
+ );
855
+ __privateMethod(this, _handleHarmonyError, handleHarmonyError_fn).call(this, error);
856
+ throw error;
857
+ };
858
+ _parseLocationInput = new WeakSet();
859
+ parseLocationInput_fn = function() {
860
+ var _a;
861
+ const rawLocation = decodeURIComponent((_a = this.host.location) != null ? _a : "");
862
+ const rawCoordinates = rawLocation.split(",").map((coord) => coord.trim());
863
+ const coordinates = rawCoordinates.map((coord) => Number(coord));
864
+ const hasInvalidCoordinates = rawCoordinates.some((coord) => coord.length === 0) || coordinates.some((value) => Number.isNaN(value));
865
+ if (hasInvalidCoordinates) {
866
+ const error2 = new Error(
867
+ 'Invalid location format. Expected "lat,lon" or "west,south,east,north".'
868
+ );
869
+ this.host.dispatchEvent(
870
+ new CustomEvent("terra-time-series-error", {
871
+ detail: {
872
+ status: 400,
873
+ code: "INVALID_LOCATION",
874
+ message: error2.message,
875
+ context: rawLocation
876
+ },
877
+ bubbles: true,
878
+ composed: true
879
+ })
880
+ );
881
+ throw error2;
882
+ }
883
+ if (coordinates.length === 2) {
884
+ return new LatLng(coordinates[0], coordinates[1]);
885
+ }
886
+ if (coordinates.length === 4) {
887
+ return new LatLngBounds(coordinates);
888
+ }
889
+ const error = new Error(
890
+ 'Invalid location format. Expected "lat,lon" or "west,south,east,north".'
891
+ );
892
+ this.host.dispatchEvent(
893
+ new CustomEvent("terra-time-series-error", {
894
+ detail: {
895
+ status: 400,
896
+ code: "INVALID_LOCATION",
897
+ message: error.message,
898
+ context: rawLocation
899
+ },
900
+ bubbles: true,
901
+ composed: true
902
+ })
903
+ );
904
+ throw error;
905
+ };
906
+ _capturePlotThumbnail = new WeakSet();
907
+ capturePlotThumbnail_fn = async function(harmonyJobId, delayMs = 1e3, thumbWidth = 200, thumbHeight = 200) {
908
+ var _a;
909
+ await __privateMethod(this, _sleep, sleep_fn).call(this, delayMs);
910
+ const plotEl = (_a = this.host.plot) == null ? void 0 : _a.base;
911
+ if (!plotEl) {
912
+ return;
913
+ }
914
+ try {
915
+ const dataUrl = await Plotly.toImage(plotEl, {
916
+ format: "jpeg",
917
+ width: 500,
918
+ height: 500
919
+ });
920
+ const img = new Image();
921
+ img.src = dataUrl;
922
+ await img.decode();
923
+ const canvas = document.createElement("canvas");
924
+ canvas.width = thumbWidth;
925
+ canvas.height = thumbHeight;
926
+ const ctx = canvas.getContext("2d");
927
+ if (!ctx)
928
+ return void 0;
929
+ ctx.drawImage(img, 0, 0, thumbWidth, thumbHeight);
930
+ const blob = await new Promise(
931
+ (resolve, reject) => canvas.toBlob(
932
+ (b) => b ? resolve(b) : reject(new Error("toBlob failed")),
933
+ "image/jpeg",
934
+ 0.8
935
+ )
936
+ );
937
+ await __privateGet(this, _thumbnailService).store(harmonyJobId, blob);
938
+ } catch (error) {
939
+ console.error("Failed to capture time series thumbnail", error);
940
+ }
941
+ };
942
+ _sleep = new WeakSet();
943
+ sleep_fn = function(ms, signal) {
944
+ return new Promise((resolve, reject) => {
945
+ const timeoutId = setTimeout(() => {
946
+ if (signal) {
947
+ signal.removeEventListener("abort", handleAbort);
948
+ }
949
+ resolve();
950
+ }, ms);
951
+ const handleAbort = () => {
952
+ clearTimeout(timeoutId);
953
+ reject(new Error("Operation aborted"));
954
+ };
955
+ if (signal) {
956
+ signal.addEventListener("abort", handleAbort, { once: true });
957
+ }
958
+ });
959
+ };
960
+ _handleHarmonyError = new WeakSet();
961
+ handleHarmonyError_fn = function(error, jobErrors) {
962
+ const errorDetails = extractHarmonyError(error, jobErrors);
963
+ this.host.dispatchEvent(
964
+ new CustomEvent("terra-time-series-error", {
965
+ detail: errorDetails,
966
+ bubbles: true,
967
+ composed: true
968
+ })
969
+ );
970
+ };
971
+
972
+ export {
973
+ plotlyDefaultData,
974
+ TimeSeriesController
975
+ };