@nasa-terra/components 0.0.66 → 0.0.68

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 (586) hide show
  1. package/cdn/chunks/chunk.267X6M4K.js +32 -0
  2. package/{dist/chunks/chunk.QCPKB2RQ.js → cdn/chunks/chunk.2AIVKD54.js} +1 -1
  3. package/{dist/chunks/chunk.S4SOS6YI.js → cdn/chunks/chunk.2BW4SOWQ.js} +1 -1
  4. package/cdn/chunks/chunk.2EYRPHGL.js +10 -0
  5. package/cdn/chunks/chunk.2GEN6UCO.js +21 -0
  6. package/{dist/chunks/chunk.XNHODSUI.js → cdn/chunks/chunk.2LGINANI.js} +1 -1
  7. package/cdn/chunks/chunk.2O6ZLP2H.js +29 -0
  8. package/{dist/chunks/chunk.RG376NBJ.js → cdn/chunks/chunk.2OQZA3CW.js} +1 -1
  9. package/cdn/chunks/{chunk.E7LVY6QB.js → chunk.2UTYN7TH.js} +1 -1
  10. package/{dist/chunks/chunk.YW6MGSTP.js → cdn/chunks/chunk.2WYXDPGS.js} +1 -1
  11. package/cdn/chunks/{chunk.MOVW5G4G.js → chunk.37HJNI4K.js} +382 -13
  12. package/cdn/chunks/chunk.3GLMJLNY.js +139 -0
  13. package/{dist/chunks/chunk.AKP5NSM6.js → cdn/chunks/chunk.3H5ZUQL5.js} +16 -16
  14. package/{dist/chunks/chunk.6HUNVCKY.js → cdn/chunks/chunk.3L77HLPZ.js} +1 -1
  15. package/cdn/chunks/chunk.3NBSKUOT.js +29 -0
  16. package/cdn/chunks/chunk.3PUTIFOP.js +35 -0
  17. package/cdn/chunks/chunk.3XJ5QNGT.js +21 -0
  18. package/cdn/chunks/{chunk.R4TNI2PU.js → chunk.42OJJSTJ.js} +14 -11
  19. package/cdn/chunks/chunk.42V23REY.js +21 -0
  20. package/cdn/chunks/chunk.445A7YVG.js +271 -0
  21. package/{dist/chunks/chunk.VUC6OYZI.js → cdn/chunks/chunk.4E55SLUR.js} +1 -1
  22. package/{dist/chunks/chunk.ETL6SVKH.js → cdn/chunks/chunk.4EIGF3E4.js} +7 -4
  23. package/cdn/chunks/chunk.4MGGBJBD.js +20 -0
  24. package/cdn/chunks/{chunk.DYOCIII6.js → chunk.4RM2EJEW.js} +4 -4
  25. package/{dist/chunks/chunk.2RUMLCNG.js → cdn/chunks/chunk.4WKVINLB.js} +1 -1
  26. package/cdn/chunks/{chunk.QVZIEWRW.js → chunk.563FCLVE.js} +1 -1
  27. package/cdn/chunks/chunk.5ASTHFQ2.js +950 -0
  28. package/cdn/chunks/chunk.5IYUIO2L.js +35 -0
  29. package/cdn/chunks/chunk.5KFA2A5F.js +33 -0
  30. package/{dist/chunks/chunk.JGUDK23O.js → cdn/chunks/chunk.5QKVNNUH.js} +5 -5
  31. package/cdn/chunks/chunk.5TZQDEBJ.js +21 -0
  32. package/{dist/chunks/chunk.QXGOVVWV.js → cdn/chunks/chunk.642Z3X7N.js} +1 -1
  33. package/{dist/chunks/chunk.HRP2UCAE.js → cdn/chunks/chunk.64ARWPHU.js} +1 -1
  34. package/cdn/chunks/{chunk.26Y3U5MM.js → chunk.66XPY5CX.js} +1 -1
  35. package/cdn/chunks/{chunk.X5N7C225.js → chunk.675EEES3.js} +1 -1
  36. package/cdn/chunks/chunk.6KIVAUVU.js +124 -0
  37. package/{dist/chunks/chunk.GXQRUGWI.js → cdn/chunks/chunk.6VTAKEV4.js} +1 -1
  38. package/cdn/chunks/chunk.6YSGUTCT.js +29 -0
  39. package/cdn/chunks/chunk.7674U7FT.js +215 -0
  40. package/cdn/chunks/chunk.7AEQ2LX4.js +335 -0
  41. package/cdn/chunks/chunk.7CMA526Q.js +14 -0
  42. package/cdn/chunks/chunk.7MLJ7J6F.js +32 -0
  43. package/cdn/chunks/chunk.7OS7YKP4.js +29 -0
  44. package/cdn/chunks/chunk.7RT5CEB6.js +72 -0
  45. package/cdn/chunks/{chunk.T2KAO3UD.js → chunk.7TSM56FT.js} +1 -1
  46. package/cdn/chunks/{chunk.3MIPIE6V.js → chunk.A5QNIXR4.js} +1 -1
  47. package/{dist/chunks/chunk.EKUWLBOP.js → cdn/chunks/chunk.A6D5MCCT.js} +1 -0
  48. package/cdn/chunks/chunk.A7GHUUVY.js +21 -0
  49. package/cdn/chunks/chunk.ADFWUZLL.js +21 -0
  50. package/{dist/chunks/chunk.VNUPHGI3.js → cdn/chunks/chunk.AHGKSSSI.js} +8 -8
  51. package/cdn/chunks/chunk.AU4MMC6N.js +24 -0
  52. package/cdn/chunks/chunk.AZXB7ZHM.js +151 -0
  53. package/{dist/chunks/chunk.QFYOTBLT.js → cdn/chunks/chunk.B6JXOXP5.js} +16 -19
  54. package/cdn/chunks/chunk.BBQJZ64A.js +52 -0
  55. package/cdn/chunks/{chunk.2VDC2CLR.js → chunk.BDUFTI77.js} +1 -1
  56. package/cdn/chunks/chunk.BEDYDFXT.js +52 -0
  57. package/cdn/chunks/{chunk.FHFFLCE4.js → chunk.BLILGPHT.js} +4 -4
  58. package/cdn/chunks/chunk.BRVCFRLF.js +21 -0
  59. package/cdn/chunks/{chunk.5JKUUXXD.js → chunk.BXZG34AL.js} +1 -1
  60. package/{dist/chunks/chunk.NGMZML6J.js → cdn/chunks/chunk.CA2ZDE2M.js} +1 -1
  61. package/cdn/chunks/chunk.CGIR4OSR.js +29 -0
  62. package/cdn/chunks/chunk.CIFC3RF3.js +43 -0
  63. package/cdn/chunks/chunk.D3DPGMVW.js +222 -0
  64. package/cdn/chunks/chunk.D3XI3L7Y.js +55 -0
  65. package/cdn/chunks/{chunk.T27OOS5L.js → chunk.DKQUCHXW.js} +1 -1
  66. package/cdn/chunks/{chunk.QB7GRCXW.js → chunk.DLTRS5SJ.js} +1 -1
  67. package/cdn/chunks/chunk.DTUHBE3U.js +37 -0
  68. package/cdn/chunks/{chunk.2UIKXGCO.js → chunk.DUUVIZLI.js} +1 -1
  69. package/cdn/chunks/chunk.E2WXLMWX.js +0 -0
  70. package/{dist/chunks/chunk.WOD3IAR2.js → cdn/chunks/chunk.EBJUC35J.js} +1 -1
  71. package/cdn/chunks/{chunk.CQUNIMB6.js → chunk.ELVU6MXJ.js} +1 -1
  72. package/cdn/chunks/chunk.EPQBAMGN.js +32 -0
  73. package/{dist/chunks/chunk.YO2CHERX.js → cdn/chunks/chunk.ERXCYNDC.js} +1 -1
  74. package/cdn/chunks/{chunk.SIQLNOLM.js → chunk.F26HLQPA.js} +4 -4
  75. package/cdn/chunks/chunk.F3KBUEPT.js +10 -0
  76. package/cdn/chunks/chunk.F5AEDYTP.js +37 -0
  77. package/cdn/chunks/{chunk.5HS2P4QF.js → chunk.F6FOZL2X.js} +1 -1
  78. package/{dist/chunks/chunk.OO7FUQ6P.js → cdn/chunks/chunk.FF3EIVF2.js} +1 -1
  79. package/{dist/chunks/chunk.KRJLTCAP.js → cdn/chunks/chunk.FNTPKP6P.js} +19 -9
  80. package/cdn/chunks/chunk.FRSW4UHB.js +268 -0
  81. package/cdn/chunks/{chunk.T37LTQ4C.js → chunk.FT6FCCXU.js} +14 -14
  82. package/cdn/chunks/chunk.FUU57PWY.js +36 -0
  83. package/cdn/chunks/chunk.G6SMK5II.js +19 -0
  84. package/{dist/chunks/chunk.FHX7T2OA.js → cdn/chunks/chunk.GL5HOXON.js} +6 -6
  85. package/{dist/chunks/chunk.XPEGNLOR.js → cdn/chunks/chunk.GMJWNAQG.js} +1 -1
  86. package/{dist/chunks/chunk.BT3OM7YW.js → cdn/chunks/chunk.GQRGC6YW.js} +1 -1
  87. package/{dist/chunks/chunk.JLXWDK6Q.js → cdn/chunks/chunk.GUYBX63F.js} +1 -1
  88. package/cdn/chunks/chunk.H4KNN2HU.js +29 -0
  89. package/{dist/chunks/chunk.EOUI57NU.js → cdn/chunks/chunk.H73IKOBV.js} +1 -1
  90. package/cdn/chunks/{chunk.FK35YOPT.js → chunk.HDPH5PEF.js} +1 -2
  91. package/cdn/chunks/chunk.HKST5N6O.js +21 -0
  92. package/cdn/chunks/{chunk.MUYS3VLW.js → chunk.HMS35ZFE.js} +1 -1
  93. package/cdn/chunks/chunk.HNQMK3PU.js +685 -0
  94. package/{dist/chunks/chunk.M54W77XC.js → cdn/chunks/chunk.HNWBSRBL.js} +1 -1
  95. package/cdn/chunks/{chunk.VON4E7FJ.js → chunk.HP52P3QK.js} +1 -1
  96. package/{dist/chunks/chunk.N5RBPPIG.js → cdn/chunks/chunk.HUX2RF6U.js} +1 -1
  97. package/cdn/chunks/{chunk.QJ4KM4TA.js → chunk.HVXUUXZ7.js} +1 -1
  98. package/cdn/chunks/chunk.HWZP2UTW.js +49 -0
  99. package/cdn/chunks/{chunk.S5LWJDD7.js → chunk.HYCJBOI5.js} +1 -1
  100. package/cdn/chunks/{chunk.2QANHSCY.js → chunk.I2VFSA6U.js} +1 -1
  101. package/cdn/chunks/chunk.IC4T7CZD.js +62 -0
  102. package/cdn/chunks/chunk.IJC2KB5R.js +25 -0
  103. package/{dist/chunks/chunk.JY5KBXRE.js → cdn/chunks/chunk.J25AAZTC.js} +1 -1
  104. package/cdn/chunks/chunk.J5OQO7FQ.js +29 -0
  105. package/{dist/chunks/chunk.2KHKJBOB.js → cdn/chunks/chunk.JHEFOGNL.js} +1 -1
  106. package/cdn/chunks/{chunk.WN54FAZ2.js → chunk.JIGZ6E5V.js} +1 -1
  107. package/{dist/chunks/chunk.GM6TGL7L.js → cdn/chunks/chunk.JOFHFGQP.js} +1 -1
  108. package/{dist/chunks/chunk.2OG44KDU.js → cdn/chunks/chunk.JUQDLDHB.js} +2 -2
  109. package/cdn/chunks/chunk.KFMZHBMX.js +29 -0
  110. package/{dist/chunks/chunk.AP4TJGMK.js → cdn/chunks/chunk.KIC5ZCAM.js} +1 -1
  111. package/cdn/chunks/chunk.KLCOAQUS.js +65 -0
  112. package/cdn/chunks/chunk.KUSRVQBO.js +20 -0
  113. package/cdn/chunks/{chunk.EGZALHQH.js → chunk.KXDQAQQH.js} +1 -1
  114. package/{dist/chunks/chunk.34ZROIP4.js → cdn/chunks/chunk.KXL6VOQP.js} +1 -1
  115. package/cdn/chunks/chunk.L2M2AJ4W.js +21 -0
  116. package/cdn/chunks/chunk.L63WM7I3.js +65 -0
  117. package/{dist/chunks/chunk.GRGSTMOZ.js → cdn/chunks/chunk.LDCRCQNJ.js} +1 -1
  118. package/cdn/chunks/{chunk.TIANXDJM.js → chunk.LF2YS25X.js} +6 -6
  119. package/cdn/chunks/chunk.LF5NNQDS.js +29 -0
  120. package/cdn/chunks/{chunk.KAJGV2AN.js → chunk.LLQADAZV.js} +1 -1
  121. package/cdn/chunks/chunk.LRHEF6JN.js +32 -0
  122. package/cdn/chunks/{chunk.3SQ33WJL.js → chunk.LZSKCTIU.js} +6 -6
  123. package/{dist/chunks/chunk.KASQMBBH.js → cdn/chunks/chunk.M6X72F3Q.js} +1 -1
  124. package/cdn/chunks/{chunk.ZDCD6475.js → chunk.MB27YSID.js} +1 -1
  125. package/{dist/chunks/chunk.PE7UEIVX.js → cdn/chunks/chunk.MFI2M54Y.js} +6 -6
  126. package/{dist/chunks/chunk.EC75KAKW.js → cdn/chunks/chunk.MGM5E2VQ.js} +7 -0
  127. package/cdn/chunks/chunk.MN7UEWGN.js +29 -0
  128. package/cdn/chunks/chunk.MQOXBVDK.js +58 -0
  129. package/cdn/chunks/{chunk.5JLTH2LZ.js → chunk.MXI6CLWG.js} +1 -1
  130. package/cdn/chunks/{chunk.E4Y3ZGGY.js → chunk.NDNXLJCK.js} +2 -2
  131. package/cdn/chunks/chunk.NMWP5DQX.js +259 -0
  132. package/cdn/chunks/chunk.NQYUJ7FK.js +24 -0
  133. package/cdn/chunks/chunk.NT4JROIJ.js +29 -0
  134. package/{dist/chunks/chunk.MHGQR4W2.js → cdn/chunks/chunk.O6SXSDFR.js} +2 -2
  135. package/{dist/chunks/chunk.2OOE2V74.js → cdn/chunks/chunk.O7SVDS2A.js} +1 -1
  136. package/{dist/chunks/chunk.MQJRL4UB.js → cdn/chunks/chunk.OBANVLY7.js} +1 -1
  137. package/{dist/chunks/chunk.JLB3AJLB.js → cdn/chunks/chunk.OJC754DG.js} +6 -6
  138. package/cdn/chunks/{chunk.XPUSLKRS.js → chunk.OM26KC4G.js} +1 -1
  139. package/{dist/chunks/chunk.PSJFGFBP.js → cdn/chunks/chunk.OVUWZWWN.js} +4 -4
  140. package/{dist/chunks/chunk.5PBPZZYM.js → cdn/chunks/chunk.OX5IY75Y.js} +1 -1
  141. package/cdn/chunks/{chunk.PI4LM4FQ.js → chunk.OXUFHTFN.js} +10 -4
  142. package/cdn/chunks/chunk.OY5R7EVO.js +24 -0
  143. package/cdn/chunks/chunk.P6OOV5UQ.js +25 -0
  144. package/cdn/chunks/chunk.P7EL7GKI.js +41 -0
  145. package/cdn/chunks/chunk.PA5O6555.js +24 -0
  146. package/{dist/chunks/chunk.CTYCOFYG.js → cdn/chunks/chunk.PAJVTERU.js} +1 -1
  147. package/cdn/chunks/chunk.PBC3S6IG.js +33 -0
  148. package/cdn/chunks/{chunk.FP5FRSMY.js → chunk.PDAOAQE4.js} +5 -5
  149. package/{dist/chunks/chunk.I52J3GOW.js → cdn/chunks/chunk.PG4TSLWI.js} +5 -5
  150. package/{dist/chunks/chunk.6MTPABT6.js → cdn/chunks/chunk.PRQ5P3TK.js} +1 -1
  151. package/cdn/chunks/chunk.PX3KFYMT.js +32 -0
  152. package/cdn/chunks/{chunk.C7NEKS3B.js → chunk.Q52W3YPD.js} +1 -1
  153. package/{dist/chunks/chunk.3JVESZWK.js → cdn/chunks/chunk.QAMFDZKG.js} +1 -1
  154. package/{dist/chunks/chunk.V5URSACK.js → cdn/chunks/chunk.QHY2BYL4.js} +1 -1
  155. package/cdn/chunks/chunk.QI3YAMIR.js +33 -0
  156. package/{dist/chunks/chunk.SC2Q3UUF.js → cdn/chunks/chunk.QNNEWLT7.js} +1 -1
  157. package/cdn/chunks/chunk.QQQ2BD4U.js +80 -0
  158. package/cdn/chunks/{chunk.FRSCLRYD.js → chunk.QVPRK545.js} +2 -2
  159. package/{dist/chunks/chunk.6YCZZJMS.js → cdn/chunks/chunk.QZS6UUDI.js} +10 -4
  160. package/cdn/chunks/chunk.RBVJJWF4.js +21 -0
  161. package/cdn/chunks/chunk.RDID3JKQ.js +25 -0
  162. package/cdn/chunks/{chunk.M7WGJM54.js → chunk.RF7RG72G.js} +1 -1
  163. package/cdn/chunks/{chunk.YQK5E5T2.js → chunk.RJR6I3VL.js} +1 -1
  164. package/cdn/chunks/chunk.RJUTQBOV.js +21 -0
  165. package/{dist/chunks/chunk.7SZ5FLBG.js → cdn/chunks/chunk.RVH4PSND.js} +197 -14
  166. package/{dist/chunks/chunk.K36FUM7O.js → cdn/chunks/chunk.RZ3APMFR.js} +1 -1
  167. package/cdn/chunks/chunk.SGFD3ORP.js +293 -0
  168. package/cdn/chunks/{chunk.J4IIXP4W.js → chunk.SI75QZHB.js} +7 -0
  169. package/cdn/chunks/{chunk.TAW4DCZW.js → chunk.SJHEJ7W7.js} +1 -1
  170. package/cdn/chunks/{chunk.76RNZX2A.js → chunk.SJYXIRDX.js} +1 -1
  171. package/cdn/chunks/chunk.SLDPYP3J.js +29 -0
  172. package/cdn/chunks/chunk.SRBWEFVT.js +27 -0
  173. package/{dist/chunks/chunk.KB7DEF3R.js → cdn/chunks/chunk.SWDQJJ7Q.js} +1 -1
  174. package/cdn/chunks/{chunk.N2TTTIPA.js → chunk.SX6OLRTC.js} +8 -8
  175. package/cdn/chunks/{chunk.K3JEGUHG.js → chunk.T33FEXFP.js} +10 -10
  176. package/{dist/chunks/chunk.ZGSDVAHX.js → cdn/chunks/chunk.T53RBNNE.js} +1 -2
  177. package/cdn/chunks/chunk.TCEJ3MS6.js +97 -0
  178. package/cdn/chunks/chunk.TJGA66AX.js +25 -0
  179. package/cdn/chunks/{chunk.5QLXSATY.js → chunk.TJWGQR3Y.js} +7 -7
  180. package/cdn/chunks/{chunk.XR5EZIHP.js → chunk.TU7POBNP.js} +1 -1
  181. package/cdn/chunks/chunk.TVFCHGU3.js +76 -0
  182. package/cdn/chunks/{chunk.H6F3VHB2.js → chunk.U7VIR3OC.js} +8 -8
  183. package/cdn/chunks/{chunk.BOGE65ZY.js → chunk.UA57XIMB.js} +1 -1
  184. package/{dist/chunks/chunk.N7QDVMX3.js → cdn/chunks/chunk.UDCRU3NE.js} +1 -1
  185. package/cdn/chunks/{chunk.6ZUOFZAK.js → chunk.UEDKVSIH.js} +1 -1
  186. package/cdn/chunks/{chunk.JDQ6TQCQ.js → chunk.UHOMZS5K.js} +16 -19
  187. package/cdn/chunks/{chunk.ZVC7SBSS.js → chunk.UKT47BLY.js} +6 -6
  188. package/cdn/chunks/chunk.UMT2LQ4W.js +29 -0
  189. package/cdn/chunks/{chunk.OC666EPD.js → chunk.UO6SHH3I.js} +1 -1
  190. package/cdn/chunks/chunk.URKW2CME.js +21 -0
  191. package/{dist/chunks/chunk.YLMWEEA2.js → cdn/chunks/chunk.UT5XKCBV.js} +2 -2
  192. package/cdn/chunks/chunk.UZAIWUWC.js +8 -0
  193. package/{dist/chunks/chunk.DBWZYUMX.js → cdn/chunks/chunk.UZZDJISQ.js} +4 -4
  194. package/cdn/chunks/chunk.V2Z7ZBTD.js +293 -0
  195. package/cdn/chunks/chunk.V3EFWONT.js +26 -0
  196. package/cdn/chunks/chunk.V7LXD3II.js +318 -0
  197. package/cdn/chunks/{chunk.NC5TCHFE.js → chunk.VDOKMZL7.js} +5 -5
  198. package/cdn/chunks/{chunk.BI76W67M.js → chunk.VGHXDEZO.js} +1 -1
  199. package/cdn/chunks/{chunk.AQODH346.js → chunk.VLZAS4LQ.js} +2 -1
  200. package/cdn/chunks/{chunk.2A2HFMGZ.js → chunk.VUJ26IHB.js} +1 -1
  201. package/cdn/chunks/{chunk.JIBQZDEG.js → chunk.VYDVYEG6.js} +1 -1
  202. package/cdn/chunks/chunk.WJL4R4O2.js +7 -0
  203. package/cdn/chunks/{chunk.AOJTBQKP.js → chunk.WXFIXIOS.js} +2 -2
  204. package/cdn/chunks/chunk.WXZHDVQ3.js +21 -0
  205. package/{dist/chunks/chunk.Y54UJLRZ.js → cdn/chunks/chunk.X7MVYC7B.js} +1 -1
  206. package/cdn/chunks/chunk.XJVLYIYE.js +41 -0
  207. package/cdn/chunks/{chunk.SUU6GE6N.js → chunk.XKNIRUTP.js} +4 -4
  208. package/cdn/chunks/chunk.XOD4KYCP.js +120 -0
  209. package/cdn/chunks/{chunk.FUKHJNAX.js → chunk.XQNQJ73Y.js} +22 -12
  210. package/{dist/chunks/chunk.XYWAGUD5.js → cdn/chunks/chunk.XWDZOQJ3.js} +1 -1
  211. package/{dist/chunks/chunk.PB42J5AM.js → cdn/chunks/chunk.XXFKVRN5.js} +1 -1
  212. package/cdn/chunks/chunk.XZB6CNAL.js +96 -0
  213. package/cdn/chunks/chunk.Y7ZED6A4.js +24 -0
  214. package/cdn/chunks/chunk.YIP3L3SE.js +21 -0
  215. package/{dist/chunks/chunk.Z3HX7EEA.js → cdn/chunks/chunk.YMHBYV33.js} +8 -8
  216. package/cdn/chunks/chunk.YMKCGXI7.js +33 -0
  217. package/cdn/chunks/chunk.YNJENG4F.js +33 -0
  218. package/{dist/chunks/chunk.Y2LZH62Y.js → cdn/chunks/chunk.YP5DVLJS.js} +1 -1
  219. package/cdn/chunks/{chunk.N5GAZEUH.js → chunk.YQRTSELX.js} +1 -1
  220. package/cdn/chunks/chunk.YXLIUMJM.js +147 -0
  221. package/cdn/chunks/chunk.YY65ZHR5.js +35 -0
  222. package/cdn/chunks/{chunk.EXIJCLV5.js → chunk.Z3FCGMJE.js} +1 -1
  223. package/cdn/chunks/chunk.Z4S5QPB7.js +655 -0
  224. package/cdn/chunks/{chunk.HZHS4RMI.js → chunk.Z5SQ4THO.js} +1 -1
  225. package/cdn/chunks/chunk.ZAROXC53.js +29 -0
  226. package/cdn/chunks/{chunk.7IQH7BQC.js → chunk.ZBRNWBWX.js} +1 -1
  227. package/cdn/chunks/{chunk.DV54QIG7.js → chunk.ZNKT2Q6X.js} +2 -2
  228. package/cdn/chunks/{chunk.5EPVHMFA.js → chunk.ZZMMULOM.js} +1 -1
  229. package/cdn/components/accordion/accordion.component.js +5 -5
  230. package/cdn/components/accordion/accordion.js +6 -6
  231. package/cdn/components/alert/alert.component.js +4 -4
  232. package/cdn/components/alert/alert.js +5 -5
  233. package/cdn/components/browse-variables/browse-variables.component.js +20 -20
  234. package/cdn/components/browse-variables/browse-variables.controller.js +4 -4
  235. package/cdn/components/browse-variables/browse-variables.js +21 -21
  236. package/cdn/components/browse-variables/browse-variables.types.d.ts +1 -0
  237. package/cdn/components/button/button.component.js +3 -3
  238. package/cdn/components/button/button.js +4 -4
  239. package/cdn/components/chip/chip.component.js +3 -3
  240. package/cdn/components/chip/chip.js +4 -4
  241. package/cdn/components/combobox/combobox.component.js +7 -7
  242. package/cdn/components/combobox/combobox.js +8 -8
  243. package/cdn/components/data-rods/data-rods.component.js +40 -40
  244. package/cdn/components/data-rods/data-rods.js +41 -41
  245. package/cdn/components/data-subsetter/data-subsetter.component.js +29 -29
  246. package/cdn/components/data-subsetter/data-subsetter.controller.d.ts +1 -1
  247. package/cdn/components/data-subsetter/data-subsetter.controller.js +4 -4
  248. package/cdn/components/data-subsetter/data-subsetter.js +30 -30
  249. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +32 -32
  250. package/cdn/components/data-subsetter-history/data-subsetter-history.controller.js +3 -3
  251. package/cdn/components/data-subsetter-history/data-subsetter-history.js +33 -33
  252. package/cdn/components/date-picker/date-picker.component.js +4 -4
  253. package/cdn/components/date-picker/date-picker.js +5 -5
  254. package/cdn/components/date-range-slider/date-range-slider.component.js +4 -4
  255. package/cdn/components/date-range-slider/date-range-slider.js +5 -5
  256. package/cdn/components/dialog/dialog.component.js +3 -3
  257. package/cdn/components/dialog/dialog.js +4 -4
  258. package/cdn/components/icon/icon.component.js +3 -3
  259. package/cdn/components/icon/icon.js +4 -4
  260. package/cdn/components/loader/loader.component.js +3 -3
  261. package/cdn/components/loader/loader.js +4 -4
  262. package/cdn/components/login/login.component.js +13 -13
  263. package/cdn/components/login/login.js +14 -14
  264. package/cdn/components/map/leaflet-utils.js +3 -3
  265. package/cdn/components/map/map.component.js +10 -10
  266. package/cdn/components/map/map.controller.js +3 -3
  267. package/cdn/components/map/map.js +11 -11
  268. package/cdn/components/plot/plot.component.js +4 -4
  269. package/cdn/components/plot/plot.js +5 -5
  270. package/cdn/components/plot-toolbar/plot-toolbar.component.js +10 -10
  271. package/cdn/components/plot-toolbar/plot-toolbar.js +11 -11
  272. package/cdn/components/plot-toolbar/plot-toolbar.styles.js +1 -1
  273. package/cdn/components/skeleton/skeleton.component.js +7 -7
  274. package/cdn/components/skeleton/skeleton.js +8 -8
  275. package/cdn/components/spatial-picker/spatial-picker.component.js +12 -12
  276. package/cdn/components/spatial-picker/spatial-picker.js +13 -13
  277. package/cdn/components/time-average-map/time-average-map.component.d.ts +11 -0
  278. package/cdn/components/time-average-map/time-average-map.component.js +17 -17
  279. package/cdn/components/time-average-map/time-average-map.controller.js +3 -3
  280. package/cdn/components/time-average-map/time-average-map.js +18 -18
  281. package/cdn/components/time-average-map/time-average-map.styles.js +1 -1
  282. package/cdn/components/time-series/time-series.component.js +21 -21
  283. package/cdn/components/time-series/time-series.controller.js +3 -3
  284. package/cdn/components/time-series/time-series.js +22 -22
  285. package/cdn/components/variable-combobox/lib.js +3 -3
  286. package/cdn/components/variable-combobox/variable-combobox.component.js +15 -15
  287. package/cdn/components/variable-combobox/variable-combobox.controller.js +4 -4
  288. package/cdn/components/variable-combobox/variable-combobox.js +16 -16
  289. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +15 -15
  290. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.js +4 -4
  291. package/cdn/components/variable-keyword-search/variable-keyword-search.js +16 -16
  292. package/cdn/custom-elements.json +1072 -960
  293. package/cdn/react/accordion/index.js +24 -0
  294. package/cdn/react/alert/index.js +19 -0
  295. package/cdn/react/browse-variables/index.js +51 -0
  296. package/cdn/react/button/index.js +21 -0
  297. package/cdn/react/chip/index.js +17 -0
  298. package/cdn/react/combobox/index.js +25 -0
  299. package/cdn/react/data-rods/index.js +75 -0
  300. package/cdn/react/data-subsetter/index.js +62 -0
  301. package/cdn/react/data-subsetter-history/index.js +67 -0
  302. package/cdn/react/date-picker/index.js +23 -0
  303. package/cdn/react/date-range-slider/index.js +19 -0
  304. package/cdn/react/dialog/index.js +15 -0
  305. package/cdn/react/icon/index.js +22 -0
  306. package/cdn/react/index.d.ts +5 -5
  307. package/cdn/react/index.js +214 -0
  308. package/cdn/react/loader/index.js +17 -0
  309. package/cdn/react/login/index.js +38 -0
  310. package/cdn/react/map/index.js +26 -0
  311. package/cdn/react/plot/index.js +17 -0
  312. package/cdn/react/plot-toolbar/index.js +34 -0
  313. package/cdn/react/skeleton/index.js +24 -0
  314. package/cdn/react/spatial-picker/index.js +28 -0
  315. package/cdn/react/time-average-map/index.js +46 -0
  316. package/cdn/react/time-series/index.js +50 -0
  317. package/cdn/react/variable-combobox/index.js +41 -0
  318. package/cdn/react/variable-keyword-search/index.js +42 -0
  319. package/cdn/terra-ui-components.js +99 -99
  320. package/cdn/types/vue/index.d.ts +121 -117
  321. package/cdn/utilities/animation.js +4 -4
  322. package/cdn/vscode.html-custom-data.json +137 -137
  323. package/cdn/web-types.json +471 -469
  324. package/dist/chunks/chunk.2AIVKD54.js +214 -0
  325. package/dist/chunks/chunk.2BW4SOWQ.js +11 -0
  326. package/dist/chunks/chunk.2GEN6UCO.js +21 -0
  327. package/dist/chunks/chunk.2LGINANI.js +82 -0
  328. package/dist/chunks/chunk.2OQZA3CW.js +477 -0
  329. package/dist/chunks/chunk.2WYXDPGS.js +11 -0
  330. package/dist/chunks/chunk.34PJLKJJ.js +416 -0
  331. package/dist/chunks/chunk.35EPISNE.js +11 -0
  332. package/dist/chunks/chunk.3H5ZUQL5.js +498 -0
  333. package/dist/chunks/chunk.3L77HLPZ.js +88 -0
  334. package/dist/chunks/chunk.3UAVO7EA.js +24 -0
  335. package/dist/chunks/chunk.3ULVIGJG.js +21 -0
  336. package/dist/chunks/chunk.3XJ5QNGT.js +21 -0
  337. package/dist/chunks/chunk.42V23REY.js +21 -0
  338. package/dist/chunks/chunk.44BRND6T.js +21 -0
  339. package/dist/chunks/chunk.4E55SLUR.js +11 -0
  340. package/dist/chunks/chunk.4EIGF3E4.js +470 -0
  341. package/dist/chunks/chunk.4SUQPJ6R.js +63 -0
  342. package/dist/chunks/chunk.4WKVINLB.js +11 -0
  343. package/dist/chunks/chunk.5QKVNNUH.js +73 -0
  344. package/dist/chunks/chunk.5TZQDEBJ.js +21 -0
  345. package/dist/chunks/chunk.642Z3X7N.js +11 -0
  346. package/dist/chunks/chunk.64ARWPHU.js +11 -0
  347. package/dist/chunks/chunk.65TXBD5Q.js +11 -0
  348. package/dist/chunks/chunk.6DUMNJRP.js +11 -0
  349. package/dist/chunks/chunk.6VTAKEV4.js +74 -0
  350. package/dist/chunks/chunk.76XDDHGB.js +24 -0
  351. package/dist/chunks/chunk.77RFVKUZ.js +21 -0
  352. package/dist/chunks/chunk.7JCOOCRE.js +498 -0
  353. package/dist/chunks/chunk.A6D5MCCT.js +123 -0
  354. package/dist/chunks/chunk.A7GHUUVY.js +21 -0
  355. package/dist/chunks/chunk.A7JSMGCJ.js +11 -0
  356. package/dist/chunks/chunk.ADFWUZLL.js +21 -0
  357. package/dist/chunks/chunk.AHGKSSSI.js +185 -0
  358. package/dist/chunks/chunk.AQADCBKW.js +11 -0
  359. package/dist/chunks/chunk.AU4MMC6N.js +24 -0
  360. package/dist/chunks/chunk.B63QBHY2.js +21 -0
  361. package/dist/chunks/chunk.B6JXOXP5.js +348 -0
  362. package/dist/chunks/chunk.BRVCFRLF.js +21 -0
  363. package/dist/chunks/chunk.CA2ZDE2M.js +11 -0
  364. package/dist/chunks/chunk.CDJJZBFH.js +21 -0
  365. package/dist/chunks/chunk.E4HHQCTB.js +25 -0
  366. package/dist/chunks/chunk.EBJUC35J.js +11 -0
  367. package/dist/chunks/chunk.EFBCCYOG.js +21 -0
  368. package/dist/chunks/chunk.ERXCYNDC.js +11 -0
  369. package/dist/chunks/chunk.EU34RZJ6.js +348 -0
  370. package/dist/chunks/chunk.FD3GJNJJ.js +82 -0
  371. package/dist/chunks/chunk.FF3EIVF2.js +11 -0
  372. package/dist/chunks/chunk.FNTPKP6P.js +538 -0
  373. package/dist/chunks/chunk.FZMMKJAN.js +11 -0
  374. package/dist/chunks/chunk.FZUQIX6Q.js +24 -0
  375. package/dist/chunks/chunk.GGRGK2NT.js +78 -0
  376. package/dist/chunks/chunk.GJZMMPJG.js +21 -0
  377. package/dist/chunks/chunk.GL5HOXON.js +202 -0
  378. package/dist/chunks/chunk.GMJWNAQG.js +264 -0
  379. package/dist/chunks/chunk.GPP6JDF4.js +11 -0
  380. package/dist/chunks/chunk.GQRGC6YW.js +11 -0
  381. package/dist/chunks/chunk.GUYBX63F.js +108 -0
  382. package/dist/chunks/chunk.H2UQBMCX.js +21 -0
  383. package/dist/chunks/chunk.H73IKOBV.js +11 -0
  384. package/dist/chunks/chunk.HKST5N6O.js +21 -0
  385. package/dist/chunks/chunk.HN27UQHP.js +21 -0
  386. package/dist/chunks/chunk.HNWBSRBL.js +43 -0
  387. package/dist/chunks/chunk.HUX2RF6U.js +53 -0
  388. package/dist/chunks/chunk.IFHDVWGZ.js +258 -0
  389. package/dist/chunks/chunk.IG5HGQXY.js +11 -0
  390. package/dist/chunks/chunk.IJC2KB5R.js +25 -0
  391. package/dist/chunks/chunk.J25AAZTC.js +21 -0
  392. package/dist/chunks/chunk.J6VAJGFU.js +11 -0
  393. package/dist/chunks/chunk.JHEFOGNL.js +11 -0
  394. package/dist/chunks/chunk.JOFHFGQP.js +180 -0
  395. package/dist/chunks/chunk.JOTLSXEI.js +82 -0
  396. package/dist/chunks/chunk.JUQDLDHB.js +139 -0
  397. package/dist/chunks/chunk.KIC5ZCAM.js +63 -0
  398. package/dist/chunks/chunk.KOT22IKI.js +21 -0
  399. package/dist/chunks/chunk.KQXAXXOQ.js +53 -0
  400. package/dist/chunks/chunk.KRADMAUS.js +11 -0
  401. package/dist/chunks/chunk.KXL6VOQP.js +82 -0
  402. package/dist/chunks/chunk.L2M2AJ4W.js +21 -0
  403. package/dist/chunks/chunk.L7RNO3FR.js +11 -0
  404. package/dist/chunks/chunk.LDCRCQNJ.js +103 -0
  405. package/dist/chunks/chunk.LNIZRE4P.js +180 -0
  406. package/dist/chunks/chunk.LQOZT7TL.js +228 -0
  407. package/dist/chunks/chunk.LQXULJBQ.js +21 -0
  408. package/dist/chunks/chunk.M3SLDTSE.js +477 -0
  409. package/dist/chunks/chunk.M6X72F3Q.js +373 -0
  410. package/dist/chunks/chunk.M74U5ILB.js +25 -0
  411. package/dist/chunks/chunk.M7ZB5QRP.js +273 -0
  412. package/dist/chunks/chunk.MEMNTMV2.js +183 -0
  413. package/dist/chunks/chunk.MFI2M54Y.js +273 -0
  414. package/dist/chunks/chunk.MGM5E2VQ.js +98 -0
  415. package/dist/chunks/chunk.MKU7QBFN.js +11 -0
  416. package/dist/chunks/chunk.NDADYNAA.js +11 -0
  417. package/dist/chunks/chunk.NLADA7XK.js +11 -0
  418. package/dist/chunks/chunk.NQYUJ7FK.js +24 -0
  419. package/dist/chunks/chunk.O6SXSDFR.js +539 -0
  420. package/dist/chunks/chunk.O7SVDS2A.js +11 -0
  421. package/dist/chunks/chunk.OBANVLY7.js +11 -0
  422. package/dist/chunks/chunk.OJC754DG.js +228 -0
  423. package/dist/chunks/chunk.OVUWZWWN.js +355 -0
  424. package/dist/chunks/chunk.OX5IY75Y.js +11 -0
  425. package/dist/chunks/chunk.OY5R7EVO.js +24 -0
  426. package/dist/chunks/chunk.P6OOV5UQ.js +25 -0
  427. package/dist/chunks/chunk.P7EL7GKI.js +41 -0
  428. package/dist/chunks/chunk.P7UY5YOM.js +202 -0
  429. package/dist/chunks/chunk.PA5O6555.js +24 -0
  430. package/dist/chunks/chunk.PAJVTERU.js +357 -0
  431. package/dist/chunks/chunk.PG4TSLWI.js +78 -0
  432. package/dist/chunks/chunk.PKAXRUSD.js +11 -0
  433. package/dist/chunks/chunk.PRQ5P3TK.js +11 -0
  434. package/dist/chunks/chunk.PSIAGOIP.js +538 -0
  435. package/dist/chunks/chunk.Q6LK4OHE.js +11 -0
  436. package/dist/chunks/chunk.QAMFDZKG.js +11 -0
  437. package/dist/chunks/chunk.QEGTBKYW.js +21 -0
  438. package/dist/chunks/chunk.QHY2BYL4.js +11 -0
  439. package/dist/chunks/chunk.QNNEWLT7.js +11 -0
  440. package/dist/chunks/chunk.QZS6UUDI.js +277 -0
  441. package/dist/chunks/chunk.RBVJJWF4.js +21 -0
  442. package/dist/chunks/chunk.RDID3JKQ.js +25 -0
  443. package/dist/chunks/chunk.RJUTQBOV.js +21 -0
  444. package/dist/chunks/chunk.RVCQSKMD.js +108 -0
  445. package/dist/chunks/chunk.RVH4PSND.js +416 -0
  446. package/dist/chunks/chunk.RZ3APMFR.js +195 -0
  447. package/dist/chunks/chunk.SFFOTZON.js +25 -0
  448. package/dist/chunks/chunk.SPVE7NND.js +11 -0
  449. package/dist/chunks/chunk.SRBWEFVT.js +27 -0
  450. package/dist/chunks/chunk.SWDQJJ7Q.js +11 -0
  451. package/dist/chunks/chunk.T53RBNNE.js +519 -0
  452. package/dist/chunks/chunk.T7DACXNM.js +11 -0
  453. package/dist/chunks/chunk.TCGYS77N.js +27 -0
  454. package/dist/chunks/chunk.TIQXW7ZH.js +11 -0
  455. package/dist/chunks/chunk.TJGA66AX.js +25 -0
  456. package/dist/chunks/chunk.TMXTLPTE.js +11 -0
  457. package/dist/chunks/chunk.TSIWRLNC.js +539 -0
  458. package/dist/chunks/chunk.UDCRU3NE.js +120 -0
  459. package/dist/chunks/chunk.UPMJQK2S.js +120 -0
  460. package/dist/chunks/chunk.URKW2CME.js +21 -0
  461. package/dist/chunks/chunk.UT5XKCBV.js +183 -0
  462. package/dist/chunks/chunk.UTXEG3QD.js +214 -0
  463. package/dist/chunks/chunk.UZZDJISQ.js +258 -0
  464. package/dist/chunks/chunk.V3CHZTI6.js +470 -0
  465. package/dist/chunks/chunk.VDCD52OC.js +185 -0
  466. package/dist/chunks/chunk.VO4JJ7CZ.js +357 -0
  467. package/dist/chunks/chunk.VT32WPUI.js +73 -0
  468. package/dist/chunks/chunk.VYPNLWLL.js +11 -0
  469. package/dist/chunks/chunk.W5O3LYQV.js +21 -0
  470. package/dist/chunks/chunk.WTQMOLV2.js +24 -0
  471. package/dist/chunks/chunk.WXZHDVQ3.js +21 -0
  472. package/dist/chunks/chunk.WZCLDYKY.js +25 -0
  473. package/dist/chunks/chunk.X7MVYC7B.js +11 -0
  474. package/dist/chunks/chunk.XIUGWVFS.js +355 -0
  475. package/dist/chunks/chunk.XJPYDQOZ.js +11 -0
  476. package/dist/chunks/chunk.XWDZOQJ3.js +11 -0
  477. package/dist/chunks/chunk.XXFKVRN5.js +104 -0
  478. package/dist/chunks/chunk.Y7TVB466.js +1625 -0
  479. package/dist/chunks/chunk.Y7ZED6A4.js +24 -0
  480. package/dist/chunks/chunk.YIP3L3SE.js +21 -0
  481. package/dist/chunks/chunk.YMHBYV33.js +1625 -0
  482. package/dist/chunks/chunk.YP5DVLJS.js +11 -0
  483. package/dist/chunks/chunk.YRJRQDLF.js +21 -0
  484. package/dist/chunks/chunk.ZK4JLVS4.js +11 -0
  485. package/dist/chunks/chunk.ZLRH3XYC.js +24 -0
  486. package/dist/chunks/chunk.ZOCIZGYF.js +11 -0
  487. package/dist/components/accordion/accordion.component.js +5 -5
  488. package/dist/components/accordion/accordion.js +6 -6
  489. package/dist/components/alert/alert.component.js +4 -4
  490. package/dist/components/alert/alert.js +5 -5
  491. package/dist/components/browse-variables/browse-variables.component.js +16 -16
  492. package/dist/components/browse-variables/browse-variables.controller.js +4 -4
  493. package/dist/components/browse-variables/browse-variables.js +17 -17
  494. package/dist/components/browse-variables/browse-variables.types.d.ts +1 -0
  495. package/dist/components/button/button.component.js +3 -3
  496. package/dist/components/button/button.js +4 -4
  497. package/dist/components/chip/chip.component.js +3 -3
  498. package/dist/components/chip/chip.js +4 -4
  499. package/dist/components/combobox/combobox.component.js +3 -3
  500. package/dist/components/combobox/combobox.js +4 -4
  501. package/dist/components/data-rods/data-rods.component.js +34 -34
  502. package/dist/components/data-rods/data-rods.js +35 -35
  503. package/dist/components/data-subsetter/data-subsetter.component.js +26 -26
  504. package/dist/components/data-subsetter/data-subsetter.controller.d.ts +1 -1
  505. package/dist/components/data-subsetter/data-subsetter.controller.js +4 -4
  506. package/dist/components/data-subsetter/data-subsetter.js +27 -27
  507. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +29 -29
  508. package/dist/components/data-subsetter-history/data-subsetter-history.controller.js +3 -3
  509. package/dist/components/data-subsetter-history/data-subsetter-history.js +30 -30
  510. package/dist/components/date-picker/date-picker.component.js +4 -4
  511. package/dist/components/date-picker/date-picker.js +5 -5
  512. package/dist/components/date-range-slider/date-range-slider.component.js +4 -4
  513. package/dist/components/date-range-slider/date-range-slider.js +5 -5
  514. package/dist/components/dialog/dialog.component.js +3 -3
  515. package/dist/components/dialog/dialog.js +4 -4
  516. package/dist/components/icon/icon.component.js +3 -3
  517. package/dist/components/icon/icon.js +4 -4
  518. package/dist/components/loader/loader.component.js +3 -3
  519. package/dist/components/loader/loader.js +4 -4
  520. package/dist/components/login/login.component.js +11 -11
  521. package/dist/components/login/login.js +12 -12
  522. package/dist/components/map/leaflet-utils.js +3 -3
  523. package/dist/components/map/map.component.js +8 -8
  524. package/dist/components/map/map.controller.js +3 -3
  525. package/dist/components/map/map.js +9 -9
  526. package/dist/components/plot/plot.component.js +3 -3
  527. package/dist/components/plot/plot.js +4 -4
  528. package/dist/components/plot-toolbar/plot-toolbar.component.js +7 -7
  529. package/dist/components/plot-toolbar/plot-toolbar.js +8 -8
  530. package/dist/components/plot-toolbar/plot-toolbar.styles.js +1 -1
  531. package/dist/components/skeleton/skeleton.component.js +3 -3
  532. package/dist/components/skeleton/skeleton.js +4 -4
  533. package/dist/components/spatial-picker/spatial-picker.component.js +10 -10
  534. package/dist/components/spatial-picker/spatial-picker.js +11 -11
  535. package/dist/components/time-average-map/time-average-map.component.d.ts +11 -0
  536. package/dist/components/time-average-map/time-average-map.component.js +14 -14
  537. package/dist/components/time-average-map/time-average-map.controller.js +3 -3
  538. package/dist/components/time-average-map/time-average-map.js +15 -15
  539. package/dist/components/time-average-map/time-average-map.styles.js +1 -1
  540. package/dist/components/time-series/time-series.component.js +18 -18
  541. package/dist/components/time-series/time-series.controller.js +3 -3
  542. package/dist/components/time-series/time-series.js +19 -19
  543. package/dist/components/variable-combobox/variable-combobox.component.js +9 -9
  544. package/dist/components/variable-combobox/variable-combobox.js +10 -10
  545. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +12 -12
  546. package/dist/components/variable-keyword-search/variable-keyword-search.controller.js +4 -4
  547. package/dist/components/variable-keyword-search/variable-keyword-search.js +13 -13
  548. package/dist/custom-elements.json +1072 -960
  549. package/dist/react/accordion/index.js +19 -0
  550. package/dist/react/alert/index.js +14 -0
  551. package/dist/react/browse-variables/index.js +38 -0
  552. package/dist/react/button/index.js +15 -0
  553. package/dist/react/chip/index.js +12 -0
  554. package/dist/react/combobox/index.js +15 -0
  555. package/dist/react/data-rods/index.js +59 -0
  556. package/dist/react/data-subsetter/index.js +50 -0
  557. package/dist/react/data-subsetter-history/index.js +55 -0
  558. package/dist/react/date-picker/index.js +17 -0
  559. package/dist/react/date-range-slider/index.js +15 -0
  560. package/dist/react/dialog/index.js +12 -0
  561. package/dist/react/icon/index.js +17 -0
  562. package/dist/react/index.d.ts +5 -5
  563. package/dist/react/index.js +186 -0
  564. package/dist/react/loader/index.js +12 -0
  565. package/dist/react/login/index.js +29 -0
  566. package/dist/react/map/index.js +19 -0
  567. package/dist/react/plot/index.js +13 -0
  568. package/dist/react/plot-toolbar/index.js +24 -0
  569. package/dist/react/skeleton/index.js +13 -0
  570. package/dist/react/spatial-picker/index.js +21 -0
  571. package/dist/react/time-average-map/index.js +32 -0
  572. package/dist/react/time-series/index.js +38 -0
  573. package/dist/react/variable-combobox/index.js +27 -0
  574. package/dist/react/variable-keyword-search/index.js +30 -0
  575. package/dist/terra-ui-components.js +92 -92
  576. package/dist/{terra_ui_components-0.0.66-py3-none-any.whl → terra_ui_components-0.0.68-py3-none-any.whl} +0 -0
  577. package/dist/{terra_ui_components-0.0.66.tar.gz → terra_ui_components-0.0.68.tar.gz} +0 -0
  578. package/dist/types/vue/index.d.ts +121 -117
  579. package/dist/vscode.html-custom-data.json +137 -137
  580. package/dist/web-types.json +471 -469
  581. package/package.json +1 -1
  582. package/cdn/chunks/chunk.LS7CBIGK.js +0 -28
  583. package/dist/chunks/chunk.VSZLMYWV.js +0 -17
  584. package/cdn/chunks/{chunk.EDY6YM3Y.js → chunk.EMLDT66I.js} +4 -4
  585. package/cdn/chunks/{chunk.NFS2RDEX.js → chunk.SU2EH44I.js} +5 -5
  586. package/cdn/chunks/{chunk.QFJLPXXJ.js → chunk.VPW32Q52.js} +3 -3
