@nasa-terra/components 0.0.186 → 0.0.187

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 (1246) hide show
  1. package/cdn/chunks/chunk.22AKT47W.js +158 -0
  2. package/cdn/chunks/chunk.26PJMK6F.js +19 -0
  3. package/cdn/chunks/chunk.2AFLJARP.js +19 -0
  4. package/cdn/chunks/chunk.2GK5ESOQ.js +33 -0
  5. package/cdn/chunks/chunk.2I5J63NZ.js +19 -0
  6. package/cdn/chunks/chunk.2RJFUFJW.js +610 -0
  7. package/cdn/chunks/chunk.2X7ECEXX.js +34 -0
  8. package/cdn/chunks/chunk.36G5VRI3.js +433 -0
  9. package/cdn/chunks/chunk.3JNJAOYG.js +29 -0
  10. package/cdn/chunks/chunk.3JSWB4KI.js +29 -0
  11. package/cdn/chunks/chunk.3QD75UYK.js +19 -0
  12. package/cdn/chunks/chunk.3Y7HZ5CS.js +110 -0
  13. package/cdn/chunks/chunk.3ZXOZBXL.js +99 -0
  14. package/cdn/chunks/chunk.4AANKT2Q.js +34 -0
  15. package/cdn/chunks/chunk.4CNYUWRC.js +92 -0
  16. package/cdn/chunks/chunk.4ESVA2U2.js +33 -0
  17. package/cdn/chunks/chunk.4FUIIASW.js +19 -0
  18. package/cdn/chunks/chunk.4LDZ44IT.js +658 -0
  19. package/cdn/chunks/chunk.4MCZQQXQ.js +29 -0
  20. package/cdn/chunks/chunk.4R6XKFRJ.js +242 -0
  21. package/cdn/chunks/chunk.4TEPTOLY.js +29 -0
  22. package/cdn/chunks/chunk.4TRZD463.js +35 -0
  23. package/cdn/chunks/chunk.4U5MAADM.js +19 -0
  24. package/cdn/chunks/chunk.54YCMEK5.js +19 -0
  25. package/cdn/chunks/chunk.5A4JSTC2.js +86 -0
  26. package/cdn/chunks/chunk.5IPBXXQW.js +19 -0
  27. package/cdn/chunks/chunk.5RNK56D6.js +104 -0
  28. package/cdn/chunks/chunk.5WHV7BIM.js +294 -0
  29. package/cdn/chunks/chunk.5YFLB32J.js +538 -0
  30. package/cdn/chunks/chunk.5ZFSBJLQ.js +29 -0
  31. package/cdn/chunks/chunk.63OVZYG7.js +134 -0
  32. package/cdn/chunks/chunk.6AQSNHPO.js +493 -0
  33. package/cdn/chunks/chunk.6BEI5DD3.js +33 -0
  34. package/cdn/chunks/chunk.6EVPLK3S.js +19 -0
  35. package/cdn/chunks/chunk.6HWWEPDA.js +551 -0
  36. package/cdn/chunks/chunk.6T7RPWB7.js +19 -0
  37. package/cdn/chunks/chunk.73TY2VWM.js +19 -0
  38. package/cdn/chunks/chunk.75CD4UKC.js +134 -0
  39. package/cdn/chunks/chunk.7DGND55N.js +19 -0
  40. package/cdn/chunks/chunk.7JT6AQCP.js +19 -0
  41. package/cdn/chunks/chunk.7MLBWMOJ.js +36 -0
  42. package/cdn/chunks/chunk.7MPGNVYU.js +35 -0
  43. package/cdn/chunks/chunk.7PXFWZDJ.js +19 -0
  44. package/cdn/chunks/chunk.7RCVI6WJ.js +56075 -0
  45. package/cdn/chunks/chunk.7WV7HAWF.js +19 -0
  46. package/cdn/chunks/chunk.AGGCCPSH.js +19 -0
  47. package/cdn/chunks/chunk.AMNA4TAA.js +2549 -0
  48. package/cdn/chunks/chunk.AOETFY2M.js +19 -0
  49. package/cdn/chunks/chunk.ARQZJDEH.js +19 -0
  50. package/cdn/chunks/chunk.ASJLND3B.js +77 -0
  51. package/cdn/chunks/chunk.AVVORU4X.js +71 -0
  52. package/cdn/chunks/chunk.AW3SAWPB.js +230 -0
  53. package/cdn/chunks/chunk.BFCWKK2C.js +29 -0
  54. package/cdn/chunks/chunk.BKJ6ERUE.js +357 -0
  55. package/cdn/chunks/chunk.BLZA2SIQ.js +93 -0
  56. package/cdn/chunks/chunk.BOJGWMNS.js +29 -0
  57. package/cdn/chunks/chunk.BVOLRNGU.js +303 -0
  58. package/cdn/chunks/chunk.CB73AJLG.js +19 -0
  59. package/cdn/chunks/chunk.CEDRKHZX.js +151 -0
  60. package/cdn/chunks/chunk.CL4GIBSE.js +113 -0
  61. package/cdn/chunks/chunk.CVFVGKVM.js +19 -0
  62. package/cdn/chunks/chunk.CWBIEIJK.js +32 -0
  63. package/cdn/chunks/chunk.DGEJWFS7.js +1259 -0
  64. package/cdn/chunks/chunk.DIK3B6UV.js +19 -0
  65. package/cdn/chunks/chunk.DIL2NPFX.js +49 -0
  66. package/cdn/chunks/chunk.DIZ3M7IG.js +110 -0
  67. package/cdn/chunks/chunk.DJ4K476U.js +19 -0
  68. package/cdn/chunks/chunk.DNDC4SZO.js +19 -0
  69. package/cdn/chunks/chunk.DPDD2WEI.js +19 -0
  70. package/cdn/chunks/chunk.DSOS3HK7.js +1975 -0
  71. package/cdn/chunks/chunk.DXKUTB3C.js +532 -0
  72. package/cdn/chunks/chunk.DZINKXAT.js +29 -0
  73. package/cdn/chunks/chunk.EKPJRKBR.js +19 -0
  74. package/cdn/chunks/chunk.ETPMAULL.js +29 -0
  75. package/cdn/chunks/chunk.EVBV3WY4.js +32 -0
  76. package/cdn/chunks/chunk.EWGXTIX4.js +41 -0
  77. package/cdn/chunks/chunk.F7QE3QNK.js +93 -0
  78. package/cdn/chunks/chunk.FAS3EEBJ.js +29 -0
  79. package/cdn/chunks/chunk.FLET4TPZ.js +32 -0
  80. package/cdn/chunks/chunk.FOZE3G5H.js +35 -0
  81. package/cdn/chunks/chunk.FWQRQRE3.js +32 -0
  82. package/cdn/chunks/chunk.FZFVFTPN.js +19 -0
  83. package/cdn/chunks/chunk.GRNVT6IB.js +904 -0
  84. package/cdn/chunks/chunk.GSTZ35MH.js +39 -0
  85. package/cdn/chunks/chunk.H3DQMK3H.js +231 -0
  86. package/cdn/chunks/chunk.H6XYL6LD.js +19 -0
  87. package/cdn/chunks/chunk.HOQC7UVA.js +19 -0
  88. package/cdn/chunks/chunk.HV7H4LBB.js +19 -0
  89. package/cdn/chunks/chunk.I523I6ZG.js +188 -0
  90. package/cdn/chunks/chunk.I6JIT754.js +19 -0
  91. package/cdn/chunks/chunk.IBQPKW5P.js +32 -0
  92. package/cdn/chunks/chunk.IDXRXLIG.js +19 -0
  93. package/cdn/chunks/chunk.IEBDKV46.js +377 -0
  94. package/cdn/chunks/chunk.IEKCUGUX.js +19 -0
  95. package/cdn/chunks/chunk.IF6CIKBS.js +524 -0
  96. package/cdn/chunks/chunk.IP53G3RF.js +29 -0
  97. package/cdn/chunks/chunk.ISAROCA2.js +915 -0
  98. package/cdn/chunks/chunk.IUNH44LM.js +29 -0
  99. package/cdn/chunks/chunk.IXNIA3VB.js +29 -0
  100. package/cdn/chunks/chunk.JDMHH6IO.js +259 -0
  101. package/cdn/chunks/chunk.JIIWMAUE.js +19 -0
  102. package/cdn/chunks/chunk.JIWMFJVP.js +32 -0
  103. package/cdn/chunks/chunk.JKHUQ5GY.js +155 -0
  104. package/cdn/chunks/chunk.JOTZGPFD.js +19 -0
  105. package/cdn/chunks/chunk.JV2PXJOA.js +29 -0
  106. package/cdn/chunks/chunk.K5VOQWFK.js +19 -0
  107. package/cdn/chunks/chunk.KBFYYUJ6.js +32 -0
  108. package/cdn/chunks/chunk.KGVKWL76.js +477 -0
  109. package/cdn/chunks/chunk.KNN4GZZO.js +32 -0
  110. package/cdn/chunks/chunk.KRIZXT7I.js +35 -0
  111. package/cdn/chunks/chunk.LCJRRSFM.js +1194 -0
  112. package/cdn/chunks/chunk.LMYKLZIQ.js +33 -0
  113. package/cdn/chunks/chunk.LRZIT4M2.js +157 -0
  114. package/cdn/chunks/chunk.LWDN6D42.js +29 -0
  115. package/cdn/chunks/chunk.M2BLJNJL.js +19 -0
  116. package/cdn/chunks/chunk.M2DOYPMY.js +33 -0
  117. package/cdn/chunks/chunk.M4MV73BK.js +19 -0
  118. package/cdn/chunks/chunk.M64YYG5S.js +19 -0
  119. package/cdn/chunks/chunk.MAHUWVEN.js +279 -0
  120. package/cdn/chunks/chunk.MQ7JCIXS.js +32 -0
  121. package/cdn/chunks/chunk.MRKMZBEK.js +2263 -0
  122. package/cdn/chunks/chunk.MTD42HQV.js +264 -0
  123. package/cdn/chunks/chunk.N266QSQR.js +443 -0
  124. package/cdn/chunks/chunk.N4NQP75B.js +32 -0
  125. package/cdn/chunks/chunk.N6VIMADT.js +189 -0
  126. package/cdn/chunks/chunk.NBTBBAOL.js +330 -0
  127. package/cdn/chunks/chunk.NIVSQ3SF.js +29 -0
  128. package/cdn/chunks/chunk.NLF3KNQ5.js +293 -0
  129. package/cdn/chunks/chunk.NLM5D34M.js +539 -0
  130. package/cdn/chunks/chunk.NO37HFQJ.js +37 -0
  131. package/cdn/chunks/chunk.NSZEZ75L.js +19 -0
  132. package/cdn/chunks/chunk.NVLRS3IA.js +904 -0
  133. package/cdn/chunks/chunk.O3HNLUC3.js +30 -0
  134. package/cdn/chunks/chunk.OBQ6KBVG.js +60 -0
  135. package/cdn/chunks/chunk.OLJXKW5X.js +138 -0
  136. package/cdn/chunks/chunk.OMS5TRZR.js +29 -0
  137. package/cdn/chunks/chunk.ONHT57BX.js +136 -0
  138. package/cdn/chunks/chunk.OSJMGCZG.js +294 -0
  139. package/cdn/chunks/chunk.PASXWEFM.js +36 -0
  140. package/cdn/chunks/chunk.PFYXGDRL.js +310 -0
  141. package/cdn/chunks/chunk.PJ5GTKSM.js +99 -0
  142. package/cdn/chunks/chunk.PZVQLCCE.js +19 -0
  143. package/cdn/chunks/chunk.QGCUO4QR.js +599 -0
  144. package/cdn/chunks/chunk.QKOV3OVQ.js +19 -0
  145. package/cdn/chunks/chunk.QMO4Z4QU.js +19 -0
  146. package/cdn/chunks/chunk.QNLRBXNQ.js +60 -0
  147. package/cdn/chunks/chunk.QNVSITGV.js +19 -0
  148. package/cdn/chunks/chunk.QOOBHWQV.js +29 -0
  149. package/cdn/chunks/chunk.QSPMY3AQ.js +68 -0
  150. package/cdn/chunks/chunk.QVJPE7XD.js +19 -0
  151. package/cdn/chunks/chunk.R3UOPEYR.js +359 -0
  152. package/cdn/chunks/chunk.RGJJYU5I.js +32 -0
  153. package/cdn/chunks/chunk.RJ5TW75C.js +29 -0
  154. package/cdn/chunks/chunk.ROGKTUCA.js +82 -0
  155. package/cdn/chunks/chunk.RRUUHSSX.js +29 -0
  156. package/cdn/chunks/chunk.S7HWCBS4.js +35 -0
  157. package/cdn/chunks/chunk.SAPVRSGJ.js +19 -0
  158. package/cdn/chunks/chunk.SDPXNKVX.js +34 -0
  159. package/cdn/chunks/chunk.SGPHCDAA.js +123 -0
  160. package/cdn/chunks/chunk.SP3MVXEA.js +352 -0
  161. package/cdn/chunks/chunk.SPLYKQYF.js +19 -0
  162. package/cdn/chunks/chunk.SQ6V5DXM.js +19 -0
  163. package/cdn/chunks/chunk.SY2T7H3K.js +32 -0
  164. package/cdn/chunks/chunk.SZHINXEE.js +29 -0
  165. package/cdn/chunks/chunk.SZOYHAOV.js +29 -0
  166. package/cdn/chunks/chunk.T5FZRPK2.js +19 -0
  167. package/cdn/chunks/chunk.TDCWXDQK.js +19 -0
  168. package/cdn/chunks/chunk.TJT7VKHM.js +161 -0
  169. package/cdn/chunks/chunk.TOQAMLRU.js +276 -0
  170. package/cdn/chunks/chunk.U42VEZMH.js +132 -0
  171. package/cdn/chunks/chunk.U4QWGOTS.js +19 -0
  172. package/cdn/chunks/chunk.U7BMUH6D.js +224 -0
  173. package/cdn/chunks/chunk.UCNTZTDC.js +36 -0
  174. package/cdn/chunks/chunk.UKW4BU7Z.js +47 -0
  175. package/cdn/chunks/chunk.ULAP25G3.js +19 -0
  176. package/cdn/chunks/chunk.UME44J4L.js +662 -0
  177. package/cdn/chunks/chunk.UPZ77TIQ.js +83 -0
  178. package/cdn/chunks/chunk.V2QBQWJQ.js +128 -0
  179. package/cdn/chunks/chunk.V3MJPPXF.js +29 -0
  180. package/cdn/chunks/chunk.V5HDIWN4.js +19 -0
  181. package/cdn/chunks/chunk.VBRHXTN4.js +29 -0
  182. package/cdn/chunks/chunk.VJVJBEYQ.js +37 -0
  183. package/cdn/chunks/chunk.VVQS5VDJ.js +19 -0
  184. package/cdn/chunks/chunk.W6PKRHAU.js +19 -0
  185. package/cdn/chunks/chunk.WEUS3VPS.js +190 -0
  186. package/cdn/chunks/chunk.WG4VDVEI.js +81 -0
  187. package/cdn/chunks/chunk.WJ3ZTI3S.js +19 -0
  188. package/cdn/chunks/chunk.WKNLSFIC.js +278 -0
  189. package/cdn/chunks/chunk.WNQ2KJKB.js +19 -0
  190. package/cdn/chunks/chunk.WOEOWJL3.js +19 -0
  191. package/cdn/chunks/chunk.WPE6GJOR.js +29 -0
  192. package/cdn/chunks/chunk.X6LPU3UJ.js +19 -0
  193. package/cdn/chunks/chunk.XBUSGQSQ.js +19 -0
  194. package/cdn/chunks/chunk.XJZ5WJGV.js +36 -0
  195. package/cdn/chunks/chunk.XKLHAMMB.js +29 -0
  196. package/cdn/chunks/chunk.XQ4OAKQQ.js +78 -0
  197. package/cdn/chunks/chunk.XWFCH5SX.js +29 -0
  198. package/cdn/chunks/chunk.XZDQOWQW.js +29 -0
  199. package/cdn/chunks/chunk.Y5PJFEBI.js +616 -0
  200. package/cdn/chunks/chunk.Y7DO5YV2.js +19 -0
  201. package/cdn/chunks/chunk.YAOCNBUP.js +32 -0
  202. package/cdn/chunks/chunk.YHTCAZOV.js +32 -0
  203. package/cdn/chunks/chunk.YLGO2ABC.js +62 -0
  204. package/cdn/chunks/chunk.Z6FHPIRA.js +19 -0
  205. package/cdn/chunks/chunk.ZAZAIV4G.js +234 -0
  206. package/cdn/chunks/chunk.ZB3JKUMI.js +74 -0
  207. package/cdn/chunks/chunk.ZDOJF4T4.js +29 -0
  208. package/cdn/chunks/chunk.ZE24JXB2.js +19 -0
  209. package/cdn/chunks/chunk.ZEATXGRS.js +19 -0
  210. package/cdn/chunks/chunk.ZV52WKIL.js +29 -0
  211. package/cdn/components/accordion/accordion.component.js +5 -5
  212. package/cdn/components/accordion/accordion.js +6 -6
  213. package/cdn/components/alert/alert.component.js +3 -3
  214. package/cdn/components/alert/alert.js +4 -4
  215. package/cdn/components/avatar/avatar.component.js +7 -7
  216. package/cdn/components/avatar/avatar.js +8 -8
  217. package/cdn/components/badge/badge.component.js +2 -2
  218. package/cdn/components/badge/badge.js +3 -3
  219. package/cdn/components/banner/banner.component.js +3 -3
  220. package/cdn/components/banner/banner.js +4 -4
  221. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  222. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  223. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  224. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  225. package/cdn/components/browse-variables/browse-variables.component.js +17 -17
  226. package/cdn/components/browse-variables/browse-variables.js +18 -18
  227. package/cdn/components/button/button.component.js +7 -7
  228. package/cdn/components/button/button.js +8 -8
  229. package/cdn/components/button-group/button-group.component.js +2 -2
  230. package/cdn/components/button-group/button-group.js +3 -3
  231. package/cdn/components/caption/caption.component.js +2 -2
  232. package/cdn/components/caption/caption.js +3 -3
  233. package/cdn/components/card/card.component.js +2 -2
  234. package/cdn/components/card/card.js +3 -3
  235. package/cdn/components/checkbox/checkbox.component.js +8 -8
  236. package/cdn/components/checkbox/checkbox.js +9 -9
  237. package/cdn/components/chip/chip.component.js +2 -2
  238. package/cdn/components/chip/chip.js +3 -3
  239. package/cdn/components/combobox/combobox.component.js +6 -6
  240. package/cdn/components/combobox/combobox.js +7 -7
  241. package/cdn/components/data-access/data-access.component.js +28 -28
  242. package/cdn/components/data-access/data-access.js +29 -29
  243. package/cdn/components/data-grid/data-grid.component.js +5 -5
  244. package/cdn/components/data-grid/data-grid.js +6 -6
  245. package/cdn/components/data-rods/data-rods.component.js +37 -37
  246. package/cdn/components/data-rods/data-rods.js +38 -38
  247. package/cdn/components/data-subsetter/data-subsetter.component.js +39 -39
  248. package/cdn/components/data-subsetter/data-subsetter.js +40 -40
  249. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  250. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +40 -40
  251. package/cdn/components/data-subsetter-history/data-subsetter-history.js +41 -41
  252. package/cdn/components/date-picker/date-picker.component.js +14 -14
  253. package/cdn/components/date-picker/date-picker.js +15 -15
  254. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  255. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  256. package/cdn/components/dialog/dialog.component.js +9 -9
  257. package/cdn/components/dialog/dialog.js +10 -10
  258. package/cdn/components/divider/divider.component.js +2 -2
  259. package/cdn/components/divider/divider.js +3 -3
  260. package/cdn/components/dropdown/dropdown.component.js +3 -3
  261. package/cdn/components/dropdown/dropdown.js +4 -4
  262. package/cdn/components/earthdata-login/earthdata-login.component.js +15 -15
  263. package/cdn/components/earthdata-login/earthdata-login.js +16 -16
  264. package/cdn/components/file-upload/file-upload.component.js +2 -2
  265. package/cdn/components/file-upload/file-upload.js +3 -3
  266. package/cdn/components/harmony-history/harmony-history.component.d.ts +6 -0
  267. package/cdn/components/harmony-history/harmony-history.component.js +12 -12
  268. package/cdn/components/harmony-history/harmony-history.js +13 -13
  269. package/cdn/components/icon/icon.component.js +3 -3
  270. package/cdn/components/icon/icon.js +4 -4
  271. package/cdn/components/input/input.component.js +8 -8
  272. package/cdn/components/input/input.js +9 -9
  273. package/cdn/components/loader/loader.component.js +2 -2
  274. package/cdn/components/loader/loader.js +3 -3
  275. package/cdn/components/login/login.component.js +12 -12
  276. package/cdn/components/login/login.js +13 -13
  277. package/cdn/components/map/map.component.js +4 -4
  278. package/cdn/components/map/map.js +5 -5
  279. package/cdn/components/menu/menu.component.js +2 -2
  280. package/cdn/components/menu/menu.js +3 -3
  281. package/cdn/components/menu-item/menu-item.component.js +11 -11
  282. package/cdn/components/menu-item/menu-item.js +12 -12
  283. package/cdn/components/menu-item/submenu-controller.js +3 -3
  284. package/cdn/components/option/option.component.js +6 -6
  285. package/cdn/components/option/option.js +7 -7
  286. package/cdn/components/pagination/pagination.component.js +6 -6
  287. package/cdn/components/pagination/pagination.js +7 -7
  288. package/cdn/components/plot/plot.component.js +2 -2
  289. package/cdn/components/plot/plot.js +3 -3
  290. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  291. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  292. package/cdn/components/plot-toolbar/plot-toolbar.component.js +15 -15
  293. package/cdn/components/plot-toolbar/plot-toolbar.js +16 -16
  294. package/cdn/components/popup/popup.component.js +2 -2
  295. package/cdn/components/popup/popup.js +3 -3
  296. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  297. package/cdn/components/progress-bar/progress-bar.js +3 -3
  298. package/cdn/components/radio/radio.component.js +4 -4
  299. package/cdn/components/radio/radio.js +5 -5
  300. package/cdn/components/radio-group/radio-group.component.js +2 -2
  301. package/cdn/components/radio-group/radio-group.js +3 -3
  302. package/cdn/components/scroll-hint/scroll-hint.component.js +4 -4
  303. package/cdn/components/scroll-hint/scroll-hint.js +5 -5
  304. package/cdn/components/select/select.component.js +10 -10
  305. package/cdn/components/select/select.js +11 -11
  306. package/cdn/components/site-header/site-header.component.js +5 -5
  307. package/cdn/components/site-header/site-header.js +5 -5
  308. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  309. package/cdn/components/site-navigation/site-navigation.js +2 -2
  310. package/cdn/components/skeleton/skeleton.component.js +2 -2
  311. package/cdn/components/skeleton/skeleton.js +3 -3
  312. package/cdn/components/slider/slider.component.js +2 -2
  313. package/cdn/components/slider/slider.js +3 -3
  314. package/cdn/components/spatial-picker/spatial-picker.component.js +15 -15
  315. package/cdn/components/spatial-picker/spatial-picker.js +16 -16
  316. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  317. package/cdn/components/status-indicator/status-indicator.js +3 -3
  318. package/cdn/components/stepper/stepper.component.js +2 -2
  319. package/cdn/components/stepper/stepper.js +3 -3
  320. package/cdn/components/stepper-step/stepper-step.component.js +6 -6
  321. package/cdn/components/stepper-step/stepper-step.js +7 -7
  322. package/cdn/components/tab/tab.component.js +6 -6
  323. package/cdn/components/tab/tab.js +7 -7
  324. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  325. package/cdn/components/tab-panel/tab-panel.js +3 -3
  326. package/cdn/components/tabs/tabs.component.js +6 -6
  327. package/cdn/components/tabs/tabs.js +7 -7
  328. package/cdn/components/tag/tag.component.js +6 -6
  329. package/cdn/components/tag/tag.js +7 -7
  330. package/cdn/components/textarea/textarea.component.js +4 -4
  331. package/cdn/components/textarea/textarea.js +5 -5
  332. package/cdn/components/time-average-map/time-average-map.component.js +25 -25
  333. package/cdn/components/time-average-map/time-average-map.controller.js +5 -5
  334. package/cdn/components/time-average-map/time-average-map.js +26 -26
  335. package/cdn/components/time-series/time-series.component.js +25 -25
  336. package/cdn/components/time-series/time-series.controller.js +5 -5
  337. package/cdn/components/time-series/time-series.js +26 -26
  338. package/cdn/components/toast/toast.component.js +4 -4
  339. package/cdn/components/toast/toast.js +5 -5
  340. package/cdn/components/toggle/toggle.component.js +4 -4
  341. package/cdn/components/toggle/toggle.js +5 -5
  342. package/cdn/components/tooltip/tooltip.component.js +3 -3
  343. package/cdn/components/tooltip/tooltip.js +4 -4
  344. package/cdn/components/variable-combobox/lib.js +3 -3
  345. package/cdn/components/variable-combobox/variable-combobox.component.js +15 -15
  346. package/cdn/components/variable-combobox/variable-combobox.controller.js +4 -4
  347. package/cdn/components/variable-combobox/variable-combobox.js +16 -16
  348. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +11 -11
  349. package/cdn/components/variable-keyword-search/variable-keyword-search.js +12 -12
  350. package/cdn/custom-elements.json +35 -3
  351. package/cdn/react/accordion/index.js +6 -6
  352. package/cdn/react/alert/index.js +4 -4
  353. package/cdn/react/avatar/index.js +8 -8
  354. package/cdn/react/badge/index.js +3 -3
  355. package/cdn/react/banner/index.js +4 -4
  356. package/cdn/react/breadcrumb/index.js +3 -3
  357. package/cdn/react/breadcrumbs/index.js +3 -3
  358. package/cdn/react/browse-variables/index.js +18 -18
  359. package/cdn/react/button/index.js +8 -8
  360. package/cdn/react/button-group/index.js +3 -3
  361. package/cdn/react/caption/index.js +3 -3
  362. package/cdn/react/card/index.js +3 -3
  363. package/cdn/react/checkbox/index.js +9 -9
  364. package/cdn/react/chip/index.js +3 -3
  365. package/cdn/react/combobox/index.js +7 -7
  366. package/cdn/react/data-access/index.js +29 -29
  367. package/cdn/react/data-grid/index.js +6 -6
  368. package/cdn/react/data-rods/index.js +38 -38
  369. package/cdn/react/data-subsetter/index.js +40 -40
  370. package/cdn/react/data-subsetter-history/index.js +41 -41
  371. package/cdn/react/date-picker/index.js +15 -15
  372. package/cdn/react/date-range-slider/index.js +3 -3
  373. package/cdn/react/dialog/index.js +10 -10
  374. package/cdn/react/divider/index.js +3 -3
  375. package/cdn/react/dropdown/index.js +4 -4
  376. package/cdn/react/earthdata-login/index.js +16 -16
  377. package/cdn/react/file-upload/index.js +3 -3
  378. package/cdn/react/harmony-history/index.js +13 -13
  379. package/cdn/react/icon/index.js +4 -4
  380. package/cdn/react/index.js +159 -159
  381. package/cdn/react/input/index.js +9 -9
  382. package/cdn/react/loader/index.js +3 -3
  383. package/cdn/react/login/index.js +13 -13
  384. package/cdn/react/map/index.js +5 -5
  385. package/cdn/react/menu/index.js +3 -3
  386. package/cdn/react/menu-item/index.js +12 -12
  387. package/cdn/react/option/index.js +7 -7
  388. package/cdn/react/pagination/index.js +7 -7
  389. package/cdn/react/plot/index.js +3 -3
  390. package/cdn/react/plot-toolbar/index.js +16 -16
  391. package/cdn/react/popup/index.js +3 -3
  392. package/cdn/react/progress-bar/index.js +3 -3
  393. package/cdn/react/radio/index.js +5 -5
  394. package/cdn/react/radio-group/index.js +3 -3
  395. package/cdn/react/scroll-hint/index.js +5 -5
  396. package/cdn/react/select/index.js +11 -11
  397. package/cdn/react/site-header/index.js +6 -6
  398. package/cdn/react/site-navigation/index.js +3 -3
  399. package/cdn/react/skeleton/index.js +3 -3
  400. package/cdn/react/slider/index.js +3 -3
  401. package/cdn/react/spatial-picker/index.js +16 -16
  402. package/cdn/react/status-indicator/index.js +3 -3
  403. package/cdn/react/stepper/index.js +3 -3
  404. package/cdn/react/stepper-step/index.js +7 -7
  405. package/cdn/react/tab/index.js +7 -7
  406. package/cdn/react/tab-panel/index.js +3 -3
  407. package/cdn/react/tabs/index.js +7 -7
  408. package/cdn/react/tag/index.js +7 -7
  409. package/cdn/react/textarea/index.js +5 -5
  410. package/cdn/react/time-average-map/index.js +26 -26
  411. package/cdn/react/time-series/index.js +26 -26
  412. package/cdn/react/toast/index.js +5 -5
  413. package/cdn/react/toggle/index.js +5 -5
  414. package/cdn/react/tooltip/index.js +4 -4
  415. package/cdn/react/variable-combobox/index.js +16 -16
  416. package/cdn/react/variable-keyword-search/index.js +12 -12
  417. package/cdn/terra-ui-components.js +155 -155
  418. package/cdn/types/vue/index.d.ts +39 -39
  419. package/cdn/web-types.json +2 -2
  420. package/dist/chunks/chunk.22CIXTYL.js +1 -0
  421. package/dist/chunks/chunk.2C5XDN7D.js +1 -0
  422. package/dist/chunks/chunk.2CMQSGWA.js +1 -0
  423. package/dist/chunks/chunk.2P56KD6V.js +30 -0
  424. package/dist/chunks/chunk.32PSE4ED.js +1 -0
  425. package/dist/chunks/chunk.32Q3ZOCQ.js +23 -0
  426. package/dist/chunks/chunk.3EBU6CAW.js +1 -0
  427. package/dist/chunks/chunk.3H2LQJN6.js +1 -0
  428. package/dist/chunks/chunk.3MMWHU5U.js +1 -0
  429. package/dist/chunks/chunk.3UXNU45N.js +760 -0
  430. package/dist/chunks/chunk.3WP3ALIU.js +37 -0
  431. package/dist/chunks/chunk.4H5N5OG3.js +1 -0
  432. package/dist/chunks/chunk.4RRKAZNG.js +20 -0
  433. package/dist/chunks/chunk.4SC3O3YH.js +38 -0
  434. package/dist/chunks/chunk.4WKXDKAW.js +1 -0
  435. package/dist/chunks/chunk.562KL2FJ.js +1 -0
  436. package/dist/chunks/chunk.5HPD5UWA.js +1 -0
  437. package/dist/chunks/chunk.5ILIV3NQ.js +1 -0
  438. package/dist/chunks/chunk.5RTEYDDC.js +157 -0
  439. package/dist/chunks/chunk.5U2M6PEE.js +43 -0
  440. package/dist/chunks/chunk.5ZRIYIRI.js +16 -0
  441. package/dist/chunks/chunk.6EB2RF5I.js +142 -0
  442. package/dist/chunks/chunk.6F7NMZAW.js +62 -0
  443. package/dist/chunks/chunk.6GMWGDEY.js +1 -0
  444. package/dist/chunks/chunk.6HTWAYCH.js +1 -0
  445. package/dist/chunks/chunk.6M6G2OIF.js +1 -0
  446. package/dist/chunks/chunk.6O3FJP5Q.js +1 -0
  447. package/dist/chunks/chunk.6OIWN3F2.js +17 -0
  448. package/dist/chunks/chunk.6W62YNPD.js +1 -0
  449. package/dist/chunks/chunk.76GGCXNA.js +1 -0
  450. package/dist/chunks/chunk.7APHX3ZH.js +1 -0
  451. package/dist/chunks/chunk.7BGQZCUL.js +1 -0
  452. package/dist/chunks/chunk.7BPSSX55.js +1 -0
  453. package/dist/chunks/chunk.7FAIMGF2.js +67 -0
  454. package/dist/chunks/chunk.7JQT5SBQ.js +1 -0
  455. package/dist/chunks/chunk.7UOW7T23.js +43 -0
  456. package/dist/chunks/chunk.7VXAWOX6.js +1 -0
  457. package/dist/chunks/chunk.7W23BUDC.js +1 -0
  458. package/dist/chunks/chunk.A5O23Z5W.js +1 -0
  459. package/dist/chunks/chunk.AE6ATLH4.js +1 -0
  460. package/dist/chunks/chunk.AGNTPCJT.js +8 -0
  461. package/dist/chunks/chunk.AHJQP7Q7.js +1 -0
  462. package/dist/chunks/chunk.AIV2TNQA.js +1 -0
  463. package/dist/chunks/chunk.AK3TMJA4.js +1 -0
  464. package/dist/chunks/chunk.AN42W3OJ.js +1 -0
  465. package/dist/chunks/chunk.AQD2424J.js +299 -0
  466. package/dist/chunks/chunk.AUCEIALT.js +51 -0
  467. package/dist/chunks/chunk.BBNJBO5W.js +1 -0
  468. package/dist/chunks/chunk.BILLSUHJ.js +1 -0
  469. package/dist/chunks/chunk.BNPSWS2D.js +1 -0
  470. package/dist/chunks/chunk.BQRNRGEV.js +19 -0
  471. package/dist/chunks/chunk.BY4THMCU.js +48 -0
  472. package/dist/chunks/chunk.C7XTVBV4.js +24 -0
  473. package/dist/chunks/chunk.CAP5VI3I.js +26 -0
  474. package/dist/chunks/chunk.CFVWTEFQ.js +1 -0
  475. package/dist/chunks/chunk.CGEXKBKY.js +1 -0
  476. package/dist/chunks/chunk.CHU5HWVC.js +1 -0
  477. package/dist/chunks/chunk.CI5ZXVL3.js +1 -0
  478. package/dist/chunks/chunk.CSYGOUUT.js +1 -0
  479. package/dist/chunks/chunk.CUINTACG.js +1 -0
  480. package/dist/chunks/chunk.CWNAXULL.js +1 -0
  481. package/dist/chunks/chunk.DC5UY4NW.js +127 -0
  482. package/dist/chunks/chunk.DVQKSCHH.js +1 -0
  483. package/dist/chunks/chunk.DWQOSYH7.js +26 -0
  484. package/dist/chunks/chunk.DXCH4OKP.js +1 -0
  485. package/dist/chunks/chunk.DXVAWNEU.js +1 -0
  486. package/dist/chunks/chunk.DYVJMMCX.js +1 -0
  487. package/dist/chunks/chunk.E3MPRUNC.js +1 -0
  488. package/dist/chunks/chunk.EBLTOKUD.js +5 -0
  489. package/dist/chunks/chunk.ECUSDQOM.js +1157 -0
  490. package/dist/chunks/chunk.EQTA7MZT.js +1 -0
  491. package/dist/chunks/chunk.FSTVJG4P.js +1 -0
  492. package/dist/chunks/chunk.FT4E4NSI.js +1 -0
  493. package/dist/chunks/chunk.FURB3OUK.js +2 -0
  494. package/dist/chunks/chunk.GE7UDDDW.js +1 -0
  495. package/dist/chunks/chunk.GEWIYRNX.js +1 -0
  496. package/dist/chunks/chunk.GKOBMN5D.js +1 -0
  497. package/dist/chunks/chunk.H5F2YRBY.js +1 -0
  498. package/dist/chunks/chunk.HJ26XC3F.js +47 -0
  499. package/dist/chunks/chunk.HJYFD5WB.js +1 -0
  500. package/dist/chunks/chunk.HSWVTMJI.js +1 -0
  501. package/dist/chunks/chunk.I25C5FOV.js +1 -0
  502. package/dist/chunks/chunk.IAGDCBEQ.js +33 -0
  503. package/dist/chunks/chunk.IIXGGLEA.js +30 -0
  504. package/dist/chunks/chunk.IOORP4RS.js +1 -0
  505. package/dist/chunks/chunk.JBOD6V2U.js +1 -0
  506. package/dist/chunks/chunk.JHHSWIB7.js +1 -0
  507. package/dist/chunks/chunk.JJINVRGW.js +1 -0
  508. package/dist/chunks/chunk.JLNEYZG3.js +1 -0
  509. package/dist/chunks/chunk.JLYBSNCB.js +1 -0
  510. package/dist/chunks/chunk.JPY3XYNM.js +1 -0
  511. package/dist/chunks/chunk.K45JY6QD.js +1 -0
  512. package/dist/chunks/chunk.K7N3RCYU.js +1 -0
  513. package/dist/chunks/chunk.KBNLCP3J.js +1 -0
  514. package/dist/chunks/chunk.KFVTQUDR.js +569 -0
  515. package/dist/chunks/chunk.KHR3QIOE.js +1 -0
  516. package/dist/chunks/chunk.KJLGXJ27.js +55 -0
  517. package/dist/chunks/chunk.KLYKRIPC.js +1 -0
  518. package/dist/chunks/chunk.KUKFHCLU.js +1 -0
  519. package/dist/chunks/chunk.LDW2RVIO.js +25 -0
  520. package/dist/chunks/chunk.LENQWYDL.js +1 -0
  521. package/dist/chunks/chunk.LJECEJCF.js +100 -0
  522. package/dist/chunks/chunk.LN7UMSEM.js +1 -0
  523. package/dist/chunks/chunk.LQVS46H3.js +1 -0
  524. package/dist/chunks/chunk.M5U2X6R6.js +1 -0
  525. package/dist/chunks/chunk.M63QODDV.js +11 -0
  526. package/dist/chunks/chunk.M6UJ3FOI.js +1 -0
  527. package/dist/chunks/chunk.MCE6B5ZW.js +41 -0
  528. package/dist/chunks/chunk.MESCQ4C7.js +1 -0
  529. package/dist/chunks/chunk.MGDKIKCH.js +1 -0
  530. package/dist/chunks/chunk.MPCCWVA7.js +27 -0
  531. package/dist/chunks/chunk.MRK3HXRP.js +74 -0
  532. package/dist/chunks/chunk.N4GC5N32.js +1 -0
  533. package/dist/chunks/chunk.N5RBMU2W.js +99 -0
  534. package/dist/chunks/chunk.N7EKKCYK.js +1 -0
  535. package/dist/chunks/chunk.NCFOXK6X.js +6 -0
  536. package/dist/chunks/chunk.ND3ZOF76.js +1 -0
  537. package/dist/chunks/chunk.NHHZFKJK.js +1 -0
  538. package/dist/chunks/chunk.NLSDPC7C.js +1 -0
  539. package/dist/chunks/chunk.NV5TAHWL.js +22 -0
  540. package/dist/chunks/chunk.O5KBHBML.js +75 -0
  541. package/dist/chunks/chunk.OCUWS6PH.js +11 -0
  542. package/dist/chunks/chunk.OFYUUKSD.js +115 -0
  543. package/dist/chunks/chunk.OH5I5TIC.js +1 -0
  544. package/dist/chunks/chunk.P3W6GEDD.js +1 -0
  545. package/dist/chunks/chunk.P46NR7KP.js +1 -0
  546. package/dist/chunks/chunk.P5SHBTCA.js +1 -0
  547. package/dist/chunks/chunk.P64XGTXA.js +1 -0
  548. package/dist/chunks/chunk.PIW5B5RH.js +1 -0
  549. package/dist/chunks/chunk.PLOCLQY6.js +122 -0
  550. package/dist/chunks/chunk.PQNNBX3K.js +1 -0
  551. package/dist/chunks/chunk.Q5BWORMC.js +14 -0
  552. package/dist/chunks/chunk.Q5JF6TSW.js +4 -0
  553. package/dist/chunks/chunk.QZZOJWMV.js +1 -0
  554. package/dist/chunks/chunk.RDWSNY7N.js +1 -0
  555. package/dist/chunks/chunk.RK65WAF3.js +1 -0
  556. package/dist/chunks/chunk.ROKQWNRH.js +35 -0
  557. package/dist/chunks/chunk.RVWGOPKC.js +12 -0
  558. package/dist/chunks/chunk.S3GIHJIB.js +1 -0
  559. package/dist/chunks/chunk.S4PACNTU.js +1 -0
  560. package/dist/chunks/chunk.SFDXJ74H.js +1 -0
  561. package/dist/chunks/chunk.SG436XSY.js +8 -0
  562. package/dist/chunks/chunk.SISNEJRL.js +1 -0
  563. package/dist/chunks/chunk.SPLNIK3Q.js +80 -0
  564. package/dist/chunks/chunk.SPZQNS4F.js +55 -0
  565. package/dist/chunks/chunk.SW54SUCY.js +1 -0
  566. package/dist/chunks/chunk.T4C6ZHT5.js +1 -0
  567. package/dist/chunks/chunk.TAEUAPKY.js +1 -0
  568. package/dist/chunks/chunk.TE3BRZMM.js +1 -0
  569. package/dist/chunks/chunk.TED4UBE5.js +39 -0
  570. package/dist/chunks/chunk.TGGBDRNU.js +65 -0
  571. package/dist/chunks/chunk.TIRHWRND.js +1 -0
  572. package/dist/chunks/chunk.TIZX7XYL.js +55 -0
  573. package/dist/chunks/chunk.TLUNI5QX.js +1 -0
  574. package/dist/chunks/chunk.TQISK2J3.js +1 -0
  575. package/dist/chunks/chunk.TTU2LE4P.js +1 -0
  576. package/dist/chunks/chunk.UAJ4KR23.js +5 -0
  577. package/dist/chunks/chunk.UFHWNQDN.js +1 -0
  578. package/dist/chunks/chunk.UHM5JVWJ.js +1 -0
  579. package/dist/chunks/chunk.UHOWEE2M.js +64 -0
  580. package/dist/chunks/chunk.UQO7OZ5C.js +9 -0
  581. package/dist/chunks/chunk.URX2EI2V.js +1 -0
  582. package/dist/chunks/chunk.UTOYOGZQ.js +121 -0
  583. package/dist/chunks/chunk.UY74TP7X.js +1 -0
  584. package/dist/chunks/chunk.V37Y676O.js +1 -0
  585. package/dist/chunks/chunk.V42W5H4F.js +280 -0
  586. package/dist/chunks/chunk.V5D2OEV6.js +1 -0
  587. package/dist/chunks/chunk.V5ZQMEUF.js +1 -0
  588. package/dist/chunks/chunk.VH7FO7OJ.js +1 -0
  589. package/dist/chunks/chunk.VIBFLVBI.js +1 -0
  590. package/dist/chunks/chunk.VOCS5Z6H.js +1 -0
  591. package/dist/chunks/chunk.VVQD2RI3.js +145 -0
  592. package/dist/chunks/chunk.VXN5XN4J.js +1 -0
  593. package/dist/chunks/chunk.VYBWO7SD.js +1 -0
  594. package/dist/chunks/chunk.W46EVFAU.js +154 -0
  595. package/dist/chunks/chunk.W5BTJ326.js +1 -0
  596. package/dist/chunks/chunk.WTWOUQNE.js +1 -0
  597. package/dist/chunks/chunk.WXOYYBCN.js +1 -0
  598. package/dist/chunks/chunk.WYGP72UK.js +1 -0
  599. package/dist/chunks/chunk.XAH43LI3.js +9 -0
  600. package/dist/chunks/chunk.XAYB3UXJ.js +1 -0
  601. package/dist/chunks/chunk.XDRWOAKY.js +1 -0
  602. package/dist/chunks/chunk.XHSTWWRN.js +1 -0
  603. package/dist/chunks/chunk.XK2LEII7.js +1 -0
  604. package/dist/chunks/chunk.XLBND75X.js +1 -0
  605. package/dist/chunks/chunk.XMUYG2AQ.js +1 -0
  606. package/dist/chunks/chunk.XPVSZK5P.js +1 -0
  607. package/dist/chunks/chunk.XQERKT6Y.js +112 -0
  608. package/dist/chunks/chunk.YEFCZ7WI.js +300 -0
  609. package/dist/chunks/chunk.YF32IUU4.js +1 -0
  610. package/dist/chunks/chunk.YJTTJCFI.js +1 -0
  611. package/dist/chunks/chunk.YKBVW3LG.js +1 -0
  612. package/dist/chunks/chunk.YNFXAAXD.js +1 -0
  613. package/dist/chunks/chunk.YNZYPSXI.js +1 -0
  614. package/dist/chunks/chunk.YOZCHGLE.js +20 -0
  615. package/dist/chunks/chunk.Z44NYM3M.js +1 -0
  616. package/dist/chunks/chunk.ZAJSYEOE.js +1 -0
  617. package/dist/chunks/chunk.ZM7KP737.js +1 -0
  618. package/dist/chunks/chunk.ZNNQHUJM.js +1 -0
  619. package/dist/chunks/chunk.ZPCJ3TPE.js +35 -0
  620. package/dist/chunks/chunk.ZRIJ53YT.js +1 -0
  621. package/dist/chunks/chunk.ZX2ZXGUL.js +1 -0
  622. package/dist/chunks/chunk.ZZXPXWIF.js +1 -0
  623. package/dist/components/accordion/accordion.component.js +1 -1
  624. package/dist/components/accordion/accordion.js +1 -1
  625. package/dist/components/alert/alert.component.js +1 -1
  626. package/dist/components/alert/alert.js +1 -1
  627. package/dist/components/avatar/avatar.component.js +1 -1
  628. package/dist/components/avatar/avatar.js +1 -1
  629. package/dist/components/badge/badge.component.js +1 -1
  630. package/dist/components/badge/badge.js +1 -1
  631. package/dist/components/banner/banner.component.js +1 -1
  632. package/dist/components/banner/banner.js +1 -1
  633. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  634. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  635. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  636. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  637. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  638. package/dist/components/browse-variables/browse-variables.js +1 -1
  639. package/dist/components/button/button.component.js +1 -1
  640. package/dist/components/button/button.js +1 -1
  641. package/dist/components/button-group/button-group.component.js +1 -1
  642. package/dist/components/button-group/button-group.js +1 -1
  643. package/dist/components/caption/caption.component.js +1 -1
  644. package/dist/components/caption/caption.js +1 -1
  645. package/dist/components/card/card.component.js +1 -1
  646. package/dist/components/card/card.js +1 -1
  647. package/dist/components/checkbox/checkbox.component.js +1 -1
  648. package/dist/components/checkbox/checkbox.js +1 -1
  649. package/dist/components/chip/chip.component.js +1 -1
  650. package/dist/components/chip/chip.js +1 -1
  651. package/dist/components/combobox/combobox.component.js +1 -1
  652. package/dist/components/combobox/combobox.js +1 -1
  653. package/dist/components/data-access/data-access.component.js +1 -1
  654. package/dist/components/data-access/data-access.js +1 -1
  655. package/dist/components/data-grid/data-grid.component.js +1 -1
  656. package/dist/components/data-grid/data-grid.js +1 -1
  657. package/dist/components/data-rods/data-rods.component.js +1 -1
  658. package/dist/components/data-rods/data-rods.js +1 -1
  659. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  660. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  661. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  662. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  663. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  664. package/dist/components/date-picker/date-picker.component.js +1 -1
  665. package/dist/components/date-picker/date-picker.js +1 -1
  666. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  667. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  668. package/dist/components/dialog/dialog.component.js +1 -1
  669. package/dist/components/dialog/dialog.js +1 -1
  670. package/dist/components/divider/divider.component.js +1 -1
  671. package/dist/components/divider/divider.js +1 -1
  672. package/dist/components/dropdown/dropdown.component.js +1 -1
  673. package/dist/components/dropdown/dropdown.js +1 -1
  674. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  675. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  676. package/dist/components/file-upload/file-upload.component.js +1 -1
  677. package/dist/components/file-upload/file-upload.js +1 -1
  678. package/dist/components/harmony-history/harmony-history.component.d.ts +6 -0
  679. package/dist/components/harmony-history/harmony-history.component.js +1 -1
  680. package/dist/components/harmony-history/harmony-history.js +1 -1
  681. package/dist/components/icon/icon.component.js +1 -1
  682. package/dist/components/icon/icon.js +1 -1
  683. package/dist/components/input/input.component.js +1 -1
  684. package/dist/components/input/input.js +1 -1
  685. package/dist/components/loader/loader.component.js +1 -1
  686. package/dist/components/loader/loader.js +1 -1
  687. package/dist/components/login/login.component.js +1 -1
  688. package/dist/components/login/login.js +1 -1
  689. package/dist/components/map/map.component.js +1 -1
  690. package/dist/components/map/map.js +1 -1
  691. package/dist/components/menu/menu.component.js +1 -1
  692. package/dist/components/menu/menu.js +1 -1
  693. package/dist/components/menu-item/menu-item.component.js +1 -1
  694. package/dist/components/menu-item/menu-item.js +1 -1
  695. package/dist/components/option/option.component.js +1 -1
  696. package/dist/components/option/option.js +1 -1
  697. package/dist/components/pagination/pagination.component.js +1 -1
  698. package/dist/components/pagination/pagination.js +1 -1
  699. package/dist/components/plot/plot.component.js +1 -1
  700. package/dist/components/plot/plot.js +1 -1
  701. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  702. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  703. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  704. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  705. package/dist/components/popup/popup.component.js +1 -1
  706. package/dist/components/popup/popup.js +1 -1
  707. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  708. package/dist/components/progress-bar/progress-bar.js +1 -1
  709. package/dist/components/radio/radio.component.js +1 -1
  710. package/dist/components/radio/radio.js +1 -1
  711. package/dist/components/radio-group/radio-group.component.js +1 -1
  712. package/dist/components/radio-group/radio-group.js +1 -1
  713. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  714. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  715. package/dist/components/select/select.component.js +1 -1
  716. package/dist/components/select/select.js +1 -1
  717. package/dist/components/site-header/site-header.component.js +1 -1
  718. package/dist/components/site-header/site-header.js +1 -1
  719. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  720. package/dist/components/site-navigation/site-navigation.js +1 -1
  721. package/dist/components/skeleton/skeleton.component.js +1 -1
  722. package/dist/components/skeleton/skeleton.js +1 -1
  723. package/dist/components/slider/slider.component.js +1 -1
  724. package/dist/components/slider/slider.js +1 -1
  725. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  726. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  727. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  728. package/dist/components/status-indicator/status-indicator.js +1 -1
  729. package/dist/components/stepper/stepper.component.js +1 -1
  730. package/dist/components/stepper/stepper.js +1 -1
  731. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  732. package/dist/components/stepper-step/stepper-step.js +1 -1
  733. package/dist/components/tab/tab.component.js +1 -1
  734. package/dist/components/tab/tab.js +1 -1
  735. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  736. package/dist/components/tab-panel/tab-panel.js +1 -1
  737. package/dist/components/tabs/tabs.component.js +1 -1
  738. package/dist/components/tabs/tabs.js +1 -1
  739. package/dist/components/tag/tag.component.js +1 -1
  740. package/dist/components/tag/tag.js +1 -1
  741. package/dist/components/textarea/textarea.component.js +1 -1
  742. package/dist/components/textarea/textarea.js +1 -1
  743. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  744. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  745. package/dist/components/time-average-map/time-average-map.js +1 -1
  746. package/dist/components/time-series/time-series.component.js +1 -1
  747. package/dist/components/time-series/time-series.controller.js +1 -1
  748. package/dist/components/time-series/time-series.js +1 -1
  749. package/dist/components/toast/toast.component.js +1 -1
  750. package/dist/components/toast/toast.js +1 -1
  751. package/dist/components/toggle/toggle.component.js +1 -1
  752. package/dist/components/toggle/toggle.js +1 -1
  753. package/dist/components/tooltip/tooltip.component.js +1 -1
  754. package/dist/components/tooltip/tooltip.js +1 -1
  755. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  756. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  757. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  758. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  759. package/dist/custom-elements.json +35 -3
  760. package/dist/react/accordion/index.js +1 -1
  761. package/dist/react/alert/index.js +1 -1
  762. package/dist/react/avatar/index.js +1 -1
  763. package/dist/react/badge/index.js +1 -1
  764. package/dist/react/banner/index.js +1 -1
  765. package/dist/react/breadcrumb/index.js +1 -1
  766. package/dist/react/breadcrumbs/index.js +1 -1
  767. package/dist/react/browse-variables/index.js +1 -1
  768. package/dist/react/button/index.js +1 -1
  769. package/dist/react/button-group/index.js +1 -1
  770. package/dist/react/caption/index.js +1 -1
  771. package/dist/react/card/index.js +1 -1
  772. package/dist/react/checkbox/index.js +1 -1
  773. package/dist/react/chip/index.js +1 -1
  774. package/dist/react/combobox/index.js +1 -1
  775. package/dist/react/data-access/index.js +1 -1
  776. package/dist/react/data-grid/index.js +1 -1
  777. package/dist/react/data-rods/index.js +1 -1
  778. package/dist/react/data-subsetter/index.js +1 -1
  779. package/dist/react/data-subsetter-history/index.js +1 -1
  780. package/dist/react/date-picker/index.js +1 -1
  781. package/dist/react/date-range-slider/index.js +1 -1
  782. package/dist/react/dialog/index.js +1 -1
  783. package/dist/react/divider/index.js +1 -1
  784. package/dist/react/dropdown/index.js +1 -1
  785. package/dist/react/earthdata-login/index.js +1 -1
  786. package/dist/react/file-upload/index.js +1 -1
  787. package/dist/react/harmony-history/index.js +1 -1
  788. package/dist/react/icon/index.js +1 -1
  789. package/dist/react/index.js +1 -1
  790. package/dist/react/input/index.js +1 -1
  791. package/dist/react/loader/index.js +1 -1
  792. package/dist/react/login/index.js +1 -1
  793. package/dist/react/map/index.js +1 -1
  794. package/dist/react/menu/index.js +1 -1
  795. package/dist/react/menu-item/index.js +1 -1
  796. package/dist/react/option/index.js +1 -1
  797. package/dist/react/pagination/index.js +1 -1
  798. package/dist/react/plot/index.js +1 -1
  799. package/dist/react/plot-toolbar/index.js +1 -1
  800. package/dist/react/popup/index.js +1 -1
  801. package/dist/react/progress-bar/index.js +1 -1
  802. package/dist/react/radio/index.js +1 -1
  803. package/dist/react/radio-group/index.js +1 -1
  804. package/dist/react/scroll-hint/index.js +1 -1
  805. package/dist/react/select/index.js +1 -1
  806. package/dist/react/site-header/index.js +1 -1
  807. package/dist/react/site-navigation/index.js +1 -1
  808. package/dist/react/skeleton/index.js +1 -1
  809. package/dist/react/slider/index.js +1 -1
  810. package/dist/react/spatial-picker/index.js +1 -1
  811. package/dist/react/status-indicator/index.js +1 -1
  812. package/dist/react/stepper/index.js +1 -1
  813. package/dist/react/stepper-step/index.js +1 -1
  814. package/dist/react/tab/index.js +1 -1
  815. package/dist/react/tab-panel/index.js +1 -1
  816. package/dist/react/tabs/index.js +1 -1
  817. package/dist/react/tag/index.js +1 -1
  818. package/dist/react/textarea/index.js +1 -1
  819. package/dist/react/time-average-map/index.js +1 -1
  820. package/dist/react/time-series/index.js +1 -1
  821. package/dist/react/toast/index.js +1 -1
  822. package/dist/react/toggle/index.js +1 -1
  823. package/dist/react/tooltip/index.js +1 -1
  824. package/dist/react/variable-combobox/index.js +1 -1
  825. package/dist/react/variable-keyword-search/index.js +1 -1
  826. package/dist/terra-ui-components.js +1 -1
  827. package/dist/terra_ui_components-0.0.186-py3-none-any.whl +0 -0
  828. package/dist/terra_ui_components-0.0.186.tar.gz +0 -0
  829. package/dist/types/vue/index.d.ts +39 -39
  830. package/dist/web-types.json +2 -2
  831. package/package.json +1 -1
  832. package/cdn/chunks/chunk.23ULDHLD.js +0 -19
  833. package/cdn/chunks/chunk.2IAJ5UFA.js +0 -19
  834. package/cdn/chunks/chunk.2QWS7JHO.js +0 -19
  835. package/cdn/chunks/chunk.2SGFACBY.js +0 -32
  836. package/cdn/chunks/chunk.32T3YTX3.js +0 -433
  837. package/cdn/chunks/chunk.33I344CH.js +0 -29
  838. package/cdn/chunks/chunk.36AF63HZ.js +0 -19
  839. package/cdn/chunks/chunk.3GHNT3X7.js +0 -35
  840. package/cdn/chunks/chunk.3MUO73OZ.js +0 -538
  841. package/cdn/chunks/chunk.3P6RK23E.js +0 -92
  842. package/cdn/chunks/chunk.3VCPUG23.js +0 -19
  843. package/cdn/chunks/chunk.475HUUHL.js +0 -1194
  844. package/cdn/chunks/chunk.4CNDF3PH.js +0 -662
  845. package/cdn/chunks/chunk.4FIWE6RW.js +0 -29
  846. package/cdn/chunks/chunk.4GYYU7BN.js +0 -110
  847. package/cdn/chunks/chunk.4JYUMGXB.js +0 -19
  848. package/cdn/chunks/chunk.4K223IM4.js +0 -33
  849. package/cdn/chunks/chunk.4NYLZCVF.js +0 -19
  850. package/cdn/chunks/chunk.4PTFXYVM.js +0 -278
  851. package/cdn/chunks/chunk.52UOQEXL.js +0 -330
  852. package/cdn/chunks/chunk.5CXXYGGJ.js +0 -161
  853. package/cdn/chunks/chunk.5DYAB3NH.js +0 -19
  854. package/cdn/chunks/chunk.5GEC6Z4T.js +0 -29
  855. package/cdn/chunks/chunk.5IYHPETJ.js +0 -19
  856. package/cdn/chunks/chunk.5NTLE2XY.js +0 -19
  857. package/cdn/chunks/chunk.63AOUDXV.js +0 -37
  858. package/cdn/chunks/chunk.642FTALK.js +0 -303
  859. package/cdn/chunks/chunk.64P7JIB4.js +0 -19
  860. package/cdn/chunks/chunk.6AUJIFGF.js +0 -33
  861. package/cdn/chunks/chunk.6YGTX53K.js +0 -19
  862. package/cdn/chunks/chunk.7ARV23YA.js +0 -259
  863. package/cdn/chunks/chunk.7AV54XPQ.js +0 -19
  864. package/cdn/chunks/chunk.7GFOOHVF.js +0 -19
  865. package/cdn/chunks/chunk.7S4QFDIX.js +0 -47
  866. package/cdn/chunks/chunk.7THNWPRW.js +0 -32
  867. package/cdn/chunks/chunk.A57TOUO5.js +0 -32
  868. package/cdn/chunks/chunk.AAIBLFUH.js +0 -2263
  869. package/cdn/chunks/chunk.AKQPFE7E.js +0 -71
  870. package/cdn/chunks/chunk.ALFANMAM.js +0 -19
  871. package/cdn/chunks/chunk.APOEQA6N.js +0 -157
  872. package/cdn/chunks/chunk.ARA5P6FA.js +0 -36
  873. package/cdn/chunks/chunk.ARHWVD5Z.js +0 -32
  874. package/cdn/chunks/chunk.B43MH42W.js +0 -35
  875. package/cdn/chunks/chunk.B4DEKFE4.js +0 -19
  876. package/cdn/chunks/chunk.B4HG72L7.js +0 -276
  877. package/cdn/chunks/chunk.BIWHVO4T.js +0 -477
  878. package/cdn/chunks/chunk.BPE3KYY5.js +0 -19
  879. package/cdn/chunks/chunk.BVACLOKI.js +0 -110
  880. package/cdn/chunks/chunk.BZ3EQQYT.js +0 -19
  881. package/cdn/chunks/chunk.C3SPZZU5.js +0 -294
  882. package/cdn/chunks/chunk.C5VGK64F.js +0 -134
  883. package/cdn/chunks/chunk.C6SFH3WH.js +0 -123
  884. package/cdn/chunks/chunk.CBYOITQM.js +0 -359
  885. package/cdn/chunks/chunk.CEHTK5IT.js +0 -32
  886. package/cdn/chunks/chunk.CFLRHGIQ.js +0 -29
  887. package/cdn/chunks/chunk.CFORWSVO.js +0 -62
  888. package/cdn/chunks/chunk.CKCKGAJC.js +0 -132
  889. package/cdn/chunks/chunk.CKGDQJTK.js +0 -19
  890. package/cdn/chunks/chunk.CLOSWCHA.js +0 -279
  891. package/cdn/chunks/chunk.CU6Y4S4O.js +0 -134
  892. package/cdn/chunks/chunk.CYQBRTOW.js +0 -19
  893. package/cdn/chunks/chunk.CZBKHPJX.js +0 -19
  894. package/cdn/chunks/chunk.D2Y6GF7Z.js +0 -33
  895. package/cdn/chunks/chunk.DFTMZGEH.js +0 -19
  896. package/cdn/chunks/chunk.DJEGLGHH.js +0 -86
  897. package/cdn/chunks/chunk.DYSOSFB2.js +0 -599
  898. package/cdn/chunks/chunk.ENFHL2ZB.js +0 -32
  899. package/cdn/chunks/chunk.ENIQY2C7.js +0 -158
  900. package/cdn/chunks/chunk.ESBR7IH6.js +0 -29
  901. package/cdn/chunks/chunk.EWRYGDIB.js +0 -37
  902. package/cdn/chunks/chunk.F2IREZ5Z.js +0 -29
  903. package/cdn/chunks/chunk.F2V4UVAM.js +0 -29
  904. package/cdn/chunks/chunk.F5J3LNXS.js +0 -29
  905. package/cdn/chunks/chunk.FBQBXHQ5.js +0 -19
  906. package/cdn/chunks/chunk.FD4IZ6DH.js +0 -19
  907. package/cdn/chunks/chunk.FPRTOOQP.js +0 -242
  908. package/cdn/chunks/chunk.FUQEF2AE.js +0 -224
  909. package/cdn/chunks/chunk.FZW3K6J4.js +0 -60
  910. package/cdn/chunks/chunk.GEG3PYOJ.js +0 -357
  911. package/cdn/chunks/chunk.GHXMILVD.js +0 -1259
  912. package/cdn/chunks/chunk.GLWDG4IH.js +0 -32
  913. package/cdn/chunks/chunk.GWEOH6S3.js +0 -39
  914. package/cdn/chunks/chunk.H2JHYM64.js +0 -19
  915. package/cdn/chunks/chunk.H5L4DYO2.js +0 -29
  916. package/cdn/chunks/chunk.H7ET3AHH.js +0 -19
  917. package/cdn/chunks/chunk.HGVPCX4K.js +0 -30
  918. package/cdn/chunks/chunk.HKIMJMCT.js +0 -29
  919. package/cdn/chunks/chunk.HKM3ISNQ.js +0 -32
  920. package/cdn/chunks/chunk.HMUHTJ5Z.js +0 -19
  921. package/cdn/chunks/chunk.HTFCVYRL.js +0 -29
  922. package/cdn/chunks/chunk.HV6VVOKR.js +0 -29
  923. package/cdn/chunks/chunk.I2GEORPM.js +0 -29
  924. package/cdn/chunks/chunk.I4HYDR7P.js +0 -41
  925. package/cdn/chunks/chunk.I5AHJSLH.js +0 -82
  926. package/cdn/chunks/chunk.IAAEMW7Q.js +0 -29
  927. package/cdn/chunks/chunk.IHEYPE5Y.js +0 -352
  928. package/cdn/chunks/chunk.ITJWYZAD.js +0 -32
  929. package/cdn/chunks/chunk.J2FEWFU3.js +0 -188
  930. package/cdn/chunks/chunk.JFSOMAV5.js +0 -19
  931. package/cdn/chunks/chunk.JUFGTW3B.js +0 -32
  932. package/cdn/chunks/chunk.JZ72GFJ6.js +0 -29
  933. package/cdn/chunks/chunk.JZFBOMES.js +0 -136
  934. package/cdn/chunks/chunk.K6FRGJYJ.js +0 -19
  935. package/cdn/chunks/chunk.KAGUWZXH.js +0 -29
  936. package/cdn/chunks/chunk.KM6WWUYU.js +0 -77
  937. package/cdn/chunks/chunk.KMJIOAR5.js +0 -19
  938. package/cdn/chunks/chunk.L4IHLAW3.js +0 -19
  939. package/cdn/chunks/chunk.L4MAYYJM.js +0 -264
  940. package/cdn/chunks/chunk.L4NZMTHX.js +0 -49
  941. package/cdn/chunks/chunk.L54U3KR7.js +0 -230
  942. package/cdn/chunks/chunk.L7MPAW73.js +0 -524
  943. package/cdn/chunks/chunk.LN4GOIKB.js +0 -78
  944. package/cdn/chunks/chunk.LQY4N5O6.js +0 -19
  945. package/cdn/chunks/chunk.LWZXPJRY.js +0 -34
  946. package/cdn/chunks/chunk.LYBDJAQM.js +0 -19
  947. package/cdn/chunks/chunk.MBYZNS3J.js +0 -32
  948. package/cdn/chunks/chunk.MCIOGZJ2.js +0 -35
  949. package/cdn/chunks/chunk.MHDJRRCG.js +0 -74
  950. package/cdn/chunks/chunk.MK5GJQBN.js +0 -68
  951. package/cdn/chunks/chunk.MNK5FXPU.js +0 -29
  952. package/cdn/chunks/chunk.MQ24LADA.js +0 -915
  953. package/cdn/chunks/chunk.MVCES2GY.js +0 -19
  954. package/cdn/chunks/chunk.MWXCCNHH.js +0 -19
  955. package/cdn/chunks/chunk.MXP55VDX.js +0 -19
  956. package/cdn/chunks/chunk.N7AEZV4H.js +0 -19
  957. package/cdn/chunks/chunk.NFTG47JX.js +0 -19
  958. package/cdn/chunks/chunk.NJT5R4MY.js +0 -19
  959. package/cdn/chunks/chunk.NQBUNWAG.js +0 -19
  960. package/cdn/chunks/chunk.NTURAXGC.js +0 -29
  961. package/cdn/chunks/chunk.NZP6BVUO.js +0 -610
  962. package/cdn/chunks/chunk.NZYYDQO4.js +0 -33
  963. package/cdn/chunks/chunk.O3DIP4UG.js +0 -81
  964. package/cdn/chunks/chunk.OHKWOZQS.js +0 -29
  965. package/cdn/chunks/chunk.OVQNKLCQ.js +0 -19
  966. package/cdn/chunks/chunk.P27SQ2YZ.js +0 -36
  967. package/cdn/chunks/chunk.PETC7KGW.js +0 -29
  968. package/cdn/chunks/chunk.PEYZV6JO.js +0 -29
  969. package/cdn/chunks/chunk.PL4TBQMQ.js +0 -99
  970. package/cdn/chunks/chunk.PZUVUD4C.js +0 -93
  971. package/cdn/chunks/chunk.Q4OSMARL.js +0 -36
  972. package/cdn/chunks/chunk.Q57YOGAU.js +0 -29
  973. package/cdn/chunks/chunk.QAN5BQUE.js +0 -2549
  974. package/cdn/chunks/chunk.QHKTL23G.js +0 -34
  975. package/cdn/chunks/chunk.QKTCEJ3U.js +0 -551
  976. package/cdn/chunks/chunk.QM7NXI3Y.js +0 -904
  977. package/cdn/chunks/chunk.QMKLGPGU.js +0 -377
  978. package/cdn/chunks/chunk.QQETPCY6.js +0 -19
  979. package/cdn/chunks/chunk.QVLKXRNQ.js +0 -29
  980. package/cdn/chunks/chunk.QW225VAH.js +0 -29
  981. package/cdn/chunks/chunk.QYESEYH5.js +0 -19
  982. package/cdn/chunks/chunk.QYPWK7TD.js +0 -293
  983. package/cdn/chunks/chunk.R26J44LQ.js +0 -32
  984. package/cdn/chunks/chunk.R3TE42FO.js +0 -19
  985. package/cdn/chunks/chunk.RBPM5RSY.js +0 -128
  986. package/cdn/chunks/chunk.RKQ2NBCZ.js +0 -19
  987. package/cdn/chunks/chunk.RNZEHUAB.js +0 -60
  988. package/cdn/chunks/chunk.ROCEXVFX.js +0 -19
  989. package/cdn/chunks/chunk.ROVKIKXT.js +0 -189
  990. package/cdn/chunks/chunk.S3LTW2Z5.js +0 -19
  991. package/cdn/chunks/chunk.S5IU56DF.js +0 -104
  992. package/cdn/chunks/chunk.SD7HUMGV.js +0 -658
  993. package/cdn/chunks/chunk.SFOUNQQ6.js +0 -19
  994. package/cdn/chunks/chunk.SMNDQY3A.js +0 -29
  995. package/cdn/chunks/chunk.SN3NNBZS.js +0 -19
  996. package/cdn/chunks/chunk.SPPYNPMM.js +0 -113
  997. package/cdn/chunks/chunk.SW775EUU.js +0 -151
  998. package/cdn/chunks/chunk.SYOM2A6E.js +0 -231
  999. package/cdn/chunks/chunk.TAB6E7II.js +0 -443
  1000. package/cdn/chunks/chunk.TDJGVWK7.js +0 -19
  1001. package/cdn/chunks/chunk.TLGBPDSX.js +0 -34
  1002. package/cdn/chunks/chunk.TTIXRPG4.js +0 -19
  1003. package/cdn/chunks/chunk.TVMCX2N5.js +0 -93
  1004. package/cdn/chunks/chunk.TXX3KV6O.js +0 -19
  1005. package/cdn/chunks/chunk.TYYBNEWV.js +0 -29
  1006. package/cdn/chunks/chunk.U6IDNVCB.js +0 -36
  1007. package/cdn/chunks/chunk.UAYSKF6G.js +0 -32
  1008. package/cdn/chunks/chunk.UC5DZKWA.js +0 -310
  1009. package/cdn/chunks/chunk.UH3ZOB7P.js +0 -19
  1010. package/cdn/chunks/chunk.UN6XG657.js +0 -19
  1011. package/cdn/chunks/chunk.UOFXGOXY.js +0 -616
  1012. package/cdn/chunks/chunk.UOYEPCNP.js +0 -19
  1013. package/cdn/chunks/chunk.UWHLUVYT.js +0 -35
  1014. package/cdn/chunks/chunk.V4YUQM4C.js +0 -155
  1015. package/cdn/chunks/chunk.VDCBN3GU.js +0 -35
  1016. package/cdn/chunks/chunk.VFN2MA77.js +0 -29
  1017. package/cdn/chunks/chunk.VJIPXZZR.js +0 -19
  1018. package/cdn/chunks/chunk.VL5CVVZ6.js +0 -19
  1019. package/cdn/chunks/chunk.WBECND5L.js +0 -138
  1020. package/cdn/chunks/chunk.WFRL6ZC4.js +0 -294
  1021. package/cdn/chunks/chunk.WJMTDRJE.js +0 -99
  1022. package/cdn/chunks/chunk.WKWOMDV2.js +0 -83
  1023. package/cdn/chunks/chunk.WNH2GFDU.js +0 -29
  1024. package/cdn/chunks/chunk.WPFV36JB.js +0 -56075
  1025. package/cdn/chunks/chunk.WVQSNSMN.js +0 -493
  1026. package/cdn/chunks/chunk.X42N6WVV.js +0 -19
  1027. package/cdn/chunks/chunk.X7RPT5EZ.js +0 -234
  1028. package/cdn/chunks/chunk.XG64MMOR.js +0 -19
  1029. package/cdn/chunks/chunk.XQBFF6UL.js +0 -190
  1030. package/cdn/chunks/chunk.XUZNMRBQ.js +0 -19
  1031. package/cdn/chunks/chunk.YE7HYUYN.js +0 -1975
  1032. package/cdn/chunks/chunk.YWN6A6E2.js +0 -19
  1033. package/cdn/chunks/chunk.YX3RNSE4.js +0 -29
  1034. package/cdn/chunks/chunk.ZGJJZC4B.js +0 -904
  1035. package/cdn/chunks/chunk.ZGZNPDVZ.js +0 -19
  1036. package/cdn/chunks/chunk.ZIOYYO5S.js +0 -33
  1037. package/cdn/chunks/chunk.ZMXR6IYK.js +0 -32
  1038. package/cdn/chunks/chunk.ZNN5W3YZ.js +0 -29
  1039. package/cdn/chunks/chunk.ZRJFJLOF.js +0 -475
  1040. package/cdn/chunks/chunk.ZT2MQHEQ.js +0 -532
  1041. package/cdn/chunks/chunk.ZVIRNT6A.js +0 -19
  1042. package/dist/chunks/chunk.2FYKXNRJ.js +0 -1
  1043. package/dist/chunks/chunk.2FYM2NOL.js +0 -1
  1044. package/dist/chunks/chunk.2KYHFVCT.js +0 -1
  1045. package/dist/chunks/chunk.2MEG77EM.js +0 -142
  1046. package/dist/chunks/chunk.2QP4SIQW.js +0 -1
  1047. package/dist/chunks/chunk.3IPSMXZM.js +0 -14
  1048. package/dist/chunks/chunk.3U7DX2A3.js +0 -62
  1049. package/dist/chunks/chunk.46UHG52R.js +0 -16
  1050. package/dist/chunks/chunk.473KMNIE.js +0 -1
  1051. package/dist/chunks/chunk.4HQBKMTR.js +0 -157
  1052. package/dist/chunks/chunk.4LOVBDNF.js +0 -1
  1053. package/dist/chunks/chunk.4OA5FYW7.js +0 -64
  1054. package/dist/chunks/chunk.4PWILHVS.js +0 -47
  1055. package/dist/chunks/chunk.4T3XDAIW.js +0 -1
  1056. package/dist/chunks/chunk.4T6EQ2RT.js +0 -1
  1057. package/dist/chunks/chunk.4TVKJFQQ.js +0 -1
  1058. package/dist/chunks/chunk.4WYJ5BMZ.js +0 -280
  1059. package/dist/chunks/chunk.564GNKBN.js +0 -8
  1060. package/dist/chunks/chunk.56JYYRGR.js +0 -1
  1061. package/dist/chunks/chunk.56O55KET.js +0 -122
  1062. package/dist/chunks/chunk.5BK2VKAN.js +0 -300
  1063. package/dist/chunks/chunk.5CXD3ZPB.js +0 -1
  1064. package/dist/chunks/chunk.5TXESUZU.js +0 -1
  1065. package/dist/chunks/chunk.5ZMY3NVM.js +0 -1
  1066. package/dist/chunks/chunk.6ALQCJJA.js +0 -1
  1067. package/dist/chunks/chunk.6IZ6A2NM.js +0 -51
  1068. package/dist/chunks/chunk.6LAOJZS6.js +0 -1
  1069. package/dist/chunks/chunk.6U7FDXWX.js +0 -1
  1070. package/dist/chunks/chunk.6VLZZPDP.js +0 -25
  1071. package/dist/chunks/chunk.6XQ6N47U.js +0 -4
  1072. package/dist/chunks/chunk.6ZBV5SP4.js +0 -1
  1073. package/dist/chunks/chunk.76RHEPTM.js +0 -1
  1074. package/dist/chunks/chunk.7BBWB2WE.js +0 -1
  1075. package/dist/chunks/chunk.7KIA5YSO.js +0 -1
  1076. package/dist/chunks/chunk.7MTGPJN6.js +0 -33
  1077. package/dist/chunks/chunk.7PXSQ67A.js +0 -1
  1078. package/dist/chunks/chunk.7S57EA4V.js +0 -1
  1079. package/dist/chunks/chunk.7TUTY5PQ.js +0 -1
  1080. package/dist/chunks/chunk.7WAFRA6G.js +0 -100
  1081. package/dist/chunks/chunk.AE2OKFHU.js +0 -1
  1082. package/dist/chunks/chunk.AFGBQTGU.js +0 -1
  1083. package/dist/chunks/chunk.AFKYSC2F.js +0 -27
  1084. package/dist/chunks/chunk.AJORA2MS.js +0 -1
  1085. package/dist/chunks/chunk.AZQN2EB3.js +0 -1
  1086. package/dist/chunks/chunk.BCGYAD6A.js +0 -1
  1087. package/dist/chunks/chunk.BWLZ5BX2.js +0 -1
  1088. package/dist/chunks/chunk.BZ4XD7WP.js +0 -1
  1089. package/dist/chunks/chunk.CG7AP2FF.js +0 -1
  1090. package/dist/chunks/chunk.CHYLTWQ4.js +0 -99
  1091. package/dist/chunks/chunk.CLEJ5KX6.js +0 -1
  1092. package/dist/chunks/chunk.D5JVCLQ4.js +0 -1
  1093. package/dist/chunks/chunk.DE65J2A4.js +0 -1
  1094. package/dist/chunks/chunk.DEQ363UI.js +0 -1
  1095. package/dist/chunks/chunk.DIHXQJYQ.js +0 -1
  1096. package/dist/chunks/chunk.DIWKA73C.js +0 -1
  1097. package/dist/chunks/chunk.DNADMWPC.js +0 -43
  1098. package/dist/chunks/chunk.DXKIIHRV.js +0 -115
  1099. package/dist/chunks/chunk.DZ3WN2JE.js +0 -1
  1100. package/dist/chunks/chunk.EGGNT3BG.js +0 -55
  1101. package/dist/chunks/chunk.EO7U6GTZ.js +0 -20
  1102. package/dist/chunks/chunk.EQPXCBZU.js +0 -2
  1103. package/dist/chunks/chunk.ERAEFUGS.js +0 -9
  1104. package/dist/chunks/chunk.ETX4MKJV.js +0 -127
  1105. package/dist/chunks/chunk.EUKHTAMF.js +0 -26
  1106. package/dist/chunks/chunk.EXVLKJQM.js +0 -35
  1107. package/dist/chunks/chunk.EYOQZDEF.js +0 -1
  1108. package/dist/chunks/chunk.FGX4RSBG.js +0 -760
  1109. package/dist/chunks/chunk.FJ7JMZGK.js +0 -1
  1110. package/dist/chunks/chunk.FKHHDKU3.js +0 -5
  1111. package/dist/chunks/chunk.FOCACMBR.js +0 -1
  1112. package/dist/chunks/chunk.FUEWS2BP.js +0 -37
  1113. package/dist/chunks/chunk.G5NTZQV5.js +0 -1
  1114. package/dist/chunks/chunk.GHJE34ZJ.js +0 -1
  1115. package/dist/chunks/chunk.H3OHBDFA.js +0 -12
  1116. package/dist/chunks/chunk.H5EXMIYZ.js +0 -67
  1117. package/dist/chunks/chunk.H7ZTBOXA.js +0 -1
  1118. package/dist/chunks/chunk.HCHLAVDL.js +0 -38
  1119. package/dist/chunks/chunk.HH44F6MW.js +0 -1
  1120. package/dist/chunks/chunk.HHZDZ3KB.js +0 -1
  1121. package/dist/chunks/chunk.HIH2ILWR.js +0 -1
  1122. package/dist/chunks/chunk.HJCMEOBQ.js +0 -1
  1123. package/dist/chunks/chunk.HT2H5JSQ.js +0 -1
  1124. package/dist/chunks/chunk.HUVBVDL7.js +0 -1
  1125. package/dist/chunks/chunk.HVH4GAVK.js +0 -1
  1126. package/dist/chunks/chunk.HWL777NN.js +0 -1
  1127. package/dist/chunks/chunk.HYOY75EM.js +0 -1
  1128. package/dist/chunks/chunk.HYUEMCZ2.js +0 -1
  1129. package/dist/chunks/chunk.IDETF6BC.js +0 -1
  1130. package/dist/chunks/chunk.IFB377NH.js +0 -30
  1131. package/dist/chunks/chunk.IFCGJALI.js +0 -1
  1132. package/dist/chunks/chunk.IU2VU4T3.js +0 -1
  1133. package/dist/chunks/chunk.IV5JC2HX.js +0 -299
  1134. package/dist/chunks/chunk.IVJW3RWW.js +0 -1
  1135. package/dist/chunks/chunk.IW4CKAEV.js +0 -1
  1136. package/dist/chunks/chunk.JCDLYWQQ.js +0 -1
  1137. package/dist/chunks/chunk.JKKKNSOU.js +0 -22
  1138. package/dist/chunks/chunk.JMRQJBIJ.js +0 -39
  1139. package/dist/chunks/chunk.JMWO242R.js +0 -1
  1140. package/dist/chunks/chunk.JX4EWTQS.js +0 -41
  1141. package/dist/chunks/chunk.JZBEFF5Q.js +0 -5
  1142. package/dist/chunks/chunk.KBA3ODM6.js +0 -1
  1143. package/dist/chunks/chunk.KCVSGJJV.js +0 -24
  1144. package/dist/chunks/chunk.KEMHCYXT.js +0 -1
  1145. package/dist/chunks/chunk.KMLEWPB5.js +0 -65
  1146. package/dist/chunks/chunk.LFX4V7QL.js +0 -1
  1147. package/dist/chunks/chunk.LO67Y767.js +0 -1
  1148. package/dist/chunks/chunk.LUKXGRZX.js +0 -48
  1149. package/dist/chunks/chunk.LUT5ZHEE.js +0 -1
  1150. package/dist/chunks/chunk.LV5FGLSI.js +0 -1
  1151. package/dist/chunks/chunk.MADJHLHO.js +0 -74
  1152. package/dist/chunks/chunk.MJP5UXMM.js +0 -1
  1153. package/dist/chunks/chunk.MK6FS47O.js +0 -1
  1154. package/dist/chunks/chunk.MORW6CPW.js +0 -1
  1155. package/dist/chunks/chunk.MQ3FSXBG.js +0 -1
  1156. package/dist/chunks/chunk.MVG5ADSV.js +0 -1
  1157. package/dist/chunks/chunk.NLPW36W6.js +0 -1
  1158. package/dist/chunks/chunk.NMGTD6KY.js +0 -1
  1159. package/dist/chunks/chunk.NMWLHX3C.js +0 -80
  1160. package/dist/chunks/chunk.O6NSPGF3.js +0 -26
  1161. package/dist/chunks/chunk.OB62XUP6.js +0 -1
  1162. package/dist/chunks/chunk.OCGTSDT5.js +0 -1
  1163. package/dist/chunks/chunk.ODB2F62J.js +0 -11
  1164. package/dist/chunks/chunk.OKEZBEGD.js +0 -1
  1165. package/dist/chunks/chunk.OMWD6RYR.js +0 -1
  1166. package/dist/chunks/chunk.OWQV2AYE.js +0 -1
  1167. package/dist/chunks/chunk.OZH67ZEQ.js +0 -1
  1168. package/dist/chunks/chunk.OZU3Y4RJ.js +0 -1
  1169. package/dist/chunks/chunk.PGUUWQT3.js +0 -1
  1170. package/dist/chunks/chunk.PIWDSHQS.js +0 -1
  1171. package/dist/chunks/chunk.PLSW5VB3.js +0 -1157
  1172. package/dist/chunks/chunk.PLZAMBAD.js +0 -1
  1173. package/dist/chunks/chunk.PXQJNDKT.js +0 -1
  1174. package/dist/chunks/chunk.PZ3B3N4I.js +0 -1
  1175. package/dist/chunks/chunk.Q5SJALAY.js +0 -1
  1176. package/dist/chunks/chunk.QBQVMBX3.js +0 -1
  1177. package/dist/chunks/chunk.QFHC5ZUJ.js +0 -1
  1178. package/dist/chunks/chunk.QS6RXFI6.js +0 -154
  1179. package/dist/chunks/chunk.QUGANIE6.js +0 -1
  1180. package/dist/chunks/chunk.RAG6VO6B.js +0 -1
  1181. package/dist/chunks/chunk.RAVRXP7H.js +0 -1
  1182. package/dist/chunks/chunk.RFTDVF3V.js +0 -1
  1183. package/dist/chunks/chunk.RQTJDKKA.js +0 -6
  1184. package/dist/chunks/chunk.S7DNL2JR.js +0 -145
  1185. package/dist/chunks/chunk.S7GCSNMC.js +0 -1
  1186. package/dist/chunks/chunk.SUJQSFLJ.js +0 -23
  1187. package/dist/chunks/chunk.SUZF4HRB.js +0 -19
  1188. package/dist/chunks/chunk.SXTACZU5.js +0 -9
  1189. package/dist/chunks/chunk.SYILGIQ4.js +0 -1
  1190. package/dist/chunks/chunk.TDBPLTD5.js +0 -1
  1191. package/dist/chunks/chunk.TFJYTETP.js +0 -1
  1192. package/dist/chunks/chunk.TFZEBRL5.js +0 -1
  1193. package/dist/chunks/chunk.TTS52RHY.js +0 -11
  1194. package/dist/chunks/chunk.TUPPR6BC.js +0 -1
  1195. package/dist/chunks/chunk.UA5CD7W6.js +0 -1
  1196. package/dist/chunks/chunk.UB3PFFXJ.js +0 -8
  1197. package/dist/chunks/chunk.UCX5XQBS.js +0 -1
  1198. package/dist/chunks/chunk.UEOBO4HG.js +0 -1
  1199. package/dist/chunks/chunk.UJBVUSRR.js +0 -1
  1200. package/dist/chunks/chunk.ULPNUQIS.js +0 -1
  1201. package/dist/chunks/chunk.UPCT2IFI.js +0 -1
  1202. package/dist/chunks/chunk.URW5CT6H.js +0 -1
  1203. package/dist/chunks/chunk.UU44ZJKS.js +0 -1
  1204. package/dist/chunks/chunk.UW3XN32J.js +0 -1
  1205. package/dist/chunks/chunk.UXFJJVVM.js +0 -1
  1206. package/dist/chunks/chunk.V26TXBNG.js +0 -1
  1207. package/dist/chunks/chunk.V3FEBTDD.js +0 -55
  1208. package/dist/chunks/chunk.VC4GDLON.js +0 -55
  1209. package/dist/chunks/chunk.VFIQVKQU.js +0 -1
  1210. package/dist/chunks/chunk.VHZKZV3Q.js +0 -1
  1211. package/dist/chunks/chunk.VIDRLWQU.js +0 -569
  1212. package/dist/chunks/chunk.VTARILAL.js +0 -1
  1213. package/dist/chunks/chunk.WDCMSSNX.js +0 -1
  1214. package/dist/chunks/chunk.WE3KHVDY.js +0 -20
  1215. package/dist/chunks/chunk.WH6LSJLW.js +0 -1
  1216. package/dist/chunks/chunk.WJTONXGM.js +0 -1
  1217. package/dist/chunks/chunk.WLAHTHYW.js +0 -1
  1218. package/dist/chunks/chunk.WND76WG3.js +0 -1
  1219. package/dist/chunks/chunk.WPEQYDSP.js +0 -1
  1220. package/dist/chunks/chunk.WPVXSQPU.js +0 -1
  1221. package/dist/chunks/chunk.X33CSSIQ.js +0 -1
  1222. package/dist/chunks/chunk.XGQRFE77.js +0 -1
  1223. package/dist/chunks/chunk.XKRF52PJ.js +0 -1
  1224. package/dist/chunks/chunk.XPCLNM5Y.js +0 -35
  1225. package/dist/chunks/chunk.XYUF3Q47.js +0 -1
  1226. package/dist/chunks/chunk.Y4IKMVJF.js +0 -1
  1227. package/dist/chunks/chunk.Y5U2VA4D.js +0 -1
  1228. package/dist/chunks/chunk.Y6XSSNU4.js +0 -43
  1229. package/dist/chunks/chunk.YAQ7JNGM.js +0 -1
  1230. package/dist/chunks/chunk.YHPYG3NW.js +0 -1
  1231. package/dist/chunks/chunk.YKKYBFFL.js +0 -75
  1232. package/dist/chunks/chunk.YODSRURJ.js +0 -1
  1233. package/dist/chunks/chunk.YQCKC3P4.js +0 -1
  1234. package/dist/chunks/chunk.YVKPP4LL.js +0 -112
  1235. package/dist/chunks/chunk.YZCATUBK.js +0 -1
  1236. package/dist/chunks/chunk.Z5KHOTL6.js +0 -1
  1237. package/dist/chunks/chunk.ZBGHXKFJ.js +0 -1
  1238. package/dist/chunks/chunk.ZFCO3ROX.js +0 -30
  1239. package/dist/chunks/chunk.ZFNNUJPV.js +0 -121
  1240. package/dist/chunks/chunk.ZKBZS4SF.js +0 -1
  1241. package/dist/chunks/chunk.ZLOISIKX.js +0 -1
  1242. package/dist/chunks/chunk.ZOEFQU6N.js +0 -1
  1243. package/dist/chunks/chunk.ZR6PHJFZ.js +0 -1
  1244. package/dist/chunks/chunk.ZUTF3OGT.js +0 -17
  1245. package/dist/terra_ui_components-0.0.185-py3-none-any.whl +0 -0
  1246. package/dist/terra_ui_components-0.0.185.tar.gz +0 -0