@@ -0,0 +1,1625 @@
1
+ import {
2
+ defaultSubsetFileMimeType,
3
+ getFriendlyNameForMimeType
4
+ } from "./chunk.4MGGBJBD.js";
5
+ import {
6
+ TerraLogin
7
+ } from "./chunk.VT32WPUI.js";
8
+ import {
9
+ TerraDatePicker
10
+ } from "./chunk.MEMNTMV2.js";
11
+ import {
12
+ TerraSpatialPicker
13
+ } from "./chunk.M7ZB5QRP.js";
14
+ import {
15
+ AuthController
16
+ } from "./chunk.4SUQPJ6R.js";
17
+ import {
18
+ DataSubsetterController
19
+ } from "./chunk.QZS6UUDI.js";
20
+ import {
21
+ data_subsetter_styles_default
22
+ } from "./chunk.5ASTHFQ2.js";
23
+ import {
24
+ TerraAccordion
25
+ } from "./chunk.GGRGK2NT.js";
26
+ import {
27
+ TerraIcon
28
+ } from "./chunk.UTXEG3QD.js";
29
+ import {
30
+ getBasePath
31
+ } from "./chunk.PBC3S6IG.js";
32
+ import {
33
+ watch
34
+ } from "./chunk.DTUHBE3U.js";
35
+ import {
36
+ TerraElement,
37
+ component_styles_default
38
+ } from "./chunk.TSIWRLNC.js";
39
+ import {
40
+ __decorateClass,
41
+ __privateAdd,
42
+ __privateGet,
43
+ __privateMethod,
44
+ __spreadProps,
45
+ __spreadValues
46
+ } from "./chunk.TVFCHGU3.js";
47
+
48
+ // src/components/data-subsetter/data-subsetter.component.ts
49
+ import { html, nothing } from "lit";
50
+ import { property, query, state } from "lit/decorators.js";
51
+
52
+ // src/internal/debounce.ts
53
+ var TIMER_ID_KEY = Symbol();
54
+ var debounce = (delay) => {
55
+ return (_target, _propertyKey, descriptor) => {
56
+ const fn = descriptor.value;
57
+ descriptor.value = function(...args) {
58
+ clearTimeout(this[TIMER_ID_KEY]);
59
+ this[TIMER_ID_KEY] = window.setTimeout(() => {
60
+ fn.apply(this, args);
61
+ }, delay);
62
+ };
63
+ };
64
+ };
65
+
66
+ // src/components/data-subsetter/data-subsetter.component.ts
67
+ var _controller, _authController, _renderSizeInfo, renderSizeInfo_fn, _renderSubsetOptions, renderSubsetOptions_fn, _renderSearchForCollection, renderSearchForCollection_fn, _renderOutputFormatSelection, renderOutputFormatSelection_fn, _renderDateRangeSelection, renderDateRangeSelection_fn, _handleStartDateChange, _handleEndDateChange, _resetDateRangeSelection, _resetFormatSelection, _getCollectionDateRange, getCollectionDateRange_fn, _handleRegionAccordionToggle, handleRegionAccordionToggle_fn, _renderSpatialSelection, renderSpatialSelection_fn, _handleSpatialChange, _resetSpatialSelection, _renderVariableSelection, renderVariableSelection_fn, _buildVariableTree, buildVariableTree_fn, _renderVariableTree, renderVariableTree_fn, _getAllGroupPaths, getAllGroupPaths_fn, _toggleGroupExpand, toggleGroupExpand_fn, _toggleExpandCollapseAll, toggleExpandCollapseAll_fn, _toggleVariableSelection, toggleVariableSelection_fn, _markFieldTouched, markFieldTouched_fn, _resetVariableSelection, _renderJobStatus, renderJobStatus_fn, _renderSelectedParams, renderSelectedParams_fn, _cancelJob, cancelJob_fn, _getData, getData_fn, _touchAllFields, touchAllFields_fn, _numberOfFilesFoundEstimate, numberOfFilesFoundEstimate_fn, _getDocumentationLinks, getDocumentationLinks_fn, _getDataLinks, getDataLinks_fn, _hasAtLeastOneSubsetOption, hasAtLeastOneSubsetOption_fn, _hasSpatialSubset, hasSpatialSubset_fn, _renderJobMessage, renderJobMessage_fn, _getJobMessageText, getJobMessageText_fn, _estimateJobSize, estimateJobSize_fn, _refineParameters, refineParameters_fn, _toggleDownloadMenu, toggleDownloadMenu_fn, _downloadLinksAsTxt, downloadLinksAsTxt_fn, _downloadPythonScript, downloadPythonScript_fn, _downloadEarthdataDownload, downloadEarthdataDownload_fn, _handleClickOutside, handleClickOutside_fn, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn, _renderAvailableTemporalRangeSection, renderAvailableTemporalRangeSection_fn, _renderAvailableSpatialRangeSection, renderAvailableSpatialRangeSection_fn;
68
+ var TerraDataSubsetter = class extends TerraElement {
69
+ constructor() {
70
+ super(...arguments);
71
+ __privateAdd(this, _renderSizeInfo);
72
+ __privateAdd(this, _renderSubsetOptions);
73
+ __privateAdd(this, _renderSearchForCollection);
74
+ __privateAdd(this, _renderOutputFormatSelection);
75
+ __privateAdd(this, _renderDateRangeSelection);
76
+ __privateAdd(this, _getCollectionDateRange);
77
+ __privateAdd(this, _handleRegionAccordionToggle);
78
+ __privateAdd(this, _renderSpatialSelection);
79
+ __privateAdd(this, _renderVariableSelection);
80
+ __privateAdd(this, _buildVariableTree);
81
+ __privateAdd(this, _renderVariableTree);
82
+ __privateAdd(this, _getAllGroupPaths);
83
+ __privateAdd(this, _toggleGroupExpand);
84
+ __privateAdd(this, _toggleExpandCollapseAll);
85
+ __privateAdd(this, _toggleVariableSelection);
86
+ __privateAdd(this, _markFieldTouched);
87
+ __privateAdd(this, _renderJobStatus);
88
+ __privateAdd(this, _renderSelectedParams);
89
+ __privateAdd(this, _cancelJob);
90
+ __privateAdd(this, _getData);
91
+ __privateAdd(this, _touchAllFields);
92
+ __privateAdd(this, _numberOfFilesFoundEstimate);
93
+ __privateAdd(this, _getDocumentationLinks);
94
+ __privateAdd(this, _getDataLinks);
95
+ __privateAdd(this, _hasAtLeastOneSubsetOption);
96
+ __privateAdd(this, _hasSpatialSubset);
97
+ __privateAdd(this, _renderJobMessage);
98
+ __privateAdd(this, _getJobMessageText);
99
+ __privateAdd(this, _estimateJobSize);
100
+ __privateAdd(this, _refineParameters);
101
+ __privateAdd(this, _toggleDownloadMenu);
102
+ __privateAdd(this, _downloadLinksAsTxt);
103
+ __privateAdd(this, _downloadPythonScript);
104
+ __privateAdd(this, _downloadEarthdataDownload);
105
+ __privateAdd(this, _handleClickOutside);
106
+ __privateAdd(this, _handleJupyterNotebookClick);
107
+ __privateAdd(this, _renderAvailableTemporalRangeSection);
108
+ __privateAdd(this, _renderAvailableSpatialRangeSection);
109
+ this.showCollectionSearch = true;
110
+ this.selectedVariables = [];
111
+ this.expandedVariableGroups = /* @__PURE__ */ new Set();
112
+ this.touchedFields = /* @__PURE__ */ new Set();
113
+ this.spatialSelection = null;
114
+ this.selectedDateRange = {
115
+ startDate: null,
116
+ endDate: null
117
+ };
118
+ this.selectedFormat = defaultSubsetFileMimeType;
119
+ this.cancelingGetData = false;
120
+ this.selectedTab = "web-links";
121
+ this.refineParameters = false;
122
+ this.showDownloadMenu = false;
123
+ this.renderedInDialog = false;
124
+ this.collectionSearchType = "all";
125
+ this.collectionSearchLoading = false;
126
+ this.collectionLoading = false;
127
+ this.collectionAccordionOpen = true;
128
+ __privateAdd(this, _controller, new DataSubsetterController(this));
129
+ __privateAdd(this, _authController, new AuthController(this));
130
+ __privateAdd(this, _handleStartDateChange, (e) => {
131
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "date");
132
+ const datePicker = e.currentTarget;
133
+ this.selectedDateRange = __spreadProps(__spreadValues({}, this.selectedDateRange), {
134
+ startDate: datePicker.selectedDates.startDate
135
+ });
136
+ });
137
+ __privateAdd(this, _handleEndDateChange, (e) => {
138
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "date");
139
+ const datePicker = e.currentTarget;
140
+ this.selectedDateRange = __spreadProps(__spreadValues({}, this.selectedDateRange), {
141
+ endDate: datePicker.selectedDates.startDate
142
+ });
143
+ });
144
+ __privateAdd(this, _resetDateRangeSelection, () => {
145
+ this.selectedDateRange = { startDate: null, endDate: null };
146
+ });
147
+ __privateAdd(this, _resetFormatSelection, () => {
148
+ this.selectedFormat = defaultSubsetFileMimeType;
149
+ });
150
+ __privateAdd(this, _handleSpatialChange, (e) => {
151
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "spatial");
152
+ const round2 = (n) => parseFloat(Number(n).toFixed(2));
153
+ if (e.detail.type === "bbox" /* BBOX */) {
154
+ this.spatialSelection = {
155
+ e: round2(e.detail.bounds.getNorthEast().lng),
156
+ n: round2(e.detail.bounds.getNorthEast().lat),
157
+ w: round2(e.detail.bounds.getSouthWest().lng),
158
+ s: round2(e.detail.bounds.getSouthWest().lat)
159
+ };
160
+ } else if (e.detail.type === "point" /* POINT */) {
161
+ this.spatialSelection = e.detail.latLng;
162
+ } else {
163
+ this.spatialSelection = null;
164
+ }
165
+ });
166
+ __privateAdd(this, _resetSpatialSelection, () => {
167
+ this.spatialSelection = null;
168
+ });
169
+ __privateAdd(this, _resetVariableSelection, () => {
170
+ this.selectedVariables = [];
171
+ });
172
+ }
173
+ jobIdChanged() {
174
+ if (this.jobId) {
175
+ __privateGet(this, _controller).fetchJobByID(this.jobId);
176
+ }
177
+ }
178
+ firstUpdated() {
179
+ if (this.collectionEntryId) {
180
+ this.showCollectionSearch = false;
181
+ }
182
+ if (this.jobId) {
183
+ __privateGet(this, _controller).fetchJobByID(this.jobId);
184
+ }
185
+ document.addEventListener("click", __privateMethod(this, _handleClickOutside, handleClickOutside_fn).bind(this));
186
+ if (this.closest("terra-dialog")) {
187
+ this.renderedInDialog = true;
188
+ }
189
+ }
190
+ disconnectedCallback() {
191
+ super.disconnectedCallback();
192
+ document.removeEventListener("click", __privateMethod(this, _handleClickOutside, handleClickOutside_fn).bind(this));
193
+ }
194
+ collectionChanged() {
195
+ const { startDate, endDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
196
+ this.selectedDateRange = { startDate, endDate };
197
+ this.collectionLoading = false;
198
+ this.collectionAccordionOpen = false;
199
+ }
200
+ render() {
201
+ var _a, _b, _c;
202
+ const showJobStatus = __privateGet(this, _controller).currentJob && !this.refineParameters;
203
+ const showMinimizeButton = showJobStatus && this.renderedInDialog;
204
+ return html`
205
+ <div class="container">
206
+ <div class="header">
207
+ <h1>
208
+ <svg
209
+ class="download-icon"
210
+ viewBox="0 0 24 24"
211
+ fill="currentColor"
212
+ >
213
+ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
214
+ </svg>
215
+ ${(_c = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.EntryTitle) != null ? _c : html`Download Data`}
216
+ </h1>
217
+
218
+ ${showMinimizeButton ? html`<button
219
+ class="minimize-btn"
220
+ @click=${() => this.minimizeDialog()}
221
+ >
222
+ -
223
+ </button>` : nothing}
224
+ </div>
225
+
226
+ ${showJobStatus ? __privateMethod(this, _renderJobStatus, renderJobStatus_fn).call(this) : __privateMethod(this, _renderSubsetOptions, renderSubsetOptions_fn).call(this)}
227
+ </div>
228
+ `;
229
+ }
230
+ minimizeDialog() {
231
+ var _a;
232
+ (_a = this.closest("terra-dialog")) == null ? void 0 : _a.hide();
233
+ }
234
+ handleCollectionSearch(searchTerm) {
235
+ this.collectionSearchQuery = searchTerm;
236
+ }
237
+ renderHistoryPanel() {
238
+ const existingHistoryPanel = document.querySelector(
239
+ "terra-data-subsetter-history"
240
+ );
241
+ if (!existingHistoryPanel) {
242
+ const historyPanel = document.createElement(
243
+ "terra-data-subsetter-history"
244
+ );
245
+ if (this.bearerToken) {
246
+ historyPanel.setAttribute("bearer-token", this.bearerToken);
247
+ }
248
+ document.body.appendChild(historyPanel);
249
+ }
250
+ }
251
+ };
252
+ _controller = new WeakMap();
253
+ _authController = new WeakMap();
254
+ _renderSizeInfo = new WeakSet();
255
+ renderSizeInfo_fn = function(estimates) {
256
+ if (!__privateGet(this, _authController).state.isLoading && !__privateGet(this, _authController).state.user) {
257
+ return html`
258
+ <div class="size-info warning">
259
+ <terra-login>
260
+ <h2 slot="logged-out">Limited access as a guest.</h2>
261
+
262
+ <p slot="logged-out">
263
+ Your results will be capped at 10 links. Log in for full
264
+ access to all data.
265
+ </p>
266
+ </terra-login>
267
+ </div>
268
+ `;
269
+ }
270
+ return html`<div
271
+ class="size-info ${estimates.links >= 150 ? "warning" : "neutral"}"
272
+ >
273
+ <h2>Estimated size of results</h2>
274
+ <div class="size-stats">
275
+ ${estimates.days.toLocaleString()} days,
276
+ ${estimates.links.toLocaleString()} links
277
+ </div>
278
+ ${estimates.links >= 150 ? html`<div class="size-warning">
279
+ You are about to retrieve ${estimates.links.toLocaleString()}
280
+ file links from the archive. You may
281
+ <strong>speed up the request</strong> by limiting the scope of
282
+ your search.
283
+ </div>` : nothing}
284
+ </div>`;
285
+ };
286
+ _renderSubsetOptions = new WeakSet();
287
+ renderSubsetOptions_fn = function() {
288
+ var _a, _b, _c, _d, _e, _f, _g, _h;
289
+ const estimates = __privateMethod(this, _estimateJobSize, estimateJobSize_fn).call(this);
290
+ const hasSubsetOption = __privateMethod(this, _hasAtLeastOneSubsetOption, hasAtLeastOneSubsetOption_fn).call(this);
291
+ const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
292
+ const temporalExtents = collection == null ? void 0 : collection.TemporalExtents;
293
+ const spatialExtent = collection == null ? void 0 : collection.SpatialExtent;
294
+ const showTemporalSection = temporalExtents && temporalExtents.length;
295
+ const showSpatialSection = spatialExtent && ((_c = (_b = spatialExtent.HorizontalSpatialDomain) == null ? void 0 : _b.Geometry) == null ? void 0 : _c.BoundingRectangles);
296
+ return html`
297
+ ${hasSubsetOption && estimates ? __privateMethod(this, _renderSizeInfo, renderSizeInfo_fn).call(this, estimates) : nothing}
298
+ ${this.showCollectionSearch ? html`
299
+ <div class="section">
300
+ <h2 class="section-title">
301
+ Select Data Collection
302
+ <span class="help-icon">?</span>
303
+ </h2>
304
+
305
+ ${__privateMethod(this, _renderSearchForCollection, renderSearchForCollection_fn).call(this)}
306
+ </div>
307
+ ` : nothing}
308
+ ${hasSubsetOption ? html`
309
+ <div class="section">
310
+ <h2 class="section-title">
311
+ Method Options
312
+ <span class="help-icon">?</span>
313
+ </h2>
314
+
315
+ ${((_d = this.collectionWithServices) == null ? void 0 : _d.temporalSubset) ? __privateMethod(this, _renderDateRangeSelection, renderDateRangeSelection_fn).call(this) : nothing}
316
+ ${__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this) ? __privateMethod(this, _renderSpatialSelection, renderSpatialSelection_fn).call(this) : nothing}
317
+ ${((_e = this.collectionWithServices) == null ? void 0 : _e.variableSubset) ? __privateMethod(this, _renderVariableSelection, renderVariableSelection_fn).call(this) : nothing}
318
+ </div>
319
+ ` : html`
320
+ ${showTemporalSection && !((_f = this.collectionWithServices) == null ? void 0 : _f.temporalSubset) ? __privateMethod(this, _renderAvailableTemporalRangeSection, renderAvailableTemporalRangeSection_fn).call(this) : nothing}
321
+ ${showSpatialSection && !__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this) ? __privateMethod(this, _renderAvailableSpatialRangeSection, renderAvailableSpatialRangeSection_fn).call(this) : nothing}
322
+ `}
323
+ ${((_h = (_g = this.collectionWithServices) == null ? void 0 : _g.outputFormats) == null ? void 0 : _h.length) && hasSubsetOption ? html`
324
+ <div class="section">
325
+ <h2 class="section-title">
326
+ Output Format
327
+ <span class="help-icon">?</span>
328
+ </h2>
329
+
330
+ ${__privateMethod(this, _renderOutputFormatSelection, renderOutputFormatSelection_fn).call(this)}
331
+ </div>
332
+ ` : nothing}
333
+ ${!hasSubsetOption && estimates ? html`
334
+ <div
335
+ class="neutral-info"
336
+ style="margin-top: 24px; padding: 16px 20px; border-radius: 6px; background: #f8f9fa; color: #555; border: 1px solid #ccc;"
337
+ >
338
+ <strong>Estimated result size:</strong><br />
339
+ Your request will return approximately
340
+ <b>${estimates.links.toLocaleString()}</b> files covering
341
+ <b>${estimates.days.toLocaleString()}</b> days.
342
+ </div>
343
+ ` : nothing}
344
+
345
+ <div class="footer">
346
+ <button class="btn btn-secondary">Reset All</button>
347
+ <button class="btn btn-primary" @click=${__privateMethod(this, _getData, getData_fn)}>
348
+ Get Data
349
+ </button>
350
+ </div>
351
+ `;
352
+ };
353
+ _renderSearchForCollection = new WeakSet();
354
+ renderSearchForCollection_fn = function() {
355
+ var _a, _b;
356
+ let placeholder = "Search all types of resources (e.g. rainfall, GPM, hurricanes, etc.)";
357
+ if (this.collectionSearchType === "collection") {
358
+ placeholder = "Search collections (e.g. AQUA, GPM_3IMERGH, etc.)";
359
+ }
360
+ if (this.collectionSearchType === "variable") {
361
+ placeholder = "Search variables (e.g. rainfall, hurricanes, etc.)";
362
+ }
363
+ return html`
364
+ <terra-accordion .open=${this.collectionAccordionOpen}>
365
+ <div slot="summary">
366
+ <span class="accordion-title">Collection:</span>
367
+ </div>
368
+
369
+ <div
370
+ slot="summary-right"
371
+ style="display: flex; align-items: center; gap: 10px"
372
+ >
373
+ ${this.collectionEntryId ? html` <span
374
+ class="accordion-value"
375
+ id="selected-collection-display"
376
+ >${this.collectionEntryId}</span
377
+ >
378
+
379
+ <button
380
+ class="reset-btn"
381
+ @click=${() => this.collectionEntryId = void 0}
382
+ >
383
+ Reset
384
+ </button>` : nothing}
385
+ </div>
386
+
387
+ <div class="search-tabs-mini">
388
+ <button
389
+ class="search-tab-mini ${this.collectionSearchType === "all" ? "active" : ""}"
390
+ @click=${() => this.collectionSearchType = "all"}
391
+ >
392
+ All
393
+ </button>
394
+ <button
395
+ class="search-tab-mini ${this.collectionSearchType === "collection" ? "active" : ""}"
396
+ @click=${() => this.collectionSearchType = "collection"}
397
+ >
398
+ Collections
399
+ </button>
400
+ <button
401
+ class="search-tab-mini ${this.collectionSearchType === "variable" ? "active" : ""}"
402
+ @click=${() => this.collectionSearchType = "variable"}
403
+ >
404
+ Variables
405
+ </button>
406
+ </div>
407
+
408
+ <div class="search-container-mini">
409
+ <input
410
+ type="text"
411
+ class="search-input-mini"
412
+ id="search-input"
413
+ placeholder=${placeholder}
414
+ @input="${(e) => this.handleCollectionSearch(
415
+ e.target.value
416
+ )}"
417
+ />
418
+
419
+ <button class="search-button-mini">
420
+ <svg
421
+ class="search-icon-mini"
422
+ viewBox="0 0 24 24"
423
+ fill="currentColor"
424
+ >
425
+ <path
426
+ d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
427
+ />
428
+ </svg>
429
+ Search
430
+ </button>
431
+ </div>
432
+
433
+ <!-- TODO: it may be nice to have a quick search, perhaps by recent trends?
434
+ <div class="quick-links-mini">
435
+ <a href="#" class="quick-link-mini" onclick="quickSearch('GPM')"
436
+ >GPM Precipitation</a
437
+ >
438
+ <a href="#" class="quick-link-mini" onclick="quickSearch('MODIS')"
439
+ >MODIS Data</a
440
+ >
441
+ <a
442
+ href="#"
443
+ class="quick-link-mini"
444
+ onclick="quickSearch('Landsat')"
445
+ >Landsat Imagery</a
446
+ >
447
+ <a href="#" class="quick-link-mini" onclick="quickSearch('AIRS')"
448
+ >Atmospheric Data</a
449
+ >
450
+ </div>
451
+ -->
452
+
453
+ <div id="search-results-section" class="search-results-section">
454
+ ${this.collectionSearchLoading ? html`
455
+ <div id="loading-mini" class="loading-mini">
456
+ <div class="spinner-mini"></div>
457
+ <div>Searching NASA CMR...</div>
458
+ </div>
459
+ ` : ((_a = this.collectionSearchResults) == null ? void 0 : _a.length) ? html` <div
460
+ id="results-container-mini"
461
+ class="results-container-mini"
462
+ >
463
+ ${(_b = this.collectionSearchResults) == null ? void 0 : _b.map(
464
+ (item) => html`
465
+ <div
466
+ class="result-item-mini"
467
+ @click=${() => {
468
+ this.collectionEntryId = item.collectionEntryId;
469
+ this.collectionAccordionOpen = false;
470
+ this.collectionLoading = true;
471
+ if (item.type === "variable") {
472
+ this.selectedVariables = [
473
+ {
474
+ name: item.entryId,
475
+ href: "",
476
+ conceptId: item.conceptId
477
+ }
478
+ ];
479
+ }
480
+ this.requestUpdate();
481
+ }}
482
+ style="cursor: pointer;"
483
+ >
484
+ <div class="result-title-mini">
485
+ ${item.title}
486
+ </div>
487
+ <div class="result-id-mini">
488
+ ${item.entryId}
489
+ </div>
490
+ <div class="result-description-mini">
491
+ ${item.summary || item.title}
492
+ </div>
493
+ <div class="result-meta-mini">
494
+ <span>📅 2000-02-24 - ongoing</span>
495
+ <span>🌍 Global</span>
496
+ <span>🏢 ${item.provider}</span>
497
+ ${item.type === "variable" ? html` <span
498
+ >📊
499
+ ${item.collectionEntryId}</span
500
+ >` : nothing}
501
+ <span class="tag-mini"
502
+ >${item.type.toUpperCase()}</span
503
+ >
504
+ </div>
505
+ </div>
506
+ `
507
+ )}
508
+ </div>` : this.collectionSearchResults && this.collectionSearchResults.length === 0 ? html`<div id="no-results-mini" class="no-results-mini">
509
+ <p>
510
+ No results found for
511
+ '${this.collectionSearchQuery}'. Try adjusting
512
+ your search term.
513
+ </p>
514
+ </div>` : nothing}
515
+ </div>
516
+ </terra-accordion>
517
+
518
+ ${this.collectionLoading ? html`
519
+ <div
520
+ class="collection-loading-bar"
521
+ style="display: flex; align-items: center; gap: 10px; margin: 16px 0;"
522
+ >
523
+ <span
524
+ class="loading-spinner"
525
+ style="width: 20px; height: 20px; border: 3px solid #ccc; border-top: 3px solid #31708f; border-radius: 50%; display: inline-block; animation: spin 1s linear infinite;"
526
+ ></span>
527
+ Retrieving collection, please wait...
528
+ </div>
529
+ <style>
530
+ @keyframes spin {
531
+ 0% {
532
+ transform: rotate(0deg);
533
+ }
534
+ 100% {
535
+ transform: rotate(360deg);
536
+ }
537
+ }
538
+ </style>
539
+ ` : nothing}
540
+ `;
541
+ };
542
+ _renderOutputFormatSelection = new WeakSet();
543
+ renderOutputFormatSelection_fn = function() {
544
+ return html`
545
+ <terra-accordion>
546
+ <div slot="summary">
547
+ <span class="accordion-title">File Format:</span>
548
+ </div>
549
+
550
+ <div
551
+ slot="summary-right"
552
+ style="display: flex; align-items: center; gap: 10px;"
553
+ >
554
+ <span>${getFriendlyNameForMimeType(this.selectedFormat)}</span>
555
+
556
+ <button class="reset-btn" @click=${__privateGet(this, _resetFormatSelection)}>
557
+ Reset
558
+ </button>
559
+ </div>
560
+
561
+ <div class="accordion-content" style="margin-top: 12px;">
562
+ ${(() => {
563
+ var _a;
564
+ const uniqueFormats = Array.from(
565
+ new Set(((_a = this.collectionWithServices) == null ? void 0 : _a.outputFormats) || [])
566
+ );
567
+ return uniqueFormats.map(
568
+ (format) => html`
569
+ <label
570
+ style="display: flex; align-items: center; gap: 8px; padding: 5px;"
571
+ >
572
+ <input
573
+ type="radio"
574
+ name="output-format"
575
+ value="${format}"
576
+ .checked=${this.selectedFormat === format}
577
+ @change=${() => this.selectedFormat = format}
578
+ />
579
+ ${getFriendlyNameForMimeType(format)}
580
+ </label>
581
+ `
582
+ );
583
+ })()}
584
+ </div>
585
+ </terra-accordion>
586
+ `;
587
+ };
588
+ _renderDateRangeSelection = new WeakSet();
589
+ renderDateRangeSelection_fn = function() {
590
+ var _a, _b;
591
+ const { startDate: defaultStartDate, endDate: defaultEndDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
592
+ const startDate = (_a = this.selectedDateRange.startDate) != null ? _a : defaultStartDate;
593
+ const endDate = (_b = this.selectedDateRange.endDate) != null ? _b : defaultEndDate;
594
+ const showError = this.touchedFields.has("date") && (!this.selectedDateRange.startDate || !this.selectedDateRange.endDate);
595
+ return html`
596
+ <terra-accordion>
597
+ <div slot="summary">
598
+ <span class="accordion-title">Refine Date Range:</span>
599
+ </div>
600
+
601
+ <div
602
+ slot="summary-right"
603
+ style="display: flex; align-items: center; gap: 10px;"
604
+ >
605
+ ${showError ? html`<span class="accordion-value error"
606
+ >Please select a date range</span
607
+ >` : this.touchedFields.has("date") && startDate && endDate ? html`<span class="accordion-value"
608
+ >${startDate} to ${endDate}</span
609
+ >` : nothing}
610
+ <button class="reset-btn" @click=${__privateGet(this, _resetDateRangeSelection)}>
611
+ Reset
612
+ </button>
613
+ </div>
614
+
615
+ <div style="display: flex; gap: 16px;">
616
+ <terra-date-picker
617
+ label="Start Date"
618
+ allow-input
619
+ class="w-full"
620
+ .minDate=${defaultStartDate}
621
+ .maxDate=${endDate}
622
+ .defaultDate=${startDate}
623
+ @terra-change=${__privateGet(this, _handleStartDateChange)}
624
+ ></terra-date-picker>
625
+ <terra-date-picker
626
+ label="End Date"
627
+ allow-input
628
+ class="w-full"
629
+ .minDate=${startDate}
630
+ .maxDate=${defaultEndDate}
631
+ .defaultDate=${endDate}
632
+ @terra-change=${__privateGet(this, _handleEndDateChange)}
633
+ ></terra-date-picker>
634
+ </div>
635
+
636
+ <div
637
+ style="display: flex; gap: 16px; margin-top: 15px; color: #31708f;"
638
+ >
639
+ <span
640
+ ><strong>Available Range:</strong> ${defaultStartDate} to
641
+ ${defaultEndDate}</span
642
+ >
643
+ <span
644
+ ><strong>Note:</strong> All dates and times are in UTC.</span
645
+ >
646
+ </div>
647
+ </terra-accordion>
648
+ `;
649
+ };
650
+ _handleStartDateChange = new WeakMap();
651
+ _handleEndDateChange = new WeakMap();
652
+ _resetDateRangeSelection = new WeakMap();
653
+ _resetFormatSelection = new WeakMap();
654
+ _getCollectionDateRange = new WeakSet();
655
+ getCollectionDateRange_fn = function() {
656
+ var _a, _b;
657
+ const temporalExtents = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.TemporalExtents;
658
+ if (!temporalExtents || !temporalExtents.length)
659
+ return {
660
+ startDate: null,
661
+ endDate: null
662
+ };
663
+ let minStart = null;
664
+ let maxEnd = null;
665
+ const today = /* @__PURE__ */ new Date();
666
+ for (const temporal of temporalExtents) {
667
+ for (const range of temporal.RangeDateTimes) {
668
+ const start = new Date(range.BeginningDateTime);
669
+ let end;
670
+ if (temporal.EndsAtPresentFlag || !range.EndingDateTime) {
671
+ end = today;
672
+ } else {
673
+ end = new Date(range.EndingDateTime);
674
+ }
675
+ if (!minStart || start < minStart)
676
+ minStart = start;
677
+ if (!maxEnd || end > maxEnd)
678
+ maxEnd = end;
679
+ }
680
+ }
681
+ return {
682
+ startDate: minStart ? minStart.toISOString().slice(0, 10) : null,
683
+ endDate: maxEnd ? maxEnd.toISOString().slice(0, 10) : null
684
+ };
685
+ };
686
+ _handleRegionAccordionToggle = new WeakSet();
687
+ handleRegionAccordionToggle_fn = function() {
688
+ var _a;
689
+ (_a = this.spatialPicker) == null ? void 0 : _a.invalidateSize();
690
+ };
691
+ _renderSpatialSelection = new WeakSet();
692
+ renderSpatialSelection_fn = function() {
693
+ var _a, _b, _c, _d, _e, _f;
694
+ const showError = this.touchedFields.has("spatial") && !this.spatialSelection;
695
+ let boundingRects = (_e = (_d = (_c = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.SpatialExtent) == null ? void 0 : _c.HorizontalSpatialDomain) == null ? void 0 : _d.Geometry) == null ? void 0 : _e.BoundingRectangles;
696
+ if (boundingRects && !Array.isArray(boundingRects)) {
697
+ boundingRects = [boundingRects];
698
+ }
699
+ return html`
700
+ <terra-accordion
701
+ @terra-accordion-toggle=${__privateMethod(this, _handleRegionAccordionToggle, handleRegionAccordionToggle_fn)}
702
+ >
703
+ <div slot="summary">
704
+ <span class="accordion-title">Refine Region:</span>
705
+ </div>
706
+
707
+ <div
708
+ slot="summary-right"
709
+ style="display: flex; align-items: center; gap: 10px;"
710
+ >
711
+ ${showError ? html`<span class="accordion-value error"
712
+ >Please select a region</span
713
+ >` : this.spatialSelection && "w" in this.spatialSelection ? html`<span class="accordion-value"
714
+ >${this.spatialSelection.w},${this.spatialSelection.s},${this.spatialSelection.e},${this.spatialSelection.n}</span
715
+ >` : this.spatialSelection && "lat" in this.spatialSelection && "lng" in this.spatialSelection ? html`<span class="accordion-value"
716
+ >${this.spatialSelection.lat},${this.spatialSelection.lng}</span
717
+ >` : nothing}
718
+ <button class="reset-btn" @click=${__privateGet(this, _resetSpatialSelection)}>
719
+ Reset
720
+ </button>
721
+ </div>
722
+ <div class="accordion-content">
723
+ <terra-spatial-picker
724
+ part="spatial-picker"
725
+ inline
726
+ hide-label
727
+ has-shape-selector
728
+ hide-point-selection
729
+ .initialValue=${(_f = this.spatialSelection) != null ? _f : ""}
730
+ @terra-map-change=${__privateGet(this, _handleSpatialChange)}
731
+ ></terra-spatial-picker>
732
+ ${boundingRects && Array.isArray(boundingRects) && boundingRects.length ? html`<div
733
+ style="display: flex; gap: 16px; margin-top: 15px; color: #31708f;"
734
+ >
735
+ ${boundingRects.map(
736
+ (rect) => html`<div>
737
+ <strong>Available Range:</strong>
738
+ ${rect.WestBoundingCoordinate},
739
+ ${rect.SouthBoundingCoordinate},
740
+ ${rect.EastBoundingCoordinate},
741
+ ${rect.NorthBoundingCoordinate}
742
+ </div>`
743
+ )}
744
+ </div>` : nothing}
745
+ </div>
746
+ </terra-accordion>
747
+ `;
748
+ };
749
+ _handleSpatialChange = new WeakMap();
750
+ _resetSpatialSelection = new WeakMap();
751
+ _renderVariableSelection = new WeakSet();
752
+ renderVariableSelection_fn = function() {
753
+ var _a;
754
+ const variables = ((_a = this.collectionWithServices) == null ? void 0 : _a.variables) || [];
755
+ const showError = this.touchedFields.has("variables") && this.selectedVariables.length === 0;
756
+ const tree = __privateMethod(this, _buildVariableTree, buildVariableTree_fn).call(this, variables);
757
+ const allGroups = __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, tree);
758
+ const allExpanded = allGroups.length > 0 && allGroups.every((g) => this.expandedVariableGroups.has(g));
759
+ return html`
760
+ <terra-accordion>
761
+ <div slot="summary">
762
+ <span class="accordion-title">Select Variables:</span>
763
+ </div>
764
+ <div
765
+ slot="summary-right"
766
+ style="display: flex; align-items: center; gap: 10px;"
767
+ >
768
+ ${showError ? html`<span class="accordion-value error"
769
+ >Please select at least one variable</span
770
+ >` : this.selectedVariables.length ? html`<span class="accordion-value"
771
+ >${this.selectedVariables.length} selected</span
772
+ >` : nothing}
773
+
774
+ <button class="reset-btn" @click=${__privateGet(this, _resetVariableSelection)}>
775
+ Reset
776
+ </button>
777
+ </div>
778
+ <div class="accordion-content">
779
+ <button
780
+ class="reset-btn"
781
+ style="margin-bottom: 10px;"
782
+ @click=${() => __privateMethod(this, _toggleExpandCollapseAll, toggleExpandCollapseAll_fn).call(this, tree)}
783
+ >
784
+ ${allExpanded ? "Collapse Tree" : "Expand Tree"}
785
+ </button>
786
+ ${variables.length === 0 ? html`<p style="color: #666; font-style: italic;">
787
+ No variables available for this collection.
788
+ </p>` : __privateMethod(this, _renderVariableTree, renderVariableTree_fn).call(this, tree, [])}
789
+ </div>
790
+ </terra-accordion>
791
+ `;
792
+ };
793
+ _buildVariableTree = new WeakSet();
794
+ buildVariableTree_fn = function(variables) {
795
+ const root = {};
796
+ for (const v of variables) {
797
+ const parts = v.name.split("/");
798
+ let node = root;
799
+ for (let i = 0; i < parts.length; i++) {
800
+ const part = parts[i];
801
+ if (!node[part])
802
+ node[part] = { __children: {}, __isLeaf: false };
803
+ if (i === parts.length - 1) {
804
+ node[part].__isLeaf = true;
805
+ node[part].__variable = v;
806
+ }
807
+ node = node[part].__children;
808
+ }
809
+ }
810
+ return root;
811
+ };
812
+ _renderVariableTree = new WeakSet();
813
+ renderVariableTree_fn = function(node, path) {
814
+ return html`
815
+ <div style="margin-left: ${path.length * 20}px;">
816
+ ${Object.entries(node).map(([key, value]) => {
817
+ const groupPath = [...path, key].join("/");
818
+ if (value.__isLeaf) {
819
+ return html`
820
+ <div class="option-row">
821
+ <label class="checkbox-option">
822
+ <input
823
+ type="checkbox"
824
+ .checked=${this.selectedVariables.some(
825
+ (v) => v.name === value.__variable.name
826
+ )}
827
+ @change=${(e) => __privateMethod(this, _toggleVariableSelection, toggleVariableSelection_fn).call(this, e, value.__variable)}
828
+ />
829
+ <span>${key}</span>
830
+ </label>
831
+ </div>
832
+ `;
833
+ } else {
834
+ const expanded = this.expandedVariableGroups.has(groupPath);
835
+ return html`
836
+ <div class="option-row" style="align-items: flex-start;">
837
+ <span
838
+ style="cursor: pointer; display: flex; align-items: center;"
839
+ @click=${() => __privateMethod(this, _toggleGroupExpand, toggleGroupExpand_fn).call(this, groupPath)}
840
+ >
841
+ <terra-icon
842
+ library="heroicons"
843
+ name="${expanded ? "outline-minus-circle" : "outline-plus-circle"}"
844
+ style="margin-right: 4px;"
845
+ ></terra-icon>
846
+ <span style="font-weight: 500;">${key}</span>
847
+ </span>
848
+ </div>
849
+ ${expanded ? __privateMethod(this, _renderVariableTree, renderVariableTree_fn).call(this, value.__children, [
850
+ ...path,
851
+ key
852
+ ]) : ""}
853
+ `;
854
+ }
855
+ })}
856
+ </div>
857
+ `;
858
+ };
859
+ _getAllGroupPaths = new WeakSet();
860
+ getAllGroupPaths_fn = function(node, path = []) {
861
+ let groups = [];
862
+ for (const [key, value] of Object.entries(node)) {
863
+ if (!value.__isLeaf) {
864
+ const groupPath = [...path, key].join("/");
865
+ groups.push(groupPath);
866
+ groups = groups.concat(
867
+ __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, value.__children, [...path, key])
868
+ );
869
+ }
870
+ }
871
+ return groups;
872
+ };
873
+ _toggleGroupExpand = new WeakSet();
874
+ toggleGroupExpand_fn = function(groupPath) {
875
+ const set = new Set(this.expandedVariableGroups);
876
+ if (set.has(groupPath)) {
877
+ set.delete(groupPath);
878
+ } else {
879
+ set.add(groupPath);
880
+ }
881
+ this.expandedVariableGroups = set;
882
+ };
883
+ _toggleExpandCollapseAll = new WeakSet();
884
+ toggleExpandCollapseAll_fn = function(tree) {
885
+ const allGroups = __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, tree);
886
+ const allExpanded = allGroups.length > 0 && allGroups.every((g) => this.expandedVariableGroups.has(g));
887
+ if (allExpanded) {
888
+ this.expandedVariableGroups = /* @__PURE__ */ new Set();
889
+ } else {
890
+ this.expandedVariableGroups = new Set(allGroups);
891
+ }
892
+ };
893
+ _toggleVariableSelection = new WeakSet();
894
+ toggleVariableSelection_fn = function(e, variable) {
895
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "variables");
896
+ const checked = e.target.checked;
897
+ if (checked) {
898
+ if (!this.selectedVariables.some((v) => v.name === variable.name)) {
899
+ this.selectedVariables = [...this.selectedVariables, variable];
900
+ }
901
+ } else {
902
+ this.selectedVariables = this.selectedVariables.filter(
903
+ (v) => v.name !== variable.name
904
+ );
905
+ }
906
+ };
907
+ _markFieldTouched = new WeakSet();
908
+ markFieldTouched_fn = function(field) {
909
+ this.touchedFields = new Set(this.touchedFields).add(field);
910
+ };
911
+ _resetVariableSelection = new WeakMap();
912
+ _renderJobStatus = new WeakSet();
913
+ renderJobStatus_fn = function() {
914
+ var _a, _b;
915
+ if (!((_a = __privateGet(this, _controller).currentJob) == null ? void 0 : _a.jobID)) {
916
+ return html`<div class="results-section" id="job-status-section">
917
+ <h2 class="results-title">Results:</h2>
918
+
919
+ <div class="progress-container">
920
+ <div class="progress-text">
921
+ <span class="spinner"></span>
922
+ <span class="status-running">Searching for data...</span>
923
+ </div>
924
+
925
+ <div class="progress-bar">
926
+ <div class="progress-fill" style="width: 0%"></div>
927
+ </div>
928
+ </div>
929
+
930
+ ${__privateMethod(this, _renderJobMessage, renderJobMessage_fn).call(this)}
931
+ </div>`;
932
+ }
933
+ return html`
934
+ <div class="results-section" id="job-status-section">
935
+ <h2 class="results-title">Results:</h2>
936
+
937
+ ${__privateGet(this, _controller).currentJob.status !== "canceled" && __privateGet(this, _controller).currentJob.status !== "failed" ? html` <div class="progress-container">
938
+ <div class="progress-text">
939
+ ${__privateGet(this, _controller).currentJob.progress >= 100 ? html`
940
+ <span class="status-complete"
941
+ >✓ Search complete</span
942
+ >
943
+ ` : html`
944
+ <span class="spinner"></span>
945
+ <span class="status-running"
946
+ >Searching for data...
947
+ (${__privateGet(this, _controller).currentJob.progress}%)</span
948
+ >
949
+ `}
950
+ </div>
951
+
952
+ <div class="progress-bar">
953
+ <div
954
+ class="progress-fill"
955
+ style="width: ${__privateGet(this, _controller).currentJob.progress}%"
956
+ ></div>
957
+ </div>
958
+ </div>` : nothing}
959
+
960
+ <div class="search-status">
961
+ <span class="file-count"
962
+ >Found ${__privateMethod(this, _numberOfFilesFoundEstimate, numberOfFilesFoundEstimate_fn).call(this)} files</span
963
+ >
964
+ out of estimated
965
+ <span class="estimated-total"
966
+ >${__privateGet(this, _controller).currentJob.numInputGranules.toLocaleString()}</span
967
+ >
968
+ </div>
969
+
970
+ ${__privateMethod(this, _renderJobMessage, renderJobMessage_fn).call(this)}
971
+ ${((_b = __privateGet(this, _controller).currentJob.errors) == null ? void 0 : _b.length) ? html`
972
+ <terra-accordion>
973
+ <div slot="summary">
974
+ <span
975
+ class="accordion-title"
976
+ style="color: #dc3545;"
977
+ >Errors
978
+ (${__privateGet(this, _controller).currentJob.errors.length})</span
979
+ >
980
+ </div>
981
+ <div class="accordion-content">
982
+ <ul
983
+ style="color: #dc3545; font-size: 14px; padding-left: 20px;"
984
+ >
985
+ ${__privateGet(this, _controller).currentJob.errors.map(
986
+ (err) => html`
987
+ <li style="margin-bottom: 12px;">
988
+ <a
989
+ href="${err.url}"
990
+ target="_blank"
991
+ style="word-break: break-all; color: #dc3545; text-decoration: underline;"
992
+ >
993
+ ${err.url}
994
+ </a>
995
+ <div style="margin-top: 2px;">
996
+ ${err.message}
997
+ </div>
998
+ </li>
999
+ `
1000
+ )}
1001
+ </ul>
1002
+ </div>
1003
+ </terra-accordion>
1004
+ ` : nothing}
1005
+
1006
+ <div class="tabs">
1007
+ <button
1008
+ class="tab ${this.selectedTab === "web-links" ? "active" : ""}"
1009
+ @click=${() => this.selectedTab = "web-links"}
1010
+ >
1011
+ Web Links
1012
+ </button>
1013
+
1014
+ <button
1015
+ class="tab ${this.selectedTab === "selected-params" ? "active" : ""}"
1016
+ @click=${() => this.selectedTab = "selected-params"}
1017
+ >
1018
+ Selected Parameters
1019
+ </button>
1020
+ </div>
1021
+ <div
1022
+ id="web-links"
1023
+ class="tab-content ${this.selectedTab === "web-links" ? "active" : ""}"
1024
+ >
1025
+ ${__privateMethod(this, _getDocumentationLinks, getDocumentationLinks_fn).call(this).length ? html`
1026
+ <div class="documentation-links">
1027
+ ${__privateMethod(this, _getDocumentationLinks, getDocumentationLinks_fn).call(this).map(
1028
+ (link) => html`
1029
+ <a href="${link.href}" class="doc-link"
1030
+ >${link.title}</a
1031
+ >
1032
+ `
1033
+ )}
1034
+ </div>
1035
+ ` : nothing}
1036
+
1037
+ <ul class="file-list">
1038
+ ${__privateMethod(this, _getDataLinks, getDataLinks_fn).call(this).map(
1039
+ (link) => html`
1040
+ <li class="file-item">
1041
+ <a
1042
+ href="${link.href}"
1043
+ class="file-link"
1044
+ target="_blank"
1045
+ >
1046
+ ${link.title}
1047
+ </a>
1048
+ </li>
1049
+ `
1050
+ )}
1051
+ </ul>
1052
+ </div>
1053
+
1054
+ <div
1055
+ id="selected-params"
1056
+ class="tab-content ${this.selectedTab === "selected-params" ? "active" : ""}"
1057
+ >
1058
+ ${__privateMethod(this, _renderSelectedParams, renderSelectedParams_fn).call(this)}
1059
+ </div>
1060
+ </div>
1061
+
1062
+ <div class="footer">
1063
+ ${__privateGet(this, _controller).currentJob.status === "successful" /* SUCCESSFUL */ || __privateGet(this, _controller).currentJob.status === "complete_with_errors" /* COMPLETE_WITH_ERRORS */ ? html`
1064
+ <div>
1065
+ <div
1066
+ class="download-dropdown ${this.showDownloadMenu ? "open" : ""}"
1067
+ >
1068
+ <terra-button
1069
+ @click=${(e) => __privateMethod(this, _toggleDownloadMenu, toggleDownloadMenu_fn).call(this, e)}
1070
+ >
1071
+ Download Options
1072
+ <svg
1073
+ class="dropdown-arrow"
1074
+ viewBox="0 0 24 24"
1075
+ fill="currentColor"
1076
+ >
1077
+ <path d="M7 10l5 5 5-5z" />
1078
+ </svg>
1079
+ </terra-button>
1080
+
1081
+ <div
1082
+ class="download-menu ${this.showDownloadMenu ? "open" : ""}"
1083
+ >
1084
+ <button
1085
+ class="download-option"
1086
+ @click=${(e) => __privateMethod(this, _downloadLinksAsTxt, downloadLinksAsTxt_fn).call(this, e)}
1087
+ >
1088
+ <svg
1089
+ class="file-icon"
1090
+ viewBox="0 0 24 24"
1091
+ fill="currentColor"
1092
+ >
1093
+ <path
1094
+ d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"
1095
+ />
1096
+ </svg>
1097
+ File List
1098
+ </button>
1099
+ <button
1100
+ class="download-option"
1101
+ @click=${(e) => __privateMethod(this, _downloadPythonScript, downloadPythonScript_fn).call(this, e)}
1102
+ >
1103
+ <svg
1104
+ class="file-icon"
1105
+ viewBox="0 0 128 128"
1106
+ width="16"
1107
+ height="16"
1108
+ >
1109
+ <path
1110
+ fill="currentColor"
1111
+ d="M49.33 62h29.159C86.606 62 93 55.132 93 46.981V19.183c0-7.912-6.632-13.856-14.555-15.176-5.014-.835-10.195-1.215-15.187-1.191-4.99.023-9.612.448-13.805 1.191C37.098 6.188 35 10.758 35 19.183V30h29v4H23.776c-8.484 0-15.914 5.108-18.237 14.811-2.681 11.12-2.8 17.919 0 29.53C7.614 86.983 12.569 93 21.054 93H31V79.952C31 70.315 39.428 62 49.33 62zm-1.838-39.11c-3.026 0-5.478-2.479-5.478-5.545 0-3.079 2.451-5.581 5.478-5.581 3.015 0 5.479 2.502 5.479 5.581-.001 3.066-2.465 5.545-5.479 5.545zm74.789 25.921C120.183 40.363 116.178 34 107.682 34H97v12.981C97 57.031 88.206 65 78.489 65H49.33C41.342 65 35 72.326 35 80.326v27.8c0 7.91 6.745 12.564 14.462 14.834 9.242 2.717 17.994 3.208 29.051 0C85.862 120.831 93 116.549 93 108.126V97H64v-4h43.682c8.484 0 11.647-5.776 14.599-14.66 3.047-9.145 2.916-17.799 0-29.529zm-41.955 55.606c3.027 0 5.479 2.479 5.479 5.547 0 3.076-2.451 5.579-5.479 5.579-3.015 0-5.478-2.502-5.478-5.579 0-3.068 2.463-5.547 5.478-5.547z"
1112
+ ></path>
1113
+ </svg>
1114
+ Python Script
1115
+ </button>
1116
+ <button
1117
+ class="download-option"
1118
+ @click=${(e) => __privateMethod(this, _downloadEarthdataDownload, downloadEarthdataDownload_fn).call(this, e)}
1119
+ >
1120
+ <svg
1121
+ class="file-icon"
1122
+ viewBox="0 0 64 64"
1123
+ fill="none"
1124
+ width="16"
1125
+ height="16"
1126
+ >
1127
+ <circle
1128
+ cx="32"
1129
+ cy="32"
1130
+ r="28"
1131
+ fill="currentColor"
1132
+ />
1133
+ <path
1134
+ d="M32 14v26M32 40l-9-9M32 40l9-9"
1135
+ stroke="#fff"
1136
+ stroke-width="4"
1137
+ stroke-linecap="round"
1138
+ stroke-linejoin="round"
1139
+ fill="none"
1140
+ />
1141
+ </svg>
1142
+ Earthdata Download
1143
+ </button>
1144
+ </div>
1145
+ </div>
1146
+
1147
+ <terra-button
1148
+ outline
1149
+ @click=${() => __privateMethod(this, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn).call(this)}
1150
+ style="margin-left: 8px;"
1151
+ >
1152
+ <terra-icon
1153
+ name="outline-code-bracket"
1154
+ library="heroicons"
1155
+ font-size="1.5em"
1156
+ style="margin-right: 5px;"
1157
+ ></terra-icon>
1158
+ Open in Jupyter Notebook
1159
+ </terra-button>
1160
+ </div>
1161
+ ` : nothing}
1162
+ ${__privateGet(this, _controller).currentJob.status === "running" ? html`<button
1163
+ class="btn btn-success"
1164
+ @click=${__privateMethod(this, _cancelJob, cancelJob_fn)}
1165
+ ?disabled=${this.cancelingGetData}
1166
+ >
1167
+ ${this.cancelingGetData ? "Canceling..." : "Cancel request"}
1168
+ </button>` : nothing}
1169
+
1170
+ <div class="job-info">
1171
+ Job ID:
1172
+ <span class="job-id">
1173
+ ${this.bearerToken ? html`<a
1174
+ href="https://harmony.earthdata.nasa.gov/jobs/${__privateGet(this, _controller).currentJob.jobID}"
1175
+ target="_blank"
1176
+ >${__privateGet(this, _controller).currentJob.jobID}</a
1177
+ >` : __privateGet(this, _controller).currentJob.jobID}
1178
+ </span>
1179
+ <span class="info-icon">?</span>
1180
+ </div>
1181
+ </div>
1182
+ `;
1183
+ };
1184
+ _renderSelectedParams = new WeakSet();
1185
+ renderSelectedParams_fn = function() {
1186
+ var _a, _b;
1187
+ const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
1188
+ const variables = this.selectedVariables.length ? this.selectedVariables.map((v) => v.name) : ["All"];
1189
+ const dateRange = this.selectedDateRange.startDate && this.selectedDateRange.endDate ? `${this.selectedDateRange.startDate} to ${this.selectedDateRange.endDate}` : "\u2014";
1190
+ let spatial = "\u2014";
1191
+ if (this.spatialSelection) {
1192
+ if ("w" in this.spatialSelection) {
1193
+ spatial = `Bounding Box: ${this.spatialSelection.w}, ${this.spatialSelection.s}, ${this.spatialSelection.e}, ${this.spatialSelection.n}`;
1194
+ } else if ("lat" in this.spatialSelection && "lng" in this.spatialSelection) {
1195
+ spatial = `Point: ${this.spatialSelection.lat}, ${this.spatialSelection.lng}`;
1196
+ }
1197
+ }
1198
+ return html`
1199
+ <dl class="params-summary">
1200
+ <div>
1201
+ <dt><strong>Dataset</strong></dt>
1202
+ <dd>${(_b = collection == null ? void 0 : collection.EntryTitle) != null ? _b : "\u2014"}</dd>
1203
+ </div>
1204
+ <div>
1205
+ <dt><strong>Variables</strong></dt>
1206
+ <dd>${variables.map((v) => html`<div>${v}</div>`)}</dd>
1207
+ </div>
1208
+ <div>
1209
+ <dt><strong>Date Range</strong></dt>
1210
+ <dd>${dateRange}</dd>
1211
+ </div>
1212
+ <div>
1213
+ <dt><strong>Spatial</strong></dt>
1214
+ <dd>${spatial}</dd>
1215
+ </div>
1216
+ </dl>
1217
+
1218
+ <terra-button @click=${__privateMethod(this, _refineParameters, refineParameters_fn)}
1219
+ >Refine Parameters</terra-button
1220
+ >
1221
+ `;
1222
+ };
1223
+ _cancelJob = new WeakSet();
1224
+ cancelJob_fn = function() {
1225
+ this.cancelingGetData = true;
1226
+ __privateGet(this, _controller).cancelCurrentJob();
1227
+ };
1228
+ _getData = new WeakSet();
1229
+ getData_fn = function() {
1230
+ this.cancelingGetData = false;
1231
+ __privateMethod(this, _touchAllFields, touchAllFields_fn).call(this);
1232
+ __privateGet(this, _controller).cancelCurrentJob();
1233
+ __privateGet(this, _controller).currentJob = null;
1234
+ __privateGet(this, _controller).jobStatusTask.run();
1235
+ setTimeout(() => {
1236
+ const el = this.renderRoot.querySelector("#job-status-section");
1237
+ el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
1238
+ }, 100);
1239
+ this.refineParameters = false;
1240
+ };
1241
+ _touchAllFields = new WeakSet();
1242
+ touchAllFields_fn = function() {
1243
+ this.touchedFields = /* @__PURE__ */ new Set(["variables", "spatial"]);
1244
+ };
1245
+ _numberOfFilesFoundEstimate = new WeakSet();
1246
+ numberOfFilesFoundEstimate_fn = function() {
1247
+ return Math.floor(
1248
+ __privateGet(this, _controller).currentJob.numInputGranules * __privateGet(this, _controller).currentJob.progress / 100
1249
+ );
1250
+ };
1251
+ _getDocumentationLinks = new WeakSet();
1252
+ getDocumentationLinks_fn = function() {
1253
+ return __privateGet(this, _controller).currentJob.links.filter(
1254
+ (link) => link.rel === "stac-catalog-json"
1255
+ );
1256
+ };
1257
+ _getDataLinks = new WeakSet();
1258
+ getDataLinks_fn = function() {
1259
+ return __privateGet(this, _controller).currentJob.links.filter((link) => link.rel === "data");
1260
+ };
1261
+ _hasAtLeastOneSubsetOption = new WeakSet();
1262
+ hasAtLeastOneSubsetOption_fn = function() {
1263
+ var _a, _b, _c, _d;
1264
+ return ((_a = this.collectionWithServices) == null ? void 0 : _a.bboxSubset) || ((_b = this.collectionWithServices) == null ? void 0 : _b.shapeSubset) || ((_c = this.collectionWithServices) == null ? void 0 : _c.variableSubset) || ((_d = this.collectionWithServices) == null ? void 0 : _d.temporalSubset);
1265
+ };
1266
+ _hasSpatialSubset = new WeakSet();
1267
+ hasSpatialSubset_fn = function() {
1268
+ var _a, _b;
1269
+ return ((_a = this.collectionWithServices) == null ? void 0 : _a.bboxSubset) || ((_b = this.collectionWithServices) == null ? void 0 : _b.shapeSubset);
1270
+ };
1271
+ _renderJobMessage = new WeakSet();
1272
+ renderJobMessage_fn = function() {
1273
+ const warningStatuses = [
1274
+ "canceled" /* CANCELED */,
1275
+ "complete_with_errors" /* COMPLETE_WITH_ERRORS */,
1276
+ "running_with_errors" /* RUNNING_WITH_ERRORS */
1277
+ ];
1278
+ const errorStatuses = ["failed" /* FAILED */];
1279
+ let type = "normal";
1280
+ if (warningStatuses.includes(__privateGet(this, _controller).currentJob.status)) {
1281
+ type = "warning";
1282
+ } else if (errorStatuses.includes(__privateGet(this, _controller).currentJob.status)) {
1283
+ type = "error";
1284
+ }
1285
+ let color, bg;
1286
+ if (type === "error") {
1287
+ color = "#dc3545";
1288
+ bg = "#f8d7da";
1289
+ } else if (type === "warning") {
1290
+ color = "#856404";
1291
+ bg = "#fff3cd";
1292
+ } else {
1293
+ color = "#555";
1294
+ bg = "#f8f9fa";
1295
+ }
1296
+ return html`
1297
+ <div
1298
+ style="
1299
+ margin: 24px 0 16px 0;
1300
+ padding: 16px 20px;
1301
+ border-radius: 6px;
1302
+ background: ${bg};
1303
+ color: ${color};
1304
+ border: 1px solid ${color}22;
1305
+ "
1306
+ >
1307
+ ${__privateMethod(this, _getJobMessageText, getJobMessageText_fn).call(this)}
1308
+ </div>
1309
+ `;
1310
+ };
1311
+ _getJobMessageText = new WeakSet();
1312
+ getJobMessageText_fn = function() {
1313
+ var _a;
1314
+ return (_a = __privateGet(this, _controller).currentJob) == null ? void 0 : _a.message.replace(
1315
+ /\b(The job|the job|job|Job)\b/g,
1316
+ (match) => {
1317
+ switch (match) {
1318
+ case "The job":
1319
+ return "Your request";
1320
+ case "the job":
1321
+ return "Your Request";
1322
+ case "job":
1323
+ return "request";
1324
+ case "Job":
1325
+ return "Request";
1326
+ }
1327
+ return match;
1328
+ }
1329
+ );
1330
+ };
1331
+ _estimateJobSize = new WeakSet();
1332
+ estimateJobSize_fn = function() {
1333
+ var _a, _b;
1334
+ const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
1335
+ if (!collection)
1336
+ return;
1337
+ const range = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
1338
+ let startDate;
1339
+ let endDate;
1340
+ let links = (_b = collection.granuleCount) != null ? _b : 0;
1341
+ if (this.selectedDateRange.startDate && this.selectedDateRange.endDate) {
1342
+ startDate = this.selectedDateRange.startDate;
1343
+ endDate = this.selectedDateRange.endDate;
1344
+ } else {
1345
+ startDate = range.startDate;
1346
+ endDate = range.endDate;
1347
+ }
1348
+ if (!startDate || !endDate)
1349
+ return;
1350
+ const start = new Date(startDate);
1351
+ const end = new Date(endDate);
1352
+ const days = Math.floor((end.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) + 1;
1353
+ if (range.startDate && range.endDate) {
1354
+ const availableDaysInCollection = Math.floor(
1355
+ (new Date(range.endDate).getTime() - new Date(range.startDate).getTime()) / (1e3 * 60 * 60 * 24)
1356
+ ) + 1;
1357
+ const granulesPerDay = links / availableDaysInCollection;
1358
+ links = Math.ceil(days * granulesPerDay);
1359
+ }
1360
+ return { days, links };
1361
+ };
1362
+ _refineParameters = new WeakSet();
1363
+ refineParameters_fn = function() {
1364
+ this.refineParameters = true;
1365
+ };
1366
+ _toggleDownloadMenu = new WeakSet();
1367
+ toggleDownloadMenu_fn = function(event) {
1368
+ event.stopPropagation();
1369
+ this.showDownloadMenu = !this.showDownloadMenu;
1370
+ };
1371
+ _downloadLinksAsTxt = new WeakSet();
1372
+ downloadLinksAsTxt_fn = function(event) {
1373
+ var _a;
1374
+ event.stopPropagation();
1375
+ if (!((_a = __privateGet(this, _controller).currentJob) == null ? void 0 : _a.links)) {
1376
+ return;
1377
+ }
1378
+ const dataLinks = __privateMethod(this, _getDataLinks, getDataLinks_fn).call(this);
1379
+ if (dataLinks.length === 0) {
1380
+ return;
1381
+ }
1382
+ const content = dataLinks.map((link) => link.href).join("\n");
1383
+ const blob = new Blob([content], { type: "text/plain" });
1384
+ const url = URL.createObjectURL(blob);
1385
+ const a = document.createElement("a");
1386
+ a.href = url;
1387
+ a.download = `subset_links_${__privateGet(this, _controller).currentJob.jobID}.txt`;
1388
+ document.body.appendChild(a);
1389
+ a.click();
1390
+ document.body.removeChild(a);
1391
+ URL.revokeObjectURL(url);
1392
+ this.showDownloadMenu = false;
1393
+ };
1394
+ _downloadPythonScript = new WeakSet();
1395
+ downloadPythonScript_fn = async function(event) {
1396
+ var _a;
1397
+ event.stopPropagation();
1398
+ if (!((_a = __privateGet(this, _controller).currentJob) == null ? void 0 : _a.links)) {
1399
+ return;
1400
+ }
1401
+ const response = await fetch(
1402
+ getBasePath("assets/data-subsetter/download_subset_files.py.txt")
1403
+ );
1404
+ if (!response.ok) {
1405
+ alert(
1406
+ "Sorry, there was a problem generating the Python script. We are investigating the issue.\nYou could try using the Jupyter Notebook in the meantime"
1407
+ );
1408
+ }
1409
+ const content = (await response.text()).replace(
1410
+ /{{jobId}}/gi,
1411
+ __privateGet(this, _controller).currentJob.jobID
1412
+ );
1413
+ const blob = new Blob([content], { type: "text/plain" });
1414
+ const url = URL.createObjectURL(blob);
1415
+ const a = document.createElement("a");
1416
+ a.href = url;
1417
+ a.download = `download_subset_files_${__privateGet(this, _controller).currentJob.jobID}.py`;
1418
+ document.body.appendChild(a);
1419
+ a.click();
1420
+ document.body.removeChild(a);
1421
+ URL.revokeObjectURL(url);
1422
+ this.showDownloadMenu = false;
1423
+ };
1424
+ _downloadEarthdataDownload = new WeakSet();
1425
+ downloadEarthdataDownload_fn = async function(event) {
1426
+ var _a;
1427
+ event.stopPropagation();
1428
+ if (!((_a = __privateGet(this, _controller).currentJob) == null ? void 0 : _a.links)) {
1429
+ return;
1430
+ }
1431
+ alert("Sorry, Earthdata Download is not currently supported");
1432
+ this.showDownloadMenu = false;
1433
+ };
1434
+ _handleClickOutside = new WeakSet();
1435
+ handleClickOutside_fn = function(event) {
1436
+ if (!this.showDownloadMenu) {
1437
+ return;
1438
+ }
1439
+ const target = event.target;
1440
+ const downloadDropdown = this.renderRoot.querySelector(".download-dropdown");
1441
+ if (downloadDropdown && !downloadDropdown.contains(target)) {
1442
+ this.showDownloadMenu = false;
1443
+ }
1444
+ };
1445
+ _handleJupyterNotebookClick = new WeakSet();
1446
+ handleJupyterNotebookClick_fn = function() {
1447
+ const jupyterLiteUrl = "https://gesdisc.github.io/jupyterlite/lab/index.html";
1448
+ const jupyterWindow = window.open(jupyterLiteUrl, "_blank");
1449
+ if (!jupyterWindow) {
1450
+ console.error("Failed to open JupyterLite!");
1451
+ return;
1452
+ }
1453
+ setTimeout(() => {
1454
+ var _a, _b;
1455
+ const notebook = [
1456
+ {
1457
+ id: "2733501b-0de4-4067-8aff-864e1b4c76cb",
1458
+ cell_type: "code",
1459
+ source: "%pip install -q terra_ui_components",
1460
+ metadata: {
1461
+ trusted: true
1462
+ },
1463
+ outputs: [],
1464
+ execution_count: null
1465
+ },
1466
+ {
1467
+ id: "870c1384-e706-48ee-ba07-fd552a949869",
1468
+ cell_type: "code",
1469
+ source: `from terra_ui_components import TerraDataSubsetter
1470
+ subsetter = TerraDataSubsetter()
1471
+
1472
+ subsetter.jobId = '${(_a = __privateGet(this, _controller).currentJob) == null ? void 0 : _a.jobID}'
1473
+
1474
+ subsetter`,
1475
+ metadata: {
1476
+ trusted: true
1477
+ },
1478
+ outputs: [],
1479
+ execution_count: null
1480
+ }
1481
+ ];
1482
+ console.log("posting to JupyterLite ", notebook);
1483
+ jupyterWindow.postMessage(
1484
+ {
1485
+ type: "load-notebook",
1486
+ filename: `subset_${(_b = __privateGet(this, _controller).currentJob) == null ? void 0 : _b.jobID}.ipynb`,
1487
+ notebook
1488
+ },
1489
+ "*"
1490
+ );
1491
+ }, 500);
1492
+ };
1493
+ _renderAvailableTemporalRangeSection = new WeakSet();
1494
+ renderAvailableTemporalRangeSection_fn = function() {
1495
+ const { startDate, endDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
1496
+ if (!startDate || !endDate)
1497
+ return nothing;
1498
+ return html`
1499
+ <div class="section" style="margin-bottom: 16px;">
1500
+ <h2 class="section-title">Available Date Range</h2>
1501
+ <div style="color: #31708f; margin-top: 8px;">
1502
+ <strong>${startDate}</strong> to <strong>${endDate}</strong>
1503
+ </div>
1504
+ <div style="font-size: 0.95em; color: #666;">
1505
+ This collection does not support temporal subsetting.
1506
+ </div>
1507
+ </div>
1508
+ `;
1509
+ };
1510
+ _renderAvailableSpatialRangeSection = new WeakSet();
1511
+ renderAvailableSpatialRangeSection_fn = function() {
1512
+ var _a, _b, _c, _d, _e;
1513
+ const boundingRects = (_e = (_d = (_c = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.SpatialExtent) == null ? void 0 : _c.HorizontalSpatialDomain) == null ? void 0 : _d.Geometry) == null ? void 0 : _e.BoundingRectangles;
1514
+ if (!boundingRects || !Array.isArray(boundingRects) || !boundingRects.length)
1515
+ return nothing;
1516
+ return html`
1517
+ <div class="section" style="margin-bottom: 16px;">
1518
+ <h2 class="section-title">Available Spatial Area</h2>
1519
+ <div style="color: #31708f; margin-top: 8px;">
1520
+ ${boundingRects.map(
1521
+ (rect) => html`<div>
1522
+ <strong>Bounding Box:</strong>
1523
+ ${rect.WestBoundingCoordinate},
1524
+ ${rect.SouthBoundingCoordinate},
1525
+ ${rect.EastBoundingCoordinate},
1526
+ ${rect.NorthBoundingCoordinate}
1527
+ </div>`
1528
+ )}
1529
+ </div>
1530
+ <div style="font-size: 0.95em; color: #666;">
1531
+ This collection does not support spatial subsetting.
1532
+ </div>
1533
+ </div>
1534
+ `;
1535
+ };
1536
+ TerraDataSubsetter.styles = [component_styles_default, data_subsetter_styles_default];
1537
+ TerraDataSubsetter.dependencies = {
1538
+ "terra-accordion": TerraAccordion,
1539
+ "terra-date-picker": TerraDatePicker,
1540
+ "terra-icon": TerraIcon,
1541
+ "terra-spatial-picker": TerraSpatialPicker,
1542
+ "terra-login": TerraLogin
1543
+ };
1544
+ __decorateClass([
1545
+ property({ reflect: true, attribute: "collection-entry-id" })
1546
+ ], TerraDataSubsetter.prototype, "collectionEntryId", 2);
1547
+ __decorateClass([
1548
+ property({ reflect: true, type: Boolean, attribute: "show-collection-search" })
1549
+ ], TerraDataSubsetter.prototype, "showCollectionSearch", 2);
1550
+ __decorateClass([
1551
+ property({ reflect: true, attribute: "job-id" })
1552
+ ], TerraDataSubsetter.prototype, "jobId", 2);
1553
+ __decorateClass([
1554
+ property({ attribute: "bearer-token" })
1555
+ ], TerraDataSubsetter.prototype, "bearerToken", 2);
1556
+ __decorateClass([
1557
+ state()
1558
+ ], TerraDataSubsetter.prototype, "collectionWithServices", 2);
1559
+ __decorateClass([
1560
+ state()
1561
+ ], TerraDataSubsetter.prototype, "selectedVariables", 2);
1562
+ __decorateClass([
1563
+ state()
1564
+ ], TerraDataSubsetter.prototype, "expandedVariableGroups", 2);
1565
+ __decorateClass([
1566
+ state()
1567
+ ], TerraDataSubsetter.prototype, "touchedFields", 2);
1568
+ __decorateClass([
1569
+ state()
1570
+ ], TerraDataSubsetter.prototype, "spatialSelection", 2);
1571
+ __decorateClass([
1572
+ state()
1573
+ ], TerraDataSubsetter.prototype, "selectedDateRange", 2);
1574
+ __decorateClass([
1575
+ state()
1576
+ ], TerraDataSubsetter.prototype, "selectedFormat", 2);
1577
+ __decorateClass([
1578
+ state()
1579
+ ], TerraDataSubsetter.prototype, "cancelingGetData", 2);
1580
+ __decorateClass([
1581
+ state()
1582
+ ], TerraDataSubsetter.prototype, "selectedTab", 2);
1583
+ __decorateClass([
1584
+ state()
1585
+ ], TerraDataSubsetter.prototype, "refineParameters", 2);
1586
+ __decorateClass([
1587
+ state()
1588
+ ], TerraDataSubsetter.prototype, "showDownloadMenu", 2);
1589
+ __decorateClass([
1590
+ state()
1591
+ ], TerraDataSubsetter.prototype, "renderedInDialog", 2);
1592
+ __decorateClass([
1593
+ state()
1594
+ ], TerraDataSubsetter.prototype, "collectionSearchType", 2);
1595
+ __decorateClass([
1596
+ state()
1597
+ ], TerraDataSubsetter.prototype, "collectionSearchQuery", 2);
1598
+ __decorateClass([
1599
+ state()
1600
+ ], TerraDataSubsetter.prototype, "collectionSearchLoading", 2);
1601
+ __decorateClass([
1602
+ state()
1603
+ ], TerraDataSubsetter.prototype, "collectionSearchResults", 2);
1604
+ __decorateClass([
1605
+ state()
1606
+ ], TerraDataSubsetter.prototype, "collectionLoading", 2);
1607
+ __decorateClass([
1608
+ state()
1609
+ ], TerraDataSubsetter.prototype, "collectionAccordionOpen", 2);
1610
+ __decorateClass([
1611
+ query('[part~="spatial-picker"]')
1612
+ ], TerraDataSubsetter.prototype, "spatialPicker", 2);
1613
+ __decorateClass([
1614
+ watch(["jobId"], { waitUntilFirstUpdate: true })
1615
+ ], TerraDataSubsetter.prototype, "jobIdChanged", 1);
1616
+ __decorateClass([
1617
+ watch(["collectionWithServices"])
1618
+ ], TerraDataSubsetter.prototype, "collectionChanged", 1);
1619
+ __decorateClass([
1620
+ debounce(500)
1621
+ ], TerraDataSubsetter.prototype, "handleCollectionSearch", 1);
1622
+
1623
+ export {
1624
+ TerraDataSubsetter
1625
+ };