@@ -0,0 +1,2549 @@
1
+ import {
2
+ KnownFeatureFlags,
3
+ isFeatureEnabled
4
+ } from "./chunk.S6KQAZNG.js";
5
+ import {
6
+ convertVariableEntryIdToGiovanniFormat
7
+ } from "./chunk.FXO66O5A.js";
8
+ import {
9
+ getNotebook
10
+ } from "./chunk.ROGKTUCA.js";
11
+ import {
12
+ TerraLogin
13
+ } from "./chunk.3ZXOZBXL.js";
14
+ import {
15
+ TerraDialog
16
+ } from "./chunk.Y5PJFEBI.js";
17
+ import {
18
+ HarmonyRequestController
19
+ } from "./chunk.V2QBQWJQ.js";
20
+ import {
21
+ HarmonyRequest
22
+ } from "./chunk.SP3MVXEA.js";
23
+ import {
24
+ AuthController
25
+ } from "./chunk.P34Y4ETY.js";
26
+ import {
27
+ data_subsetter_styles_default
28
+ } from "./chunk.GPQPCP6B.js";
29
+ import {
30
+ TerraDataAccess,
31
+ debounce
32
+ } from "./chunk.ISAROCA2.js";
33
+ import {
34
+ TerraSlider
35
+ } from "./chunk.N266QSQR.js";
36
+ import {
37
+ TerraMenu
38
+ } from "./chunk.CEDRKHZX.js";
39
+ import {
40
+ TerraMenuItem
41
+ } from "./chunk.U7BMUH6D.js";
42
+ import {
43
+ TerraDatePicker
44
+ } from "./chunk.MRKMZBEK.js";
45
+ import {
46
+ CollectionController
47
+ } from "./chunk.BVOLRNGU.js";
48
+ import {
49
+ TerraSpatialPicker
50
+ } from "./chunk.DXKUTB3C.js";
51
+ import {
52
+ TerraDropdown
53
+ } from "./chunk.5YFLB32J.js";
54
+ import {
55
+ TerraInput
56
+ } from "./chunk.2RJFUFJW.js";
57
+ import {
58
+ QueryClientMixin
59
+ } from "./chunk.DOUWGQFH.js";
60
+ import {
61
+ TerraLoader
62
+ } from "./chunk.ONHT57BX.js";
63
+ import {
64
+ getUTCDate
65
+ } from "./chunk.TKSEPVAL.js";
66
+ import {
67
+ TerraButton
68
+ } from "./chunk.KGVKWL76.js";
69
+ import {
70
+ TerraAccordion
71
+ } from "./chunk.5A4JSTC2.js";
72
+ import {
73
+ TerraIcon
74
+ } from "./chunk.AW3SAWPB.js";
75
+ import {
76
+ getBasePath
77
+ } from "./chunk.ZQVMOVOT.js";
78
+ import {
79
+ TerraAlert
80
+ } from "./chunk.MTD42HQV.js";
81
+ import {
82
+ watch
83
+ } from "./chunk.MPVZOQYA.js";
84
+ import {
85
+ TerraElement,
86
+ component_styles_default,
87
+ e,
88
+ n,
89
+ r
90
+ } from "./chunk.UME44J4L.js";
91
+ import {
92
+ A,
93
+ b
94
+ } from "./chunk.RRCYT4LP.js";
95
+ import {
96
+ __decorateClass,
97
+ __privateAdd,
98
+ __privateGet,
99
+ __privateMethod,
100
+ __spreadProps,
101
+ __spreadValues,
102
+ init_buffer,
103
+ init_dirname,
104
+ init_process
105
+ } from "./chunk.ZEOVK2FE.js";
106
+
107
+ // src/components/data-subsetter/data-subsetter.component.ts
108
+ init_dirname();
109
+ init_buffer();
110
+ init_process();
111
+
112
+ // src/lib/jupyter.ts
113
+ init_dirname();
114
+ init_buffer();
115
+ init_process();
116
+ var JUPYTER_LITE_URL = "https://gesdisc.github.io/jupyterlite/lab/index.html";
117
+ function openJupyterLiteWindow(readyCb) {
118
+ const jupyterWindow = window.open(JUPYTER_LITE_URL, "_blank");
119
+ if (!jupyterWindow) {
120
+ console.error("Failed to open JupyterLite!");
121
+ return;
122
+ }
123
+ window.addEventListener("message", (event) => readyCb(event, jupyterWindow), {
124
+ once: true
125
+ });
126
+ return jupyterWindow;
127
+ }
128
+ function sendDataToJupyterNotebook(type, data) {
129
+ openJupyterLiteWindow((event, jupyterWindow) => {
130
+ var _a;
131
+ if (((_a = event.data) == null ? void 0 : _a.type) !== "jupyterlite-ready") {
132
+ return;
133
+ }
134
+ console.log("JupyterLite is ready!");
135
+ jupyterWindow.postMessage(__spreadValues({ type }, data), "*");
136
+ });
137
+ }
138
+
139
+ // src/services/cmr-variable.service.ts
140
+ init_dirname();
141
+ init_buffer();
142
+ init_process();
143
+ var CmrVariableService = class {
144
+ /**
145
+ * given a name and a list of variables, return the variable with the matching name
146
+ */
147
+ getVariableByName(name, variables) {
148
+ var _a;
149
+ if (!variables || !((_a = variables.items) == null ? void 0 : _a.length)) {
150
+ return;
151
+ }
152
+ return variables.items.find((variable) => variable.umm.Name === name);
153
+ }
154
+ /**
155
+ * given a variable, return the variable's display label
156
+ * ex: Shortname = LongName (Units)
157
+ */
158
+ getVariableDisplayLabel(variable) {
159
+ const { Name = "", LongName = "", Units = "" } = variable.umm;
160
+ return `${Name}${Name && LongName && Name !== LongName ? ` = ${LongName}` : ""}${Units ? ` (${Units})` : ""}`;
161
+ }
162
+ };
163
+ var cmrVariableService = new CmrVariableService();
164
+ var cmr_variable_service_default = cmrVariableService;
165
+
166
+ // src/components/data-subsetter/data-subsetter.component.ts
167
+ var defaultOutputFormat = {
168
+ key: "application/x-netcdf4",
169
+ label: "NetCDF",
170
+ description: "Download data in NetCDF format"
171
+ };
172
+ var _collectionController, _authController, _harmonyRequestController, _renderFooterForDialog, renderFooterForDialog_fn, _renderSizeInfo, renderSizeInfo_fn, _renderSubsetOptions, renderSubsetOptions_fn, _resetAllParameters, _renderSearchForCollection, renderSearchForCollection_fn, _renderOutputFormatSelection, renderOutputFormatSelection_fn, _renderDateRangeSelection, renderDateRangeSelection_fn, _handleDateChange, _resetDateRangeSelection, _resetFormatSelection, _getCollectionDateRange, getCollectionDateRange_fn, _renderSpatialSelection, renderSpatialSelection_fn, _handleSpatialChange, _resetSpatialSelection, _renderVariableSelection, renderVariableSelection_fn, _renderDimensionGroup, renderDimensionGroup_fn, _setDimensionValue, setDimensionValue_fn, _renderDimensionSelection, renderDimensionSelection_fn, _filterVariableTree, filterVariableTree_fn, _handleVariableFilterChange, handleVariableFilterChange_fn, _buildVariableTree, buildVariableTree_fn, _renderVariableTree, renderVariableTree_fn, _getAllGroupPaths, getAllGroupPaths_fn, _toggleGroupExpand, toggleGroupExpand_fn, _toggleExpandCollapseAll, toggleExpandCollapseAll_fn, _toggleVariableSelection, toggleVariableSelection_fn, _markFieldTouched, markFieldTouched_fn, _resetVariableSelection, _resetDimensionSelection, resetDimensionSelection_fn, _isDimensionExcluded, isDimensionExcluded_fn, _getCommonSelectableDimensions, getCommonSelectableDimensions_fn, _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, _backToSubsetOptions, backToSubsetOptions_fn, _viewRunningJob, viewRunningJob_fn, _handleDownloadSelect, handleDownloadSelect_fn, _downloadLinksAsTxt, downloadLinksAsTxt_fn, _downloadPythonScript, downloadPythonScript_fn, _downloadEarthdataDownload, downloadEarthdataDownload_fn, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn, _renderAvailableTemporalRangeSection, renderAvailableTemporalRangeSection_fn, _renderAvailableSpatialRangeSection, renderAvailableSpatialRangeSection_fn, _renderDataAccessModeSelection, renderDataAccessModeSelection_fn, _getGiovanniValidationError, getGiovanniValidationError_fn;
173
+ var TerraDataSubsetter = class extends QueryClientMixin(TerraElement) {
174
+ constructor() {
175
+ super(...arguments);
176
+ __privateAdd(this, _renderFooterForDialog);
177
+ __privateAdd(this, _renderSizeInfo);
178
+ __privateAdd(this, _renderSubsetOptions);
179
+ __privateAdd(this, _renderSearchForCollection);
180
+ __privateAdd(this, _renderOutputFormatSelection);
181
+ __privateAdd(this, _renderDateRangeSelection);
182
+ __privateAdd(this, _getCollectionDateRange);
183
+ __privateAdd(this, _renderSpatialSelection);
184
+ __privateAdd(this, _renderVariableSelection);
185
+ __privateAdd(this, _renderDimensionGroup);
186
+ __privateAdd(this, _setDimensionValue);
187
+ __privateAdd(this, _renderDimensionSelection);
188
+ __privateAdd(this, _filterVariableTree);
189
+ __privateAdd(this, _handleVariableFilterChange);
190
+ __privateAdd(this, _buildVariableTree);
191
+ __privateAdd(this, _renderVariableTree);
192
+ __privateAdd(this, _getAllGroupPaths);
193
+ __privateAdd(this, _toggleGroupExpand);
194
+ __privateAdd(this, _toggleExpandCollapseAll);
195
+ __privateAdd(this, _toggleVariableSelection);
196
+ __privateAdd(this, _markFieldTouched);
197
+ __privateAdd(this, _resetDimensionSelection);
198
+ __privateAdd(this, _isDimensionExcluded);
199
+ __privateAdd(this, _getCommonSelectableDimensions);
200
+ __privateAdd(this, _renderJobStatus);
201
+ __privateAdd(this, _renderSelectedParams);
202
+ __privateAdd(this, _cancelJob);
203
+ __privateAdd(this, _getData);
204
+ __privateAdd(this, _touchAllFields);
205
+ __privateAdd(this, _numberOfFilesFoundEstimate);
206
+ __privateAdd(this, _getDocumentationLinks);
207
+ __privateAdd(this, _getDataLinks);
208
+ __privateAdd(this, _hasAtLeastOneSubsetOption);
209
+ __privateAdd(this, _hasSpatialSubset);
210
+ __privateAdd(this, _renderJobMessage);
211
+ __privateAdd(this, _getJobMessageText);
212
+ __privateAdd(this, _estimateJobSize);
213
+ __privateAdd(this, _refineParameters);
214
+ __privateAdd(this, _backToSubsetOptions);
215
+ __privateAdd(this, _viewRunningJob);
216
+ __privateAdd(this, _handleDownloadSelect);
217
+ __privateAdd(this, _downloadLinksAsTxt);
218
+ __privateAdd(this, _downloadPythonScript);
219
+ __privateAdd(this, _downloadEarthdataDownload);
220
+ __privateAdd(this, _handleJupyterNotebookClick);
221
+ __privateAdd(this, _renderAvailableTemporalRangeSection);
222
+ __privateAdd(this, _renderAvailableSpatialRangeSection);
223
+ __privateAdd(this, _renderDataAccessModeSelection);
224
+ __privateAdd(this, _getGiovanniValidationError);
225
+ this.showCollectionSearch = true;
226
+ this.showHistoryPanel = true;
227
+ this.isHistoryView = false;
228
+ this.selectedVariables = [];
229
+ this.selectedDimensionIndexes = {};
230
+ this.expandedVariableGroups = /* @__PURE__ */ new Set();
231
+ this.variableFilterText = "";
232
+ this.touchedFields = /* @__PURE__ */ new Set();
233
+ this.selectedDateRange = {
234
+ startDate: null,
235
+ endDate: null
236
+ };
237
+ this.selectedFormat = defaultOutputFormat;
238
+ this.cancelingGetData = false;
239
+ this.selectedTab = "web-links";
240
+ this.refineParameters = false;
241
+ this.collectionSearchType = "all";
242
+ this.collectionSearchLoading = false;
243
+ this.collectionLoading = false;
244
+ this.collectionAccordionOpen = true;
245
+ this.dataAccessMode = "original";
246
+ __privateAdd(this, _collectionController, new CollectionController(this, {
247
+ getCollectionEntryId: () => this.collectionEntryId,
248
+ getBearerToken: () => this.bearerToken
249
+ }));
250
+ __privateAdd(this, _authController, new AuthController(this));
251
+ __privateAdd(this, _harmonyRequestController, new HarmonyRequestController(this));
252
+ __privateAdd(this, _resetAllParameters, () => {
253
+ this.selectedVariables = [];
254
+ if (__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this)) {
255
+ __privateGet(this, _resetSpatialSelection).call(this);
256
+ }
257
+ this.selectedDateRange = {
258
+ startDate: null,
259
+ endDate: null
260
+ };
261
+ this.touchedFields = /* @__PURE__ */ new Set();
262
+ this.validationError = void 0;
263
+ this.expandedVariableGroups = /* @__PURE__ */ new Set();
264
+ this.requestUpdate();
265
+ });
266
+ __privateAdd(this, _handleDateChange, (e2) => {
267
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "date");
268
+ this.selectedDateRange = __spreadProps(__spreadValues({}, this.selectedDateRange), {
269
+ startDate: e2.detail.startDate,
270
+ endDate: e2.detail.endDate
271
+ });
272
+ });
273
+ __privateAdd(this, _resetDateRangeSelection, () => {
274
+ this.selectedDateRange = { startDate: null, endDate: null };
275
+ });
276
+ __privateAdd(this, _resetFormatSelection, () => {
277
+ var _a;
278
+ if ((_a = this.collectionWithServices) == null ? void 0 : _a.configuredOutputFormats.length) {
279
+ const netcdfFormat = this.collectionWithServices.configuredOutputFormats.find(
280
+ (f) => f.key === "application/x-netcdf4" || f.key === "application/netcdf"
281
+ );
282
+ this.selectedFormat = netcdfFormat || this.collectionWithServices.configuredOutputFormats[0];
283
+ } else {
284
+ this.selectedFormat = defaultOutputFormat;
285
+ }
286
+ });
287
+ __privateAdd(this, _handleSpatialChange, (e2) => {
288
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "spatial");
289
+ if (e2.detail.type === "point" /* POINT */) {
290
+ this.spatialSelection = e2.detail.latLng;
291
+ } else if (e2.detail.type === "bbox" /* BBOX */) {
292
+ this.spatialSelection = e2.detail.bounds;
293
+ } else {
294
+ this.spatialSelection = void 0;
295
+ }
296
+ });
297
+ /**
298
+ * resets the spatial selection back to the bounds of the collection
299
+ */
300
+ __privateAdd(this, _resetSpatialSelection, () => {
301
+ this.spatialSelection = void 0;
302
+ this.spatialPicker.clear();
303
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "spatial");
304
+ });
305
+ __privateAdd(this, _resetVariableSelection, () => {
306
+ this.selectedVariables = [];
307
+ __privateMethod(this, _resetDimensionSelection, resetDimensionSelection_fn).call(this);
308
+ });
309
+ }
310
+ jobIdChanged() {
311
+ if (this.jobId) {
312
+ __privateGet(this, _harmonyRequestController).startPollForJobStatus(this.jobId);
313
+ this.dataAccessMode = "subset";
314
+ }
315
+ }
316
+ shortNameAndVersionChanged() {
317
+ if (this.shortName && this.version) {
318
+ this.collectionEntryId = `${this.shortName}_${this.version}`;
319
+ }
320
+ }
321
+ collectionEntryIdChanged() {
322
+ if (this.collectionEntryId) {
323
+ this.showCollectionSearch = false;
324
+ } else {
325
+ this.showCollectionSearch = true;
326
+ }
327
+ }
328
+ firstUpdated() {
329
+ if (this.collectionEntryId) {
330
+ this.showCollectionSearch = false;
331
+ }
332
+ if (this.jobId) {
333
+ __privateGet(this, _harmonyRequestController).startPollForJobStatus(this.jobId, {
334
+ bearerToken: this.bearerToken
335
+ });
336
+ this.dataAccessMode = "subset";
337
+ }
338
+ this.renderHistoryPanel();
339
+ }
340
+ updated(changedProps) {
341
+ var _a, _b, _c;
342
+ super.updated(changedProps);
343
+ const newCollectionInfo = __privateGet(this, _collectionController).collectionInfo;
344
+ if (newCollectionInfo !== this.collectionWithServices) {
345
+ this.collectionWithServices = newCollectionInfo;
346
+ }
347
+ const sampling = (_a = __privateGet(this, _collectionController).sampling) == null ? void 0 : _a.data;
348
+ if ((sampling == null ? void 0 : sampling.minDate) !== this.granuleMinDate) {
349
+ this.granuleMinDate = sampling == null ? void 0 : sampling.minDate;
350
+ }
351
+ if ((sampling == null ? void 0 : sampling.maxDate) !== this.granuleMaxDate) {
352
+ this.granuleMaxDate = sampling == null ? void 0 : sampling.maxDate;
353
+ }
354
+ const newGiovanni = __privateGet(this, _collectionController).giovanniVariables;
355
+ if (newGiovanni.size !== ((_c = (_b = this.giovanniConfiguredVariables) == null ? void 0 : _b.size) != null ? _c : 0)) {
356
+ this.giovanniConfiguredVariables = newGiovanni;
357
+ }
358
+ }
359
+ /** True if the collection contains sub-daily granules. Used by DataSubsetterController to format dates. */
360
+ get isSubDaily() {
361
+ return __privateGet(this, _collectionController).isSubDaily;
362
+ }
363
+ collectionChanged() {
364
+ const { startDate, endDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
365
+ this.selectedDateRange = { startDate, endDate };
366
+ __privateGet(this, _resetFormatSelection).call(this);
367
+ this.collectionLoading = false;
368
+ this.collectionAccordionOpen = false;
369
+ }
370
+ granuleDatesChanged() {
371
+ const newRange = __spreadValues(__spreadValues({}, this.granuleMinDate && { startDate: this.granuleMinDate }), this.granuleMaxDate && { endDate: this.granuleMaxDate });
372
+ if (Object.keys(newRange).length > 0) {
373
+ this.selectedDateRange = __spreadValues(__spreadValues({}, this.selectedDateRange), newRange);
374
+ }
375
+ }
376
+ selectedFormatChanged() {
377
+ if (this.selectedFormat.isGiovanniFormat && this.selectedVariables.length > 1) {
378
+ this.selectedVariables = [this.selectedVariables[0]];
379
+ }
380
+ }
381
+ showDialog() {
382
+ var _a;
383
+ (_a = this.dialogElement) == null ? void 0 : _a.show();
384
+ }
385
+ render() {
386
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
387
+ const showJobStatus = __privateGet(this, _harmonyRequestController).jobId && !this.refineParameters;
388
+ const showMinimizeButton = showJobStatus && !!this.dialog;
389
+ const title = (_c = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.EntryTitle) != null ? _c : "Download Data";
390
+ if (!this.collectionWithServices) {
391
+ if (__privateGet(this, _collectionController).hasCapabilitiesError) {
392
+ return b`
393
+ <terra-alert open variant="danger" appearance="white">
394
+ Failed to find the requested collection.
395
+ </terra-alert>
396
+ `;
397
+ }
398
+ }
399
+ const content = b`
400
+ <div class="container">
401
+ ${!this.dialog ? b`
402
+ <div class="header">
403
+ <h1>
404
+ <svg
405
+ class="download-icon"
406
+ viewBox="0 0 24 24"
407
+ fill="currentColor"
408
+ >
409
+ <path
410
+ d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"
411
+ />
412
+ </svg>
413
+ ${title}
414
+ </h1>
415
+
416
+ ${showMinimizeButton ? b`<button
417
+ class="minimize-btn"
418
+ @click=${() => this.minimizeDialog()}
419
+ >
420
+ -
421
+ </button>` : A}
422
+ </div>
423
+ ` : A}
424
+ ${!this.isHistoryView && ((_e = (_d = this.collectionWithServices) == null ? void 0 : _d.services) == null ? void 0 : _e.length) ? b`
425
+ <div class="section">
426
+ ${__privateMethod(this, _renderDataAccessModeSelection, renderDataAccessModeSelection_fn).call(this)}
427
+ </div>
428
+ ` : A}
429
+ ${this.dataAccessMode === "original" ? b`
430
+ <div class="section">
431
+ <terra-data-access
432
+ short-name=${(_h = this.shortName) != null ? _h : (_g = (_f = this.collectionWithServices) == null ? void 0 : _f.collection) == null ? void 0 : _g.ShortName}
433
+ version=${(_k = this.version) != null ? _k : (_j = (_i = this.collectionWithServices) == null ? void 0 : _i.collection) == null ? void 0 : _j.Version}
434
+ ?footer-slot=${!!this.dialog}
435
+ >
436
+ ${this.dialog ? b`
437
+ <div
438
+ slot="footer"
439
+ style="margin-top: 15px;"
440
+ >
441
+ <slot
442
+ name="data-access-footer"
443
+ ></slot>
444
+ </div>
445
+ ` : A}
446
+ </terra-data-access>
447
+ </div>
448
+ ` : showJobStatus ? __privateMethod(this, _renderJobStatus, renderJobStatus_fn).call(this) : __privateMethod(this, _renderSubsetOptions, renderSubsetOptions_fn).call(this)}
449
+ </div>
450
+ `;
451
+ if (this.dialog) {
452
+ return b`
453
+ <terra-dialog id=${this.dialog} style="--title-font-size: 16px;">
454
+ <span
455
+ slot="label"
456
+ style="display: flex; align-items: center; gap: 8px; color: #0066cc; font-weight: 600;"
457
+ >
458
+ <svg
459
+ class="download-icon"
460
+ viewBox="0 0 24 24"
461
+ fill="currentColor"
462
+ style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; flex-shrink: 0;"
463
+ >
464
+ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
465
+ </svg>
466
+ ${title}
467
+ </span>
468
+ ${showMinimizeButton ? b`
469
+ <button
470
+ slot="header-actions"
471
+ class="minimize-btn"
472
+ @click=${() => {
473
+ var _a2;
474
+ return (_a2 = this.dialogElement) == null ? void 0 : _a2.hide();
475
+ }}
476
+ aria-label="Minimize"
477
+ >
478
+ -
479
+ </button>
480
+ ` : A}
481
+ <slot name="dialog-header-content"></slot>
482
+ ${content} ${__privateMethod(this, _renderFooterForDialog, renderFooterForDialog_fn).call(this)}
483
+ </terra-dialog>
484
+ `;
485
+ }
486
+ return b`
487
+ <div class="container">
488
+ <div class="header">
489
+ <h1>
490
+ <svg
491
+ class="download-icon"
492
+ viewBox="0 0 24 24"
493
+ fill="currentColor"
494
+ >
495
+ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
496
+ </svg>
497
+ ${title}
498
+ </h1>
499
+
500
+ ${showMinimizeButton ? b`<button
501
+ class="minimize-btn"
502
+ @click=${() => this.minimizeDialog()}
503
+ >
504
+ -
505
+ </button>` : A}
506
+ </div>
507
+ ${!this.isHistoryView && ((_m = (_l = this.collectionWithServices) == null ? void 0 : _l.services) == null ? void 0 : _m.length) ? b`
508
+ <div class="section">
509
+ ${__privateMethod(this, _renderDataAccessModeSelection, renderDataAccessModeSelection_fn).call(this)}
510
+ </div>
511
+ ` : A}
512
+ ${this.dataAccessMode === "original" ? b`
513
+ <div class="section">
514
+ <terra-data-access
515
+ short-name=${(_p = this.shortName) != null ? _p : (_o = (_n = this.collectionWithServices) == null ? void 0 : _n.collection) == null ? void 0 : _o.ShortName}
516
+ version=${(_s = this.version) != null ? _s : (_r = (_q = this.collectionWithServices) == null ? void 0 : _q.collection) == null ? void 0 : _r.Version}
517
+ ?footer-slot=${!!this.dialog}
518
+ >
519
+ ${this.dialog ? b`
520
+ <div
521
+ slot="footer"
522
+ style="margin-top: 15px;"
523
+ >
524
+ <slot
525
+ name="data-access-footer"
526
+ ></slot>
527
+ </div>
528
+ ` : A}
529
+ </terra-data-access>
530
+ </div>
531
+ ` : showJobStatus ? __privateMethod(this, _renderJobStatus, renderJobStatus_fn).call(this) : __privateMethod(this, _renderSubsetOptions, renderSubsetOptions_fn).call(this)}
532
+ </div>
533
+ `;
534
+ }
535
+ minimizeDialog() {
536
+ var _a;
537
+ (_a = this.closest("terra-dialog")) == null ? void 0 : _a.hide();
538
+ }
539
+ handleCollectionSearch(searchTerm) {
540
+ this.collectionSearchQuery = searchTerm;
541
+ }
542
+ renderHistoryPanel() {
543
+ const existingHistoryPanel = document.querySelector(
544
+ "terra-data-subsetter-history"
545
+ );
546
+ if (!existingHistoryPanel && this.bearerToken) {
547
+ const historyPanel = document.createElement(
548
+ "terra-data-subsetter-history"
549
+ );
550
+ if (this.bearerToken) {
551
+ historyPanel.setAttribute("bearer-token", this.bearerToken);
552
+ }
553
+ if (this.environment) {
554
+ historyPanel.setAttribute("environment", this.environment);
555
+ }
556
+ document.body.appendChild(historyPanel);
557
+ }
558
+ }
559
+ };
560
+ _collectionController = new WeakMap();
561
+ _authController = new WeakMap();
562
+ _harmonyRequestController = new WeakMap();
563
+ _renderFooterForDialog = new WeakSet();
564
+ renderFooterForDialog_fn = function() {
565
+ const showJobStatus = __privateGet(this, _harmonyRequestController).jobId && !this.refineParameters;
566
+ if (showJobStatus && __privateGet(this, _harmonyRequestController).jobId) {
567
+ return b`
568
+ <div slot="footer" class="footer">
569
+ ${__privateGet(this, _harmonyRequestController).status === "successful" /* SUCCESSFUL */ || __privateGet(this, _harmonyRequestController).status === "complete_with_errors" /* COMPLETE_WITH_ERRORS */ ? b`
570
+ <div
571
+ style="display: flex; align-items: center; gap: 8px;"
572
+ >
573
+ <terra-dropdown
574
+ @terra-select=${__privateMethod(this, _handleDownloadSelect, handleDownloadSelect_fn)}
575
+ >
576
+ <terra-button slot="trigger" caret>
577
+ Download Options
578
+ </terra-button>
579
+ <terra-menu>
580
+ <terra-menu-item value="file-list">
581
+ <svg
582
+ slot="prefix"
583
+ viewBox="0 0 24 24"
584
+ width="16"
585
+ height="16"
586
+ style="width: 16px; height: 16px;"
587
+ >
588
+ <path
589
+ fill="currentColor"
590
+ 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"
591
+ />
592
+ </svg>
593
+ File List
594
+ </terra-menu-item>
595
+ <terra-menu-item value="python-script">
596
+ <svg
597
+ slot="prefix"
598
+ viewBox="0 0 128 128"
599
+ width="16"
600
+ height="16"
601
+ style="width: 16px; height: 16px;"
602
+ >
603
+ <path
604
+ fill="currentColor"
605
+ 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"
606
+ ></path>
607
+ </svg>
608
+ Python Script
609
+ </terra-menu-item>
610
+ <terra-menu-item value="earthdata-download">
611
+ <svg
612
+ slot="prefix"
613
+ viewBox="0 0 64 64"
614
+ fill="none"
615
+ width="16"
616
+ height="16"
617
+ style="width: 16px; height: 16px;"
618
+ >
619
+ <circle
620
+ cx="32"
621
+ cy="32"
622
+ r="28"
623
+ fill="currentColor"
624
+ />
625
+ <path
626
+ d="M32 14v26M32 40l-9-9M32 40l9-9"
627
+ stroke="#fff"
628
+ stroke-width="4"
629
+ stroke-linecap="round"
630
+ stroke-linejoin="round"
631
+ fill="none"
632
+ />
633
+ </svg>
634
+ Earthdata Download
635
+ </terra-menu-item>
636
+ </terra-menu>
637
+ </terra-dropdown>
638
+
639
+ <!--
640
+ <terra-button
641
+ outline
642
+ @click=${() => __privateMethod(this, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn).call(this)}
643
+ >
644
+ <terra-icon
645
+ name="outline-code-bracket"
646
+ library="heroicons"
647
+ font-size="1.5em"
648
+ style="margin-right: 5px;"
649
+ ></terra-icon>
650
+ Open in Jupyter Notebook
651
+ </terra-button>
652
+ -->
653
+ </div>
654
+ ` : A}
655
+ ${__privateGet(this, _harmonyRequestController).status === "running" /* RUNNING */ ? b`<button
656
+ class="btn btn-success"
657
+ @click=${__privateMethod(this, _cancelJob, cancelJob_fn)}
658
+ ?disabled=${this.cancelingGetData}
659
+ >
660
+ ${this.cancelingGetData ? "Canceling..." : "Cancel request"}
661
+ </button>` : A}
662
+
663
+ <div class="job-info">
664
+ Job ID:
665
+ <span class="job-id">
666
+ ${this.bearerToken ? b`<a
667
+ href="https://harmony.earthdata.nasa.gov/jobs/${__privateGet(this, _harmonyRequestController).jobId}"
668
+ target="_blank"
669
+ >${__privateGet(this, _harmonyRequestController).jobId}</a
670
+ >` : __privateGet(this, _harmonyRequestController).jobId}
671
+ </span>
672
+ <span class="info-icon">?</span>
673
+ </div>
674
+ </div>
675
+ `;
676
+ } else if (this.dataAccessMode === "subset") {
677
+ return b`
678
+ <div slot="footer" class="footer">
679
+ <button class="btn btn-secondary" @click=${__privateGet(this, _resetAllParameters)}>Reset All</button>
680
+ <div>
681
+ <button class="btn btn-primary" @click=${__privateMethod(this, _getData, getData_fn)}>
682
+ Get Data
683
+ </button>
684
+ ${this.jobId ? b`
685
+ <terra-button
686
+ variant="default"
687
+ @click=${__privateMethod(this, _viewRunningJob, viewRunningJob_fn)}
688
+ >
689
+ View Running Job
690
+ </terra-button>
691
+ ` : A}
692
+ </div>
693
+ </div>
694
+ </div>
695
+ </div>
696
+ `;
697
+ }
698
+ return A;
699
+ };
700
+ _renderSizeInfo = new WeakSet();
701
+ renderSizeInfo_fn = function(estimates) {
702
+ if (!__privateGet(this, _authController).state.isLoading && !__privateGet(this, _authController).state.user) {
703
+ return b`
704
+ <div class="size-info warning">
705
+ <terra-login>
706
+ <h2 slot="logged-out">Limited access as a guest.</h2>
707
+
708
+ <p slot="logged-out">
709
+ Your results will be capped at 10 links. Log in for full
710
+ access to all data.
711
+ </p>
712
+ </terra-login>
713
+ </div>
714
+ `;
715
+ }
716
+ return b`<div
717
+ class="size-info ${estimates.links >= 150 ? "warning" : "neutral"}"
718
+ >
719
+ <h2>Estimated size of results</h2>
720
+ <div class="size-stats">
721
+ ${estimates.days.toLocaleString()} days,
722
+ ${estimates.links.toLocaleString()} links
723
+ </div>
724
+ ${estimates.links >= 150 ? b`<div class="size-warning">
725
+ You are about to retrieve ${estimates.links.toLocaleString()}
726
+ file links from the archive. You may
727
+ <strong>speed up the request</strong> by limiting the scope of
728
+ your search.
729
+ </div>` : A}
730
+ </div>`;
731
+ };
732
+ _renderSubsetOptions = new WeakSet();
733
+ renderSubsetOptions_fn = function() {
734
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
735
+ const estimates = __privateMethod(this, _estimateJobSize, estimateJobSize_fn).call(this);
736
+ const hasSubsetOption = __privateMethod(this, _hasAtLeastOneSubsetOption, hasAtLeastOneSubsetOption_fn).call(this);
737
+ const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
738
+ const temporalExtents = collection == null ? void 0 : collection.TemporalExtents;
739
+ const spatialExtent = collection == null ? void 0 : collection.SpatialExtent;
740
+ const showTemporalSection = temporalExtents == null ? void 0 : temporalExtents.length;
741
+ const showSpatialSection = (_c = (_b = spatialExtent == null ? void 0 : spatialExtent.HorizontalSpatialDomain) == null ? void 0 : _b.Geometry) == null ? void 0 : _c.BoundingRectangles;
742
+ return b`
743
+ ${this.dataAccessMode === "original" ? A : hasSubsetOption ? b`
744
+ ${hasSubsetOption && estimates ? __privateMethod(this, _renderSizeInfo, renderSizeInfo_fn).call(this, estimates) : A}
745
+ ${this.showCollectionSearch ? b`
746
+ <div class="section">
747
+ <h2 class="section-title">
748
+ Select Data Collection
749
+ </h2>
750
+
751
+ ${__privateMethod(this, _renderSearchForCollection, renderSearchForCollection_fn).call(this)}
752
+ </div>
753
+ ` : A}
754
+ ${((_e = (_d = this.collectionWithServices) == null ? void 0 : _d.summary.outputFormats) == null ? void 0 : _e.length) && hasSubsetOption ? b`
755
+ <div class="section">
756
+ <h2 class="section-title">Output Format</h2>
757
+
758
+ ${__privateMethod(this, _renderOutputFormatSelection, renderOutputFormatSelection_fn).call(this)}
759
+ </div>
760
+ ` : A}
761
+ <div class="section">
762
+ <h2 class="section-title">Subset Options</h2>
763
+ <p style="color: #666; margin-bottom: 16px;">
764
+ Generate file links that support spatial subsetting,
765
+ date/time range selection, and variable selection.
766
+ </p>
767
+
768
+ ${((_f = this.collectionWithServices) == null ? void 0 : _f.summary.subsetting.temporal) ? __privateMethod(this, _renderDateRangeSelection, renderDateRangeSelection_fn).call(this) : A}
769
+ ${__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this) ? __privateMethod(this, _renderSpatialSelection, renderSpatialSelection_fn).call(this) : A}
770
+ ${((_g = this.collectionWithServices) == null ? void 0 : _g.summary.subsetting.variable) ? __privateMethod(this, _renderVariableSelection, renderVariableSelection_fn).call(this) : A}
771
+ ${((_h = this.collectionWithServices) == null ? void 0 : _h.summary.subsetting.variable) && isFeatureEnabled(
772
+ KnownFeatureFlags.DIMENSION_SUBSET,
773
+ this.features
774
+ ) ? __privateMethod(this, _renderDimensionSelection, renderDimensionSelection_fn).call(this) : A}
775
+ </div>
776
+ ` : b`
777
+ ${showTemporalSection && !((_i = this.collectionWithServices) == null ? void 0 : _i.summary.subsetting.temporal) ? __privateMethod(this, _renderAvailableTemporalRangeSection, renderAvailableTemporalRangeSection_fn).call(this) : A}
778
+ ${showSpatialSection && !__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this) ? __privateMethod(this, _renderAvailableSpatialRangeSection, renderAvailableSpatialRangeSection_fn).call(this) : A}
779
+ `}
780
+ ${!hasSubsetOption && estimates ? b`
781
+ <div
782
+ class="neutral-info"
783
+ style="margin-top: 24px; padding: 16px 20px; border-radius: 6px; background: #f8f9fa; color: #555; border: 1px solid #ccc;"
784
+ >
785
+ <strong>Estimated result size:</strong><br />
786
+ Your request will return approximately
787
+ <b>${estimates.links.toLocaleString()}</b> files covering
788
+ <b>${estimates.days.toLocaleString()}</b> days.
789
+ </div>
790
+ ` : A}
791
+ ${this.dataAccessMode === "subset" && !this.dialog ? b`
792
+ <div class="footer">
793
+ <button class="btn btn-secondary" @click=${__privateGet(this, _resetAllParameters)}>Reset All</button>
794
+ <div>
795
+ <button
796
+ class="btn btn-primary"
797
+ @click=${__privateMethod(this, _getData, getData_fn)}
798
+ >
799
+ Get Data
800
+ </button>
801
+ ${this.jobId ? b`
802
+ <terra-button
803
+ variant="default"
804
+ @click=${__privateMethod(this, _viewRunningJob, viewRunningJob_fn)}
805
+ >
806
+ View Running Job
807
+ </terra-button>
808
+ ` : A}
809
+ </div>
810
+ </div>
811
+ </div>
812
+ </div>
813
+ ` : A}
814
+ `;
815
+ };
816
+ _resetAllParameters = new WeakMap();
817
+ _renderSearchForCollection = new WeakSet();
818
+ renderSearchForCollection_fn = function() {
819
+ var _a, _b;
820
+ let placeholder = "Search all types of resources (e.g. rainfall, GPM, hurricanes, etc.)";
821
+ if (this.collectionSearchType === "collection") {
822
+ placeholder = "Search collections (e.g. AQUA, GPM_3IMERGH, etc.)";
823
+ }
824
+ if (this.collectionSearchType === "variable") {
825
+ placeholder = "Search variables (e.g. rainfall, hurricanes, etc.)";
826
+ }
827
+ return b`
828
+ <terra-accordion .open=${this.collectionAccordionOpen}>
829
+ <div slot="summary">
830
+ <span class="accordion-title">Collection:</span>
831
+ </div>
832
+
833
+ <div
834
+ slot="summary-right"
835
+ style="display: flex; align-items: center; gap: 10px"
836
+ >
837
+ ${this.collectionEntryId ? b` <span
838
+ class="accordion-value"
839
+ id="selected-collection-display"
840
+ >${this.collectionEntryId}</span
841
+ >
842
+
843
+ <button
844
+ class="reset-btn"
845
+ @click=${() => this.collectionEntryId = void 0}
846
+ >
847
+ Reset
848
+ </button>` : A}
849
+ </div>
850
+
851
+ <div class="search-tabs-mini">
852
+ <button
853
+ class="search-tab-mini ${this.collectionSearchType === "all" ? "active" : ""}"
854
+ @click=${() => this.collectionSearchType = "all"}
855
+ >
856
+ All
857
+ </button>
858
+ <button
859
+ class="search-tab-mini ${this.collectionSearchType === "collection" ? "active" : ""}"
860
+ @click=${() => this.collectionSearchType = "collection"}
861
+ >
862
+ Collections
863
+ </button>
864
+ <button
865
+ class="search-tab-mini ${this.collectionSearchType === "variable" ? "active" : ""}"
866
+ @click=${() => this.collectionSearchType = "variable"}
867
+ >
868
+ Variables
869
+ </button>
870
+ </div>
871
+
872
+ <div class="search-container-mini">
873
+ <input
874
+ type="text"
875
+ class="search-input-mini"
876
+ id="search-input"
877
+ placeholder=${placeholder}
878
+ @input="${(e2) => this.handleCollectionSearch(
879
+ e2.target.value
880
+ )}"
881
+ />
882
+
883
+ <button class="search-button-mini">
884
+ <svg
885
+ class="search-icon-mini"
886
+ viewBox="0 0 24 24"
887
+ fill="currentColor"
888
+ >
889
+ <path
890
+ 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"
891
+ />
892
+ </svg>
893
+ Search
894
+ </button>
895
+ </div>
896
+
897
+ <!-- TODO: it may be nice to have a quick search, perhaps by recent trends?
898
+ <div class="quick-links-mini">
899
+ <a href="#" class="quick-link-mini" onclick="quickSearch('GPM')"
900
+ >GPM Precipitation</a
901
+ >
902
+ <a href="#" class="quick-link-mini" onclick="quickSearch('MODIS')"
903
+ >MODIS Data</a
904
+ >
905
+ <a
906
+ href="#"
907
+ class="quick-link-mini"
908
+ onclick="quickSearch('Landsat')"
909
+ >Landsat Imagery</a
910
+ >
911
+ <a href="#" class="quick-link-mini" onclick="quickSearch('AIRS')"
912
+ >Atmospheric Data</a
913
+ >
914
+ </div>
915
+ -->
916
+
917
+ <div id="search-results-section" class="search-results-section">
918
+ ${this.collectionSearchLoading ? b`
919
+ <div id="loading-mini" class="loading-mini">
920
+ <div class="spinner-mini"></div>
921
+ <div>Searching NASA CMR...</div>
922
+ </div>
923
+ ` : ((_a = this.collectionSearchResults) == null ? void 0 : _a.length) ? b` <div
924
+ id="results-container-mini"
925
+ class="results-container-mini"
926
+ >
927
+ ${(_b = this.collectionSearchResults) == null ? void 0 : _b.map(
928
+ (item) => b`
929
+ <div
930
+ class="result-item-mini"
931
+ @click=${() => {
932
+ this.collectionEntryId = item.collectionEntryId;
933
+ this.collectionAccordionOpen = false;
934
+ this.collectionLoading = true;
935
+ if (item.type === "variable") {
936
+ this.selectedVariables = [
937
+ {
938
+ name: item.entryId,
939
+ href: "",
940
+ conceptId: item.conceptId
941
+ }
942
+ ];
943
+ }
944
+ this.requestUpdate();
945
+ }}
946
+ style="cursor: pointer;"
947
+ >
948
+ <div class="result-title-mini">
949
+ ${item.title}
950
+ </div>
951
+ <div class="result-id-mini">
952
+ ${item.entryId}
953
+ </div>
954
+ <div class="result-description-mini">
955
+ ${item.summary || item.title}
956
+ </div>
957
+ <div class="result-meta-mini">
958
+ <span>📅 2000-02-24 - ongoing</span>
959
+ <span>🌍 Global</span>
960
+ <span>🏢 ${item.provider}</span>
961
+ ${item.type === "variable" ? b` <span
962
+ >📊
963
+ ${item.collectionEntryId}</span
964
+ >` : A}
965
+ <span class="tag-mini"
966
+ >${item.type.toUpperCase()}</span
967
+ >
968
+ </div>
969
+ </div>
970
+ `
971
+ )}
972
+ </div>` : this.collectionSearchResults && this.collectionSearchResults.length === 0 ? b`<div id="no-results-mini" class="no-results-mini">
973
+ <p>
974
+ No results found for
975
+ '${this.collectionSearchQuery}'. Try adjusting
976
+ your search term.
977
+ </p>
978
+ </div>` : A}
979
+ </div>
980
+ </terra-accordion>
981
+
982
+ ${this.collectionLoading ? b`
983
+ <div
984
+ class="collection-loading-bar"
985
+ style="display: flex; align-items: center; gap: 10px; margin: 16px 0;"
986
+ >
987
+ <span
988
+ class="loading-spinner"
989
+ 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;"
990
+ ></span>
991
+ Retrieving collection, please wait...
992
+ </div>
993
+ <style>
994
+ @keyframes spin {
995
+ 0% {
996
+ transform: rotate(0deg);
997
+ }
998
+ 100% {
999
+ transform: rotate(360deg);
1000
+ }
1001
+ }
1002
+ </style>
1003
+ ` : A}
1004
+ `;
1005
+ };
1006
+ _renderOutputFormatSelection = new WeakSet();
1007
+ renderOutputFormatSelection_fn = function() {
1008
+ return b`
1009
+ <terra-accordion>
1010
+ <div slot="summary">
1011
+ <span class="accordion-title">File Format:</span>
1012
+ </div>
1013
+
1014
+ <div
1015
+ slot="summary-right"
1016
+ style="display: flex; align-items: center; gap: 10px;"
1017
+ >
1018
+ <span>${this.selectedFormat.label}</span>
1019
+
1020
+ <button class="reset-btn" @click=${__privateGet(this, _resetFormatSelection)}>
1021
+ Reset
1022
+ </button>
1023
+ </div>
1024
+
1025
+ <div class="accordion-content" style="margin-top: 12px;">
1026
+ ${(() => {
1027
+ var _a;
1028
+ return (((_a = this.collectionWithServices) == null ? void 0 : _a.configuredOutputFormats) || []).map(
1029
+ (format) => b`
1030
+ <label
1031
+ style="display: flex; align-items: center; gap: 8px; padding: 5px;"
1032
+ >
1033
+ <input
1034
+ type="radio"
1035
+ name="output-format"
1036
+ value="${format}"
1037
+ .checked=${this.selectedFormat === format}
1038
+ @change=${() => this.selectedFormat = format}
1039
+ />
1040
+ ${format.label}
1041
+ </label>
1042
+ `
1043
+ );
1044
+ })()}
1045
+ </div>
1046
+ </terra-accordion>
1047
+ `;
1048
+ };
1049
+ _renderDateRangeSelection = new WeakSet();
1050
+ renderDateRangeSelection_fn = function() {
1051
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1052
+ const { startDate: defaultStartDate, endDate: defaultEndDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
1053
+ const startDate = (_b = (_a = this.selectedDateRange.startDate) != null ? _a : this.granuleMinDate) != null ? _b : defaultStartDate;
1054
+ const endDate = (_d = (_c = this.selectedDateRange.endDate) != null ? _c : this.granuleMaxDate) != null ? _d : defaultEndDate;
1055
+ const showError = this.touchedFields.has("date") && (!this.selectedDateRange.startDate || !this.selectedDateRange.endDate);
1056
+ return b`
1057
+ <terra-accordion>
1058
+ <div slot="summary">
1059
+ <span class="accordion-title">Refine Date Range:</span>
1060
+ </div>
1061
+
1062
+ <div
1063
+ slot="summary-right"
1064
+ style="display: flex; align-items: center; gap: 10px;"
1065
+ >
1066
+ ${showError ? b`<span class="accordion-value error"
1067
+ >Please select a date range</span
1068
+ >` : this.touchedFields.has("date") && startDate && endDate ? b`<span class="accordion-value"
1069
+ >${startDate} to ${endDate}</span
1070
+ >` : A}
1071
+ <button class="reset-btn" @click=${__privateGet(this, _resetDateRangeSelection)}>
1072
+ Reset
1073
+ </button>
1074
+ </div>
1075
+
1076
+ <div style="width: 300px">
1077
+ <terra-date-picker
1078
+ allow-input
1079
+ inline
1080
+ range
1081
+ split-inputs
1082
+ show-presets
1083
+ ?enable-time=${this.isSubDaily}
1084
+ start-label="Start Date"
1085
+ end-label="End Date"
1086
+ .minDate=${(_e = this.granuleMinDate) != null ? _e : defaultStartDate}
1087
+ .maxDate=${(_f = this.granuleMaxDate) != null ? _f : defaultEndDate}
1088
+ .startDate=${(_g = this.selectedDateRange.startDate) != null ? _g : this.granuleMinDate}
1089
+ .endDate=${(_h = this.selectedDateRange.endDate) != null ? _h : this.granuleMaxDate}
1090
+ .useEndOfDay=${!this.selectedFormat.isGiovanniFormat}
1091
+ @terra-date-range-change=${__privateGet(this, _handleDateChange)}
1092
+ ></terra-date-picker>
1093
+ </div>
1094
+
1095
+ <div
1096
+ style="display: flex; gap: 16px; margin-top: 15px; color: #31708f;"
1097
+ >
1098
+ <span
1099
+ ><strong>Available Range:</strong> ${defaultStartDate} to
1100
+ ${defaultEndDate}</span
1101
+ >
1102
+ ${this.isSubDaily ? b`<span
1103
+ ><strong>Note:</strong> All dates and times are in
1104
+ UTC.</span
1105
+ >` : A}
1106
+ </div>
1107
+ </terra-accordion>
1108
+ `;
1109
+ };
1110
+ _handleDateChange = new WeakMap();
1111
+ _resetDateRangeSelection = new WeakMap();
1112
+ _resetFormatSelection = new WeakMap();
1113
+ _getCollectionDateRange = new WeakSet();
1114
+ getCollectionDateRange_fn = function() {
1115
+ var _a, _b;
1116
+ const samplingMinDate = this.granuleMinDate;
1117
+ const samplingMaxDate = this.granuleMaxDate;
1118
+ if (samplingMinDate && samplingMaxDate) {
1119
+ return {
1120
+ startDate: samplingMinDate.slice(0, 10),
1121
+ endDate: samplingMaxDate.slice(0, 10)
1122
+ };
1123
+ }
1124
+ const temporalExtents = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.TemporalExtents;
1125
+ if (!(temporalExtents == null ? void 0 : temporalExtents.length))
1126
+ return {
1127
+ startDate: null,
1128
+ endDate: null
1129
+ };
1130
+ let minStart = null;
1131
+ let maxEnd = null;
1132
+ const today = /* @__PURE__ */ new Date();
1133
+ for (const temporal of temporalExtents) {
1134
+ for (const range of temporal.RangeDateTimes || []) {
1135
+ const start = new Date(range.BeginningDateTime);
1136
+ let end;
1137
+ if (temporal.EndsAtPresentFlag || !range.EndingDateTime) {
1138
+ end = today;
1139
+ } else {
1140
+ end = new Date(range.EndingDateTime);
1141
+ }
1142
+ if (!minStart || start < minStart)
1143
+ minStart = start;
1144
+ if (!maxEnd || end > maxEnd)
1145
+ maxEnd = end;
1146
+ }
1147
+ }
1148
+ return {
1149
+ startDate: minStart ? minStart.toISOString().slice(0, 10) : null,
1150
+ endDate: maxEnd ? maxEnd.toISOString().slice(0, 10) : null
1151
+ };
1152
+ };
1153
+ _renderSpatialSelection = new WeakSet();
1154
+ renderSpatialSelection_fn = function() {
1155
+ var _a, _b;
1156
+ const showError = this.touchedFields.has("spatial") && !this.spatialSelection;
1157
+ const spatialString = (_b = (_a = this.spatialSelection) == null ? void 0 : _a.toString()) != null ? _b : this.spatialSelection;
1158
+ return b`
1159
+ <terra-accordion>
1160
+ <div slot="summary">
1161
+ <span class="accordion-title">Refine Region:</span>
1162
+ </div>
1163
+
1164
+ <div
1165
+ slot="summary-right"
1166
+ style="display: flex; align-items: center; gap: 10px;"
1167
+ >
1168
+ ${showError ? b`<span class="accordion-value error"
1169
+ >Please select a region</span
1170
+ >` : spatialString ? b`<span class="accordion-value"
1171
+ >${spatialString}</span
1172
+ >` : A}
1173
+ <button class="reset-btn" @click=${__privateGet(this, _resetSpatialSelection)}>
1174
+ Reset
1175
+ </button>
1176
+ </div>
1177
+ <div class="accordion-content">
1178
+ <terra-spatial-picker
1179
+ part="spatial-picker"
1180
+ inline
1181
+ hide-label
1182
+ .spatialConstraints=${__privateGet(this, _collectionController).spatialConstraints || "-180, -90, 180, 90"}
1183
+ .initialValue=${spatialString}
1184
+ @terra-map-change=${__privateGet(this, _handleSpatialChange)}
1185
+ ></terra-spatial-picker>
1186
+ <div
1187
+ style="display: flex; gap: 16px; margin-top: 15px; color: #31708f;"
1188
+ >
1189
+ <span
1190
+ ><strong>Available Range:</strong> ${__privateGet(this, _collectionController).spatialConstraints}</span
1191
+ >
1192
+ </div>
1193
+ </div>
1194
+ </terra-accordion>
1195
+ `;
1196
+ };
1197
+ _handleSpatialChange = new WeakMap();
1198
+ _resetSpatialSelection = new WeakMap();
1199
+ _renderVariableSelection = new WeakSet();
1200
+ renderVariableSelection_fn = function() {
1201
+ var _a;
1202
+ const variables = ((_a = this.collectionWithServices) == null ? void 0 : _a.variables) || [];
1203
+ const giovanniError = this.touchedFields.has("variables") && __privateMethod(this, _getGiovanniValidationError, getGiovanniValidationError_fn).call(this);
1204
+ const basicError = this.touchedFields.has("variables") && this.selectedVariables.length === 0;
1205
+ const showError = giovanniError || basicError;
1206
+ const errorMessage = giovanniError || (basicError ? "Please select at least one variable" : "");
1207
+ const tree = __privateMethod(this, _buildVariableTree, buildVariableTree_fn).call(this, variables);
1208
+ const allGroups = __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, tree);
1209
+ const allExpanded = allGroups.length > 0 && allGroups.every((g) => this.expandedVariableGroups.has(g));
1210
+ return b`
1211
+ <terra-accordion>
1212
+ <div slot="summary">
1213
+ <span class="accordion-title">Select Variables:</span>
1214
+ </div>
1215
+ <div
1216
+ slot="summary-right"
1217
+ style="display: flex; align-items: center; gap: 10px;"
1218
+ >
1219
+ ${showError ? b`<span class="accordion-value error"
1220
+ >${errorMessage}</span
1221
+ >` : this.selectedVariables.length ? b`<span class="accordion-value"
1222
+ >${this.selectedVariables.length} selected</span
1223
+ >` : A}
1224
+
1225
+ <button class="reset-btn" @click=${__privateGet(this, _resetVariableSelection)}>
1226
+ Reset
1227
+ </button>
1228
+ </div>
1229
+ <div class="accordion-content">
1230
+ <terra-input
1231
+ label="Filter variables"
1232
+ placeholder="Search by variable name..."
1233
+ .value=${this.variableFilterText}
1234
+ @input=${(e2) => {
1235
+ const input = e2.target;
1236
+ this.variableFilterText = input.value;
1237
+ __privateMethod(this, _handleVariableFilterChange, handleVariableFilterChange_fn).call(this);
1238
+ }}
1239
+ style="margin-bottom: 10px;"
1240
+ ></terra-input>
1241
+ <button
1242
+ class="reset-btn"
1243
+ style="margin-bottom: 10px;"
1244
+ @click=${() => __privateMethod(this, _toggleExpandCollapseAll, toggleExpandCollapseAll_fn).call(this, tree)}
1245
+ >
1246
+ ${allExpanded ? "Collapse Tree" : "Expand Tree"}
1247
+ </button>
1248
+
1249
+ ${this.selectedFormat.isGiovanniFormat && this.giovanniConfiguredVariables ? b`
1250
+ <terra-alert
1251
+ open
1252
+ appearance="white"
1253
+ style="margin: 10px 0"
1254
+ >
1255
+ <terra-icon
1256
+ slot="icon"
1257
+ name="outline-information-circle"
1258
+ library="heroicons"
1259
+ ></terra-icon>
1260
+ Only certain variables are supported for the
1261
+ selected output format. (Giovanni service)
1262
+ </terra-alert>
1263
+ ` : A}
1264
+ ${variables.length === 0 ? b`<p style="color: #666; font-style: italic;">
1265
+ No variables available for this collection.
1266
+ </p>` : __privateMethod(this, _renderVariableTree, renderVariableTree_fn).call(this, __privateMethod(this, _filterVariableTree, filterVariableTree_fn).call(this, tree), [])}
1267
+ </div>
1268
+ </terra-accordion>
1269
+ `;
1270
+ };
1271
+ _renderDimensionGroup = new WeakSet();
1272
+ renderDimensionGroup_fn = function(dim) {
1273
+ var _a, _b, _c, _d, _e, _f;
1274
+ const currentValue = (_a = this.selectedDimensionIndexes[dim.name]) != null ? _a : 1;
1275
+ const dimensions = ((_f = (_e = (_d = (_c = (_b = __privateGet(this, _collectionController).gesDiscCollection) == null ? void 0 : _b.data) == null ? void 0 : _c.services) == null ? void 0 : _d.subset) == null ? void 0 : _e.find(
1276
+ (s) => s.dimensions && s.dimensions.length > 0
1277
+ )) == null ? void 0 : _f.dimensions) || [];
1278
+ return b`
1279
+ <div style="margin-bottom: 16px;">
1280
+ <div
1281
+ style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px;"
1282
+ >
1283
+ <span style="font-weight: 600; margin-bottom: 44px"
1284
+ >Dimension: ${dim.name}</span
1285
+ >
1286
+ </div>
1287
+ <terra-slider
1288
+ class="dimension-slider"
1289
+ mode="range"
1290
+ min="1"
1291
+ .max=${dim.size}
1292
+ step="1"
1293
+ .startValue=${currentValue.start}
1294
+ .endValue=${currentValue.end}
1295
+ has-tooltips
1296
+ show-inputs
1297
+ hide-label
1298
+ .formatTooltip=${dimensions.length > 0 ? (value) => {
1299
+ const found = dimensions.find(
1300
+ (d) => String(d.value) === String(value)
1301
+ );
1302
+ return found ? found.label : String(value);
1303
+ } : A}
1304
+ @terra-slider-change=${(event) => {
1305
+ if ("startValue" in event.detail) {
1306
+ const { startValue, endValue } = event.detail;
1307
+ __privateMethod(this, _setDimensionValue, setDimensionValue_fn).call(this, dim.name, startValue, endValue);
1308
+ }
1309
+ }}
1310
+ ></terra-slider>
1311
+ </div>
1312
+ `;
1313
+ };
1314
+ _setDimensionValue = new WeakSet();
1315
+ setDimensionValue_fn = function(dimName, startValue, endValue) {
1316
+ const dimensions = __privateMethod(this, _getCommonSelectableDimensions, getCommonSelectableDimensions_fn).call(this);
1317
+ const found = dimensions.find((d) => d.name === dimName);
1318
+ if (!found) {
1319
+ return;
1320
+ }
1321
+ const normalizedStartValue = Math.min(
1322
+ Math.max(Math.round(startValue), 1),
1323
+ found.size
1324
+ );
1325
+ const normalizedEndValue = Math.min(
1326
+ Math.max(Math.round(endValue != null ? endValue : startValue), 1),
1327
+ found.size
1328
+ );
1329
+ if (normalizedStartValue <= 1 && normalizedEndValue >= found.size) {
1330
+ delete this.selectedDimensionIndexes[dimName];
1331
+ return;
1332
+ }
1333
+ this.selectedDimensionIndexes = __spreadProps(__spreadValues({}, this.selectedDimensionIndexes), {
1334
+ [dimName]: { start: normalizedStartValue, end: normalizedEndValue }
1335
+ });
1336
+ };
1337
+ _renderDimensionSelection = new WeakSet();
1338
+ renderDimensionSelection_fn = function() {
1339
+ const dimensions = __privateMethod(this, _getCommonSelectableDimensions, getCommonSelectableDimensions_fn).call(this);
1340
+ if (!dimensions.length) {
1341
+ return A;
1342
+ }
1343
+ const selectedCount = Object.keys(this.selectedDimensionIndexes).length;
1344
+ return b`
1345
+ <terra-accordion>
1346
+ <div slot="summary">
1347
+ <span class="accordion-title">Select Dimensions:</span>
1348
+ </div>
1349
+ <div
1350
+ slot="summary-right"
1351
+ style="display: flex; align-items: center; gap: 10px;"
1352
+ >
1353
+ ${selectedCount ? b`<span class="accordion-value"
1354
+ >${selectedCount}
1355
+ dimension${selectedCount === 1 ? "" : "s"}
1356
+ selected</span
1357
+ >` : A}
1358
+ <button class="reset-btn" @click=${__privateMethod(this, _resetDimensionSelection, resetDimensionSelection_fn)}>
1359
+ Reset
1360
+ </button>
1361
+ </div>
1362
+ <div class="accordion-content">
1363
+ ${dimensions.map((dim) => __privateMethod(this, _renderDimensionGroup, renderDimensionGroup_fn).call(this, dim))}
1364
+ </div>
1365
+ </terra-accordion>
1366
+ `;
1367
+ };
1368
+ _filterVariableTree = new WeakSet();
1369
+ filterVariableTree_fn = function(tree) {
1370
+ if (!this.variableFilterText.trim()) {
1371
+ return tree;
1372
+ }
1373
+ const filterText = this.variableFilterText.toLowerCase().trim();
1374
+ const filterNode = (node) => {
1375
+ const result = {};
1376
+ for (const [key, value] of Object.entries(node)) {
1377
+ if (value.__isLeaf) {
1378
+ const variableName = value.__variable.name.toLowerCase();
1379
+ if (variableName.includes(filterText)) {
1380
+ result[key] = value;
1381
+ }
1382
+ } else {
1383
+ const filteredChildren = filterNode(value.__children);
1384
+ if (Object.keys(filteredChildren).length > 0 || key.toLowerCase().includes(filterText)) {
1385
+ result[key] = __spreadProps(__spreadValues({}, value), {
1386
+ __children: filteredChildren
1387
+ });
1388
+ }
1389
+ }
1390
+ }
1391
+ return result;
1392
+ };
1393
+ return filterNode(tree);
1394
+ };
1395
+ _handleVariableFilterChange = new WeakSet();
1396
+ handleVariableFilterChange_fn = function() {
1397
+ var _a;
1398
+ if (!this.variableFilterText.trim()) {
1399
+ return;
1400
+ }
1401
+ const variables = ((_a = this.collectionWithServices) == null ? void 0 : _a.variables) || [];
1402
+ const tree = __privateMethod(this, _buildVariableTree, buildVariableTree_fn).call(this, variables);
1403
+ const filterText = this.variableFilterText.toLowerCase().trim();
1404
+ const groupsToExpand = /* @__PURE__ */ new Set();
1405
+ const findMatchingGroups = (node, path = []) => {
1406
+ for (const [key, value] of Object.entries(node)) {
1407
+ if (value.__isLeaf) {
1408
+ const variableName = value.__variable.name.toLowerCase();
1409
+ if (variableName.includes(filterText)) {
1410
+ for (let i = 0; i < path.length; i++) {
1411
+ const groupPath = path.slice(0, i + 1).join("/");
1412
+ groupsToExpand.add(groupPath);
1413
+ }
1414
+ }
1415
+ } else {
1416
+ const groupPath = [...path, key].join("/");
1417
+ findMatchingGroups(value.__children, [...path, key]);
1418
+ if (key.toLowerCase().includes(filterText)) {
1419
+ groupsToExpand.add(groupPath);
1420
+ }
1421
+ }
1422
+ }
1423
+ };
1424
+ findMatchingGroups(tree);
1425
+ if (groupsToExpand.size > 0) {
1426
+ this.expandedVariableGroups = /* @__PURE__ */ new Set([
1427
+ ...this.expandedVariableGroups,
1428
+ ...groupsToExpand
1429
+ ]);
1430
+ }
1431
+ };
1432
+ _buildVariableTree = new WeakSet();
1433
+ buildVariableTree_fn = function(variables) {
1434
+ let filteredVariables = variables;
1435
+ if (this.selectedFormat.isGiovanniFormat && this.giovanniConfiguredVariables) {
1436
+ filteredVariables = variables.filter((v) => {
1437
+ var _a, _b, _c;
1438
+ const shortName = (_a = this.collectionWithServices) == null ? void 0 : _a.shortName;
1439
+ const version = (_c = (_b = this.collectionWithServices) == null ? void 0 : _b.collection) == null ? void 0 : _c.Version;
1440
+ if (!shortName || !version) {
1441
+ return false;
1442
+ }
1443
+ const giovanniVariableName = convertVariableEntryIdToGiovanniFormat(
1444
+ shortName,
1445
+ version,
1446
+ v.name
1447
+ );
1448
+ return this.giovanniConfiguredVariables.has(giovanniVariableName);
1449
+ });
1450
+ }
1451
+ const root = {};
1452
+ for (const v of filteredVariables) {
1453
+ const parts = v.name.split("/");
1454
+ let node = root;
1455
+ for (let i = 0; i < parts.length; i++) {
1456
+ const part = parts[i];
1457
+ if (!node[part])
1458
+ node[part] = { __children: {}, __isLeaf: false };
1459
+ if (i === parts.length - 1) {
1460
+ node[part].__isLeaf = true;
1461
+ node[part].__variable = v;
1462
+ }
1463
+ node = node[part].__children;
1464
+ }
1465
+ }
1466
+ return root;
1467
+ };
1468
+ _renderVariableTree = new WeakSet();
1469
+ renderVariableTree_fn = function(node, path) {
1470
+ const isGiovanni = this.selectedFormat.isGiovanniFormat;
1471
+ return b`
1472
+ <div style="margin-left: ${path.length * 20}px;">
1473
+ ${Object.entries(node).map(([key, value]) => {
1474
+ var _a;
1475
+ const groupPath = [...path, key].join("/");
1476
+ if (value.__isLeaf) {
1477
+ const ummVar = cmr_variable_service_default.getVariableByName(
1478
+ key,
1479
+ (_a = __privateGet(this, _collectionController).variables) == null ? void 0 : _a.data
1480
+ );
1481
+ const variableLabel = ummVar ? cmr_variable_service_default.getVariableDisplayLabel(ummVar) : key;
1482
+ return b`
1483
+ <div class="option-row">
1484
+ <label class="checkbox-option">
1485
+ <input
1486
+ type="${isGiovanni ? "radio" : "checkbox"}"
1487
+ name="${isGiovanni ? "variable-selection" : ""}"
1488
+ .checked=${this.selectedVariables.some(
1489
+ (v) => v.name === value.__variable.name
1490
+ )}
1491
+ @change=${(e2) => __privateMethod(this, _toggleVariableSelection, toggleVariableSelection_fn).call(this, e2, value.__variable)}
1492
+ />
1493
+ <span>${variableLabel}</span>
1494
+ </label>
1495
+ </div>
1496
+ `;
1497
+ } else {
1498
+ const expanded = this.expandedVariableGroups.has(groupPath);
1499
+ return b`
1500
+ <div class="option-row" style="align-items: flex-start;">
1501
+ <span
1502
+ style="cursor: pointer; display: flex; align-items: center;"
1503
+ @click=${() => __privateMethod(this, _toggleGroupExpand, toggleGroupExpand_fn).call(this, groupPath)}
1504
+ >
1505
+ <terra-icon
1506
+ library="heroicons"
1507
+ name="${expanded ? "outline-minus-circle" : "outline-plus-circle"}"
1508
+ style="margin-right: 4px;"
1509
+ ></terra-icon>
1510
+ <span style="font-weight: 500;">${key}</span>
1511
+ </span>
1512
+ </div>
1513
+ ${expanded ? __privateMethod(this, _renderVariableTree, renderVariableTree_fn).call(this, value.__children, [
1514
+ ...path,
1515
+ key
1516
+ ]) : ""}
1517
+ `;
1518
+ }
1519
+ })}
1520
+ </div>
1521
+ `;
1522
+ };
1523
+ _getAllGroupPaths = new WeakSet();
1524
+ getAllGroupPaths_fn = function(node, path = []) {
1525
+ let groups = [];
1526
+ for (const [key, value] of Object.entries(node)) {
1527
+ if (!value.__isLeaf) {
1528
+ const groupPath = [...path, key].join("/");
1529
+ groups.push(groupPath);
1530
+ groups = groups.concat(
1531
+ __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, value.__children, [...path, key])
1532
+ );
1533
+ }
1534
+ }
1535
+ return groups;
1536
+ };
1537
+ _toggleGroupExpand = new WeakSet();
1538
+ toggleGroupExpand_fn = function(groupPath) {
1539
+ const set = new Set(this.expandedVariableGroups);
1540
+ if (set.has(groupPath)) {
1541
+ set.delete(groupPath);
1542
+ } else {
1543
+ set.add(groupPath);
1544
+ }
1545
+ this.expandedVariableGroups = set;
1546
+ };
1547
+ _toggleExpandCollapseAll = new WeakSet();
1548
+ toggleExpandCollapseAll_fn = function(tree) {
1549
+ const allGroups = __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, tree);
1550
+ const allExpanded = allGroups.length > 0 && allGroups.every((g) => this.expandedVariableGroups.has(g));
1551
+ if (allExpanded) {
1552
+ this.expandedVariableGroups = /* @__PURE__ */ new Set();
1553
+ } else {
1554
+ this.expandedVariableGroups = new Set(allGroups);
1555
+ }
1556
+ };
1557
+ _toggleVariableSelection = new WeakSet();
1558
+ toggleVariableSelection_fn = function(e2, variable) {
1559
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "variables");
1560
+ const checked = e2.target.checked;
1561
+ if (this.selectedFormat.isGiovanniFormat) {
1562
+ if (checked) {
1563
+ this.selectedVariables = [variable];
1564
+ }
1565
+ } else {
1566
+ if (checked) {
1567
+ if (!this.selectedVariables.some((v) => v.name === variable.name)) {
1568
+ this.selectedVariables = [...this.selectedVariables, variable];
1569
+ }
1570
+ } else {
1571
+ this.selectedVariables = this.selectedVariables.filter(
1572
+ (v) => v.name !== variable.name
1573
+ );
1574
+ }
1575
+ }
1576
+ };
1577
+ _markFieldTouched = new WeakSet();
1578
+ markFieldTouched_fn = function(field) {
1579
+ this.touchedFields = new Set(this.touchedFields).add(field);
1580
+ };
1581
+ _resetVariableSelection = new WeakMap();
1582
+ _resetDimensionSelection = new WeakSet();
1583
+ resetDimensionSelection_fn = function() {
1584
+ this.selectedDimensionIndexes = {};
1585
+ };
1586
+ _isDimensionExcluded = new WeakSet();
1587
+ isDimensionExcluded_fn = function(dim) {
1588
+ var _a, _b, _c;
1589
+ const normalizedName = (_b = (_a = dim.Name) == null ? void 0 : _a.toLowerCase()) != null ? _b : "";
1590
+ const normalizedType = ((_c = dim.Type) != null ? _c : "").toLowerCase();
1591
+ return ["time", "latitude", "longitude", "lat", "lon", "x", "y"].some(
1592
+ (value) => normalizedName.includes(value) || normalizedType.includes(value)
1593
+ );
1594
+ };
1595
+ _getCommonSelectableDimensions = new WeakSet();
1596
+ getCommonSelectableDimensions_fn = function() {
1597
+ var _a, _b;
1598
+ const variables = (_a = __privateGet(this, _collectionController).variables) == null ? void 0 : _a.data;
1599
+ if (!variables) {
1600
+ console.log("no variables found, cannot determine dimensions");
1601
+ return [];
1602
+ }
1603
+ const allUmmVars = (_b = variables.items) != null ? _b : [];
1604
+ if (!allUmmVars.length) {
1605
+ return [];
1606
+ }
1607
+ const allDimensionSets = allUmmVars.map(
1608
+ (v) => {
1609
+ var _a2;
1610
+ return (_a2 = v.umm.Dimensions) != null ? _a2 : [];
1611
+ }
1612
+ );
1613
+ if (!allDimensionSets.length) {
1614
+ return [];
1615
+ }
1616
+ const allDimensionNames = Array.from(
1617
+ new Set(allDimensionSets.flatMap((dimSet) => dimSet.map((dim) => dim.Name)))
1618
+ );
1619
+ const filteredCommon = allDimensionNames.map((name) => {
1620
+ var _a2, _b2;
1621
+ const dims = allDimensionSets.map((set) => set.find((dim) => dim.Name === name)).filter((d) => Boolean(d));
1622
+ if (!dims.length) {
1623
+ return null;
1624
+ }
1625
+ const validSizes = dims.filter((dim) => dim.Size !== void 0 && dim.Size !== "Varies").map((dim) => Number(dim.Size)).filter((size2) => Number.isFinite(size2) && size2 > 0);
1626
+ if (!validSizes.length) {
1627
+ return null;
1628
+ }
1629
+ const size = Math.min(...validSizes);
1630
+ return {
1631
+ name,
1632
+ type: (_b2 = (_a2 = dims[0]) == null ? void 0 : _a2.Type) != null ? _b2 : "OTHER",
1633
+ size
1634
+ };
1635
+ }).filter(
1636
+ (entry) => Boolean(entry)
1637
+ ).filter(
1638
+ (entry) => !__privateMethod(this, _isDimensionExcluded, isDimensionExcluded_fn).call(this, {
1639
+ Name: entry.name,
1640
+ Type: entry.type
1641
+ })
1642
+ );
1643
+ return filteredCommon;
1644
+ };
1645
+ _renderJobStatus = new WeakSet();
1646
+ renderJobStatus_fn = function() {
1647
+ var _a, _b, _c, _d, _e;
1648
+ if (!__privateGet(this, _harmonyRequestController).jobId) {
1649
+ return b`<div class="results-section" id="job-status-section">
1650
+ <div
1651
+ style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;"
1652
+ >
1653
+ <h2 class="results-title" style="margin: 0;">Results:</h2>
1654
+ ${!this.isHistoryView ? b`
1655
+ <terra-button
1656
+ variant="default"
1657
+ size="small"
1658
+ @click=${__privateMethod(this, _backToSubsetOptions, backToSubsetOptions_fn)}
1659
+ >
1660
+ ← Back to Subset Options
1661
+ </terra-button>
1662
+ ` : A}
1663
+ </div>
1664
+
1665
+ <div class="progress-container">
1666
+ <div class="progress-text">
1667
+ <span class="spinner"></span>
1668
+ <span class="status-running">Searching for data...</span>
1669
+ </div>
1670
+
1671
+ <div class="progress-bar">
1672
+ <div class="progress-fill" style="width: 0%"></div>
1673
+ </div>
1674
+ </div>
1675
+
1676
+ ${__privateMethod(this, _renderJobMessage, renderJobMessage_fn).call(this)}
1677
+ </div>`;
1678
+ }
1679
+ return b`
1680
+ <div class="results-section" id="job-status-section">
1681
+ <div
1682
+ style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;"
1683
+ >
1684
+ <h2 class="results-title" style="margin: 0;">Results:</h2>
1685
+ ${!this.isHistoryView ? b`
1686
+ <terra-button
1687
+ variant="default"
1688
+ size="small"
1689
+ @click=${__privateMethod(this, _backToSubsetOptions, backToSubsetOptions_fn)}
1690
+ >
1691
+ ← Back to Subset Options
1692
+ </terra-button>
1693
+ ` : A}
1694
+ </div>
1695
+
1696
+ ${__privateGet(this, _harmonyRequestController).status !== "canceled" && __privateGet(this, _harmonyRequestController).status !== "failed" ? b` <div class="progress-container">
1697
+ <div class="progress-text">
1698
+ ${__privateGet(this, _harmonyRequestController).progress >= 100 ? b`
1699
+ <span class="status-complete"
1700
+ >✓ Search complete</span
1701
+ >
1702
+ ` : b`
1703
+ <span class="spinner"></span>
1704
+ <span class="status-running"
1705
+ >Searching for data...
1706
+ (${__privateGet(this, _harmonyRequestController).progress}%)</span
1707
+ >
1708
+ `}
1709
+ </div>
1710
+
1711
+ <div class="progress-bar">
1712
+ <div
1713
+ class="progress-fill"
1714
+ style="width: ${__privateGet(this, _harmonyRequestController).progress}%"
1715
+ ></div>
1716
+ </div>
1717
+ </div>` : A}
1718
+
1719
+ <div class="search-status">
1720
+ <span class="file-count"
1721
+ >Found ${__privateMethod(this, _numberOfFilesFoundEstimate, numberOfFilesFoundEstimate_fn).call(this)} files</span
1722
+ >
1723
+ out of estimated
1724
+ <span class="estimated-total"
1725
+ >${(_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.numInputGranules.toLocaleString()}</span
1726
+ >
1727
+ </div>
1728
+
1729
+ ${__privateMethod(this, _renderJobMessage, renderJobMessage_fn).call(this)}
1730
+ ${((_c = (_b = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _b.errors) == null ? void 0 : _c.length) ? b`
1731
+ <terra-accordion>
1732
+ <div slot="summary">
1733
+ <span
1734
+ class="accordion-title"
1735
+ style="color: #dc3545;"
1736
+ >Errors
1737
+ (${(_d = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _d.errors.length})</span
1738
+ >
1739
+ </div>
1740
+ <div class="accordion-content">
1741
+ <ul
1742
+ style="color: #dc3545; font-size: 14px; padding-left: 20px;"
1743
+ >
1744
+ ${(_e = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _e.errors.map(
1745
+ (err) => b`
1746
+ <li style="margin-bottom: 12px;">
1747
+ <a
1748
+ href="${err.url}"
1749
+ target="_blank"
1750
+ style="word-break: break-all; color: #dc3545; text-decoration: underline;"
1751
+ >
1752
+ ${err.url}
1753
+ </a>
1754
+ <div style="margin-top: 2px;">
1755
+ ${err.message}
1756
+ </div>
1757
+ </li>
1758
+ `
1759
+ )}
1760
+ </ul>
1761
+ </div>
1762
+ </terra-accordion>
1763
+ ` : A}
1764
+
1765
+ <div class="tabs">
1766
+ <button
1767
+ class="tab ${this.selectedTab === "web-links" ? "active" : ""}"
1768
+ @click=${() => this.selectedTab = "web-links"}
1769
+ >
1770
+ Web Links
1771
+ </button>
1772
+
1773
+ ${!this.isHistoryView ? b`
1774
+ <button
1775
+ class="tab ${this.selectedTab === "selected-params" ? "active" : ""}"
1776
+ @click=${() => this.selectedTab = "selected-params"}
1777
+ >
1778
+ Selected Parameters
1779
+ </button>
1780
+ ` : A}
1781
+ </div>
1782
+ <div
1783
+ id="web-links"
1784
+ class="tab-content ${this.selectedTab === "web-links" ? "active" : ""}"
1785
+ >
1786
+ ${__privateMethod(this, _getDocumentationLinks, getDocumentationLinks_fn).call(this).length ? b`
1787
+ <div class="documentation-links">
1788
+ ${__privateMethod(this, _getDocumentationLinks, getDocumentationLinks_fn).call(this).map(
1789
+ (link) => b`
1790
+ <a href="${link.href}" class="doc-link"
1791
+ >${link.title}</a
1792
+ >
1793
+ `
1794
+ )}
1795
+ </div>
1796
+ ` : A}
1797
+
1798
+ <ul class="file-list">
1799
+ ${__privateMethod(this, _getDataLinks, getDataLinks_fn).call(this).map(
1800
+ (link) => b`
1801
+ <li class="file-item">
1802
+ <a
1803
+ href="${link.href}"
1804
+ class="file-link"
1805
+ target="_blank"
1806
+ >
1807
+ ${link.title}
1808
+ </a>
1809
+ </li>
1810
+ `
1811
+ )}
1812
+ </ul>
1813
+ </div>
1814
+
1815
+ <div
1816
+ id="selected-params"
1817
+ class="tab-content ${this.selectedTab === "selected-params" ? "active" : ""}"
1818
+ >
1819
+ ${__privateMethod(this, _renderSelectedParams, renderSelectedParams_fn).call(this)}
1820
+ </div>
1821
+ </div>
1822
+
1823
+ ${!this.dialog ? b`
1824
+ <div class="footer">
1825
+ ${__privateGet(this, _harmonyRequestController).status === "successful" /* SUCCESSFUL */ || __privateGet(this, _harmonyRequestController).status === "complete_with_errors" /* COMPLETE_WITH_ERRORS */ ? b`
1826
+ <div
1827
+ style="display: flex; align-items: center; gap: 8px;"
1828
+ >
1829
+ <terra-dropdown
1830
+ @terra-select=${__privateMethod(this, _handleDownloadSelect, handleDownloadSelect_fn)}
1831
+ >
1832
+ <terra-button slot="trigger" caret>
1833
+ Download Options
1834
+ </terra-button>
1835
+ <terra-menu>
1836
+ <terra-menu-item value="file-list">
1837
+ <svg
1838
+ slot="prefix"
1839
+ viewBox="0 0 24 24"
1840
+ width="16"
1841
+ height="16"
1842
+ style="width: 16px; height: 16px;"
1843
+ >
1844
+ <path
1845
+ fill="currentColor"
1846
+ 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"
1847
+ />
1848
+ </svg>
1849
+ File List
1850
+ </terra-menu-item>
1851
+ <terra-menu-item
1852
+ value="python-script"
1853
+ >
1854
+ <svg
1855
+ slot="prefix"
1856
+ viewBox="0 0 128 128"
1857
+ width="16"
1858
+ height="16"
1859
+ style="width: 16px; height: 16px;"
1860
+ >
1861
+ <path
1862
+ fill="currentColor"
1863
+ 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"
1864
+ ></path>
1865
+ </svg>
1866
+ Python Script
1867
+ </terra-menu-item>
1868
+ <terra-menu-item
1869
+ value="earthdata-download"
1870
+ >
1871
+ <svg
1872
+ slot="prefix"
1873
+ viewBox="0 0 64 64"
1874
+ fill="none"
1875
+ width="16"
1876
+ height="16"
1877
+ style="width: 16px; height: 16px;"
1878
+ >
1879
+ <circle
1880
+ cx="32"
1881
+ cy="32"
1882
+ r="28"
1883
+ fill="currentColor"
1884
+ />
1885
+ <path
1886
+ d="M32 14v26M32 40l-9-9M32 40l9-9"
1887
+ stroke="#fff"
1888
+ stroke-width="4"
1889
+ stroke-linecap="round"
1890
+ stroke-linejoin="round"
1891
+ fill="none"
1892
+ />
1893
+ </svg>
1894
+ Earthdata Download
1895
+ </terra-menu-item>
1896
+ </terra-menu>
1897
+ </terra-dropdown>
1898
+
1899
+ <!--
1900
+ <terra-button
1901
+ outline
1902
+ @click=${() => __privateMethod(this, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn).call(this)}
1903
+ >
1904
+ <terra-icon
1905
+ name="outline-code-bracket"
1906
+ library="heroicons"
1907
+ font-size="1.5em"
1908
+ style="margin-right: 5px;"
1909
+ ></terra-icon>
1910
+ Open in Jupyter Notebook
1911
+ </terra-button>
1912
+ --></div>
1913
+ ` : A}
1914
+ ${__privateGet(this, _harmonyRequestController).status === "running" /* RUNNING */ ? b`<button
1915
+ class="btn btn-success"
1916
+ @click=${__privateMethod(this, _cancelJob, cancelJob_fn)}
1917
+ ?disabled=${this.cancelingGetData}
1918
+ >
1919
+ ${this.cancelingGetData ? "Canceling..." : "Cancel request"}
1920
+ </button>` : A}
1921
+
1922
+ <div class="job-info">
1923
+ Job ID:
1924
+ <span class="job-id">
1925
+ ${this.bearerToken ? b`<a
1926
+ href="https://harmony.earthdata.nasa.gov/jobs/${__privateGet(this, _harmonyRequestController).jobId}"
1927
+ target="_blank"
1928
+ >${__privateGet(this, _harmonyRequestController).jobId}</a
1929
+ >` : __privateGet(this, _harmonyRequestController).jobId}
1930
+ </span>
1931
+ <span class="info-icon">?</span>
1932
+ </div>
1933
+ </div>
1934
+ ` : A}
1935
+ `;
1936
+ };
1937
+ _renderSelectedParams = new WeakSet();
1938
+ renderSelectedParams_fn = function() {
1939
+ var _a, _b, _c, _d;
1940
+ const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
1941
+ const variables = this.selectedVariables.length ? this.selectedVariables.map((v) => v.name) : ["All"];
1942
+ const dateRange = this.selectedDateRange.startDate && this.selectedDateRange.endDate ? `${this.selectedDateRange.startDate} to ${this.selectedDateRange.endDate}` : "\u2014";
1943
+ const spatial = (_c = (_b = this.spatialSelection) == null ? void 0 : _b.toString()) != null ? _c : "-";
1944
+ return b`
1945
+ <dl class="params-summary">
1946
+ <div>
1947
+ <dt><strong>Dataset</strong></dt>
1948
+ <dd>${(_d = collection == null ? void 0 : collection.EntryTitle) != null ? _d : "\u2014"}</dd>
1949
+ </div>
1950
+ <div>
1951
+ <dt><strong>Variables</strong></dt>
1952
+ <dd>${variables.map((v) => b`<div>${v}</div>`)}</dd>
1953
+ </div>
1954
+ <div>
1955
+ <dt><strong>Dimensions</strong></dt>
1956
+ <dd>
1957
+ ${Object.entries(this.selectedDimensionIndexes).length ? Object.entries(this.selectedDimensionIndexes).map(
1958
+ ([dimName, value]) => b`<div>
1959
+ <strong>${dimName}:</strong> ${value}
1960
+ </div>`
1961
+ ) : "\u2014"}
1962
+ </dd>
1963
+ </div>
1964
+ <div>
1965
+ <dt><strong>Date Range</strong></dt>
1966
+ <dd>${dateRange}</dd>
1967
+ </div>
1968
+ <div>
1969
+ <dt><strong>Spatial</strong></dt>
1970
+ <dd>${spatial}</dd>
1971
+ </div>
1972
+ </dl>
1973
+
1974
+ <terra-button @click=${__privateMethod(this, _refineParameters, refineParameters_fn)}
1975
+ >Refine Parameters</terra-button
1976
+ >
1977
+ `;
1978
+ };
1979
+ _cancelJob = new WeakSet();
1980
+ cancelJob_fn = async function() {
1981
+ if (!this.jobId) {
1982
+ return;
1983
+ }
1984
+ this.cancelingGetData = true;
1985
+ try {
1986
+ await __privateGet(this, _harmonyRequestController).cancelJob({
1987
+ jobId: this.jobId,
1988
+ options: { bearerToken: this.bearerToken }
1989
+ });
1990
+ } finally {
1991
+ this.cancelingGetData = false;
1992
+ }
1993
+ };
1994
+ _getData = new WeakSet();
1995
+ getData_fn = async function() {
1996
+ var _a;
1997
+ const validationError = __privateMethod(this, _getGiovanniValidationError, getGiovanniValidationError_fn).call(this);
1998
+ if (validationError) {
1999
+ this.validationError = validationError;
2000
+ __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "variables");
2001
+ return;
2002
+ }
2003
+ this.validationError = void 0;
2004
+ this.cancelingGetData = false;
2005
+ __privateMethod(this, _touchAllFields, touchAllFields_fn).call(this);
2006
+ const variables = this.selectedFormat.isGiovanniFormat ? this.selectedVariables.map(
2007
+ (v) => {
2008
+ var _a2, _b, _c;
2009
+ return (
2010
+ // the Giovanni variable catalog uses different variable entry ids, we need to support them
2011
+ // ex. CMR: M2T1NXSLV_5.2.14 in Giovanni uses underscores: M2T1NXSLV_5_2_14
2012
+ convertVariableEntryIdToGiovanniFormat(
2013
+ (_a2 = this.collectionWithServices.shortName) != null ? _a2 : "",
2014
+ (_c = (_b = this.collectionWithServices.collection) == null ? void 0 : _b.Version) != null ? _c : "",
2015
+ v.name
2016
+ )
2017
+ );
2018
+ }
2019
+ ) : this.selectedVariables.map((v) => v.conceptId);
2020
+ const harmonyRequest = new HarmonyRequest({
2021
+ collectionConceptId: this.collectionWithServices.conceptId,
2022
+ variables,
2023
+ location: this.spatialSelection
2024
+ });
2025
+ if (((_a = this.collectionWithServices) == null ? void 0 : _a.summary.subsetting.temporal) && this.selectedDateRange.startDate && this.selectedDateRange.endDate) {
2026
+ harmonyRequest.startDate(
2027
+ this.isSubDaily ? this.selectedDateRange.startDate : getUTCDate(this.selectedDateRange.startDate).toISOString()
2028
+ );
2029
+ harmonyRequest.endDate(
2030
+ this.isSubDaily ? this.selectedDateRange.endDate : getUTCDate(this.selectedDateRange.endDate).toISOString()
2031
+ );
2032
+ }
2033
+ if (this.selectedFormat) {
2034
+ harmonyRequest.format(
2035
+ this.selectedFormat.isGiovanniFormat ? "text/csv" : this.selectedFormat.key
2036
+ );
2037
+ }
2038
+ if (this.selectedFormat.key === "text/csv") {
2039
+ harmonyRequest.average("area");
2040
+ }
2041
+ if (this.selectedFormat.key === "image/tiff") {
2042
+ harmonyRequest.average("time");
2043
+ }
2044
+ if (Object.keys(this.selectedDimensionIndexes).length) {
2045
+ Object.entries(this.selectedDimensionIndexes).forEach(
2046
+ ([dimName, { start, end }]) => {
2047
+ harmonyRequest.dimension({
2048
+ name: dimName,
2049
+ min: start,
2050
+ max: end
2051
+ });
2052
+ }
2053
+ );
2054
+ }
2055
+ harmonyRequest.label("terra-data-subsetter");
2056
+ console.log("Creating Harmony job with request:", harmonyRequest);
2057
+ const job = await __privateGet(this, _harmonyRequestController).startJob({
2058
+ harmonyRequest,
2059
+ options: { bearerToken: this.bearerToken }
2060
+ });
2061
+ this.jobId = job.jobID;
2062
+ setTimeout(() => {
2063
+ const el = this.renderRoot.querySelector("#job-status-section");
2064
+ el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
2065
+ }, 100);
2066
+ this.refineParameters = false;
2067
+ this.isHistoryView = false;
2068
+ };
2069
+ _touchAllFields = new WeakSet();
2070
+ touchAllFields_fn = function() {
2071
+ this.touchedFields = /* @__PURE__ */ new Set(["variables", "spatial"]);
2072
+ };
2073
+ _numberOfFilesFoundEstimate = new WeakSet();
2074
+ numberOfFilesFoundEstimate_fn = function() {
2075
+ return Math.floor(
2076
+ __privateGet(this, _harmonyRequestController).data.numInputGranules * __privateGet(this, _harmonyRequestController).progress / 100
2077
+ );
2078
+ };
2079
+ _getDocumentationLinks = new WeakSet();
2080
+ getDocumentationLinks_fn = function() {
2081
+ return __privateGet(this, _harmonyRequestController).data.links.filter(
2082
+ (link) => link.rel === "stac-catalog-json"
2083
+ );
2084
+ };
2085
+ _getDataLinks = new WeakSet();
2086
+ getDataLinks_fn = function() {
2087
+ return __privateGet(this, _harmonyRequestController).data.links.filter(
2088
+ (link) => link.rel === "data"
2089
+ );
2090
+ };
2091
+ _hasAtLeastOneSubsetOption = new WeakSet();
2092
+ hasAtLeastOneSubsetOption_fn = function() {
2093
+ var _a, _b, _c, _d;
2094
+ return ((_a = this.collectionWithServices) == null ? void 0 : _a.summary.subsetting.bbox) || ((_b = this.collectionWithServices) == null ? void 0 : _b.summary.subsetting.shape) || ((_c = this.collectionWithServices) == null ? void 0 : _c.summary.subsetting.variable) || ((_d = this.collectionWithServices) == null ? void 0 : _d.summary.subsetting.temporal);
2095
+ };
2096
+ _hasSpatialSubset = new WeakSet();
2097
+ hasSpatialSubset_fn = function() {
2098
+ var _a, _b;
2099
+ return ((_a = this.collectionWithServices) == null ? void 0 : _a.summary.subsetting.bbox) || ((_b = this.collectionWithServices) == null ? void 0 : _b.summary.subsetting.shape);
2100
+ };
2101
+ _renderJobMessage = new WeakSet();
2102
+ renderJobMessage_fn = function() {
2103
+ const warningStatuses = [
2104
+ "canceled" /* CANCELED */,
2105
+ "complete_with_errors" /* COMPLETE_WITH_ERRORS */,
2106
+ "running_with_errors" /* RUNNING_WITH_ERRORS */
2107
+ ];
2108
+ const errorStatuses = ["failed" /* FAILED */];
2109
+ let type = "normal";
2110
+ if (warningStatuses.includes(__privateGet(this, _harmonyRequestController).data.status)) {
2111
+ type = "warning";
2112
+ } else if (errorStatuses.includes(__privateGet(this, _harmonyRequestController).data.status)) {
2113
+ type = "error";
2114
+ }
2115
+ let color, bg;
2116
+ if (type === "error") {
2117
+ color = "#dc3545";
2118
+ bg = "#f8d7da";
2119
+ } else if (type === "warning") {
2120
+ color = "#856404";
2121
+ bg = "#fff3cd";
2122
+ } else {
2123
+ color = "#555";
2124
+ bg = "#f8f9fa";
2125
+ }
2126
+ return b`
2127
+ <div
2128
+ style="
2129
+ margin: 24px 0 16px 0;
2130
+ padding: 16px 20px;
2131
+ border-radius: 6px;
2132
+ background: ${bg};
2133
+ color: ${color};
2134
+ border: 1px solid ${color}22;
2135
+ "
2136
+ >
2137
+ ${__privateMethod(this, _getJobMessageText, getJobMessageText_fn).call(this)}
2138
+ </div>
2139
+ `;
2140
+ };
2141
+ _getJobMessageText = new WeakSet();
2142
+ getJobMessageText_fn = function() {
2143
+ var _a;
2144
+ return (_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.message.replace(
2145
+ /\b(The job|the job|job|Job)\b/g,
2146
+ (match) => {
2147
+ switch (match) {
2148
+ case "The job":
2149
+ return "Your request";
2150
+ case "the job":
2151
+ return "Your Request";
2152
+ case "job":
2153
+ return "request";
2154
+ case "Job":
2155
+ return "Request";
2156
+ }
2157
+ return match;
2158
+ }
2159
+ );
2160
+ };
2161
+ _estimateJobSize = new WeakSet();
2162
+ estimateJobSize_fn = function() {
2163
+ var _a, _b, _c, _d, _e;
2164
+ if (!((_a = this.collectionWithServices) == null ? void 0 : _a.granuleCount))
2165
+ return;
2166
+ const range = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
2167
+ let startDate;
2168
+ let endDate;
2169
+ let links = (_c = (_b = this.collectionWithServices) == null ? void 0 : _b.granuleCount) != null ? _c : 0;
2170
+ if (this.selectedDateRange.startDate && this.selectedDateRange.endDate) {
2171
+ startDate = this.selectedDateRange.startDate;
2172
+ endDate = this.selectedDateRange.endDate;
2173
+ } else {
2174
+ startDate = (_d = this.granuleMinDate) != null ? _d : range.startDate;
2175
+ endDate = (_e = this.granuleMaxDate) != null ? _e : range.endDate;
2176
+ }
2177
+ if (!startDate || !endDate)
2178
+ return;
2179
+ const start = new Date(startDate);
2180
+ const end = new Date(endDate);
2181
+ const days = Math.floor((end.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) + 1;
2182
+ if (range.startDate && range.endDate) {
2183
+ const availableDaysInCollection = Math.floor(
2184
+ (new Date(range.endDate).getTime() - new Date(range.startDate).getTime()) / (1e3 * 60 * 60 * 24)
2185
+ ) + 1;
2186
+ const granulesPerDay = links / availableDaysInCollection;
2187
+ links = Math.ceil(days * granulesPerDay);
2188
+ }
2189
+ return { days, links };
2190
+ };
2191
+ _refineParameters = new WeakSet();
2192
+ refineParameters_fn = function() {
2193
+ this.refineParameters = true;
2194
+ };
2195
+ _backToSubsetOptions = new WeakSet();
2196
+ backToSubsetOptions_fn = function() {
2197
+ this.refineParameters = true;
2198
+ setTimeout(() => {
2199
+ const container = this.renderRoot.querySelector(".container");
2200
+ container == null ? void 0 : container.scrollIntoView({ behavior: "smooth", block: "start" });
2201
+ }, 100);
2202
+ };
2203
+ _viewRunningJob = new WeakSet();
2204
+ viewRunningJob_fn = function() {
2205
+ this.refineParameters = false;
2206
+ setTimeout(() => {
2207
+ const el = this.renderRoot.querySelector("#job-status-section");
2208
+ el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
2209
+ }, 100);
2210
+ };
2211
+ _handleDownloadSelect = new WeakSet();
2212
+ handleDownloadSelect_fn = function(event) {
2213
+ const item = event.detail.item;
2214
+ const value = item.value || item.getTextLabel();
2215
+ if (value === "file-list") {
2216
+ __privateMethod(this, _downloadLinksAsTxt, downloadLinksAsTxt_fn).call(this, event);
2217
+ } else if (value === "python-script") {
2218
+ __privateMethod(this, _downloadPythonScript, downloadPythonScript_fn).call(this, event);
2219
+ } else if (value === "earthdata-download") {
2220
+ __privateMethod(this, _downloadEarthdataDownload, downloadEarthdataDownload_fn).call(this, event);
2221
+ }
2222
+ };
2223
+ _downloadLinksAsTxt = new WeakSet();
2224
+ downloadLinksAsTxt_fn = function(event) {
2225
+ var _a;
2226
+ event.stopPropagation();
2227
+ if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links)) {
2228
+ return;
2229
+ }
2230
+ const dataLinks = __privateMethod(this, _getDataLinks, getDataLinks_fn).call(this);
2231
+ if (dataLinks.length === 0) {
2232
+ return;
2233
+ }
2234
+ const content = dataLinks.map((link) => link.href).join("\n");
2235
+ const blob = new Blob([content], { type: "text/plain" });
2236
+ const url = URL.createObjectURL(blob);
2237
+ const a = document.createElement("a");
2238
+ a.href = url;
2239
+ a.download = `subset_links_${__privateGet(this, _harmonyRequestController).jobId}.txt`;
2240
+ document.body.appendChild(a);
2241
+ a.click();
2242
+ document.body.removeChild(a);
2243
+ URL.revokeObjectURL(url);
2244
+ };
2245
+ _downloadPythonScript = new WeakSet();
2246
+ downloadPythonScript_fn = async function(event) {
2247
+ var _a, _b, _c, _d;
2248
+ event.stopPropagation();
2249
+ if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links)) {
2250
+ return;
2251
+ }
2252
+ const response = await fetch(
2253
+ getBasePath("assets/data-subsetter/download_subset_files.py.txt")
2254
+ );
2255
+ if (!response.ok) {
2256
+ alert(
2257
+ "Sorry, there was a problem generating the Python script. We are investigating the issue.\nYou could try using the Jupyter Notebook in the meantime"
2258
+ );
2259
+ }
2260
+ const content = (await response.text()).replace(/{{jobId}}/gi, (_b = __privateGet(this, _harmonyRequestController).jobId) != null ? _b : "").replace(
2261
+ /{{HARMONY_ENV}}/gi,
2262
+ `Environment.${(_c = this.environment) == null ? void 0 : _c.toUpperCase()}`
2263
+ ).replace(
2264
+ /{{EARTHACCESS_ENV}}/gi,
2265
+ `earthaccess.${(_d = this.environment) == null ? void 0 : _d.toUpperCase()}`
2266
+ );
2267
+ const blob = new Blob([content], { type: "text/plain" });
2268
+ const url = URL.createObjectURL(blob);
2269
+ const a = document.createElement("a");
2270
+ a.href = url;
2271
+ a.download = `download_subset_files_${__privateGet(this, _harmonyRequestController).jobId}.py`;
2272
+ document.body.appendChild(a);
2273
+ a.click();
2274
+ document.body.removeChild(a);
2275
+ URL.revokeObjectURL(url);
2276
+ };
2277
+ _downloadEarthdataDownload = new WeakSet();
2278
+ downloadEarthdataDownload_fn = async function(event) {
2279
+ var _a;
2280
+ event.stopPropagation();
2281
+ if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links)) {
2282
+ return;
2283
+ }
2284
+ alert("Sorry, Earthdata Download is not currently supported");
2285
+ };
2286
+ _handleJupyterNotebookClick = new WeakSet();
2287
+ handleJupyterNotebookClick_fn = function() {
2288
+ const notebook = getNotebook(this);
2289
+ sendDataToJupyterNotebook("load-notebook", {
2290
+ filename: `subset_${__privateGet(this, _harmonyRequestController).jobId}.ipynb`,
2291
+ notebook,
2292
+ bearerToken: this.bearerToken
2293
+ });
2294
+ };
2295
+ _renderAvailableTemporalRangeSection = new WeakSet();
2296
+ renderAvailableTemporalRangeSection_fn = function() {
2297
+ const { startDate, endDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
2298
+ if (!startDate || !endDate)
2299
+ return A;
2300
+ return b`
2301
+ <div class="section" style="margin-bottom: 16px;">
2302
+ <h2 class="section-title">Available Date Range</h2>
2303
+ <div style="color: #31708f; margin-top: 8px;">
2304
+ <strong>${startDate}</strong> to <strong>${endDate}</strong>
2305
+ </div>
2306
+ <div style="font-size: 0.95em; color: #666;">
2307
+ This collection does not support temporal subsetting.
2308
+ </div>
2309
+ </div>
2310
+ `;
2311
+ };
2312
+ _renderAvailableSpatialRangeSection = new WeakSet();
2313
+ renderAvailableSpatialRangeSection_fn = function() {
2314
+ var _a, _b, _c, _d, _e;
2315
+ 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;
2316
+ if (!boundingRects || !Array.isArray(boundingRects) || !boundingRects.length)
2317
+ return A;
2318
+ return b`
2319
+ <div class="section" style="margin-bottom: 16px;">
2320
+ <h2 class="section-title">Available Spatial Area</h2>
2321
+ <div style="color: #31708f; margin-top: 8px;">
2322
+ ${boundingRects.map(
2323
+ (rect) => b`<div>
2324
+ <strong>Bounding Box:</strong>
2325
+ ${rect.WestBoundingCoordinate},
2326
+ ${rect.SouthBoundingCoordinate},
2327
+ ${rect.EastBoundingCoordinate},
2328
+ ${rect.NorthBoundingCoordinate}
2329
+ </div>`
2330
+ )}
2331
+ </div>
2332
+ <div style="font-size: 0.95em; color: #666;">
2333
+ This collection does not support spatial subsetting.
2334
+ </div>
2335
+ </div>
2336
+ `;
2337
+ };
2338
+ _renderDataAccessModeSelection = new WeakSet();
2339
+ renderDataAccessModeSelection_fn = function() {
2340
+ if (!__privateGet(this, _collectionController).hasGranules) {
2341
+ return A;
2342
+ }
2343
+ return b`
2344
+ <div class="mode-selection">
2345
+ <div class="mode-options">
2346
+ <label
2347
+ class="mode-option ${this.dataAccessMode === "original" ? "selected" : ""}"
2348
+ >
2349
+ <input
2350
+ type="radio"
2351
+ name="data-access-mode"
2352
+ value="original"
2353
+ .checked=${this.dataAccessMode === "original"}
2354
+ @change=${() => this.dataAccessMode = "original"}
2355
+ />
2356
+ <div class="mode-content">
2357
+ <div class="mode-title">Get Original Files</div>
2358
+ <div class="mode-description">
2359
+ Filter file links directly from the archive.
2360
+ </div>
2361
+ </div>
2362
+ </label>
2363
+
2364
+ <label
2365
+ class="mode-option ${this.dataAccessMode === "subset" ? "selected" : ""}"
2366
+ >
2367
+ <input
2368
+ type="radio"
2369
+ name="data-access-mode"
2370
+ value="subset"
2371
+ .checked=${this.dataAccessMode === "subset"}
2372
+ @change=${() => this.dataAccessMode = "subset"}
2373
+ />
2374
+ <div class="mode-content">
2375
+ <div class="mode-title">Transform Data</div>
2376
+ <div class="mode-description">
2377
+ Transform the data to your specific needs.
2378
+ </div>
2379
+ </div>
2380
+ </label>
2381
+ </div>
2382
+ </div>
2383
+ `;
2384
+ };
2385
+ _getGiovanniValidationError = new WeakSet();
2386
+ getGiovanniValidationError_fn = function() {
2387
+ if (!this.selectedFormat.isGiovanniFormat) {
2388
+ return null;
2389
+ }
2390
+ if (this.selectedVariables.length === 0) {
2391
+ return "Please select a variable to subset.";
2392
+ }
2393
+ if (this.selectedVariables.length > 1) {
2394
+ return "The selected format only supports subsetting one variable at a time.";
2395
+ }
2396
+ return null;
2397
+ };
2398
+ TerraDataSubsetter.styles = [component_styles_default, data_subsetter_styles_default];
2399
+ TerraDataSubsetter.dependencies = {
2400
+ "terra-accordion": TerraAccordion,
2401
+ "terra-date-picker": TerraDatePicker,
2402
+ "terra-icon": TerraIcon,
2403
+ "terra-input": TerraInput,
2404
+ "terra-spatial-picker": TerraSpatialPicker,
2405
+ "terra-login": TerraLogin,
2406
+ "terra-loader": TerraLoader,
2407
+ "terra-data-access": TerraDataAccess,
2408
+ "terra-dialog": TerraDialog,
2409
+ "terra-dropdown": TerraDropdown,
2410
+ "terra-menu": TerraMenu,
2411
+ "terra-menu-item": TerraMenuItem,
2412
+ "terra-button": TerraButton,
2413
+ "terra-alert": TerraAlert,
2414
+ "terra-slider": TerraSlider
2415
+ };
2416
+ __decorateClass([
2417
+ n({ reflect: true, attribute: "collection-entry-id" })
2418
+ ], TerraDataSubsetter.prototype, "collectionEntryId", 2);
2419
+ __decorateClass([
2420
+ n({ reflect: true, attribute: "short-name" })
2421
+ ], TerraDataSubsetter.prototype, "shortName", 2);
2422
+ __decorateClass([
2423
+ n({ reflect: true, attribute: "version" })
2424
+ ], TerraDataSubsetter.prototype, "version", 2);
2425
+ __decorateClass([
2426
+ n({
2427
+ reflect: true,
2428
+ type: Boolean,
2429
+ attribute: "show-collection-search"
2430
+ })
2431
+ ], TerraDataSubsetter.prototype, "showCollectionSearch", 2);
2432
+ __decorateClass([
2433
+ n({ reflect: true, type: Boolean, attribute: "show-history-panel" })
2434
+ ], TerraDataSubsetter.prototype, "showHistoryPanel", 2);
2435
+ __decorateClass([
2436
+ n({ reflect: true, attribute: "job-id" })
2437
+ ], TerraDataSubsetter.prototype, "jobId", 2);
2438
+ __decorateClass([
2439
+ n({ attribute: "bearer-token" })
2440
+ ], TerraDataSubsetter.prototype, "bearerToken", 2);
2441
+ __decorateClass([
2442
+ n()
2443
+ ], TerraDataSubsetter.prototype, "features", 2);
2444
+ __decorateClass([
2445
+ n({ reflect: true })
2446
+ ], TerraDataSubsetter.prototype, "dialog", 2);
2447
+ __decorateClass([
2448
+ n({ reflect: true, type: Boolean, attribute: "is-history-view" })
2449
+ ], TerraDataSubsetter.prototype, "isHistoryView", 2);
2450
+ __decorateClass([
2451
+ r()
2452
+ ], TerraDataSubsetter.prototype, "collectionWithServices", 2);
2453
+ __decorateClass([
2454
+ r()
2455
+ ], TerraDataSubsetter.prototype, "selectedVariables", 2);
2456
+ __decorateClass([
2457
+ r()
2458
+ ], TerraDataSubsetter.prototype, "selectedDimensionIndexes", 2);
2459
+ __decorateClass([
2460
+ r()
2461
+ ], TerraDataSubsetter.prototype, "expandedVariableGroups", 2);
2462
+ __decorateClass([
2463
+ r()
2464
+ ], TerraDataSubsetter.prototype, "variableFilterText", 2);
2465
+ __decorateClass([
2466
+ r()
2467
+ ], TerraDataSubsetter.prototype, "touchedFields", 2);
2468
+ __decorateClass([
2469
+ r()
2470
+ ], TerraDataSubsetter.prototype, "spatialSelection", 2);
2471
+ __decorateClass([
2472
+ r()
2473
+ ], TerraDataSubsetter.prototype, "selectedDateRange", 2);
2474
+ __decorateClass([
2475
+ r()
2476
+ ], TerraDataSubsetter.prototype, "selectedFormat", 2);
2477
+ __decorateClass([
2478
+ r()
2479
+ ], TerraDataSubsetter.prototype, "cancelingGetData", 2);
2480
+ __decorateClass([
2481
+ r()
2482
+ ], TerraDataSubsetter.prototype, "selectedTab", 2);
2483
+ __decorateClass([
2484
+ r()
2485
+ ], TerraDataSubsetter.prototype, "refineParameters", 2);
2486
+ __decorateClass([
2487
+ r()
2488
+ ], TerraDataSubsetter.prototype, "collectionSearchType", 2);
2489
+ __decorateClass([
2490
+ r()
2491
+ ], TerraDataSubsetter.prototype, "collectionSearchQuery", 2);
2492
+ __decorateClass([
2493
+ r()
2494
+ ], TerraDataSubsetter.prototype, "collectionSearchLoading", 2);
2495
+ __decorateClass([
2496
+ r()
2497
+ ], TerraDataSubsetter.prototype, "collectionSearchResults", 2);
2498
+ __decorateClass([
2499
+ r()
2500
+ ], TerraDataSubsetter.prototype, "collectionLoading", 2);
2501
+ __decorateClass([
2502
+ r()
2503
+ ], TerraDataSubsetter.prototype, "collectionAccordionOpen", 2);
2504
+ __decorateClass([
2505
+ r()
2506
+ ], TerraDataSubsetter.prototype, "dataAccessMode", 2);
2507
+ __decorateClass([
2508
+ r()
2509
+ ], TerraDataSubsetter.prototype, "validationError", 2);
2510
+ __decorateClass([
2511
+ r()
2512
+ ], TerraDataSubsetter.prototype, "granuleMinDate", 2);
2513
+ __decorateClass([
2514
+ r()
2515
+ ], TerraDataSubsetter.prototype, "granuleMaxDate", 2);
2516
+ __decorateClass([
2517
+ r()
2518
+ ], TerraDataSubsetter.prototype, "giovanniConfiguredVariables", 2);
2519
+ __decorateClass([
2520
+ e('[part~="spatial-picker"]')
2521
+ ], TerraDataSubsetter.prototype, "spatialPicker", 2);
2522
+ __decorateClass([
2523
+ e("terra-dialog")
2524
+ ], TerraDataSubsetter.prototype, "dialogElement", 2);
2525
+ __decorateClass([
2526
+ watch(["jobId"], { waitUntilFirstUpdate: true })
2527
+ ], TerraDataSubsetter.prototype, "jobIdChanged", 1);
2528
+ __decorateClass([
2529
+ watch(["shortName", "version"])
2530
+ ], TerraDataSubsetter.prototype, "shortNameAndVersionChanged", 1);
2531
+ __decorateClass([
2532
+ watch("collectionEntryId", { waitUntilFirstUpdate: true })
2533
+ ], TerraDataSubsetter.prototype, "collectionEntryIdChanged", 1);
2534
+ __decorateClass([
2535
+ watch(["collectionWithServices"])
2536
+ ], TerraDataSubsetter.prototype, "collectionChanged", 1);
2537
+ __decorateClass([
2538
+ watch(["granuleMinDate", "granuleMaxDate"])
2539
+ ], TerraDataSubsetter.prototype, "granuleDatesChanged", 1);
2540
+ __decorateClass([
2541
+ watch("selectedFormat")
2542
+ ], TerraDataSubsetter.prototype, "selectedFormatChanged", 1);
2543
+ __decorateClass([
2544
+ debounce(500)
2545
+ ], TerraDataSubsetter.prototype, "handleCollectionSearch", 1);
2546
+
2547
+ export {
2548
+ TerraDataSubsetter
2549
+ };