@nasa-terra/components 0.0.197 → 0.0.199

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 (1312) hide show
  1. package/cdn/chunks/GeoTIFF.VXDS234A.js +20754 -0
  2. package/cdn/chunks/chunk.2EWZDAYT.js +29 -0
  3. package/cdn/chunks/chunk.2JJELSL5.js +47 -0
  4. package/cdn/chunks/chunk.2T337UTK.js +19 -0
  5. package/cdn/chunks/chunk.2XG73ITG.js +357 -0
  6. package/cdn/chunks/chunk.33GFCE5N.js +19 -0
  7. package/cdn/chunks/chunk.3JXVH2NE.js +377 -0
  8. package/cdn/chunks/chunk.3VUC5O5G.js +33 -0
  9. package/cdn/chunks/chunk.3XZ3WU77.js +35 -0
  10. package/cdn/chunks/chunk.3Y7HZ5CS.js +110 -0
  11. package/cdn/chunks/chunk.44VCJ6SW.js +29 -0
  12. package/cdn/chunks/chunk.4HXIWAKE.js +29 -0
  13. package/cdn/chunks/chunk.4KHGJTYG.js +310 -0
  14. package/cdn/chunks/chunk.4LAXKCHJ.js +19 -0
  15. package/cdn/chunks/chunk.4N76TU2N.js +60 -0
  16. package/cdn/chunks/chunk.55WRSCJY.js +978 -0
  17. package/cdn/chunks/chunk.573DB434.js +39 -0
  18. package/cdn/chunks/chunk.5BH3C4GN.js +19 -0
  19. package/cdn/chunks/chunk.5BVN7II7.js +19 -0
  20. package/cdn/chunks/chunk.5DLA37YX.js +19 -0
  21. package/cdn/chunks/chunk.5LFN6KT3.js +416 -0
  22. package/cdn/chunks/chunk.5MB6A5RU.js +19 -0
  23. package/cdn/chunks/chunk.5ZT2BS3I.js +60 -0
  24. package/cdn/chunks/chunk.66IWKBC6.js +364 -0
  25. package/cdn/chunks/chunk.6D2IDMCW.js +106 -0
  26. package/cdn/chunks/chunk.6JG52BSF.js +35 -0
  27. package/cdn/chunks/chunk.6O7XOHAP.js +32 -0
  28. package/cdn/chunks/chunk.6Z7GRBWL.js +277 -0
  29. package/cdn/chunks/chunk.76A5M5WG.js +33 -0
  30. package/cdn/chunks/chunk.7BSMV3XV.js +36 -0
  31. package/cdn/chunks/chunk.7C3LJSTD.js +19 -0
  32. package/cdn/chunks/chunk.7G65ACMK.js +19 -0
  33. package/cdn/chunks/chunk.7GIH3FHL.js +29 -0
  34. package/cdn/chunks/chunk.7KYOVGMU.js +32 -0
  35. package/cdn/chunks/chunk.7UCNMWYE.js +1975 -0
  36. package/cdn/chunks/chunk.7Y2VDUYC.js +62 -0
  37. package/cdn/chunks/chunk.ABFNT6U4.js +32 -0
  38. package/cdn/chunks/chunk.ADFH5ULU.js +29 -0
  39. package/cdn/chunks/chunk.ADHCB3BO.js +538 -0
  40. package/cdn/chunks/chunk.AH7EQF7K.js +29 -0
  41. package/cdn/chunks/chunk.AO7RPFJO.js +19 -0
  42. package/cdn/chunks/chunk.AQB2ML3I.js +537 -0
  43. package/cdn/chunks/chunk.ASJLND3B.js +77 -0
  44. package/cdn/chunks/chunk.AYFA4HPN.js +4735 -0
  45. package/cdn/chunks/chunk.B3ADFXJY.js +32 -0
  46. package/cdn/chunks/chunk.B3GLOTII.js +92 -0
  47. package/cdn/chunks/chunk.B6YC7R6P.js +29 -0
  48. package/cdn/chunks/chunk.BFDVUZHC.js +35 -0
  49. package/cdn/chunks/chunk.BJRAF4ZX.js +19 -0
  50. package/cdn/chunks/chunk.BNGXQNNQ.js +29 -0
  51. package/cdn/chunks/chunk.BOZ3VKJO.js +19 -0
  52. package/cdn/chunks/chunk.BW44PXWN.js +657 -0
  53. package/cdn/chunks/chunk.COHRXEHA.js +29 -0
  54. package/cdn/chunks/chunk.CRQDFPSH.js +37 -0
  55. package/cdn/chunks/chunk.CX65AHTW.js +104 -0
  56. package/cdn/chunks/chunk.CX6JSAGB.js +19 -0
  57. package/cdn/chunks/chunk.DEHDGGWE.js +19 -0
  58. package/cdn/chunks/chunk.DMULXFKY.js +32 -0
  59. package/cdn/chunks/chunk.DO3V7V6I.js +259 -0
  60. package/cdn/chunks/chunk.DYRKSW2X.js +99 -0
  61. package/cdn/chunks/chunk.E4ONM7EQ.js +224 -0
  62. package/cdn/chunks/chunk.E6L6YVTU.js +19 -0
  63. package/cdn/chunks/chunk.ECR75TPC.js +19 -0
  64. package/cdn/chunks/chunk.EHRAILYE.js +19 -0
  65. package/cdn/chunks/chunk.EHVXLTCB.js +190 -0
  66. package/cdn/chunks/chunk.EKXY4PGP.js +29 -0
  67. package/cdn/chunks/chunk.F7QE3QNK.js +93 -0
  68. package/cdn/chunks/chunk.FI4YBHHD.js +1339 -0
  69. package/cdn/chunks/chunk.FIREC5CC.js +478 -0
  70. package/cdn/chunks/chunk.FQ7GYAM6.js +450 -0
  71. package/cdn/chunks/chunk.FQBIIKY5.js +19 -0
  72. package/cdn/chunks/chunk.FSGSFI2L.js +162 -0
  73. package/cdn/chunks/chunk.G7AGZVJM.js +32 -0
  74. package/cdn/chunks/chunk.GA4QBBRX.js +19 -0
  75. package/cdn/chunks/chunk.GEVOOPOP.js +32 -0
  76. package/cdn/chunks/chunk.GF56J2LC.js +29 -0
  77. package/cdn/chunks/chunk.GGODQ75Z.js +359 -0
  78. package/cdn/chunks/chunk.GP5CKNVX.js +19 -0
  79. package/cdn/chunks/chunk.GTZLRBU6.js +15 -0
  80. package/cdn/chunks/chunk.GWUGCYFL.js +19 -0
  81. package/cdn/chunks/chunk.H6KRH5P2.js +17685 -0
  82. package/cdn/chunks/chunk.HCUUZMUR.js +610 -0
  83. package/cdn/chunks/chunk.HETFTQ32.js +36 -0
  84. package/cdn/chunks/chunk.HFQ4URSA.js +29 -0
  85. package/cdn/chunks/chunk.HHFSBJ5G.js +19 -0
  86. package/cdn/chunks/chunk.HJHZJEFY.js +19 -0
  87. package/cdn/chunks/chunk.HQL5JPO6.js +29 -0
  88. package/cdn/chunks/chunk.HRRDY7XJ.js +19 -0
  89. package/cdn/chunks/chunk.HT4VXYXY.js +37 -0
  90. package/cdn/chunks/chunk.HUVHJ5KI.js +19 -0
  91. package/cdn/chunks/chunk.HVDW2G5B.js +19 -0
  92. package/cdn/chunks/chunk.HVKGLK5J.js +78 -0
  93. package/cdn/chunks/chunk.I4B5GFUI.js +30 -0
  94. package/cdn/chunks/chunk.I4GAKXVS.js +82 -0
  95. package/cdn/chunks/chunk.I74CWXDT.js +29 -0
  96. package/cdn/chunks/chunk.IJRMB4PM.js +19 -0
  97. package/cdn/chunks/chunk.IK2SGPIW.js +5463 -0
  98. package/cdn/chunks/chunk.IYBWOV2C.js +1660 -0
  99. package/cdn/chunks/chunk.J52GFLCR.js +110 -0
  100. package/cdn/chunks/chunk.JHM6GLII.js +599 -0
  101. package/cdn/chunks/chunk.JJRD2OTY.js +293 -0
  102. package/cdn/chunks/chunk.JTRGBBGG.js +29 -0
  103. package/cdn/chunks/chunk.JXSQUWZZ.js +19 -0
  104. package/cdn/chunks/chunk.JYF5D5R5.js +19 -0
  105. package/cdn/chunks/chunk.K4QMVYIR.js +443 -0
  106. package/cdn/chunks/chunk.K56RZQTE.js +155 -0
  107. package/cdn/chunks/chunk.KB3G2WCI.js +34 -0
  108. package/cdn/chunks/chunk.KF4FXYKE.js +19 -0
  109. package/cdn/chunks/chunk.KHDL2CAQ.js +230 -0
  110. package/cdn/chunks/chunk.KHRT3JCC.js +29 -0
  111. package/cdn/chunks/chunk.KPSIXCYD.js +29 -0
  112. package/cdn/chunks/chunk.KX7SACHH.js +68 -0
  113. package/cdn/chunks/chunk.KZCBK6S4.js +19 -0
  114. package/cdn/chunks/chunk.L3TQOLJO.js +74 -0
  115. package/cdn/chunks/chunk.L67UJNXB.js +41 -0
  116. package/cdn/chunks/chunk.L77N7C7E.js +171 -0
  117. package/cdn/chunks/chunk.LGRZMWVK.js +35 -0
  118. package/cdn/chunks/chunk.LIPFUNWP.js +38 -0
  119. package/cdn/chunks/chunk.LRZIT4M2.js +157 -0
  120. package/cdn/chunks/chunk.LWZNG7WV.js +29 -0
  121. package/cdn/chunks/chunk.LXQGTI2B.js +32 -0
  122. package/cdn/chunks/chunk.M43ZJHCX.js +33 -0
  123. package/cdn/chunks/chunk.M6QQY2ST.js +17603 -0
  124. package/cdn/chunks/chunk.MAHUWVEN.js +279 -0
  125. package/cdn/chunks/chunk.MLJM2THR.js +19 -0
  126. package/cdn/chunks/chunk.MNP4CXLJ.js +19 -0
  127. package/cdn/chunks/chunk.MUXCPAHQ.js +543 -0
  128. package/cdn/chunks/chunk.MZKOUZD2.js +123 -0
  129. package/cdn/chunks/chunk.N2L7WOXF.js +29 -0
  130. package/cdn/chunks/chunk.N2SCVTHV.js +29 -0
  131. package/cdn/chunks/chunk.NCROEX7Z.js +29 -0
  132. package/cdn/chunks/chunk.NH4YMQJT.js +298 -0
  133. package/cdn/chunks/chunk.NIKJGSH5.js +19 -0
  134. package/cdn/chunks/chunk.NIQW247C.js +19 -0
  135. package/cdn/chunks/chunk.NKD2XOGT.js +33 -0
  136. package/cdn/chunks/chunk.NNUQZHMT.js +32 -0
  137. package/cdn/chunks/chunk.NQLIIDC4.js +81 -0
  138. package/cdn/chunks/chunk.O3E7K42P.js +278 -0
  139. package/cdn/chunks/chunk.O3JICBSZ.js +904 -0
  140. package/cdn/chunks/chunk.O6V37MUB.js +19 -0
  141. package/cdn/chunks/chunk.OCOILS4L.js +531 -0
  142. package/cdn/chunks/chunk.OO345KKC.js +19 -0
  143. package/cdn/chunks/chunk.P5NZ7ZES.js +19 -0
  144. package/cdn/chunks/chunk.PB7O3LZB.js +2713 -0
  145. package/cdn/chunks/chunk.PDZ25A5I.js +19 -0
  146. package/cdn/chunks/chunk.PF6HHPHM.js +1691 -0
  147. package/cdn/chunks/chunk.PHX2Z4JM.js +113 -0
  148. package/cdn/chunks/chunk.PIEJ3UF6.js +592 -0
  149. package/cdn/chunks/chunk.PJPMBXC4.js +19 -0
  150. package/cdn/chunks/chunk.PKAVFPZ7.js +36 -0
  151. package/cdn/chunks/chunk.PNEWL4NR.js +925 -0
  152. package/cdn/chunks/chunk.PR55CF2E.js +19 -0
  153. package/cdn/chunks/chunk.PVARN7ER.js +86 -0
  154. package/cdn/chunks/chunk.Q4B4QXYW.js +19 -0
  155. package/cdn/chunks/chunk.Q7FVA2QA.js +234 -0
  156. package/cdn/chunks/chunk.QNGVGHSM.js +616 -0
  157. package/cdn/chunks/chunk.QSXNN4K7.js +29 -0
  158. package/cdn/chunks/chunk.QU5NA6A2.js +34 -0
  159. package/cdn/chunks/chunk.QUXBL6PU.js +19 -0
  160. package/cdn/chunks/chunk.QWKEI3FC.js +49 -0
  161. package/cdn/chunks/chunk.RCUE3PFX.js +19 -0
  162. package/cdn/chunks/chunk.RGMOIMLO.js +19 -0
  163. package/cdn/chunks/chunk.RHKWK57F.js +32 -0
  164. package/cdn/chunks/chunk.RK7LHY6Q.js +1197 -0
  165. package/cdn/chunks/chunk.RPETTG3O.js +19 -0
  166. package/cdn/chunks/chunk.RYLQ7J4S.js +134 -0
  167. package/cdn/chunks/chunk.S43EHJMQ.js +276 -0
  168. package/cdn/chunks/chunk.S5FXMDJD.js +136 -0
  169. package/cdn/chunks/chunk.SE55TMVG.js +143 -0
  170. package/cdn/chunks/chunk.SPVQ3TUO.js +188 -0
  171. package/cdn/chunks/chunk.STAMGMYS.js +19 -0
  172. package/cdn/chunks/chunk.SYUADFIF.js +151 -0
  173. package/cdn/chunks/chunk.SZVIFQRJ.js +71 -0
  174. package/cdn/chunks/chunk.T47BZXNK.js +19 -0
  175. package/cdn/chunks/chunk.TAGA7EGX.js +348 -0
  176. package/cdn/chunks/chunk.TG3YYWRJ.js +672 -0
  177. package/cdn/chunks/chunk.TOSFVKE4.js +36 -0
  178. package/cdn/chunks/chunk.TTCE562V.js +29 -0
  179. package/cdn/chunks/chunk.TTUIBJR7.js +29 -0
  180. package/cdn/chunks/chunk.TXCVCIZI.js +35 -0
  181. package/cdn/chunks/chunk.TZQ63Z3H.js +36 -0
  182. package/cdn/chunks/chunk.UBVO3Z7U.js +32 -0
  183. package/cdn/chunks/chunk.UI5WWHT7.js +19 -0
  184. package/cdn/chunks/chunk.UKCY4NE5.js +33 -0
  185. package/cdn/chunks/chunk.UKKNHVT2.js +2546 -0
  186. package/cdn/chunks/chunk.URQOTCAU.js +29 -0
  187. package/cdn/chunks/chunk.UUUD46S3.js +1862 -0
  188. package/cdn/chunks/chunk.VEIJLCDU.js +29 -0
  189. package/cdn/chunks/chunk.VKNIBCZI.js +19 -0
  190. package/cdn/chunks/chunk.VRMWYJMN.js +37 -0
  191. package/cdn/chunks/chunk.VSLVNJ6A.js +158 -0
  192. package/cdn/chunks/chunk.W36EIIQD.js +19 -0
  193. package/cdn/chunks/chunk.W4NGS5VZ.js +29 -0
  194. package/cdn/chunks/chunk.W5DRTC2Y.js +19 -0
  195. package/cdn/chunks/chunk.W7DYWM5I.js +32 -0
  196. package/cdn/chunks/chunk.WEGQDDNL.js +83 -0
  197. package/cdn/chunks/chunk.WHARISEG.js +29 -0
  198. package/cdn/chunks/chunk.WHHJJOQT.js +19 -0
  199. package/cdn/chunks/chunk.WNFL2Q36.js +524 -0
  200. package/cdn/chunks/chunk.WY6BZ6AK.js +138 -0
  201. package/cdn/chunks/chunk.WY7ZAZXA.js +19 -0
  202. package/cdn/chunks/chunk.X37TJUYW.js +19 -0
  203. package/cdn/chunks/chunk.X5GEXAXL.js +19 -0
  204. package/cdn/chunks/chunk.X76WQYYW.js +19 -0
  205. package/cdn/chunks/chunk.XVQCMA3M.js +32 -0
  206. package/cdn/chunks/chunk.XWYVG7GK.js +19 -0
  207. package/cdn/chunks/chunk.Y66HDAOP.js +32 -0
  208. package/cdn/chunks/chunk.YF7FICS7.js +19 -0
  209. package/cdn/chunks/chunk.YHKRAHVP.js +231 -0
  210. package/cdn/chunks/chunk.YPKEC5IK.js +29 -0
  211. package/cdn/chunks/chunk.YQ4SKOIN.js +132 -0
  212. package/cdn/chunks/chunk.Z3RVDKOC.js +15 -0
  213. package/cdn/chunks/chunk.Z44HWXXJ.js +195 -0
  214. package/cdn/chunks/chunk.ZAARA5NN.js +29 -0
  215. package/cdn/chunks/chunk.ZCVWVO2H.js +266 -0
  216. package/cdn/chunks/chunk.ZHIZCLYJ.js +93 -0
  217. package/cdn/chunks/chunk.ZL336EPZ.js +631 -0
  218. package/cdn/chunks/chunk.ZLI235RR.js +19 -0
  219. package/cdn/chunks/chunk.ZRV6GVL5.js +19 -0
  220. package/cdn/chunks/chunk.ZS67HYGB.js +56075 -0
  221. package/cdn/chunks/chunk.ZSELDXE4.js +19 -0
  222. package/cdn/chunks/chunk.ZZUDFWQK.js +19 -0
  223. package/cdn/chunks/lerc.WZVXX72L.js +2097 -0
  224. package/cdn/components/accordion/accordion.component.js +5 -5
  225. package/cdn/components/accordion/accordion.js +6 -6
  226. package/cdn/components/alert/alert.component.js +3 -3
  227. package/cdn/components/alert/alert.js +4 -4
  228. package/cdn/components/avatar/avatar.component.js +7 -7
  229. package/cdn/components/avatar/avatar.js +8 -8
  230. package/cdn/components/badge/badge.component.js +2 -2
  231. package/cdn/components/badge/badge.js +3 -3
  232. package/cdn/components/banner/banner.component.js +2 -2
  233. package/cdn/components/banner/banner.js +3 -3
  234. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  235. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  236. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  237. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  238. package/cdn/components/browse-variables/browse-variables.component.js +21 -21
  239. package/cdn/components/browse-variables/browse-variables.js +22 -22
  240. package/cdn/components/button/button.component.js +7 -7
  241. package/cdn/components/button/button.js +8 -8
  242. package/cdn/components/button-group/button-group.component.js +2 -2
  243. package/cdn/components/button-group/button-group.js +3 -3
  244. package/cdn/components/caption/caption.component.js +2 -2
  245. package/cdn/components/caption/caption.js +3 -3
  246. package/cdn/components/card/card.component.js +2 -2
  247. package/cdn/components/card/card.js +3 -3
  248. package/cdn/components/checkbox/checkbox.component.js +9 -9
  249. package/cdn/components/checkbox/checkbox.js +10 -10
  250. package/cdn/components/chip/chip.component.js +2 -2
  251. package/cdn/components/chip/chip.js +3 -3
  252. package/cdn/components/combobox/combobox.component.js +7 -7
  253. package/cdn/components/combobox/combobox.js +8 -8
  254. package/cdn/components/data-access/data-access.component.js +51 -41
  255. package/cdn/components/data-access/data-access.js +52 -42
  256. package/cdn/components/data-grid/data-grid.component.js +5 -5
  257. package/cdn/components/data-grid/data-grid.js +6 -6
  258. package/cdn/components/data-rods/data-rods.component.js +60 -50
  259. package/cdn/components/data-rods/data-rods.js +61 -51
  260. package/cdn/components/data-subsetter/data-subsetter.component.d.ts +1 -0
  261. package/cdn/components/data-subsetter/data-subsetter.component.js +61 -51
  262. package/cdn/components/data-subsetter/data-subsetter.js +62 -52
  263. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  264. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +63 -53
  265. package/cdn/components/data-subsetter-history/data-subsetter-history.js +64 -54
  266. package/cdn/components/date-picker/date-picker.component.js +17 -17
  267. package/cdn/components/date-picker/date-picker.js +18 -18
  268. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  269. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  270. package/cdn/components/dialog/dialog.component.js +9 -9
  271. package/cdn/components/dialog/dialog.js +10 -10
  272. package/cdn/components/divider/divider.component.js +2 -2
  273. package/cdn/components/divider/divider.js +3 -3
  274. package/cdn/components/dropdown/dropdown.component.js +3 -3
  275. package/cdn/components/dropdown/dropdown.js +4 -4
  276. package/cdn/components/earthdata-login/earthdata-login.component.js +16 -16
  277. package/cdn/components/earthdata-login/earthdata-login.js +17 -17
  278. package/cdn/components/file-upload/file-upload.component.js +2 -2
  279. package/cdn/components/file-upload/file-upload.js +3 -3
  280. package/cdn/components/harmony-history/harmony-history.component.js +10 -10
  281. package/cdn/components/harmony-history/harmony-history.js +11 -11
  282. package/cdn/components/icon/icon.component.js +3 -3
  283. package/cdn/components/icon/icon.js +4 -4
  284. package/cdn/components/input/input.component.js +8 -8
  285. package/cdn/components/input/input.js +9 -9
  286. package/cdn/components/loader/loader.component.js +2 -2
  287. package/cdn/components/loader/loader.js +3 -3
  288. package/cdn/components/login/login.component.d.ts +1 -0
  289. package/cdn/components/login/login.component.js +13 -13
  290. package/cdn/components/login/login.js +14 -14
  291. package/cdn/components/map/controls/draw-toolbar.control.js +3 -1
  292. package/cdn/components/map/layers/base.layer.d.ts +7 -0
  293. package/cdn/components/map/layers/base.layer.js +12 -0
  294. package/cdn/components/map/layers/borders.layer.d.ts +6 -0
  295. package/cdn/components/map/layers/borders.layer.js +14 -0
  296. package/cdn/components/map/layers/bordersStyleConfig.d.ts +29 -0
  297. package/cdn/components/map/layers/bordersStyleConfig.js +7 -0
  298. package/cdn/components/map/layers/labels.layer.d.ts +6 -0
  299. package/cdn/components/map/layers/labels.layer.js +14 -0
  300. package/cdn/components/map/layers/labelsStyleConfig.d.ts +2337 -0
  301. package/cdn/components/map/layers/labelsStyleConfig.js +7 -0
  302. package/cdn/components/map/map.component.d.ts +42 -0
  303. package/cdn/components/map/map.component.js +19 -9
  304. package/cdn/components/map/map.js +20 -10
  305. package/cdn/components/map/map.service.d.ts +50 -1
  306. package/cdn/components/map/map.service.js +14 -4
  307. package/cdn/components/map/map.styles.js +1 -1
  308. package/cdn/components/menu/menu.component.js +2 -2
  309. package/cdn/components/menu/menu.js +3 -3
  310. package/cdn/components/menu-item/menu-item.component.js +11 -11
  311. package/cdn/components/menu-item/menu-item.js +12 -12
  312. package/cdn/components/menu-item/submenu-controller.js +3 -3
  313. package/cdn/components/option/option.component.js +6 -6
  314. package/cdn/components/option/option.js +7 -7
  315. package/cdn/components/pagination/pagination.component.js +6 -6
  316. package/cdn/components/pagination/pagination.js +7 -7
  317. package/cdn/components/plot/plot.component.js +3 -3
  318. package/cdn/components/plot/plot.js +4 -4
  319. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  320. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  321. package/cdn/components/plot-toolbar/plot-toolbar.component.js +35 -25
  322. package/cdn/components/plot-toolbar/plot-toolbar.js +36 -26
  323. package/cdn/components/popup/popup.component.js +2 -2
  324. package/cdn/components/popup/popup.js +3 -3
  325. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  326. package/cdn/components/progress-bar/progress-bar.js +3 -3
  327. package/cdn/components/radio/radio.component.js +4 -4
  328. package/cdn/components/radio/radio.js +5 -5
  329. package/cdn/components/radio-group/radio-group.component.js +2 -2
  330. package/cdn/components/radio-group/radio-group.js +3 -3
  331. package/cdn/components/scroll-hint/scroll-hint.component.js +6 -6
  332. package/cdn/components/scroll-hint/scroll-hint.js +7 -7
  333. package/cdn/components/select/select.component.js +10 -10
  334. package/cdn/components/select/select.js +11 -11
  335. package/cdn/components/site-header/site-header.component.js +5 -5
  336. package/cdn/components/site-header/site-header.js +5 -5
  337. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  338. package/cdn/components/site-navigation/site-navigation.js +2 -2
  339. package/cdn/components/skeleton/skeleton.component.js +2 -2
  340. package/cdn/components/skeleton/skeleton.js +3 -3
  341. package/cdn/components/slider/slider.component.js +2 -2
  342. package/cdn/components/slider/slider.js +3 -3
  343. package/cdn/components/spatial-picker/spatial-picker.component.js +34 -24
  344. package/cdn/components/spatial-picker/spatial-picker.js +35 -25
  345. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  346. package/cdn/components/status-indicator/status-indicator.js +3 -3
  347. package/cdn/components/stepper/stepper.component.js +2 -2
  348. package/cdn/components/stepper/stepper.js +3 -3
  349. package/cdn/components/stepper-step/stepper-step.component.js +6 -6
  350. package/cdn/components/stepper-step/stepper-step.js +7 -7
  351. package/cdn/components/tab/tab.component.js +6 -6
  352. package/cdn/components/tab/tab.js +7 -7
  353. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  354. package/cdn/components/tab-panel/tab-panel.js +3 -3
  355. package/cdn/components/tabs/tabs.component.js +6 -6
  356. package/cdn/components/tabs/tabs.js +7 -7
  357. package/cdn/components/tag/tag.component.js +6 -6
  358. package/cdn/components/tag/tag.js +7 -7
  359. package/cdn/components/textarea/textarea.component.js +4 -4
  360. package/cdn/components/textarea/textarea.js +5 -5
  361. package/cdn/components/time-average-map/time-average-map.component.d.ts +12 -8
  362. package/cdn/components/time-average-map/time-average-map.component.js +44 -34
  363. package/cdn/components/time-average-map/time-average-map.controller.d.ts +5 -0
  364. package/cdn/components/time-average-map/time-average-map.controller.js +1 -1
  365. package/cdn/components/time-average-map/time-average-map.js +45 -35
  366. package/cdn/components/time-average-map/time-average-map.styles.js +1 -1
  367. package/cdn/components/time-series/time-series.component.js +43 -33
  368. package/cdn/components/time-series/time-series.controller.d.ts +5 -0
  369. package/cdn/components/time-series/time-series.controller.js +1 -1
  370. package/cdn/components/time-series/time-series.js +44 -34
  371. package/cdn/components/toast/toast.component.js +4 -4
  372. package/cdn/components/toast/toast.js +5 -5
  373. package/cdn/components/toggle/toggle.component.js +4 -4
  374. package/cdn/components/toggle/toggle.js +5 -5
  375. package/cdn/components/tooltip/tooltip.component.js +3 -3
  376. package/cdn/components/tooltip/tooltip.js +4 -4
  377. package/cdn/components/variable-combobox/lib.js +3 -3
  378. package/cdn/components/variable-combobox/variable-combobox.component.js +17 -17
  379. package/cdn/components/variable-combobox/variable-combobox.controller.js +4 -4
  380. package/cdn/components/variable-combobox/variable-combobox.js +18 -18
  381. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +15 -15
  382. package/cdn/components/variable-keyword-search/variable-keyword-search.js +16 -16
  383. package/cdn/custom-elements.json +8639 -8546
  384. package/cdn/events/events.d.ts +1 -1
  385. package/cdn/events/terra-map-change.d.ts +6 -0
  386. package/cdn/react/accordion/index.js +6 -6
  387. package/cdn/react/alert/index.js +4 -4
  388. package/cdn/react/avatar/index.js +8 -8
  389. package/cdn/react/badge/index.js +3 -3
  390. package/cdn/react/banner/index.js +3 -3
  391. package/cdn/react/breadcrumb/index.js +3 -3
  392. package/cdn/react/breadcrumbs/index.js +3 -3
  393. package/cdn/react/browse-variables/index.js +22 -22
  394. package/cdn/react/button/index.js +8 -8
  395. package/cdn/react/button-group/index.js +3 -3
  396. package/cdn/react/caption/index.js +3 -3
  397. package/cdn/react/card/index.js +3 -3
  398. package/cdn/react/checkbox/index.js +10 -10
  399. package/cdn/react/chip/index.js +3 -3
  400. package/cdn/react/combobox/index.js +8 -8
  401. package/cdn/react/data-access/index.js +52 -42
  402. package/cdn/react/data-grid/index.js +6 -6
  403. package/cdn/react/data-rods/index.js +61 -51
  404. package/cdn/react/data-subsetter/index.js +62 -52
  405. package/cdn/react/data-subsetter-history/index.js +64 -54
  406. package/cdn/react/date-picker/index.js +18 -18
  407. package/cdn/react/date-range-slider/index.js +3 -3
  408. package/cdn/react/dialog/index.js +10 -10
  409. package/cdn/react/divider/index.js +3 -3
  410. package/cdn/react/dropdown/index.js +4 -4
  411. package/cdn/react/earthdata-login/index.js +17 -17
  412. package/cdn/react/file-upload/index.js +3 -3
  413. package/cdn/react/harmony-history/index.js +11 -11
  414. package/cdn/react/icon/index.js +4 -4
  415. package/cdn/react/index.d.ts +23 -23
  416. package/cdn/react/index.js +258 -248
  417. package/cdn/react/input/index.js +9 -9
  418. package/cdn/react/loader/index.js +3 -3
  419. package/cdn/react/login/index.js +14 -14
  420. package/cdn/react/map/index.js +20 -10
  421. package/cdn/react/menu/index.js +3 -3
  422. package/cdn/react/menu-item/index.js +12 -12
  423. package/cdn/react/option/index.js +7 -7
  424. package/cdn/react/pagination/index.js +7 -7
  425. package/cdn/react/plot/index.js +4 -4
  426. package/cdn/react/plot-toolbar/index.js +36 -26
  427. package/cdn/react/popup/index.js +3 -3
  428. package/cdn/react/progress-bar/index.js +3 -3
  429. package/cdn/react/radio/index.js +5 -5
  430. package/cdn/react/radio-group/index.js +3 -3
  431. package/cdn/react/scroll-hint/index.js +7 -7
  432. package/cdn/react/select/index.js +11 -11
  433. package/cdn/react/site-header/index.js +6 -6
  434. package/cdn/react/site-navigation/index.js +3 -3
  435. package/cdn/react/skeleton/index.js +3 -3
  436. package/cdn/react/slider/index.js +3 -3
  437. package/cdn/react/spatial-picker/index.js +35 -25
  438. package/cdn/react/status-indicator/index.js +3 -3
  439. package/cdn/react/stepper/index.js +3 -3
  440. package/cdn/react/stepper-step/index.js +7 -7
  441. package/cdn/react/tab/index.js +7 -7
  442. package/cdn/react/tab-panel/index.js +3 -3
  443. package/cdn/react/tabs/index.js +7 -7
  444. package/cdn/react/tag/index.js +7 -7
  445. package/cdn/react/textarea/index.js +5 -5
  446. package/cdn/react/time-average-map/index.js +45 -35
  447. package/cdn/react/time-series/index.js +44 -34
  448. package/cdn/react/toast/index.js +5 -5
  449. package/cdn/react/toggle/index.js +5 -5
  450. package/cdn/react/tooltip/index.js +4 -4
  451. package/cdn/react/variable-combobox/index.js +18 -18
  452. package/cdn/react/variable-keyword-search/index.js +16 -16
  453. package/cdn/terra-ui-components.js +255 -245
  454. package/cdn/types/vue/index.d.ts +881 -858
  455. package/cdn/vscode.html-custom-data.json +828 -822
  456. package/cdn/web-types.json +2047 -2032
  457. package/dist/chunks/chunk.2HEXM6MX.js +154 -0
  458. package/dist/chunks/chunk.2XFQ7HNR.js +1 -0
  459. package/dist/chunks/chunk.2ZDFC7XD.js +5 -0
  460. package/dist/chunks/chunk.3AF4SJ26.js +780 -0
  461. package/dist/chunks/chunk.3CP7SY7X.js +1 -0
  462. package/dist/chunks/chunk.3NAZF34U.js +1 -0
  463. package/dist/chunks/chunk.3R2J27ZS.js +25 -0
  464. package/dist/chunks/chunk.3XRKWNW5.js +1 -0
  465. package/dist/chunks/chunk.3YJGZAO5.js +1 -0
  466. package/dist/chunks/chunk.447IKCOD.js +1 -0
  467. package/dist/chunks/chunk.44AWWV54.js +30 -0
  468. package/dist/chunks/chunk.46DYUPBX.js +22 -0
  469. package/dist/chunks/chunk.4E2BUN4F.js +1 -0
  470. package/dist/chunks/chunk.4NDKE3PZ.js +1 -0
  471. package/dist/chunks/chunk.4RFJMMAN.js +1 -0
  472. package/dist/chunks/chunk.4SRXQYLE.js +39 -0
  473. package/dist/chunks/chunk.4ZQUOM75.js +80 -0
  474. package/dist/chunks/chunk.5DDZRQCR.js +26 -0
  475. package/dist/chunks/chunk.5DJQBDNY.js +99 -0
  476. package/dist/chunks/chunk.5GJQRKUS.js +1 -0
  477. package/dist/chunks/chunk.5GTOXSEK.js +24 -0
  478. package/dist/chunks/chunk.5HY3BVXE.js +23 -0
  479. package/dist/chunks/chunk.5MNSQC5Z.js +43 -0
  480. package/dist/chunks/chunk.5S57Z6MY.js +1 -0
  481. package/dist/chunks/chunk.63KFBVDZ.js +125 -0
  482. package/dist/chunks/chunk.66FVHWWG.js +1 -0
  483. package/dist/chunks/chunk.6C3T5LR6.js +1 -0
  484. package/dist/chunks/chunk.6D4YDDOH.js +148 -0
  485. package/dist/chunks/chunk.6OVOBLEB.js +1 -0
  486. package/dist/chunks/chunk.6QWTHDDS.js +1 -0
  487. package/dist/chunks/chunk.6TIISOSM.js +1 -0
  488. package/dist/chunks/chunk.6UUXXIO5.js +1 -0
  489. package/dist/chunks/chunk.6YB2WV52.js +9 -0
  490. package/dist/chunks/chunk.6YNWYAON.js +1 -0
  491. package/dist/chunks/chunk.74UO2S6X.js +26 -0
  492. package/dist/chunks/chunk.75Q2DUI4.js +145 -0
  493. package/dist/chunks/chunk.7DCDWHIP.js +1 -0
  494. package/dist/chunks/chunk.7KOIBYPW.js +1 -0
  495. package/dist/chunks/chunk.7LW5MDPV.js +1 -0
  496. package/dist/chunks/chunk.7RSJSUF5.js +122 -0
  497. package/dist/chunks/chunk.7VL5XLTF.js +1 -0
  498. package/dist/chunks/chunk.7ZTODERJ.js +61 -0
  499. package/dist/chunks/chunk.A4JPZBCU.js +1 -0
  500. package/dist/chunks/chunk.A6XZHXKG.js +17 -0
  501. package/dist/chunks/chunk.ABDHAYTU.js +1 -0
  502. package/dist/chunks/chunk.AF4KKKIK.js +176 -0
  503. package/dist/chunks/chunk.AOJ7CENL.js +1 -0
  504. package/dist/chunks/chunk.ATX7REBU.js +1 -0
  505. package/dist/chunks/chunk.AUBMY7XI.js +8 -0
  506. package/dist/chunks/chunk.AV5MTWD4.js +1 -0
  507. package/dist/chunks/chunk.AWA2ZGEV.js +300 -0
  508. package/dist/chunks/chunk.AXXCXZWY.js +1 -0
  509. package/dist/chunks/chunk.AYEBTFZT.js +433 -0
  510. package/dist/chunks/chunk.B5FLJR3A.js +37 -0
  511. package/dist/chunks/chunk.BCI323BR.js +1 -0
  512. package/dist/chunks/chunk.BQ2TQQGG.js +1 -0
  513. package/dist/chunks/chunk.BRSDDKYM.js +33 -0
  514. package/dist/chunks/chunk.BYWODPGT.js +1 -0
  515. package/dist/chunks/chunk.C5S23DNK.js +1 -0
  516. package/dist/chunks/chunk.CBLMIMXD.js +20 -0
  517. package/dist/chunks/chunk.CC3TFKZ5.js +1 -0
  518. package/dist/chunks/chunk.CLGMXYFG.js +1 -0
  519. package/dist/chunks/chunk.CLQSO2B3.js +1 -0
  520. package/dist/chunks/chunk.CMABIFU7.js +1 -0
  521. package/dist/chunks/chunk.CS5XSAK7.js +1 -0
  522. package/dist/chunks/chunk.D5GCNDYG.js +1 -0
  523. package/dist/chunks/chunk.DANE2DV4.js +1 -0
  524. package/dist/chunks/chunk.DBLKA334.js +1 -0
  525. package/dist/chunks/chunk.DHUDN5NR.js +1 -0
  526. package/dist/chunks/chunk.DK636C4K.js +19 -0
  527. package/dist/chunks/chunk.DSIIF7K6.js +1 -0
  528. package/dist/chunks/chunk.DUG6LPDO.js +1 -0
  529. package/dist/chunks/chunk.DXULPI2C.js +1 -0
  530. package/dist/chunks/chunk.ECXCY3XX.js +12 -0
  531. package/dist/chunks/chunk.EFQ4VOA6.js +1 -0
  532. package/dist/chunks/chunk.EHEFJ4UM.js +35 -0
  533. package/dist/chunks/chunk.EPMIYG6Y.js +113 -0
  534. package/dist/chunks/chunk.F5HERH3C.js +1 -0
  535. package/dist/chunks/chunk.FEBNDE5C.js +1 -0
  536. package/dist/chunks/chunk.FSHLOPG4.js +1 -0
  537. package/dist/chunks/chunk.FTC6BJLL.js +47 -0
  538. package/dist/chunks/chunk.FWNUKBYM.js +1 -0
  539. package/dist/chunks/chunk.GCKLOHLJ.js +1 -0
  540. package/dist/chunks/chunk.GQT3QXWD.js +1 -0
  541. package/dist/chunks/chunk.GSCUNOLU.js +30 -0
  542. package/dist/chunks/chunk.GUIMVPU3.js +1 -0
  543. package/dist/chunks/chunk.GXCYLTXI.js +1 -0
  544. package/dist/chunks/chunk.H2EZ7VOW.js +1 -0
  545. package/dist/chunks/chunk.H2MRWWA5.js +1 -0
  546. package/dist/chunks/chunk.H4WCUAI5.js +1 -0
  547. package/dist/chunks/chunk.H6HYWCWZ.js +55 -0
  548. package/dist/chunks/chunk.HKXBQIJC.js +1 -0
  549. package/dist/chunks/chunk.HLRV2WXA.js +1 -0
  550. package/dist/chunks/chunk.HPSHJNUL.js +1 -0
  551. package/dist/chunks/chunk.HQE6JQ36.js +1 -0
  552. package/dist/chunks/chunk.HTRDWX5D.js +1 -0
  553. package/dist/chunks/chunk.I2H5CL5B.js +1 -0
  554. package/dist/chunks/chunk.I2VZCTPD.js +1 -0
  555. package/dist/chunks/chunk.I3ABET54.js +1 -0
  556. package/dist/chunks/chunk.I4XNSZMV.js +14 -0
  557. package/dist/chunks/chunk.IDRV4QVY.js +75 -0
  558. package/dist/chunks/chunk.IHH2EMZT.js +280 -0
  559. package/dist/chunks/chunk.IX4DTAAR.js +1 -0
  560. package/dist/chunks/chunk.IYYXOBVJ.js +1 -0
  561. package/dist/chunks/chunk.J6YMXA4V.js +1 -0
  562. package/dist/chunks/chunk.JF64QOIK.js +1 -0
  563. package/dist/chunks/chunk.JMGGBACY.js +1 -0
  564. package/dist/chunks/chunk.JPRIHHL3.js +1 -0
  565. package/dist/chunks/chunk.JUV3F76R.js +35 -0
  566. package/dist/chunks/chunk.K67524WR.js +1 -0
  567. package/dist/chunks/chunk.K6KJNAUI.js +1 -0
  568. package/dist/chunks/chunk.KCCCUPQI.js +74 -0
  569. package/dist/chunks/chunk.KDP7MFSQ.js +1 -0
  570. package/dist/chunks/chunk.KG3775TI.js +1 -0
  571. package/dist/chunks/chunk.KG4H7K5W.js +11 -0
  572. package/dist/chunks/chunk.KIXW3H6F.js +1 -0
  573. package/dist/chunks/chunk.KRQB5VTT.js +1 -0
  574. package/dist/chunks/chunk.KSEX673E.js +1 -0
  575. package/dist/chunks/chunk.KUPSLOUX.js +1 -0
  576. package/dist/chunks/chunk.L2IUPHO3.js +1 -0
  577. package/dist/chunks/chunk.LCGVUMKQ.js +43 -0
  578. package/dist/chunks/chunk.LFHFYBLO.js +1 -0
  579. package/dist/chunks/chunk.LICY6WJT.js +4 -0
  580. package/dist/chunks/chunk.LKQ44YSQ.js +1 -0
  581. package/dist/chunks/chunk.M4G2JEW2.js +1 -0
  582. package/dist/chunks/chunk.MBOEFHQI.js +55 -0
  583. package/dist/chunks/chunk.MCR2VZQP.js +1 -0
  584. package/dist/chunks/chunk.MGN6FPMX.js +1 -0
  585. package/dist/chunks/chunk.MOWA5ULN.js +1 -0
  586. package/dist/chunks/chunk.MPDRWVZL.js +1 -0
  587. package/dist/chunks/chunk.MSBCPIGA.js +1 -0
  588. package/dist/chunks/chunk.N4IMML6I.js +121 -0
  589. package/dist/chunks/chunk.NRTWU3TW.js +1 -0
  590. package/dist/chunks/chunk.NW27EPOF.js +5 -0
  591. package/dist/chunks/chunk.NXSYWMFP.js +1 -0
  592. package/dist/chunks/chunk.NZNJPDVW.js +1 -0
  593. package/dist/chunks/chunk.OAALYDNZ.js +1 -0
  594. package/dist/chunks/chunk.OANTUX24.js +48 -0
  595. package/dist/chunks/chunk.OFOCDP2M.js +1 -0
  596. package/dist/chunks/chunk.OJUQFN4A.js +27 -0
  597. package/dist/chunks/chunk.OPBZIY2A.js +1 -0
  598. package/dist/chunks/chunk.OT6SFBQX.js +1 -0
  599. package/dist/chunks/chunk.OWZEKFKL.js +1 -0
  600. package/dist/chunks/chunk.OZUKFWGD.js +1 -0
  601. package/dist/chunks/chunk.P5XWJ5HC.js +1 -0
  602. package/dist/chunks/chunk.PR7E6KYS.js +1 -0
  603. package/dist/chunks/chunk.PTN44XCI.js +572 -0
  604. package/dist/chunks/chunk.PWT5JMOP.js +1 -0
  605. package/dist/chunks/chunk.QBXUVQTY.js +1 -0
  606. package/dist/chunks/chunk.QIS56XCC.js +1 -0
  607. package/dist/chunks/chunk.QP5FZIRF.js +1 -0
  608. package/dist/chunks/chunk.QQV7OIO7.js +55 -0
  609. package/dist/chunks/chunk.QS2CNV3Q.js +1 -0
  610. package/dist/chunks/chunk.QUULVCZU.js +1 -0
  611. package/dist/chunks/chunk.R4JAF7DS.js +1 -0
  612. package/dist/chunks/chunk.RFRYQSE5.js +41 -0
  613. package/dist/chunks/chunk.RIDJTVHV.js +1 -0
  614. package/dist/chunks/chunk.RNGOVZGF.js +9 -0
  615. package/dist/chunks/chunk.RRTP2FHP.js +1 -0
  616. package/dist/chunks/chunk.RW66TULD.js +1 -0
  617. package/dist/chunks/chunk.RXSKPOBF.js +1 -0
  618. package/dist/chunks/chunk.RYL27WYB.js +1 -0
  619. package/dist/chunks/chunk.SAHUIO3P.js +1 -0
  620. package/dist/chunks/chunk.SPNO75Q4.js +514 -0
  621. package/dist/chunks/chunk.SY3HGJA3.js +100 -0
  622. package/dist/chunks/chunk.SYGSWLVD.js +1 -0
  623. package/dist/chunks/chunk.TAQ6A3B7.js +2 -0
  624. package/dist/chunks/chunk.TQZFMQPE.js +11 -0
  625. package/dist/chunks/chunk.TSOQGANL.js +1 -0
  626. package/dist/chunks/chunk.TTWUGVNW.js +1 -0
  627. package/dist/chunks/chunk.UCO7ADVP.js +64 -0
  628. package/dist/chunks/chunk.UFJISWXG.js +1 -0
  629. package/dist/chunks/chunk.UFYFMNUK.js +1 -0
  630. package/dist/chunks/chunk.UIQXEV7N.js +67 -0
  631. package/dist/chunks/chunk.UZHA3QCH.js +1190 -0
  632. package/dist/chunks/chunk.UZI5DYPK.js +41 -0
  633. package/dist/chunks/chunk.UZZBJV4T.js +1 -0
  634. package/dist/chunks/chunk.V34PEB3H.js +1 -0
  635. package/dist/chunks/chunk.V4X3J7H5.js +1 -0
  636. package/dist/chunks/chunk.VILSXY2Q.js +1 -0
  637. package/dist/chunks/chunk.VSPWNHOW.js +1 -0
  638. package/dist/chunks/chunk.VT3KMZ66.js +1 -0
  639. package/dist/chunks/chunk.VZESRFZQ.js +62 -0
  640. package/dist/chunks/chunk.W57YAS2G.js +1 -0
  641. package/dist/chunks/chunk.WDHC6FGQ.js +157 -0
  642. package/dist/chunks/chunk.WE4PQXFD.js +65 -0
  643. package/dist/chunks/chunk.WG457PDK.js +1 -0
  644. package/dist/chunks/chunk.WJQTKD6X.js +1 -0
  645. package/dist/chunks/chunk.WKNEHZOD.js +16 -0
  646. package/dist/chunks/chunk.WQFHYRFG.js +1 -0
  647. package/dist/chunks/chunk.WTDZWPN3.js +1 -0
  648. package/dist/chunks/chunk.WZYEI2K3.js +1 -0
  649. package/dist/chunks/chunk.X266J3HR.js +1 -0
  650. package/dist/chunks/chunk.X74E6IXG.js +1 -0
  651. package/dist/chunks/chunk.XA6IYBQ4.js +1 -0
  652. package/dist/chunks/chunk.XAZE2FE3.js +1 -0
  653. package/dist/chunks/chunk.XJKVDKZL.js +1 -0
  654. package/dist/chunks/chunk.XUAILPGW.js +1 -0
  655. package/dist/chunks/chunk.XV7MX5O2.js +1 -0
  656. package/dist/chunks/chunk.YA5FFFLQ.js +20 -0
  657. package/dist/chunks/chunk.YDXNKY2Y.js +1 -0
  658. package/dist/chunks/chunk.YOFBYVP5.js +6 -0
  659. package/dist/chunks/chunk.YR5SSBSW.js +299 -0
  660. package/dist/chunks/chunk.YUDIM7TE.js +1 -0
  661. package/dist/chunks/chunk.YX5E2IPT.js +1 -0
  662. package/dist/chunks/chunk.ZRR3M7ZR.js +8 -0
  663. package/dist/chunks/chunk.ZUZ7QHWU.js +1 -0
  664. package/dist/components/accordion/accordion.component.js +1 -1
  665. package/dist/components/accordion/accordion.js +1 -1
  666. package/dist/components/alert/alert.component.js +1 -1
  667. package/dist/components/alert/alert.js +1 -1
  668. package/dist/components/avatar/avatar.component.js +1 -1
  669. package/dist/components/avatar/avatar.js +1 -1
  670. package/dist/components/badge/badge.component.js +1 -1
  671. package/dist/components/badge/badge.js +1 -1
  672. package/dist/components/banner/banner.component.js +1 -1
  673. package/dist/components/banner/banner.js +1 -1
  674. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  675. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  676. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  677. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  678. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  679. package/dist/components/browse-variables/browse-variables.js +1 -1
  680. package/dist/components/button/button.component.js +1 -1
  681. package/dist/components/button/button.js +1 -1
  682. package/dist/components/button-group/button-group.component.js +1 -1
  683. package/dist/components/button-group/button-group.js +1 -1
  684. package/dist/components/caption/caption.component.js +1 -1
  685. package/dist/components/caption/caption.js +1 -1
  686. package/dist/components/card/card.component.js +1 -1
  687. package/dist/components/card/card.js +1 -1
  688. package/dist/components/checkbox/checkbox.component.js +1 -1
  689. package/dist/components/checkbox/checkbox.js +1 -1
  690. package/dist/components/chip/chip.component.js +1 -1
  691. package/dist/components/chip/chip.js +1 -1
  692. package/dist/components/combobox/combobox.component.js +1 -1
  693. package/dist/components/combobox/combobox.js +1 -1
  694. package/dist/components/data-access/data-access.component.js +1 -1
  695. package/dist/components/data-access/data-access.js +1 -1
  696. package/dist/components/data-grid/data-grid.component.js +1 -1
  697. package/dist/components/data-grid/data-grid.js +1 -1
  698. package/dist/components/data-rods/data-rods.component.js +1 -1
  699. package/dist/components/data-rods/data-rods.js +1 -1
  700. package/dist/components/data-subsetter/data-subsetter.component.d.ts +1 -0
  701. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  702. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  703. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  704. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  705. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  706. package/dist/components/date-picker/date-picker.component.js +1 -1
  707. package/dist/components/date-picker/date-picker.js +1 -1
  708. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  709. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  710. package/dist/components/dialog/dialog.component.js +1 -1
  711. package/dist/components/dialog/dialog.js +1 -1
  712. package/dist/components/divider/divider.component.js +1 -1
  713. package/dist/components/divider/divider.js +1 -1
  714. package/dist/components/dropdown/dropdown.component.js +1 -1
  715. package/dist/components/dropdown/dropdown.js +1 -1
  716. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  717. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  718. package/dist/components/file-upload/file-upload.component.js +1 -1
  719. package/dist/components/file-upload/file-upload.js +1 -1
  720. package/dist/components/harmony-history/harmony-history.component.js +1 -1
  721. package/dist/components/harmony-history/harmony-history.js +1 -1
  722. package/dist/components/icon/icon.component.js +1 -1
  723. package/dist/components/icon/icon.js +1 -1
  724. package/dist/components/input/input.component.js +1 -1
  725. package/dist/components/input/input.js +1 -1
  726. package/dist/components/loader/loader.component.js +1 -1
  727. package/dist/components/loader/loader.js +1 -1
  728. package/dist/components/login/login.component.d.ts +1 -0
  729. package/dist/components/login/login.component.js +1 -1
  730. package/dist/components/login/login.js +1 -1
  731. package/dist/components/map/layers/base.layer.d.ts +7 -0
  732. package/dist/components/map/layers/base.layer.js +1 -0
  733. package/dist/components/map/layers/borders.layer.d.ts +6 -0
  734. package/dist/components/map/layers/borders.layer.js +1 -0
  735. package/dist/components/map/layers/bordersStyleConfig.d.ts +29 -0
  736. package/dist/components/map/layers/bordersStyleConfig.js +1 -0
  737. package/dist/components/map/layers/labels.layer.d.ts +6 -0
  738. package/dist/components/map/layers/labels.layer.js +1 -0
  739. package/dist/components/map/layers/labelsStyleConfig.d.ts +2337 -0
  740. package/dist/components/map/layers/labelsStyleConfig.js +1 -0
  741. package/dist/components/map/map.component.d.ts +42 -0
  742. package/dist/components/map/map.component.js +1 -1
  743. package/dist/components/map/map.js +1 -1
  744. package/dist/components/map/map.service.d.ts +50 -1
  745. package/dist/components/map/map.service.js +1 -1
  746. package/dist/components/map/map.styles.js +1 -1
  747. package/dist/components/menu/menu.component.js +1 -1
  748. package/dist/components/menu/menu.js +1 -1
  749. package/dist/components/menu-item/menu-item.component.js +1 -1
  750. package/dist/components/menu-item/menu-item.js +1 -1
  751. package/dist/components/option/option.component.js +1 -1
  752. package/dist/components/option/option.js +1 -1
  753. package/dist/components/pagination/pagination.component.js +1 -1
  754. package/dist/components/pagination/pagination.js +1 -1
  755. package/dist/components/plot/plot.component.js +1 -1
  756. package/dist/components/plot/plot.js +1 -1
  757. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  758. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  759. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  760. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  761. package/dist/components/popup/popup.component.js +1 -1
  762. package/dist/components/popup/popup.js +1 -1
  763. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  764. package/dist/components/progress-bar/progress-bar.js +1 -1
  765. package/dist/components/radio/radio.component.js +1 -1
  766. package/dist/components/radio/radio.js +1 -1
  767. package/dist/components/radio-group/radio-group.component.js +1 -1
  768. package/dist/components/radio-group/radio-group.js +1 -1
  769. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  770. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  771. package/dist/components/select/select.component.js +1 -1
  772. package/dist/components/select/select.js +1 -1
  773. package/dist/components/site-header/site-header.component.js +1 -1
  774. package/dist/components/site-header/site-header.js +1 -1
  775. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  776. package/dist/components/site-navigation/site-navigation.js +1 -1
  777. package/dist/components/skeleton/skeleton.component.js +1 -1
  778. package/dist/components/skeleton/skeleton.js +1 -1
  779. package/dist/components/slider/slider.component.js +1 -1
  780. package/dist/components/slider/slider.js +1 -1
  781. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  782. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  783. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  784. package/dist/components/status-indicator/status-indicator.js +1 -1
  785. package/dist/components/stepper/stepper.component.js +1 -1
  786. package/dist/components/stepper/stepper.js +1 -1
  787. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  788. package/dist/components/stepper-step/stepper-step.js +1 -1
  789. package/dist/components/tab/tab.component.js +1 -1
  790. package/dist/components/tab/tab.js +1 -1
  791. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  792. package/dist/components/tab-panel/tab-panel.js +1 -1
  793. package/dist/components/tabs/tabs.component.js +1 -1
  794. package/dist/components/tabs/tabs.js +1 -1
  795. package/dist/components/tag/tag.component.js +1 -1
  796. package/dist/components/tag/tag.js +1 -1
  797. package/dist/components/textarea/textarea.component.js +1 -1
  798. package/dist/components/textarea/textarea.js +1 -1
  799. package/dist/components/time-average-map/time-average-map.component.d.ts +12 -8
  800. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  801. package/dist/components/time-average-map/time-average-map.controller.d.ts +5 -0
  802. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  803. package/dist/components/time-average-map/time-average-map.js +1 -1
  804. package/dist/components/time-average-map/time-average-map.styles.js +1 -1
  805. package/dist/components/time-series/time-series.component.js +1 -1
  806. package/dist/components/time-series/time-series.controller.d.ts +5 -0
  807. package/dist/components/time-series/time-series.controller.js +1 -1
  808. package/dist/components/time-series/time-series.js +1 -1
  809. package/dist/components/toast/toast.component.js +1 -1
  810. package/dist/components/toast/toast.js +1 -1
  811. package/dist/components/toggle/toggle.component.js +1 -1
  812. package/dist/components/toggle/toggle.js +1 -1
  813. package/dist/components/tooltip/tooltip.component.js +1 -1
  814. package/dist/components/tooltip/tooltip.js +1 -1
  815. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  816. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  817. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  818. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  819. package/dist/custom-elements.json +8639 -8546
  820. package/dist/events/events.d.ts +1 -1
  821. package/dist/events/terra-map-change.d.ts +6 -0
  822. package/dist/react/accordion/index.js +1 -1
  823. package/dist/react/alert/index.js +1 -1
  824. package/dist/react/avatar/index.js +1 -1
  825. package/dist/react/badge/index.js +1 -1
  826. package/dist/react/banner/index.js +1 -1
  827. package/dist/react/breadcrumb/index.js +1 -1
  828. package/dist/react/breadcrumbs/index.js +1 -1
  829. package/dist/react/browse-variables/index.js +1 -1
  830. package/dist/react/button/index.js +1 -1
  831. package/dist/react/button-group/index.js +1 -1
  832. package/dist/react/caption/index.js +1 -1
  833. package/dist/react/card/index.js +1 -1
  834. package/dist/react/checkbox/index.js +1 -1
  835. package/dist/react/chip/index.js +1 -1
  836. package/dist/react/combobox/index.js +1 -1
  837. package/dist/react/data-access/index.js +1 -1
  838. package/dist/react/data-grid/index.js +1 -1
  839. package/dist/react/data-rods/index.js +1 -1
  840. package/dist/react/data-subsetter/index.js +1 -1
  841. package/dist/react/data-subsetter-history/index.js +1 -1
  842. package/dist/react/date-picker/index.js +1 -1
  843. package/dist/react/date-range-slider/index.js +1 -1
  844. package/dist/react/dialog/index.js +1 -1
  845. package/dist/react/divider/index.js +1 -1
  846. package/dist/react/dropdown/index.js +1 -1
  847. package/dist/react/earthdata-login/index.js +1 -1
  848. package/dist/react/file-upload/index.js +1 -1
  849. package/dist/react/harmony-history/index.js +1 -1
  850. package/dist/react/icon/index.js +1 -1
  851. package/dist/react/index.d.ts +23 -23
  852. package/dist/react/index.js +1 -1
  853. package/dist/react/input/index.js +1 -1
  854. package/dist/react/loader/index.js +1 -1
  855. package/dist/react/login/index.js +1 -1
  856. package/dist/react/map/index.js +1 -1
  857. package/dist/react/menu/index.js +1 -1
  858. package/dist/react/menu-item/index.js +1 -1
  859. package/dist/react/option/index.js +1 -1
  860. package/dist/react/pagination/index.js +1 -1
  861. package/dist/react/plot/index.js +1 -1
  862. package/dist/react/plot-toolbar/index.js +1 -1
  863. package/dist/react/popup/index.js +1 -1
  864. package/dist/react/progress-bar/index.js +1 -1
  865. package/dist/react/radio/index.js +1 -1
  866. package/dist/react/radio-group/index.js +1 -1
  867. package/dist/react/scroll-hint/index.js +1 -1
  868. package/dist/react/select/index.js +1 -1
  869. package/dist/react/site-header/index.js +1 -1
  870. package/dist/react/site-navigation/index.js +1 -1
  871. package/dist/react/skeleton/index.js +1 -1
  872. package/dist/react/slider/index.js +1 -1
  873. package/dist/react/spatial-picker/index.js +1 -1
  874. package/dist/react/status-indicator/index.js +1 -1
  875. package/dist/react/stepper/index.js +1 -1
  876. package/dist/react/stepper-step/index.js +1 -1
  877. package/dist/react/tab/index.js +1 -1
  878. package/dist/react/tab-panel/index.js +1 -1
  879. package/dist/react/tabs/index.js +1 -1
  880. package/dist/react/tag/index.js +1 -1
  881. package/dist/react/textarea/index.js +1 -1
  882. package/dist/react/time-average-map/index.js +1 -1
  883. package/dist/react/time-series/index.js +1 -1
  884. package/dist/react/toast/index.js +1 -1
  885. package/dist/react/toggle/index.js +1 -1
  886. package/dist/react/tooltip/index.js +1 -1
  887. package/dist/react/variable-combobox/index.js +1 -1
  888. package/dist/react/variable-keyword-search/index.js +1 -1
  889. package/dist/terra-ui-components.js +1 -1
  890. package/dist/terra_ui_components-0.0.199-py3-none-any.whl +0 -0
  891. package/dist/terra_ui_components-0.0.199.tar.gz +0 -0
  892. package/dist/types/vue/index.d.ts +881 -858
  893. package/dist/vscode.html-custom-data.json +828 -822
  894. package/dist/web-types.json +2047 -2032
  895. package/package.json +2 -1
  896. package/cdn/chunks/GeoTIFF.NRJSPXBW.js +0 -21958
  897. package/cdn/chunks/chunk.2DTFNQFU.js +0 -537
  898. package/cdn/chunks/chunk.2GFNVSIG.js +0 -134
  899. package/cdn/chunks/chunk.2LBTME33.js +0 -29
  900. package/cdn/chunks/chunk.2QMJ6JFC.js +0 -19
  901. package/cdn/chunks/chunk.2WSLJMJH.js +0 -19
  902. package/cdn/chunks/chunk.2YVSNZK6.js +0 -158
  903. package/cdn/chunks/chunk.35V6PNLW.js +0 -113
  904. package/cdn/chunks/chunk.35W6TJ7F.js +0 -266
  905. package/cdn/chunks/chunk.3EDRI43W.js +0 -19
  906. package/cdn/chunks/chunk.3MSKTFUH.js +0 -610
  907. package/cdn/chunks/chunk.3MSMZU4H.js +0 -33
  908. package/cdn/chunks/chunk.3Q67HS22.js +0 -19
  909. package/cdn/chunks/chunk.43DUFN7D.js +0 -37
  910. package/cdn/chunks/chunk.463S4T2I.js +0 -49
  911. package/cdn/chunks/chunk.4AP7IUGS.js +0 -19
  912. package/cdn/chunks/chunk.4C66SG3L.js +0 -47
  913. package/cdn/chunks/chunk.4CMK7BSI.js +0 -29
  914. package/cdn/chunks/chunk.4GLQ2KWQ.js +0 -631
  915. package/cdn/chunks/chunk.4GNN2544.js +0 -29
  916. package/cdn/chunks/chunk.4U3PMGMD.js +0 -36
  917. package/cdn/chunks/chunk.4ZE6RMS6.js +0 -132
  918. package/cdn/chunks/chunk.5FAACRBU.js +0 -594
  919. package/cdn/chunks/chunk.5JFGJRLR.js +0 -19
  920. package/cdn/chunks/chunk.5S5IE4WQ.js +0 -195
  921. package/cdn/chunks/chunk.5U47W7ZI.js +0 -32
  922. package/cdn/chunks/chunk.5VJNHYYD.js +0 -171
  923. package/cdn/chunks/chunk.632TYPZK.js +0 -19
  924. package/cdn/chunks/chunk.6FJCGU4K.js +0 -616
  925. package/cdn/chunks/chunk.6INKGSON.js +0 -19
  926. package/cdn/chunks/chunk.6IRICZQU.js +0 -36
  927. package/cdn/chunks/chunk.6NKCYDS6.js +0 -99
  928. package/cdn/chunks/chunk.6OXV4DFR.js +0 -29
  929. package/cdn/chunks/chunk.6SJL6T2W.js +0 -29
  930. package/cdn/chunks/chunk.73PEBYZF.js +0 -224
  931. package/cdn/chunks/chunk.73QX76GR.js +0 -19
  932. package/cdn/chunks/chunk.7IYPYEBZ.js +0 -278
  933. package/cdn/chunks/chunk.7MG6BND4.js +0 -359
  934. package/cdn/chunks/chunk.7MOV32ZX.js +0 -29
  935. package/cdn/chunks/chunk.7OBDWUSU.js +0 -293
  936. package/cdn/chunks/chunk.A6A2KVBS.js +0 -29
  937. package/cdn/chunks/chunk.AATVQZ7X.js +0 -277
  938. package/cdn/chunks/chunk.AB5GSS2K.js +0 -86
  939. package/cdn/chunks/chunk.AP626FXT.js +0 -35
  940. package/cdn/chunks/chunk.APOEQA6N.js +0 -157
  941. package/cdn/chunks/chunk.ARMGN7PF.js +0 -35
  942. package/cdn/chunks/chunk.AUB3ZMUY.js +0 -32
  943. package/cdn/chunks/chunk.AUOREJVS.js +0 -32
  944. package/cdn/chunks/chunk.AVQ3IV27.js +0 -29
  945. package/cdn/chunks/chunk.B2JKFWS4.js +0 -19
  946. package/cdn/chunks/chunk.B3ZNCJ7K.js +0 -32
  947. package/cdn/chunks/chunk.B4EO7TSO.js +0 -29
  948. package/cdn/chunks/chunk.B4JUAUTG.js +0 -29
  949. package/cdn/chunks/chunk.B525B6TR.js +0 -19
  950. package/cdn/chunks/chunk.B6N22EGF.js +0 -29
  951. package/cdn/chunks/chunk.BEIYABPJ.js +0 -155
  952. package/cdn/chunks/chunk.BIFWEQ4T.js +0 -68
  953. package/cdn/chunks/chunk.BPM7DAZG.js +0 -19
  954. package/cdn/chunks/chunk.BSZO4VOU.js +0 -29
  955. package/cdn/chunks/chunk.BVACLOKI.js +0 -110
  956. package/cdn/chunks/chunk.BY4MQRHS.js +0 -19
  957. package/cdn/chunks/chunk.C5JHX2EK.js +0 -19
  958. package/cdn/chunks/chunk.CJZNLZ5M.js +0 -190
  959. package/cdn/chunks/chunk.CLL4XXBG.js +0 -188
  960. package/cdn/chunks/chunk.CLOSWCHA.js +0 -279
  961. package/cdn/chunks/chunk.CLYZO6RS.js +0 -19
  962. package/cdn/chunks/chunk.COWPPOED.js +0 -298
  963. package/cdn/chunks/chunk.D33JWLZ4.js +0 -1197
  964. package/cdn/chunks/chunk.D4EWCYPC.js +0 -29
  965. package/cdn/chunks/chunk.D7P7KTFB.js +0 -60
  966. package/cdn/chunks/chunk.DHO25PWY.js +0 -29
  967. package/cdn/chunks/chunk.DI7EKGFG.js +0 -19
  968. package/cdn/chunks/chunk.DL33ULT6.js +0 -74
  969. package/cdn/chunks/chunk.DS2UI56D.js +0 -2546
  970. package/cdn/chunks/chunk.E5DXZQD2.js +0 -29
  971. package/cdn/chunks/chunk.EGVLPWSM.js +0 -19
  972. package/cdn/chunks/chunk.EJ53LCTI.js +0 -19
  973. package/cdn/chunks/chunk.EJGXJRTJ.js +0 -104
  974. package/cdn/chunks/chunk.EM5ETPZC.js +0 -538
  975. package/cdn/chunks/chunk.ENHWIPZE.js +0 -19
  976. package/cdn/chunks/chunk.EOI3OPDR.js +0 -19
  977. package/cdn/chunks/chunk.EUOALKXD.js +0 -443
  978. package/cdn/chunks/chunk.EYGHFENC.js +0 -29
  979. package/cdn/chunks/chunk.FFXP3B4Q.js +0 -357
  980. package/cdn/chunks/chunk.FIBES3B2.js +0 -657
  981. package/cdn/chunks/chunk.G3RBNUL7.js +0 -19
  982. package/cdn/chunks/chunk.G6XFMNSN.js +0 -39
  983. package/cdn/chunks/chunk.GGTQYGC5.js +0 -458
  984. package/cdn/chunks/chunk.GMM3EOD6.js +0 -9743
  985. package/cdn/chunks/chunk.GPKPQWJT.js +0 -19
  986. package/cdn/chunks/chunk.GSVBEUFJ.js +0 -1264
  987. package/cdn/chunks/chunk.GULH5ZQL.js +0 -136
  988. package/cdn/chunks/chunk.GZFLFIFJ.js +0 -34
  989. package/cdn/chunks/chunk.HDXVT23K.js +0 -19
  990. package/cdn/chunks/chunk.HOZW3NJM.js +0 -29
  991. package/cdn/chunks/chunk.HSJLPMW3.js +0 -83
  992. package/cdn/chunks/chunk.HYQMNFLO.js +0 -19
  993. package/cdn/chunks/chunk.I2ABYF5Q.js +0 -29
  994. package/cdn/chunks/chunk.IOF6AEVS.js +0 -19
  995. package/cdn/chunks/chunk.IYZN7M47.js +0 -19
  996. package/cdn/chunks/chunk.J5KHF56L.js +0 -19
  997. package/cdn/chunks/chunk.J7MBJE4R.js +0 -19
  998. package/cdn/chunks/chunk.JTS4WCJO.js +0 -92
  999. package/cdn/chunks/chunk.JU6WFHNW.js +0 -36
  1000. package/cdn/chunks/chunk.JUSWD466.js +0 -29
  1001. package/cdn/chunks/chunk.KM6WWUYU.js +0 -77
  1002. package/cdn/chunks/chunk.KT3QCKKA.js +0 -19
  1003. package/cdn/chunks/chunk.L5CO7SOT.js +0 -925
  1004. package/cdn/chunks/chunk.LAY23KKI.js +0 -78
  1005. package/cdn/chunks/chunk.LBQ4PSBA.js +0 -19
  1006. package/cdn/chunks/chunk.LH5PCM5Y.js +0 -29
  1007. package/cdn/chunks/chunk.LK72N66W.js +0 -19
  1008. package/cdn/chunks/chunk.LXN7MR5D.js +0 -33
  1009. package/cdn/chunks/chunk.M2W34SRN.js +0 -19
  1010. package/cdn/chunks/chunk.M3DISCOU.js +0 -138
  1011. package/cdn/chunks/chunk.M6UIVWVO.js +0 -478
  1012. package/cdn/chunks/chunk.MJWLUGWW.js +0 -377
  1013. package/cdn/chunks/chunk.MLSETH2M.js +0 -19
  1014. package/cdn/chunks/chunk.MYRHUQRX.js +0 -71
  1015. package/cdn/chunks/chunk.N33IYXN4.js +0 -19
  1016. package/cdn/chunks/chunk.N6LXBZMX.js +0 -29
  1017. package/cdn/chunks/chunk.NG4ZI7ET.js +0 -19
  1018. package/cdn/chunks/chunk.NGS4A7JM.js +0 -960
  1019. package/cdn/chunks/chunk.NH3ZLAPS.js +0 -231
  1020. package/cdn/chunks/chunk.NUC5GXPS.js +0 -19
  1021. package/cdn/chunks/chunk.OG6IYX2E.js +0 -19
  1022. package/cdn/chunks/chunk.OIV26ZOU.js +0 -29
  1023. package/cdn/chunks/chunk.OPSENKP7.js +0 -19
  1024. package/cdn/chunks/chunk.P4PYSONI.js +0 -1985
  1025. package/cdn/chunks/chunk.PEKPD5D3.js +0 -32
  1026. package/cdn/chunks/chunk.PWQDSQNT.js +0 -19
  1027. package/cdn/chunks/chunk.PY5A6OKW.js +0 -19
  1028. package/cdn/chunks/chunk.PZUVUD4C.js +0 -93
  1029. package/cdn/chunks/chunk.Q4G4DZR4.js +0 -19
  1030. package/cdn/chunks/chunk.QFAAK4H5.js +0 -99
  1031. package/cdn/chunks/chunk.QFSWSE4T.js +0 -19
  1032. package/cdn/chunks/chunk.QJWILSBB.js +0 -151
  1033. package/cdn/chunks/chunk.QK2OQSMV.js +0 -19
  1034. package/cdn/chunks/chunk.QKGQHWKR.js +0 -19
  1035. package/cdn/chunks/chunk.QRED6RVA.js +0 -36
  1036. package/cdn/chunks/chunk.R3WIGF3Z.js +0 -19
  1037. package/cdn/chunks/chunk.REHR3VNE.js +0 -294
  1038. package/cdn/chunks/chunk.RFGMNAAI.js +0 -162
  1039. package/cdn/chunks/chunk.RIJPJNZ6.js +0 -56075
  1040. package/cdn/chunks/chunk.RK6XTGKB.js +0 -19
  1041. package/cdn/chunks/chunk.RKS4PEGG.js +0 -330
  1042. package/cdn/chunks/chunk.S2TTSFDO.js +0 -37
  1043. package/cdn/chunks/chunk.S5TMENAM.js +0 -35
  1044. package/cdn/chunks/chunk.S7OZNH7N.js +0 -32
  1045. package/cdn/chunks/chunk.SAIKW6IW.js +0 -19
  1046. package/cdn/chunks/chunk.SBNF6Y4Z.js +0 -29
  1047. package/cdn/chunks/chunk.SDT6TA7E.js +0 -34
  1048. package/cdn/chunks/chunk.SHOBERVA.js +0 -32
  1049. package/cdn/chunks/chunk.SIRMVNCG.js +0 -19
  1050. package/cdn/chunks/chunk.SK73V355.js +0 -19
  1051. package/cdn/chunks/chunk.SKBS4BJN.js +0 -24561
  1052. package/cdn/chunks/chunk.SMALOHVS.js +0 -62
  1053. package/cdn/chunks/chunk.SNTBUIUJ.js +0 -123
  1054. package/cdn/chunks/chunk.SRYFSYXO.js +0 -904
  1055. package/cdn/chunks/chunk.T2KZVS3W.js +0 -30
  1056. package/cdn/chunks/chunk.T5RIWEQN.js +0 -32
  1057. package/cdn/chunks/chunk.T62K7VOF.js +0 -1975
  1058. package/cdn/chunks/chunk.TKRK5GQM.js +0 -29
  1059. package/cdn/chunks/chunk.UD7NUYVG.js +0 -230
  1060. package/cdn/chunks/chunk.UHPZT3U2.js +0 -29
  1061. package/cdn/chunks/chunk.UYMPHDCE.js +0 -19
  1062. package/cdn/chunks/chunk.V4YWPWXP.js +0 -36
  1063. package/cdn/chunks/chunk.VBV3P6FL.js +0 -32
  1064. package/cdn/chunks/chunk.VCPSDOI3.js +0 -19
  1065. package/cdn/chunks/chunk.VGER7XWX.js +0 -19
  1066. package/cdn/chunks/chunk.VLGM5YMT.js +0 -19
  1067. package/cdn/chunks/chunk.VOW3VHP6.js +0 -110
  1068. package/cdn/chunks/chunk.VYG3TDBE.js +0 -19
  1069. package/cdn/chunks/chunk.VZZ5VWGT.js +0 -515
  1070. package/cdn/chunks/chunk.W56KFXW3.js +0 -672
  1071. package/cdn/chunks/chunk.WA4IWAQ5.js +0 -33
  1072. package/cdn/chunks/chunk.WB4JIUNC.js +0 -29
  1073. package/cdn/chunks/chunk.WBHKNBF4.js +0 -32
  1074. package/cdn/chunks/chunk.WCJK4L7Z.js +0 -32
  1075. package/cdn/chunks/chunk.WD7YIW7Q.js +0 -2710
  1076. package/cdn/chunks/chunk.WLRHKMUU.js +0 -60
  1077. package/cdn/chunks/chunk.WUXBI4OZ.js +0 -599
  1078. package/cdn/chunks/chunk.WX3SD6KP.js +0 -543
  1079. package/cdn/chunks/chunk.XF2FF246.js +0 -32
  1080. package/cdn/chunks/chunk.XFQU5XOV.js +0 -29
  1081. package/cdn/chunks/chunk.XGA76C4I.js +0 -310
  1082. package/cdn/chunks/chunk.XKAWY3BU.js +0 -234
  1083. package/cdn/chunks/chunk.XKYERLQI.js +0 -33
  1084. package/cdn/chunks/chunk.XL2T3IOP.js +0 -19
  1085. package/cdn/chunks/chunk.XNNFL6PT.js +0 -19
  1086. package/cdn/chunks/chunk.XTIYI334.js +0 -524
  1087. package/cdn/chunks/chunk.XXTI4EE7.js +0 -33
  1088. package/cdn/chunks/chunk.Y6MVRFP6.js +0 -32
  1089. package/cdn/chunks/chunk.YAQ7GYGE.js +0 -93
  1090. package/cdn/chunks/chunk.YBMVWJN7.js +0 -35
  1091. package/cdn/chunks/chunk.YIIC2VXV.js +0 -41
  1092. package/cdn/chunks/chunk.YNW5MF6A.js +0 -32
  1093. package/cdn/chunks/chunk.YR5IOGLT.js +0 -29
  1094. package/cdn/chunks/chunk.YRXLTYVI.js +0 -82
  1095. package/cdn/chunks/chunk.YT7YOMZX.js +0 -19
  1096. package/cdn/chunks/chunk.YTS7DDAE.js +0 -19
  1097. package/cdn/chunks/chunk.YYWIHJ7W.js +0 -35
  1098. package/cdn/chunks/chunk.Z2RL47XD.js +0 -259
  1099. package/cdn/chunks/chunk.ZFXH3XDM.js +0 -19
  1100. package/cdn/chunks/chunk.ZG5ZKC6Y.js +0 -81
  1101. package/cdn/chunks/chunk.ZHGWWFQE.js +0 -29
  1102. package/cdn/chunks/chunk.ZM7I2NKC.js +0 -19
  1103. package/cdn/chunks/chunk.ZMLAZTTI.js +0 -29
  1104. package/cdn/chunks/chunk.ZRDBS5F2.js +0 -19
  1105. package/cdn/chunks/chunk.ZRNQPABU.js +0 -276
  1106. package/cdn/chunks/chunk.ZSRLKX2N.js +0 -19
  1107. package/cdn/chunks/chunk.ZWCPWVFO.js +0 -19
  1108. package/cdn/chunks/lerc.4U2WA6NV.js +0 -2097
  1109. package/dist/chunks/chunk.2BE47NJG.js +0 -1
  1110. package/dist/chunks/chunk.2BVYE6EK.js +0 -65
  1111. package/dist/chunks/chunk.2MOIXIOP.js +0 -1
  1112. package/dist/chunks/chunk.2WPBJQIO.js +0 -1
  1113. package/dist/chunks/chunk.2ZTMYRXN.js +0 -148
  1114. package/dist/chunks/chunk.32OPJVEF.js +0 -176
  1115. package/dist/chunks/chunk.34X7FELX.js +0 -1
  1116. package/dist/chunks/chunk.3F22UDEH.js +0 -1
  1117. package/dist/chunks/chunk.3IQUPDW3.js +0 -11
  1118. package/dist/chunks/chunk.3KSPRQMI.js +0 -121
  1119. package/dist/chunks/chunk.3V3CFSEN.js +0 -113
  1120. package/dist/chunks/chunk.4333NETV.js +0 -1
  1121. package/dist/chunks/chunk.4OH3XCDR.js +0 -1190
  1122. package/dist/chunks/chunk.4XE7LAQK.js +0 -1
  1123. package/dist/chunks/chunk.56XPDUQ4.js +0 -1
  1124. package/dist/chunks/chunk.5HHCBSFB.js +0 -1
  1125. package/dist/chunks/chunk.5HHGFBX2.js +0 -1
  1126. package/dist/chunks/chunk.5IVGPQIR.js +0 -1
  1127. package/dist/chunks/chunk.5MTTMHHO.js +0 -39
  1128. package/dist/chunks/chunk.5RHVUOFK.js +0 -41
  1129. package/dist/chunks/chunk.5UEDTOD2.js +0 -1
  1130. package/dist/chunks/chunk.6CQWKIOY.js +0 -1
  1131. package/dist/chunks/chunk.6JDRZLOM.js +0 -17
  1132. package/dist/chunks/chunk.6LI23A6A.js +0 -1
  1133. package/dist/chunks/chunk.6LKD4GN7.js +0 -1
  1134. package/dist/chunks/chunk.6QRXPELF.js +0 -30
  1135. package/dist/chunks/chunk.77Q72G7O.js +0 -1
  1136. package/dist/chunks/chunk.7BF3EHDA.js +0 -1
  1137. package/dist/chunks/chunk.7DNAQWHB.js +0 -1
  1138. package/dist/chunks/chunk.7FXJ5AVW.js +0 -1
  1139. package/dist/chunks/chunk.7PMPECD5.js +0 -9
  1140. package/dist/chunks/chunk.7U7KBTDG.js +0 -1
  1141. package/dist/chunks/chunk.7Z7Z3PL3.js +0 -1
  1142. package/dist/chunks/chunk.A2OV7HOM.js +0 -33
  1143. package/dist/chunks/chunk.A3JRF4BH.js +0 -55
  1144. package/dist/chunks/chunk.A5TQR6LX.js +0 -1
  1145. package/dist/chunks/chunk.AEDP2SPE.js +0 -1
  1146. package/dist/chunks/chunk.AGJGHA2P.js +0 -1
  1147. package/dist/chunks/chunk.B2XZLBDQ.js +0 -1
  1148. package/dist/chunks/chunk.B6BNGOZB.js +0 -1
  1149. package/dist/chunks/chunk.BGKV5FYM.js +0 -55
  1150. package/dist/chunks/chunk.BM75XYNW.js +0 -25
  1151. package/dist/chunks/chunk.BMO4MMSG.js +0 -1
  1152. package/dist/chunks/chunk.BRJCUVRW.js +0 -1
  1153. package/dist/chunks/chunk.BRS3VXJA.js +0 -157
  1154. package/dist/chunks/chunk.BSTHMPZU.js +0 -55
  1155. package/dist/chunks/chunk.C5WYVFSA.js +0 -1
  1156. package/dist/chunks/chunk.CADMINOX.js +0 -1
  1157. package/dist/chunks/chunk.CGWQDVJN.js +0 -100
  1158. package/dist/chunks/chunk.CUOWQB5V.js +0 -1
  1159. package/dist/chunks/chunk.D3OS6IHO.js +0 -1
  1160. package/dist/chunks/chunk.D7YD545N.js +0 -1
  1161. package/dist/chunks/chunk.DBLQWRGX.js +0 -1
  1162. package/dist/chunks/chunk.DJC4XPKT.js +0 -1
  1163. package/dist/chunks/chunk.DLSNNLZT.js +0 -1
  1164. package/dist/chunks/chunk.DRZXFC52.js +0 -1
  1165. package/dist/chunks/chunk.DTNZUN66.js +0 -75
  1166. package/dist/chunks/chunk.DV3HUYSH.js +0 -780
  1167. package/dist/chunks/chunk.EAQPP2XQ.js +0 -1
  1168. package/dist/chunks/chunk.EC43AUTZ.js +0 -1
  1169. package/dist/chunks/chunk.EDSHE3IR.js +0 -43
  1170. package/dist/chunks/chunk.EFJYUIN7.js +0 -9
  1171. package/dist/chunks/chunk.ELAAFINX.js +0 -1
  1172. package/dist/chunks/chunk.ELWTTGZP.js +0 -1
  1173. package/dist/chunks/chunk.EOD4B3IX.js +0 -11
  1174. package/dist/chunks/chunk.EVSHCE6H.js +0 -1
  1175. package/dist/chunks/chunk.F2BK7U4N.js +0 -1
  1176. package/dist/chunks/chunk.F4YPYLUT.js +0 -1
  1177. package/dist/chunks/chunk.F56RXY3E.js +0 -24
  1178. package/dist/chunks/chunk.FI3GSDLD.js +0 -1
  1179. package/dist/chunks/chunk.FIRCFHOE.js +0 -1
  1180. package/dist/chunks/chunk.FOFC6VTJ.js +0 -1
  1181. package/dist/chunks/chunk.FR7BDEKN.js +0 -1
  1182. package/dist/chunks/chunk.G35JQ2ZG.js +0 -35
  1183. package/dist/chunks/chunk.G3TJUALR.js +0 -1
  1184. package/dist/chunks/chunk.GNZLJUDW.js +0 -1
  1185. package/dist/chunks/chunk.GQPIZDWW.js +0 -1
  1186. package/dist/chunks/chunk.GTGYWE5F.js +0 -1
  1187. package/dist/chunks/chunk.GXMHPA2J.js +0 -572
  1188. package/dist/chunks/chunk.H3MW6SIJ.js +0 -1
  1189. package/dist/chunks/chunk.H4ERXNRV.js +0 -1
  1190. package/dist/chunks/chunk.H7VRVKXW.js +0 -145
  1191. package/dist/chunks/chunk.HL5XIPFI.js +0 -1
  1192. package/dist/chunks/chunk.HU7RII6Z.js +0 -1
  1193. package/dist/chunks/chunk.I7EQNJXM.js +0 -14
  1194. package/dist/chunks/chunk.IADRENNE.js +0 -1
  1195. package/dist/chunks/chunk.IEJAC4O6.js +0 -300
  1196. package/dist/chunks/chunk.IHS6LJWC.js +0 -1
  1197. package/dist/chunks/chunk.IM2SCKZT.js +0 -1
  1198. package/dist/chunks/chunk.ISCZLMLV.js +0 -1
  1199. package/dist/chunks/chunk.J2SVUWUB.js +0 -1
  1200. package/dist/chunks/chunk.J7U7DEKR.js +0 -38
  1201. package/dist/chunks/chunk.JLDZFVA7.js +0 -1
  1202. package/dist/chunks/chunk.JNGVL46L.js +0 -1
  1203. package/dist/chunks/chunk.JTPCGE2I.js +0 -1
  1204. package/dist/chunks/chunk.JXY5E3AD.js +0 -1
  1205. package/dist/chunks/chunk.JZ2UTIMK.js +0 -1
  1206. package/dist/chunks/chunk.K44QIVOS.js +0 -1
  1207. package/dist/chunks/chunk.K7SV4V3V.js +0 -1
  1208. package/dist/chunks/chunk.KARB77CR.js +0 -1
  1209. package/dist/chunks/chunk.KIXX2VNW.js +0 -1
  1210. package/dist/chunks/chunk.KTGFGJ6W.js +0 -127
  1211. package/dist/chunks/chunk.KVQQYHK5.js +0 -20
  1212. package/dist/chunks/chunk.KVUEPY2V.js +0 -1
  1213. package/dist/chunks/chunk.KW3AJIGO.js +0 -1
  1214. package/dist/chunks/chunk.LYVAQ5X2.js +0 -16
  1215. package/dist/chunks/chunk.MAPRGE2B.js +0 -1
  1216. package/dist/chunks/chunk.MEIAXAOT.js +0 -99
  1217. package/dist/chunks/chunk.MEYXYGYW.js +0 -1
  1218. package/dist/chunks/chunk.MJFLOS25.js +0 -1
  1219. package/dist/chunks/chunk.MSAGS4ZW.js +0 -1
  1220. package/dist/chunks/chunk.MT7KXK33.js +0 -8
  1221. package/dist/chunks/chunk.MWZZDUQK.js +0 -1
  1222. package/dist/chunks/chunk.NAPQRTMB.js +0 -1
  1223. package/dist/chunks/chunk.NDF272DG.js +0 -64
  1224. package/dist/chunks/chunk.NFPZBWVO.js +0 -1
  1225. package/dist/chunks/chunk.NLMFSOK6.js +0 -37
  1226. package/dist/chunks/chunk.NX3H7USL.js +0 -61
  1227. package/dist/chunks/chunk.NYXYKBL4.js +0 -1
  1228. package/dist/chunks/chunk.OA6TRXCL.js +0 -1
  1229. package/dist/chunks/chunk.OAGDC5NY.js +0 -1
  1230. package/dist/chunks/chunk.OB3I6CC2.js +0 -12
  1231. package/dist/chunks/chunk.OGD4IZSR.js +0 -1
  1232. package/dist/chunks/chunk.ON4XJHQC.js +0 -1
  1233. package/dist/chunks/chunk.P2RISYZB.js +0 -1
  1234. package/dist/chunks/chunk.P3BESYTX.js +0 -1
  1235. package/dist/chunks/chunk.P5LLMXGD.js +0 -20
  1236. package/dist/chunks/chunk.P6ZQBWYA.js +0 -498
  1237. package/dist/chunks/chunk.PA2K76YR.js +0 -1
  1238. package/dist/chunks/chunk.PM3TNHYU.js +0 -74
  1239. package/dist/chunks/chunk.PO4J6EYL.js +0 -26
  1240. package/dist/chunks/chunk.Q26WIGAX.js +0 -280
  1241. package/dist/chunks/chunk.Q2MCOBRZ.js +0 -154
  1242. package/dist/chunks/chunk.Q74JYYTU.js +0 -1
  1243. package/dist/chunks/chunk.QBCCNPMY.js +0 -1
  1244. package/dist/chunks/chunk.QBZRFS4J.js +0 -1
  1245. package/dist/chunks/chunk.QOAJB4YT.js +0 -1
  1246. package/dist/chunks/chunk.QSBUN22W.js +0 -1
  1247. package/dist/chunks/chunk.QZ6YSHJK.js +0 -1
  1248. package/dist/chunks/chunk.QZYXWLHN.js +0 -1
  1249. package/dist/chunks/chunk.R5XG4VQB.js +0 -1
  1250. package/dist/chunks/chunk.RAUAQANS.js +0 -43
  1251. package/dist/chunks/chunk.REZJHB4P.js +0 -35
  1252. package/dist/chunks/chunk.RITL4YAW.js +0 -1
  1253. package/dist/chunks/chunk.RKMQB6WR.js +0 -1
  1254. package/dist/chunks/chunk.RLEYBODQ.js +0 -1
  1255. package/dist/chunks/chunk.RN2ARMZ5.js +0 -1
  1256. package/dist/chunks/chunk.RQF6T73H.js +0 -1
  1257. package/dist/chunks/chunk.RT7UII6X.js +0 -4
  1258. package/dist/chunks/chunk.RU6XCWFZ.js +0 -1
  1259. package/dist/chunks/chunk.SD6CXJRC.js +0 -2
  1260. package/dist/chunks/chunk.SGZCX3AX.js +0 -30
  1261. package/dist/chunks/chunk.SQ4F44ZY.js +0 -1
  1262. package/dist/chunks/chunk.TR3HYY66.js +0 -1
  1263. package/dist/chunks/chunk.U33TD5TB.js +0 -6
  1264. package/dist/chunks/chunk.U37CFR4C.js +0 -1
  1265. package/dist/chunks/chunk.U3N7OSDS.js +0 -1
  1266. package/dist/chunks/chunk.U4HA7KFD.js +0 -5
  1267. package/dist/chunks/chunk.U6JO5USY.js +0 -1
  1268. package/dist/chunks/chunk.UDJWUU6K.js +0 -19
  1269. package/dist/chunks/chunk.UECG6VCN.js +0 -1
  1270. package/dist/chunks/chunk.UGBCGXEC.js +0 -22
  1271. package/dist/chunks/chunk.UGPAZZ76.js +0 -1
  1272. package/dist/chunks/chunk.UHZBOAYJ.js +0 -1
  1273. package/dist/chunks/chunk.USGULNOF.js +0 -1
  1274. package/dist/chunks/chunk.USKDRLRA.js +0 -1
  1275. package/dist/chunks/chunk.VGKJBILS.js +0 -23
  1276. package/dist/chunks/chunk.VIZRNKN5.js +0 -8
  1277. package/dist/chunks/chunk.VTXWVS5C.js +0 -1
  1278. package/dist/chunks/chunk.VWHPRXTT.js +0 -1
  1279. package/dist/chunks/chunk.W54WCDFS.js +0 -1
  1280. package/dist/chunks/chunk.W6SAQQLD.js +0 -1
  1281. package/dist/chunks/chunk.W7DE3ZXX.js +0 -1
  1282. package/dist/chunks/chunk.W7L7HUEJ.js +0 -122
  1283. package/dist/chunks/chunk.WCISQBWK.js +0 -1
  1284. package/dist/chunks/chunk.WDAW64SW.js +0 -27
  1285. package/dist/chunks/chunk.WDSYLS6Y.js +0 -1
  1286. package/dist/chunks/chunk.WJM2AWLV.js +0 -67
  1287. package/dist/chunks/chunk.XLXVZWI2.js +0 -26
  1288. package/dist/chunks/chunk.XMNTSLBZ.js +0 -1
  1289. package/dist/chunks/chunk.XOFUYZ46.js +0 -1
  1290. package/dist/chunks/chunk.XPMJPPF5.js +0 -1
  1291. package/dist/chunks/chunk.XYS4GJZH.js +0 -299
  1292. package/dist/chunks/chunk.XZBSVTBX.js +0 -1
  1293. package/dist/chunks/chunk.Y25FQCMA.js +0 -1
  1294. package/dist/chunks/chunk.Y4QTK5OI.js +0 -1
  1295. package/dist/chunks/chunk.Y6F5QAB2.js +0 -1
  1296. package/dist/chunks/chunk.Y6VOJNJH.js +0 -441
  1297. package/dist/chunks/chunk.YBKVUXXU.js +0 -1
  1298. package/dist/chunks/chunk.YIZ2RQOX.js +0 -1
  1299. package/dist/chunks/chunk.YKWMWZMS.js +0 -1
  1300. package/dist/chunks/chunk.YPU4IAHG.js +0 -1
  1301. package/dist/chunks/chunk.YSQWMROO.js +0 -5
  1302. package/dist/chunks/chunk.YTWF4W66.js +0 -80
  1303. package/dist/chunks/chunk.YVVKOSUI.js +0 -62
  1304. package/dist/chunks/chunk.ZBC4UK6H.js +0 -48
  1305. package/dist/chunks/chunk.ZKDGF3PX.js +0 -1
  1306. package/dist/chunks/chunk.ZLQVNAHB.js +0 -1
  1307. package/dist/chunks/chunk.ZVOF2K46.js +0 -1
  1308. package/dist/chunks/chunk.ZWNXLTTK.js +0 -47
  1309. package/dist/chunks/chunk.ZXUW3LTE.js +0 -1
  1310. package/dist/chunks/chunk.ZZBQVUDD.js +0 -1
  1311. package/dist/terra_ui_components-0.0.197-py3-none-any.whl +0 -0
  1312. package/dist/terra_ui_components-0.0.197.tar.gz +0 -0
@@ -1,2710 +0,0 @@
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.YRXLTYVI.js";
11
- import {
12
- TerraLogin
13
- } from "./chunk.6NKCYDS6.js";
14
- import {
15
- TerraDialog
16
- } from "./chunk.6FJCGU4K.js";
17
- import {
18
- data_subsetter_styles_default
19
- } from "./chunk.ITK2GQEZ.js";
20
- import {
21
- HarmonyRequestController
22
- } from "./chunk.CROGJ6YF.js";
23
- import {
24
- HarmonyRequest
25
- } from "./chunk.5YAN7WHN.js";
26
- import {
27
- AuthController
28
- } from "./chunk.4JXPGYJW.js";
29
- import {
30
- TerraDataAccess,
31
- debounce
32
- } from "./chunk.L5CO7SOT.js";
33
- import {
34
- TerraSlider
35
- } from "./chunk.EUOALKXD.js";
36
- import {
37
- TerraMenu
38
- } from "./chunk.QJWILSBB.js";
39
- import {
40
- TerraMenuItem
41
- } from "./chunk.73PEBYZF.js";
42
- import {
43
- CollectionController
44
- } from "./chunk.JXSV4XD4.js";
45
- import {
46
- TerraSpatialPicker
47
- } from "./chunk.2DTFNQFU.js";
48
- import {
49
- TerraDatePicker
50
- } from "./chunk.DS2UI56D.js";
51
- import {
52
- TerraDropdown
53
- } from "./chunk.EM5ETPZC.js";
54
- import {
55
- TerraInput
56
- } from "./chunk.3MSKTFUH.js";
57
- import {
58
- QueryClientMixin
59
- } from "./chunk.DOUWGQFH.js";
60
- import {
61
- TerraLoader
62
- } from "./chunk.GULH5ZQL.js";
63
- import {
64
- TerraButton
65
- } from "./chunk.M6UIVWVO.js";
66
- import {
67
- getUTCDate
68
- } from "./chunk.X2BIJLHO.js";
69
- import {
70
- HttpException
71
- } from "./chunk.SYQOGYTQ.js";
72
- import {
73
- TerraAlert
74
- } from "./chunk.35W6TJ7F.js";
75
- import {
76
- TerraAccordion
77
- } from "./chunk.AB5GSS2K.js";
78
- import {
79
- TerraIcon
80
- } from "./chunk.UD7NUYVG.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
- undefinedStringConverter
91
- } from "./chunk.W56KFXW3.js";
92
- import {
93
- getBasePath
94
- } from "./chunk.ZQVMOVOT.js";
95
- import {
96
- A,
97
- b
98
- } from "./chunk.RRCYT4LP.js";
99
- import {
100
- __decorateClass,
101
- __privateAdd,
102
- __privateGet,
103
- __privateMethod,
104
- __spreadProps,
105
- __spreadValues,
106
- init_buffer,
107
- init_dirname,
108
- init_process
109
- } from "./chunk.ZEOVK2FE.js";
110
-
111
- // src/components/data-subsetter/data-subsetter.component.ts
112
- init_dirname();
113
- init_buffer();
114
- init_process();
115
-
116
- // src/lib/jupyter.ts
117
- init_dirname();
118
- init_buffer();
119
- init_process();
120
- var JUPYTER_LITE_URL = "https://gesdisc.github.io/jupyterlite/lab/index.html";
121
- function openJupyterLiteWindow(readyCb) {
122
- const jupyterWindow = window.open(JUPYTER_LITE_URL, "_blank");
123
- if (!jupyterWindow) {
124
- console.error("Failed to open JupyterLite!");
125
- return;
126
- }
127
- window.addEventListener("message", (event) => readyCb(event, jupyterWindow), {
128
- once: true
129
- });
130
- return jupyterWindow;
131
- }
132
- function sendDataToJupyterNotebook(type, data) {
133
- openJupyterLiteWindow((event, jupyterWindow) => {
134
- var _a;
135
- if (((_a = event.data) == null ? void 0 : _a.type) !== "jupyterlite-ready") {
136
- return;
137
- }
138
- console.log("JupyterLite is ready!");
139
- jupyterWindow.postMessage(__spreadValues({ type }, data), "*");
140
- });
141
- }
142
-
143
- // src/services/cmr-variable.service.ts
144
- init_dirname();
145
- init_buffer();
146
- init_process();
147
- var CmrVariableService = class {
148
- /**
149
- * given a name and a list of variables, return the variable with the matching name
150
- */
151
- getVariableByName(name, variables) {
152
- var _a;
153
- if (!variables || !((_a = variables.items) == null ? void 0 : _a.length)) {
154
- return;
155
- }
156
- return variables.items.find((variable) => variable.umm.Name === name);
157
- }
158
- /**
159
- * given a variable, return the variable's display label
160
- * ex: Shortname = LongName (Units)
161
- */
162
- getVariableDisplayLabel(variable) {
163
- const { Name = "", LongName = "", Units = "" } = variable.umm;
164
- return `${Name}${Name && LongName && Name !== LongName ? ` = ${LongName}` : ""}${Units ? ` (${Units})` : ""}`;
165
- }
166
- };
167
- var cmrVariableService = new CmrVariableService();
168
- var cmr_variable_service_default = cmrVariableService;
169
-
170
- // src/components/data-subsetter/data-subsetter.component.ts
171
- var defaultOutputFormat = {
172
- key: "application/x-netcdf4",
173
- label: "NetCDF",
174
- description: "Download data in NetCDF format"
175
- };
176
- 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, _getHarmonyRequestErrorMessage, getHarmonyRequestErrorMessage_fn, _renderHarmonyRequestError, renderHarmonyRequestError_fn, _handleExpandSearchClick;
177
- var TerraDataSubsetter = class extends QueryClientMixin(TerraElement) {
178
- constructor() {
179
- super(...arguments);
180
- __privateAdd(this, _renderFooterForDialog);
181
- __privateAdd(this, _renderSizeInfo);
182
- __privateAdd(this, _renderSubsetOptions);
183
- __privateAdd(this, _renderSearchForCollection);
184
- __privateAdd(this, _renderOutputFormatSelection);
185
- __privateAdd(this, _renderDateRangeSelection);
186
- __privateAdd(this, _getCollectionDateRange);
187
- __privateAdd(this, _renderSpatialSelection);
188
- __privateAdd(this, _renderVariableSelection);
189
- __privateAdd(this, _renderDimensionGroup);
190
- __privateAdd(this, _setDimensionValue);
191
- __privateAdd(this, _renderDimensionSelection);
192
- __privateAdd(this, _filterVariableTree);
193
- __privateAdd(this, _handleVariableFilterChange);
194
- __privateAdd(this, _buildVariableTree);
195
- __privateAdd(this, _renderVariableTree);
196
- __privateAdd(this, _getAllGroupPaths);
197
- __privateAdd(this, _toggleGroupExpand);
198
- __privateAdd(this, _toggleExpandCollapseAll);
199
- __privateAdd(this, _toggleVariableSelection);
200
- __privateAdd(this, _markFieldTouched);
201
- __privateAdd(this, _resetDimensionSelection);
202
- __privateAdd(this, _isDimensionExcluded);
203
- __privateAdd(this, _getCommonSelectableDimensions);
204
- __privateAdd(this, _renderJobStatus);
205
- __privateAdd(this, _renderSelectedParams);
206
- __privateAdd(this, _cancelJob);
207
- __privateAdd(this, _getData);
208
- __privateAdd(this, _touchAllFields);
209
- __privateAdd(this, _numberOfFilesFoundEstimate);
210
- __privateAdd(this, _getDocumentationLinks);
211
- __privateAdd(this, _getDataLinks);
212
- __privateAdd(this, _hasAtLeastOneSubsetOption);
213
- __privateAdd(this, _hasSpatialSubset);
214
- __privateAdd(this, _renderJobMessage);
215
- __privateAdd(this, _getJobMessageText);
216
- __privateAdd(this, _estimateJobSize);
217
- __privateAdd(this, _refineParameters);
218
- __privateAdd(this, _backToSubsetOptions);
219
- __privateAdd(this, _viewRunningJob);
220
- __privateAdd(this, _handleDownloadSelect);
221
- __privateAdd(this, _downloadLinksAsTxt);
222
- __privateAdd(this, _downloadPythonScript);
223
- __privateAdd(this, _downloadEarthdataDownload);
224
- __privateAdd(this, _handleJupyterNotebookClick);
225
- __privateAdd(this, _renderAvailableTemporalRangeSection);
226
- __privateAdd(this, _renderAvailableSpatialRangeSection);
227
- __privateAdd(this, _renderDataAccessModeSelection);
228
- __privateAdd(this, _getGiovanniValidationError);
229
- __privateAdd(this, _getHarmonyRequestErrorMessage);
230
- __privateAdd(this, _renderHarmonyRequestError);
231
- this.showCollectionSearch = true;
232
- this.showHistoryPanel = true;
233
- this.isHistoryView = false;
234
- this.selectedVariables = [];
235
- this.selectedDimensionIndexes = {};
236
- this.expandedVariableGroups = /* @__PURE__ */ new Set();
237
- this.variableFilterText = "";
238
- this.touchedFields = /* @__PURE__ */ new Set();
239
- this.selectedDateRange = {
240
- startDate: null,
241
- endDate: null
242
- };
243
- this.selectedFormat = defaultOutputFormat;
244
- this.cancelingGetData = false;
245
- this.selectedTab = "web-links";
246
- this.refineParameters = false;
247
- this.collectionSearchType = "all";
248
- this.collectionSearchLoading = false;
249
- this.collectionLoading = false;
250
- this.collectionAccordionOpen = true;
251
- this.dataAccessMode = "original";
252
- __privateAdd(this, _collectionController, new CollectionController(this, {
253
- getCollectionEntryId: () => this.collectionEntryId,
254
- getBearerToken: () => this.bearerToken
255
- }));
256
- __privateAdd(this, _authController, new AuthController(this));
257
- __privateAdd(this, _harmonyRequestController, new HarmonyRequestController(this));
258
- __privateAdd(this, _resetAllParameters, () => {
259
- this.selectedVariables = [];
260
- if (__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this)) {
261
- __privateGet(this, _resetSpatialSelection).call(this);
262
- }
263
- this.selectedDateRange = {
264
- startDate: null,
265
- endDate: null
266
- };
267
- this.touchedFields = /* @__PURE__ */ new Set();
268
- this.validationError = void 0;
269
- this.expandedVariableGroups = /* @__PURE__ */ new Set();
270
- this.requestUpdate();
271
- });
272
- __privateAdd(this, _handleDateChange, (e2) => {
273
- __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "date");
274
- this.selectedDateRange = __spreadProps(__spreadValues({}, this.selectedDateRange), {
275
- startDate: e2.detail.startDate,
276
- endDate: e2.detail.endDate
277
- });
278
- });
279
- __privateAdd(this, _resetDateRangeSelection, () => {
280
- this.selectedDateRange = { startDate: null, endDate: null };
281
- });
282
- __privateAdd(this, _resetFormatSelection, () => {
283
- var _a, _b;
284
- if ((_b = (_a = this.collectionWithServices) == null ? void 0 : _a.configuredOutputFormats) == null ? void 0 : _b.length) {
285
- const netcdfFormat = this.collectionWithServices.configuredOutputFormats.find(
286
- (f) => f.key === "application/x-netcdf4" || f.key === "application/netcdf"
287
- );
288
- this.selectedFormat = netcdfFormat || this.collectionWithServices.configuredOutputFormats[0];
289
- } else {
290
- this.selectedFormat = defaultOutputFormat;
291
- }
292
- });
293
- __privateAdd(this, _handleSpatialChange, (e2) => {
294
- var _a;
295
- __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "spatial");
296
- if (e2.detail.type === "point" /* POINT */) {
297
- this.shapeGeoJson = void 0;
298
- this.spatialLabel = void 0;
299
- this.spatialSelection = e2.detail.latLng;
300
- } else if (e2.detail.type === "bbox" /* BBOX */) {
301
- this.shapeGeoJson = void 0;
302
- this.spatialLabel = void 0;
303
- this.spatialSelection = e2.detail.bounds;
304
- } else if (e2.detail.type === "polygon" /* POLYGON */) {
305
- this.spatialSelection = void 0;
306
- if (e2.detail.geoJson) {
307
- this.shapeGeoJson = e2.detail.geoJson;
308
- this.spatialLabel = (_a = e2.detail.label) != null ? _a : "Shape selected";
309
- } else if (e2.detail.latLngs.length > 0) {
310
- const coords = e2.detail.latLngs.map((ll) => [ll.lng, ll.lat]);
311
- coords.push(coords[0]);
312
- this.shapeGeoJson = {
313
- type: "FeatureCollection",
314
- features: [
315
- {
316
- type: "Feature",
317
- geometry: {
318
- type: "Polygon",
319
- coordinates: [coords]
320
- },
321
- properties: null
322
- }
323
- ]
324
- };
325
- this.spatialLabel = `Polygon (${e2.detail.latLngs.length} vertices)`;
326
- } else {
327
- this.shapeGeoJson = void 0;
328
- this.spatialLabel = void 0;
329
- }
330
- } else {
331
- this.spatialSelection = void 0;
332
- this.shapeGeoJson = void 0;
333
- this.spatialLabel = void 0;
334
- }
335
- });
336
- /**
337
- * resets the spatial selection back to the bounds of the collection
338
- */
339
- __privateAdd(this, _resetSpatialSelection, () => {
340
- this.spatialSelection = void 0;
341
- this.shapeGeoJson = void 0;
342
- this.spatialLabel = void 0;
343
- this.spatialPicker.clear();
344
- __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "spatial");
345
- });
346
- __privateAdd(this, _resetVariableSelection, () => {
347
- this.selectedVariables = [];
348
- __privateMethod(this, _resetDimensionSelection, resetDimensionSelection_fn).call(this);
349
- });
350
- __privateAdd(this, _handleExpandSearchClick, (event) => {
351
- event.preventDefault();
352
- __privateMethod(this, _backToSubsetOptions, backToSubsetOptions_fn).call(this);
353
- });
354
- }
355
- jobIdChanged() {
356
- if (this.jobId) {
357
- __privateGet(this, _harmonyRequestController).startPollForJobStatus(this.jobId, {
358
- bearerToken: this.bearerToken
359
- });
360
- this.dataAccessMode = "subset";
361
- }
362
- }
363
- shortNameAndVersionChanged() {
364
- if (this.shortName && this.version) {
365
- this.collectionEntryId = `${this.shortName}_${this.version}`;
366
- }
367
- }
368
- collectionEntryIdChanged() {
369
- if (this.collectionEntryId) {
370
- this.showCollectionSearch = false;
371
- } else {
372
- this.showCollectionSearch = true;
373
- }
374
- }
375
- firstUpdated() {
376
- if (this.collectionEntryId) {
377
- this.showCollectionSearch = false;
378
- }
379
- if (this.jobId) {
380
- __privateGet(this, _harmonyRequestController).startPollForJobStatus(this.jobId, {
381
- bearerToken: this.bearerToken
382
- });
383
- this.dataAccessMode = "subset";
384
- }
385
- this.renderHistoryPanel();
386
- }
387
- updated(changedProps) {
388
- var _a, _b, _c;
389
- super.updated(changedProps);
390
- const newCollectionInfo = __privateGet(this, _collectionController).collectionInfo;
391
- if (newCollectionInfo !== this.collectionWithServices) {
392
- this.collectionWithServices = newCollectionInfo;
393
- }
394
- const sampling = (_a = __privateGet(this, _collectionController).sampling) == null ? void 0 : _a.data;
395
- if ((sampling == null ? void 0 : sampling.minDate) !== this.granuleMinDate) {
396
- this.granuleMinDate = sampling == null ? void 0 : sampling.minDate;
397
- }
398
- if ((sampling == null ? void 0 : sampling.maxDate) !== this.granuleMaxDate) {
399
- this.granuleMaxDate = sampling == null ? void 0 : sampling.maxDate;
400
- }
401
- const newGiovanni = __privateGet(this, _collectionController).giovanniVariables;
402
- if (newGiovanni.size !== ((_c = (_b = this.giovanniConfiguredVariables) == null ? void 0 : _b.size) != null ? _c : 0)) {
403
- this.giovanniConfiguredVariables = newGiovanni;
404
- }
405
- }
406
- /** True if the collection contains sub-daily granules. Used by DataSubsetterController to format dates. */
407
- get isSubDaily() {
408
- return __privateGet(this, _collectionController).isSubDaily;
409
- }
410
- collectionChanged() {
411
- const { startDate, endDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
412
- this.selectedDateRange = { startDate, endDate };
413
- __privateGet(this, _resetFormatSelection).call(this);
414
- this.collectionLoading = false;
415
- this.collectionAccordionOpen = false;
416
- }
417
- granuleDatesChanged() {
418
- const newRange = __spreadValues(__spreadValues({}, this.granuleMinDate && { startDate: this.granuleMinDate }), this.granuleMaxDate && { endDate: this.granuleMaxDate });
419
- if (Object.keys(newRange).length > 0) {
420
- this.selectedDateRange = __spreadValues(__spreadValues({}, this.selectedDateRange), newRange);
421
- }
422
- }
423
- selectedFormatChanged() {
424
- if (this.selectedFormat.isGiovanniFormat && this.selectedVariables.length > 1) {
425
- this.selectedVariables = [this.selectedVariables[0]];
426
- }
427
- }
428
- showDialog() {
429
- var _a;
430
- (_a = this.dialogElement) == null ? void 0 : _a.show();
431
- }
432
- render() {
433
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
434
- const showJobStatus = (__privateGet(this, _harmonyRequestController).jobId || this.harmonyRequestError) && !this.refineParameters;
435
- const showMinimizeButton = showJobStatus && !!this.dialog;
436
- const title = (_c = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.EntryTitle) != null ? _c : "Download Data";
437
- const hasCapabilitiesError = !this.collectionWithServices && __privateGet(this, _collectionController).hasCapabilitiesError;
438
- const content = b`
439
- <div class="container">
440
- ${hasCapabilitiesError ? b`
441
- <terra-alert open variant="danger" appearance="white">
442
- Failed to find the requested collection.
443
- </terra-alert>
444
- ` : b`
445
- ${!this.dialog ? b`
446
- <div class="header">
447
- <h1>
448
- <svg
449
- class="download-icon"
450
- viewBox="0 0 24 24"
451
- fill="currentColor"
452
- >
453
- <path
454
- d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"
455
- />
456
- </svg>
457
- ${title}
458
- </h1>
459
-
460
- ${showMinimizeButton ? b`<button
461
- class="minimize-btn"
462
- @click=${() => this.minimizeDialog()}
463
- >
464
- -
465
- </button>` : A}
466
- </div>
467
- ` : A}
468
- ${!this.isHistoryView && ((_e = (_d = this.collectionWithServices) == null ? void 0 : _d.services) == null ? void 0 : _e.length) ? b`
469
- <div class="section">
470
- ${__privateMethod(this, _renderDataAccessModeSelection, renderDataAccessModeSelection_fn).call(this)}
471
- </div>
472
- ` : A}
473
- ${this.dataAccessMode === "original" ? b`
474
- <div class="section">
475
- <terra-data-access
476
- short-name=${(_h = this.shortName) != null ? _h : (_g = (_f = this.collectionWithServices) == null ? void 0 : _f.collection) == null ? void 0 : _g.ShortName}
477
- version=${(_k = this.version) != null ? _k : (_j = (_i = this.collectionWithServices) == null ? void 0 : _i.collection) == null ? void 0 : _j.Version}
478
- ?footer-slot=${!!this.dialog}
479
- >
480
- ${this.dialog ? b`
481
- <div
482
- slot="footer"
483
- style="margin-top: 15px;"
484
- >
485
- <slot
486
- name="data-access-footer"
487
- ></slot>
488
- </div>
489
- ` : A}
490
- </terra-data-access>
491
- </div>
492
- ` : showJobStatus ? __privateMethod(this, _renderJobStatus, renderJobStatus_fn).call(this) : __privateMethod(this, _renderSubsetOptions, renderSubsetOptions_fn).call(this)}
493
- `}
494
- </div>
495
- `;
496
- if (this.dialog) {
497
- return b`
498
- <terra-dialog id=${this.dialog} style="--title-font-size: 16px;">
499
- <span
500
- slot="label"
501
- style="display: flex; align-items: center; gap: 8px; color: var(--terra-text-brand-on-secondary, #1c67e3); font-weight: 600;"
502
- >
503
- <svg
504
- class="download-icon"
505
- viewBox="0 0 24 24"
506
- fill="currentColor"
507
- style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; flex-shrink: 0;"
508
- >
509
- <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
510
- </svg>
511
- ${title}
512
- </span>
513
- ${showMinimizeButton ? b`
514
- <button
515
- slot="header-actions"
516
- class="minimize-btn"
517
- @click=${() => {
518
- var _a2;
519
- return (_a2 = this.dialogElement) == null ? void 0 : _a2.hide();
520
- }}
521
- aria-label="Minimize"
522
- >
523
- -
524
- </button>
525
- ` : A}
526
- <slot name="dialog-header-content"></slot>
527
- ${content} ${__privateMethod(this, _renderFooterForDialog, renderFooterForDialog_fn).call(this)}
528
- </terra-dialog>
529
- `;
530
- }
531
- return b`
532
- <div class="container">
533
- <div class="header">
534
- <h1>
535
- <svg
536
- class="download-icon"
537
- viewBox="0 0 24 24"
538
- fill="currentColor"
539
- >
540
- <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z" />
541
- </svg>
542
- ${title}
543
- </h1>
544
-
545
- ${showMinimizeButton ? b`<button
546
- class="minimize-btn"
547
- @click=${() => this.minimizeDialog()}
548
- >
549
- -
550
- </button>` : A}
551
- </div>
552
- ${hasCapabilitiesError ? b`
553
- <terra-alert open variant="danger" appearance="white">
554
- Failed to find the requested collection.
555
- </terra-alert>
556
- ` : b`
557
- ${!this.isHistoryView && ((_m = (_l = this.collectionWithServices) == null ? void 0 : _l.services) == null ? void 0 : _m.length) ? b`
558
- <div class="section">
559
- ${__privateMethod(this, _renderDataAccessModeSelection, renderDataAccessModeSelection_fn).call(this)}
560
- </div>
561
- ` : A}
562
- ${this.dataAccessMode === "original" ? b`
563
- <div class="section">
564
- <terra-data-access
565
- short-name=${(_p = this.shortName) != null ? _p : (_o = (_n = this.collectionWithServices) == null ? void 0 : _n.collection) == null ? void 0 : _o.ShortName}
566
- version=${(_s = this.version) != null ? _s : (_r = (_q = this.collectionWithServices) == null ? void 0 : _q.collection) == null ? void 0 : _r.Version}
567
- ?footer-slot=${!!this.dialog}
568
- >
569
- ${this.dialog ? b`
570
- <div
571
- slot="footer"
572
- style="margin-top: 15px;"
573
- >
574
- <slot
575
- name="data-access-footer"
576
- ></slot>
577
- </div>
578
- ` : A}
579
- </terra-data-access>
580
- </div>
581
- ` : showJobStatus ? __privateMethod(this, _renderJobStatus, renderJobStatus_fn).call(this) : __privateMethod(this, _renderSubsetOptions, renderSubsetOptions_fn).call(this)}
582
- `}
583
- </div>
584
- `;
585
- }
586
- minimizeDialog() {
587
- var _a;
588
- (_a = this.closest("terra-dialog")) == null ? void 0 : _a.hide();
589
- }
590
- handleCollectionSearch(searchTerm) {
591
- this.collectionSearchQuery = searchTerm;
592
- }
593
- renderHistoryPanel() {
594
- const existingHistoryPanel = document.querySelector(
595
- "terra-data-subsetter-history"
596
- );
597
- if (!existingHistoryPanel && this.bearerToken) {
598
- const historyPanel = document.createElement(
599
- "terra-data-subsetter-history"
600
- );
601
- if (this.bearerToken) {
602
- historyPanel.setAttribute("bearer-token", this.bearerToken);
603
- }
604
- if (this.environment) {
605
- historyPanel.setAttribute("environment", this.environment);
606
- }
607
- document.body.appendChild(historyPanel);
608
- }
609
- }
610
- };
611
- _collectionController = new WeakMap();
612
- _authController = new WeakMap();
613
- _harmonyRequestController = new WeakMap();
614
- _renderFooterForDialog = new WeakSet();
615
- renderFooterForDialog_fn = function() {
616
- const showJobStatus = (__privateGet(this, _harmonyRequestController).jobId || this.harmonyRequestError) && !this.refineParameters;
617
- if (showJobStatus) {
618
- if (!__privateGet(this, _harmonyRequestController).jobId) {
619
- return A;
620
- }
621
- return b`
622
- <div slot="footer" class="footer">
623
- ${__privateGet(this, _harmonyRequestController).status === "successful" /* SUCCESSFUL */ || __privateGet(this, _harmonyRequestController).status === "complete_with_errors" /* COMPLETE_WITH_ERRORS */ ? b`
624
- <div
625
- style="display: flex; align-items: center; gap: 8px;"
626
- >
627
- <terra-dropdown
628
- @terra-select=${__privateMethod(this, _handleDownloadSelect, handleDownloadSelect_fn)}
629
- >
630
- <terra-button slot="trigger" caret>
631
- Download Options
632
- </terra-button>
633
- <terra-menu>
634
- <terra-menu-item value="file-list">
635
- <svg
636
- slot="prefix"
637
- viewBox="0 0 24 24"
638
- width="16"
639
- height="16"
640
- style="width: 16px; height: 16px;"
641
- >
642
- <path
643
- fill="currentColor"
644
- 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"
645
- />
646
- </svg>
647
- File List
648
- </terra-menu-item>
649
- <terra-menu-item value="python-script">
650
- <svg
651
- slot="prefix"
652
- viewBox="0 0 128 128"
653
- width="16"
654
- height="16"
655
- style="width: 16px; height: 16px;"
656
- >
657
- <path
658
- fill="currentColor"
659
- 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"
660
- ></path>
661
- </svg>
662
- Python Script
663
- </terra-menu-item>
664
- <terra-menu-item value="earthdata-download">
665
- <svg
666
- slot="prefix"
667
- viewBox="0 0 64 64"
668
- fill="none"
669
- width="16"
670
- height="16"
671
- style="width: 16px; height: 16px;"
672
- >
673
- <circle
674
- cx="32"
675
- cy="32"
676
- r="28"
677
- fill="currentColor"
678
- />
679
- <path
680
- d="M32 14v26M32 40l-9-9M32 40l9-9"
681
- stroke="#fff"
682
- stroke-width="4"
683
- stroke-linecap="round"
684
- stroke-linejoin="round"
685
- fill="none"
686
- />
687
- </svg>
688
- Earthdata Download
689
- </terra-menu-item>
690
- </terra-menu>
691
- </terra-dropdown>
692
-
693
- <!--
694
- <terra-button
695
- outline
696
- @click=${() => __privateMethod(this, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn).call(this)}
697
- >
698
- <terra-icon
699
- name="outline-code-bracket"
700
- library="heroicons"
701
- font-size="1.5em"
702
- style="margin-right: 5px;"
703
- ></terra-icon>
704
- Open in Jupyter Notebook
705
- </terra-button>
706
- -->
707
- </div>
708
- ` : A}
709
- ${__privateGet(this, _harmonyRequestController).status === "running" /* RUNNING */ ? b`<button
710
- class="btn btn-success"
711
- @click=${__privateMethod(this, _cancelJob, cancelJob_fn)}
712
- ?disabled=${this.cancelingGetData}
713
- >
714
- ${this.cancelingGetData ? "Canceling..." : "Cancel request"}
715
- </button>` : A}
716
-
717
- <div class="job-info">
718
- Job ID:
719
- <span class="job-id">
720
- ${this.bearerToken ? b`<a
721
- href="https://harmony.earthdata.nasa.gov/jobs/${__privateGet(this, _harmonyRequestController).jobId}"
722
- target="_blank"
723
- >${__privateGet(this, _harmonyRequestController).jobId}</a
724
- >` : __privateGet(this, _harmonyRequestController).jobId}
725
- </span>
726
- <span class="info-icon">?</span>
727
- </div>
728
- </div>
729
- `;
730
- }
731
- if (this.dataAccessMode === "subset") {
732
- return b`
733
- <div slot="footer" class="footer">
734
- <button
735
- class="btn btn-secondary"
736
- @click=${__privateGet(this, _resetAllParameters)}
737
- >
738
- Reset All
739
- </button>
740
- <div>
741
- <button class="btn btn-primary" @click=${__privateMethod(this, _getData, getData_fn)}>
742
- Get Data
743
- </button>
744
- ${this.jobId ? b`
745
- <terra-button
746
- variant="default"
747
- @click=${__privateMethod(this, _viewRunningJob, viewRunningJob_fn)}
748
- >
749
- View Running Job
750
- </terra-button>
751
- ` : A}
752
- </div>
753
- </div>
754
- `;
755
- }
756
- return A;
757
- };
758
- _renderSizeInfo = new WeakSet();
759
- renderSizeInfo_fn = function(estimates) {
760
- if (!__privateGet(this, _authController).state.isLoading && !__privateGet(this, _authController).state.user) {
761
- return b`
762
- <div class="size-info warning">
763
- <terra-login>
764
- <h2 slot="logged-out">Limited access as a guest.</h2>
765
-
766
- <p slot="logged-out">
767
- Your results will be capped at 10 links. Log in for full
768
- access to all data.
769
- </p>
770
- </terra-login>
771
- </div>
772
- `;
773
- }
774
- return b`<div
775
- class="size-info ${estimates.links >= 150 ? "warning" : "neutral"}"
776
- >
777
- <h2>Estimated size of results</h2>
778
- <div class="size-stats">
779
- ${estimates.days.toLocaleString()} days,
780
- ${estimates.links.toLocaleString()} links
781
- </div>
782
- ${estimates.links >= 150 ? b`<div class="size-warning">
783
- You are about to retrieve ${estimates.links.toLocaleString()}
784
- file links from the archive. You may
785
- <strong>speed up the request</strong> by limiting the scope of
786
- your search.
787
- </div>` : A}
788
- </div>`;
789
- };
790
- _renderSubsetOptions = new WeakSet();
791
- renderSubsetOptions_fn = function() {
792
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
793
- const estimates = __privateMethod(this, _estimateJobSize, estimateJobSize_fn).call(this);
794
- const hasSubsetOption = __privateMethod(this, _hasAtLeastOneSubsetOption, hasAtLeastOneSubsetOption_fn).call(this);
795
- const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
796
- const temporalExtents = collection == null ? void 0 : collection.TemporalExtents;
797
- const spatialExtent = collection == null ? void 0 : collection.SpatialExtent;
798
- const showTemporalSection = temporalExtents == null ? void 0 : temporalExtents.length;
799
- const showSpatialSection = (_c = (_b = spatialExtent == null ? void 0 : spatialExtent.HorizontalSpatialDomain) == null ? void 0 : _b.Geometry) == null ? void 0 : _c.BoundingRectangles;
800
- return b`
801
- ${this.dataAccessMode === "original" ? A : hasSubsetOption ? b`
802
- ${hasSubsetOption && estimates ? __privateMethod(this, _renderSizeInfo, renderSizeInfo_fn).call(this, estimates) : A}
803
- ${this.showCollectionSearch ? b`
804
- <div class="section">
805
- <h2 class="section-title">
806
- Select Data Collection
807
- </h2>
808
-
809
- ${__privateMethod(this, _renderSearchForCollection, renderSearchForCollection_fn).call(this)}
810
- </div>
811
- ` : A}
812
- ${((_e = (_d = this.collectionWithServices) == null ? void 0 : _d.summary.outputFormats) == null ? void 0 : _e.length) && hasSubsetOption ? b`
813
- <div class="section">
814
- <h2 class="section-title">Output Format</h2>
815
-
816
- ${__privateMethod(this, _renderOutputFormatSelection, renderOutputFormatSelection_fn).call(this)}
817
- </div>
818
- ` : A}
819
- <div class="section">
820
- <h2 class="section-title">Subset Options</h2>
821
- <p style="color: #666; margin-bottom: 16px;">
822
- Generate file links that support spatial subsetting,
823
- date/time range selection, and variable selection.
824
- </p>
825
-
826
- ${((_f = this.collectionWithServices) == null ? void 0 : _f.summary.subsetting.temporal) ? __privateMethod(this, _renderDateRangeSelection, renderDateRangeSelection_fn).call(this) : A}
827
- ${__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this) ? __privateMethod(this, _renderSpatialSelection, renderSpatialSelection_fn).call(this) : A}
828
- ${((_g = this.collectionWithServices) == null ? void 0 : _g.summary.subsetting.variable) ? __privateMethod(this, _renderVariableSelection, renderVariableSelection_fn).call(this) : A}
829
- ${((_h = this.collectionWithServices) == null ? void 0 : _h.summary.subsetting.variable) && isFeatureEnabled(
830
- KnownFeatureFlags.DIMENSION_SUBSET,
831
- this.features
832
- ) ? __privateMethod(this, _renderDimensionSelection, renderDimensionSelection_fn).call(this) : A}
833
- </div>
834
- ` : b`
835
- ${showTemporalSection && !((_i = this.collectionWithServices) == null ? void 0 : _i.summary.subsetting.temporal) ? __privateMethod(this, _renderAvailableTemporalRangeSection, renderAvailableTemporalRangeSection_fn).call(this) : A}
836
- ${showSpatialSection && !__privateMethod(this, _hasSpatialSubset, hasSpatialSubset_fn).call(this) ? __privateMethod(this, _renderAvailableSpatialRangeSection, renderAvailableSpatialRangeSection_fn).call(this) : A}
837
- `}
838
- ${!hasSubsetOption && estimates ? b`
839
- <div
840
- class="neutral-info"
841
- style="margin-top: 24px; padding: 16px 20px; border-radius: 6px; background: #f8f9fa; color: #555; border: 1px solid #ccc;"
842
- >
843
- <strong>Estimated result size:</strong><br />
844
- Your request will return approximately
845
- <b>${estimates.links.toLocaleString()}</b> files covering
846
- <b>${estimates.days.toLocaleString()}</b> days.
847
- </div>
848
- ` : A}
849
- ${this.dataAccessMode === "subset" && !this.dialog ? b`
850
- <div class="footer">
851
- <button
852
- class="btn btn-secondary"
853
- @click=${__privateGet(this, _resetAllParameters)}
854
- >
855
- Reset All
856
- </button>
857
- <div>
858
- <button class="btn btn-primary" @click=${__privateMethod(this, _getData, getData_fn)}>
859
- Get Data
860
- </button>
861
- ${this.jobId ? b`
862
- <terra-button
863
- variant="default"
864
- @click=${__privateMethod(this, _viewRunningJob, viewRunningJob_fn)}
865
- >
866
- View Running Job
867
- </terra-button>
868
- ` : A}
869
- </div>
870
- </div>
871
- ` : A}
872
- `;
873
- };
874
- _resetAllParameters = new WeakMap();
875
- _renderSearchForCollection = new WeakSet();
876
- renderSearchForCollection_fn = function() {
877
- var _a, _b;
878
- let placeholder = "Search all types of resources (e.g. rainfall, GPM, hurricanes, etc.)";
879
- if (this.collectionSearchType === "collection") {
880
- placeholder = "Search collections (e.g. AQUA, GPM_3IMERGH, etc.)";
881
- }
882
- if (this.collectionSearchType === "variable") {
883
- placeholder = "Search variables (e.g. rainfall, hurricanes, etc.)";
884
- }
885
- return b`
886
- <terra-accordion .open=${this.collectionAccordionOpen}>
887
- <div slot="summary">
888
- <span class="accordion-title">Collection:</span>
889
- </div>
890
-
891
- <div
892
- slot="summary-right"
893
- style="display: flex; align-items: center; gap: 10px"
894
- >
895
- ${this.collectionEntryId ? b` <span
896
- class="accordion-value"
897
- id="selected-collection-display"
898
- >${this.collectionEntryId}</span
899
- >
900
-
901
- <button
902
- class="reset-btn"
903
- @click=${() => this.collectionEntryId = void 0}
904
- >
905
- Reset
906
- </button>` : A}
907
- </div>
908
-
909
- <div class="search-tabs-mini">
910
- <button
911
- class="search-tab-mini ${this.collectionSearchType === "all" ? "active" : ""}"
912
- @click=${() => this.collectionSearchType = "all"}
913
- >
914
- All
915
- </button>
916
- <button
917
- class="search-tab-mini ${this.collectionSearchType === "collection" ? "active" : ""}"
918
- @click=${() => this.collectionSearchType = "collection"}
919
- >
920
- Collections
921
- </button>
922
- <button
923
- class="search-tab-mini ${this.collectionSearchType === "variable" ? "active" : ""}"
924
- @click=${() => this.collectionSearchType = "variable"}
925
- >
926
- Variables
927
- </button>
928
- </div>
929
-
930
- <div class="search-container-mini">
931
- <input
932
- type="text"
933
- class="search-input-mini"
934
- id="search-input"
935
- placeholder=${placeholder}
936
- @input="${(e2) => this.handleCollectionSearch(
937
- e2.target.value
938
- )}"
939
- />
940
-
941
- <button class="search-button-mini">
942
- <svg
943
- class="search-icon-mini"
944
- viewBox="0 0 24 24"
945
- fill="currentColor"
946
- >
947
- <path
948
- 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"
949
- />
950
- </svg>
951
- Search
952
- </button>
953
- </div>
954
-
955
- <!-- TODO: it may be nice to have a quick search, perhaps by recent trends?
956
- <div class="quick-links-mini">
957
- <a href="#" class="quick-link-mini" onclick="quickSearch('GPM')"
958
- >GPM Precipitation</a
959
- >
960
- <a href="#" class="quick-link-mini" onclick="quickSearch('MODIS')"
961
- >MODIS Data</a
962
- >
963
- <a
964
- href="#"
965
- class="quick-link-mini"
966
- onclick="quickSearch('Landsat')"
967
- >Landsat Imagery</a
968
- >
969
- <a href="#" class="quick-link-mini" onclick="quickSearch('AIRS')"
970
- >Atmospheric Data</a
971
- >
972
- </div>
973
- -->
974
-
975
- <div id="search-results-section" class="search-results-section">
976
- ${this.collectionSearchLoading ? b`
977
- <div id="loading-mini" class="loading-mini">
978
- <div class="spinner-mini"></div>
979
- <div>Searching NASA CMR...</div>
980
- </div>
981
- ` : ((_a = this.collectionSearchResults) == null ? void 0 : _a.length) ? b` <div
982
- id="results-container-mini"
983
- class="results-container-mini"
984
- >
985
- ${(_b = this.collectionSearchResults) == null ? void 0 : _b.map(
986
- (item) => b`
987
- <div
988
- class="result-item-mini"
989
- @click=${() => {
990
- this.collectionEntryId = item.collectionEntryId;
991
- this.collectionAccordionOpen = false;
992
- this.collectionLoading = true;
993
- if (item.type === "variable") {
994
- this.selectedVariables = [
995
- {
996
- name: item.entryId,
997
- href: "",
998
- conceptId: item.conceptId
999
- }
1000
- ];
1001
- }
1002
- this.requestUpdate();
1003
- }}
1004
- style="cursor: pointer;"
1005
- >
1006
- <div class="result-title-mini">
1007
- ${item.title}
1008
- </div>
1009
- <div class="result-id-mini">
1010
- ${item.entryId}
1011
- </div>
1012
- <div class="result-description-mini">
1013
- ${item.summary || item.title}
1014
- </div>
1015
- <div class="result-meta-mini">
1016
- <span>📅 2000-02-24 - ongoing</span>
1017
- <span>🌍 Global</span>
1018
- <span>🏢 ${item.provider}</span>
1019
- ${item.type === "variable" ? b` <span
1020
- >📊
1021
- ${item.collectionEntryId}</span
1022
- >` : A}
1023
- <span class="tag-mini"
1024
- >${item.type.toUpperCase()}</span
1025
- >
1026
- </div>
1027
- </div>
1028
- `
1029
- )}
1030
- </div>` : this.collectionSearchResults && this.collectionSearchResults.length === 0 ? b`<div id="no-results-mini" class="no-results-mini">
1031
- <p>
1032
- No results found for
1033
- '${this.collectionSearchQuery}'. Try adjusting
1034
- your search term.
1035
- </p>
1036
- </div>` : A}
1037
- </div>
1038
- </terra-accordion>
1039
-
1040
- ${this.collectionLoading ? b`
1041
- <div
1042
- class="collection-loading-bar"
1043
- style="display: flex; align-items: center; gap: 10px; margin: 16px 0;"
1044
- >
1045
- <span
1046
- class="loading-spinner"
1047
- 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;"
1048
- ></span>
1049
- Retrieving collection, please wait...
1050
- </div>
1051
- <style>
1052
- @keyframes spin {
1053
- 0% {
1054
- transform: rotate(0deg);
1055
- }
1056
- 100% {
1057
- transform: rotate(360deg);
1058
- }
1059
- }
1060
- </style>
1061
- ` : A}
1062
- `;
1063
- };
1064
- _renderOutputFormatSelection = new WeakSet();
1065
- renderOutputFormatSelection_fn = function() {
1066
- return b`
1067
- <terra-accordion>
1068
- <div slot="summary">
1069
- <span class="accordion-title">File Format:</span>
1070
- </div>
1071
-
1072
- <div
1073
- slot="summary-right"
1074
- style="display: flex; align-items: center; gap: 10px;"
1075
- >
1076
- <span>${this.selectedFormat.label}</span>
1077
-
1078
- <button class="reset-btn" @click=${__privateGet(this, _resetFormatSelection)}>
1079
- Reset
1080
- </button>
1081
- </div>
1082
-
1083
- <div class="accordion-content" style="margin-top: 12px;">
1084
- ${(() => {
1085
- var _a;
1086
- return (((_a = this.collectionWithServices) == null ? void 0 : _a.configuredOutputFormats) || []).map(
1087
- (format) => b`
1088
- <label
1089
- style="display: flex; align-items: center; gap: 8px; padding: 5px;"
1090
- >
1091
- <input
1092
- type="radio"
1093
- name="output-format"
1094
- value="${format}"
1095
- .checked=${this.selectedFormat === format}
1096
- @change=${() => this.selectedFormat = format}
1097
- />
1098
- ${format.label}
1099
- </label>
1100
- `
1101
- );
1102
- })()}
1103
- </div>
1104
- </terra-accordion>
1105
- `;
1106
- };
1107
- _renderDateRangeSelection = new WeakSet();
1108
- renderDateRangeSelection_fn = function() {
1109
- var _a, _b, _c, _d, _e, _f, _g, _h;
1110
- const { startDate: defaultStartDate, endDate: defaultEndDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
1111
- const startDate = (_b = (_a = this.selectedDateRange.startDate) != null ? _a : this.granuleMinDate) != null ? _b : defaultStartDate;
1112
- const endDate = (_d = (_c = this.selectedDateRange.endDate) != null ? _c : this.granuleMaxDate) != null ? _d : defaultEndDate;
1113
- const showError = this.touchedFields.has("date") && (!this.selectedDateRange.startDate || !this.selectedDateRange.endDate);
1114
- return b`
1115
- <terra-accordion>
1116
- <div slot="summary">
1117
- <span class="accordion-title">Refine Date Range:</span>
1118
- </div>
1119
-
1120
- <div
1121
- slot="summary-right"
1122
- style="display: flex; align-items: center; gap: 10px;"
1123
- >
1124
- ${showError ? b`<span class="accordion-value error"
1125
- >Please select a date range</span
1126
- >` : this.touchedFields.has("date") && startDate && endDate ? b`<span class="accordion-value"
1127
- >${startDate} to ${endDate}</span
1128
- >` : A}
1129
- <button class="reset-btn" @click=${__privateGet(this, _resetDateRangeSelection)}>
1130
- Reset
1131
- </button>
1132
- </div>
1133
-
1134
- <div style="width: 300px">
1135
- <terra-date-picker
1136
- allow-input
1137
- inline
1138
- range
1139
- split-inputs
1140
- show-presets
1141
- ?enable-time=${this.isSubDaily}
1142
- start-label="Start Date"
1143
- end-label="End Date"
1144
- .minDate=${(_e = this.granuleMinDate) != null ? _e : defaultStartDate}
1145
- .maxDate=${(_f = this.granuleMaxDate) != null ? _f : defaultEndDate}
1146
- .startDate=${(_g = this.selectedDateRange.startDate) != null ? _g : this.granuleMinDate}
1147
- .endDate=${(_h = this.selectedDateRange.endDate) != null ? _h : this.granuleMaxDate}
1148
- .useEndOfDay=${!this.selectedFormat.isGiovanniFormat}
1149
- @terra-date-range-change=${__privateGet(this, _handleDateChange)}
1150
- ></terra-date-picker>
1151
- </div>
1152
-
1153
- <div style="display: flex; gap: 16px; margin-top: 15px;">
1154
- <span
1155
- ><strong>Available Range:</strong> ${defaultStartDate} to
1156
- ${defaultEndDate}</span
1157
- >
1158
- ${this.isSubDaily ? b`<span
1159
- ><strong>Note:</strong> All dates and times are in
1160
- UTC.</span
1161
- >` : A}
1162
- </div>
1163
- </terra-accordion>
1164
- `;
1165
- };
1166
- _handleDateChange = new WeakMap();
1167
- _resetDateRangeSelection = new WeakMap();
1168
- _resetFormatSelection = new WeakMap();
1169
- _getCollectionDateRange = new WeakSet();
1170
- getCollectionDateRange_fn = function() {
1171
- var _a, _b;
1172
- const samplingMinDate = this.granuleMinDate;
1173
- const samplingMaxDate = this.granuleMaxDate;
1174
- if (samplingMinDate && samplingMaxDate) {
1175
- return {
1176
- startDate: samplingMinDate.slice(0, 10),
1177
- endDate: samplingMaxDate.slice(0, 10)
1178
- };
1179
- }
1180
- const temporalExtents = (_b = (_a = this.collectionWithServices) == null ? void 0 : _a.collection) == null ? void 0 : _b.TemporalExtents;
1181
- if (!(temporalExtents == null ? void 0 : temporalExtents.length))
1182
- return {
1183
- startDate: null,
1184
- endDate: null
1185
- };
1186
- let minStart = null;
1187
- let maxEnd = null;
1188
- const today = /* @__PURE__ */ new Date();
1189
- for (const temporal of temporalExtents) {
1190
- for (const range of temporal.RangeDateTimes || []) {
1191
- const start = new Date(range.BeginningDateTime);
1192
- let end;
1193
- if (temporal.EndsAtPresentFlag || !range.EndingDateTime) {
1194
- end = today;
1195
- } else {
1196
- end = new Date(range.EndingDateTime);
1197
- }
1198
- if (!minStart || start < minStart)
1199
- minStart = start;
1200
- if (!maxEnd || end > maxEnd)
1201
- maxEnd = end;
1202
- }
1203
- }
1204
- return {
1205
- startDate: minStart ? minStart.toISOString().slice(0, 10) : null,
1206
- endDate: maxEnd ? maxEnd.toISOString().slice(0, 10) : null
1207
- };
1208
- };
1209
- _renderSpatialSelection = new WeakSet();
1210
- renderSpatialSelection_fn = function() {
1211
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
1212
- const showError = this.touchedFields.has("spatial") && !this.spatialSelection && !this.shapeGeoJson;
1213
- const spatialString = (_c = (_b = this.spatialLabel) != null ? _b : (_a = this.spatialSelection) == null ? void 0 : _a.toString()) != null ? _c : void 0;
1214
- const spatialInitialValue = (_e = (_d = this.spatialSelection) == null ? void 0 : _d.toString()) != null ? _e : void 0;
1215
- return b`
1216
- <terra-accordion>
1217
- <div slot="summary">
1218
- <span class="accordion-title">Refine Region:</span>
1219
- </div>
1220
-
1221
- <div
1222
- slot="summary-right"
1223
- style="display: flex; align-items: center; gap: 10px;"
1224
- >
1225
- ${showError ? b`<span class="accordion-value error"
1226
- >Please select a region</span
1227
- >` : spatialString ? b`<span class="accordion-value"
1228
- >${spatialString}</span
1229
- >` : A}
1230
- <button class="reset-btn" @click=${__privateGet(this, _resetSpatialSelection)}>
1231
- Reset
1232
- </button>
1233
- </div>
1234
- <div class="accordion-content">
1235
- <terra-spatial-picker
1236
- part="spatial-picker"
1237
- inline
1238
- hide-label
1239
- .spatialConstraints=${__privateGet(this, _collectionController).spatialConstraints || "-180, -90, 180, 90"}
1240
- .initialValue=${spatialInitialValue}
1241
- ?has-shape-selector=${(_i = (_h = (_g = (_f = this.collectionWithServices) == null ? void 0 : _f.summary) == null ? void 0 : _g.subsetting) == null ? void 0 : _h.shape) != null ? _i : false}
1242
- ?show-polygon-selection=${(_m = (_l = (_k = (_j = this.collectionWithServices) == null ? void 0 : _j.summary) == null ? void 0 : _k.subsetting) == null ? void 0 : _l.shape) != null ? _m : false}
1243
- @terra-map-change=${__privateGet(this, _handleSpatialChange)}
1244
- ></terra-spatial-picker>
1245
- <div
1246
- style="display: flex; gap: 16px; margin-top: 15px; color: #31708f;"
1247
- >
1248
- <span
1249
- ><strong>Available Range:</strong> ${__privateGet(this, _collectionController).spatialConstraints}</span
1250
- >
1251
- </div>
1252
- </div>
1253
- </terra-accordion>
1254
- `;
1255
- };
1256
- _handleSpatialChange = new WeakMap();
1257
- _resetSpatialSelection = new WeakMap();
1258
- _renderVariableSelection = new WeakSet();
1259
- renderVariableSelection_fn = function() {
1260
- var _a;
1261
- const variables = ((_a = this.collectionWithServices) == null ? void 0 : _a.variables) || [];
1262
- const giovanniError = this.touchedFields.has("variables") && __privateMethod(this, _getGiovanniValidationError, getGiovanniValidationError_fn).call(this);
1263
- const basicError = this.touchedFields.has("variables") && this.selectedVariables.length === 0;
1264
- const showError = giovanniError || basicError;
1265
- const errorMessage = giovanniError || (basicError ? "Please select at least one variable" : "");
1266
- const tree = __privateMethod(this, _buildVariableTree, buildVariableTree_fn).call(this, variables);
1267
- const allGroups = __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, tree);
1268
- const allExpanded = allGroups.length > 0 && allGroups.every((g) => this.expandedVariableGroups.has(g));
1269
- return b`
1270
- <terra-accordion>
1271
- <div slot="summary">
1272
- <span class="accordion-title">Select Variables:</span>
1273
- </div>
1274
- <div
1275
- slot="summary-right"
1276
- style="display: flex; align-items: center; gap: 10px;"
1277
- >
1278
- ${showError ? b`<span class="accordion-value error"
1279
- >${errorMessage}</span
1280
- >` : this.selectedVariables.length ? b`<span class="accordion-value"
1281
- >${this.selectedVariables.length} selected</span
1282
- >` : A}
1283
-
1284
- <button class="reset-btn" @click=${__privateGet(this, _resetVariableSelection)}>
1285
- Reset
1286
- </button>
1287
- </div>
1288
- <div class="accordion-content">
1289
- <terra-input
1290
- label="Filter variables"
1291
- placeholder="Search by variable name..."
1292
- .value=${this.variableFilterText}
1293
- @input=${(e2) => {
1294
- const input = e2.target;
1295
- this.variableFilterText = input.value;
1296
- __privateMethod(this, _handleVariableFilterChange, handleVariableFilterChange_fn).call(this);
1297
- }}
1298
- style="margin-bottom: 10px;"
1299
- ></terra-input>
1300
- <button
1301
- class="reset-btn"
1302
- style="margin-bottom: 10px;"
1303
- @click=${() => __privateMethod(this, _toggleExpandCollapseAll, toggleExpandCollapseAll_fn).call(this, tree)}
1304
- >
1305
- ${allExpanded ? "Collapse Tree" : "Expand Tree"}
1306
- </button>
1307
-
1308
- ${this.selectedFormat.isGiovanniFormat && this.giovanniConfiguredVariables ? b`
1309
- <terra-alert
1310
- open
1311
- appearance="white"
1312
- style="margin: 10px 0"
1313
- >
1314
- <terra-icon
1315
- slot="icon"
1316
- name="outline-information-circle"
1317
- library="heroicons"
1318
- ></terra-icon>
1319
- Only certain variables are supported for the
1320
- selected output format. (Giovanni service)
1321
- </terra-alert>
1322
- ` : A}
1323
- ${variables.length === 0 ? b`<p style="color: #666; font-style: italic;">
1324
- No variables available for this collection.
1325
- </p>` : __privateMethod(this, _renderVariableTree, renderVariableTree_fn).call(this, __privateMethod(this, _filterVariableTree, filterVariableTree_fn).call(this, tree), [])}
1326
- </div>
1327
- </terra-accordion>
1328
- `;
1329
- };
1330
- _renderDimensionGroup = new WeakSet();
1331
- renderDimensionGroup_fn = function(dim) {
1332
- var _a, _b, _c, _d, _e, _f;
1333
- const currentValue = (_a = this.selectedDimensionIndexes[dim.name]) != null ? _a : 1;
1334
- 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(
1335
- (s) => s.dimensions && s.dimensions.length > 0
1336
- )) == null ? void 0 : _f.dimensions) || [];
1337
- return b`
1338
- <div style="margin-bottom: 16px;">
1339
- <div
1340
- style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px;"
1341
- >
1342
- <span style="font-weight: 600; margin-bottom: 44px"
1343
- >Dimension: ${dim.name}</span
1344
- >
1345
- </div>
1346
- <terra-slider
1347
- class="dimension-slider"
1348
- mode="range"
1349
- min="1"
1350
- .max=${dim.size}
1351
- step="1"
1352
- .startValue=${currentValue.start}
1353
- .endValue=${currentValue.end}
1354
- has-tooltips
1355
- show-inputs
1356
- hide-label
1357
- .formatTooltip=${dimensions.length > 0 ? (value) => {
1358
- const found = dimensions.find(
1359
- (d) => String(d.value) === String(value)
1360
- );
1361
- return found ? found.label : String(value);
1362
- } : A}
1363
- @terra-slider-change=${(event) => {
1364
- if ("startValue" in event.detail) {
1365
- const { startValue, endValue } = event.detail;
1366
- __privateMethod(this, _setDimensionValue, setDimensionValue_fn).call(this, dim.name, startValue, endValue);
1367
- }
1368
- }}
1369
- ></terra-slider>
1370
- </div>
1371
- `;
1372
- };
1373
- _setDimensionValue = new WeakSet();
1374
- setDimensionValue_fn = function(dimName, startValue, endValue) {
1375
- const dimensions = __privateMethod(this, _getCommonSelectableDimensions, getCommonSelectableDimensions_fn).call(this);
1376
- const found = dimensions.find((d) => d.name === dimName);
1377
- if (!found) {
1378
- return;
1379
- }
1380
- const normalizedStartValue = Math.min(
1381
- Math.max(Math.round(startValue), 1),
1382
- found.size
1383
- );
1384
- const normalizedEndValue = Math.min(
1385
- Math.max(Math.round(endValue != null ? endValue : startValue), 1),
1386
- found.size
1387
- );
1388
- if (normalizedStartValue <= 1 && normalizedEndValue >= found.size) {
1389
- delete this.selectedDimensionIndexes[dimName];
1390
- return;
1391
- }
1392
- this.selectedDimensionIndexes = __spreadProps(__spreadValues({}, this.selectedDimensionIndexes), {
1393
- [dimName]: { start: normalizedStartValue, end: normalizedEndValue }
1394
- });
1395
- };
1396
- _renderDimensionSelection = new WeakSet();
1397
- renderDimensionSelection_fn = function() {
1398
- const dimensions = __privateMethod(this, _getCommonSelectableDimensions, getCommonSelectableDimensions_fn).call(this);
1399
- if (!dimensions.length) {
1400
- return A;
1401
- }
1402
- const selectedCount = Object.keys(this.selectedDimensionIndexes).length;
1403
- return b`
1404
- <terra-accordion>
1405
- <div slot="summary">
1406
- <span class="accordion-title">Select Dimensions:</span>
1407
- </div>
1408
- <div
1409
- slot="summary-right"
1410
- style="display: flex; align-items: center; gap: 10px;"
1411
- >
1412
- ${selectedCount ? b`<span class="accordion-value"
1413
- >${selectedCount}
1414
- dimension${selectedCount === 1 ? "" : "s"}
1415
- selected</span
1416
- >` : A}
1417
- <button class="reset-btn" @click=${__privateMethod(this, _resetDimensionSelection, resetDimensionSelection_fn)}>
1418
- Reset
1419
- </button>
1420
- </div>
1421
- <div class="accordion-content">
1422
- ${dimensions.map((dim) => __privateMethod(this, _renderDimensionGroup, renderDimensionGroup_fn).call(this, dim))}
1423
- </div>
1424
- </terra-accordion>
1425
- `;
1426
- };
1427
- _filterVariableTree = new WeakSet();
1428
- filterVariableTree_fn = function(tree) {
1429
- if (!this.variableFilterText.trim()) {
1430
- return tree;
1431
- }
1432
- const filterText = this.variableFilterText.toLowerCase().trim();
1433
- const filterNode = (node) => {
1434
- const result = {};
1435
- for (const [key, value] of Object.entries(node)) {
1436
- if (value.__isLeaf) {
1437
- const variableName = value.__variable.name.toLowerCase();
1438
- if (variableName.includes(filterText)) {
1439
- result[key] = value;
1440
- }
1441
- } else {
1442
- const filteredChildren = filterNode(value.__children);
1443
- if (Object.keys(filteredChildren).length > 0 || key.toLowerCase().includes(filterText)) {
1444
- result[key] = __spreadProps(__spreadValues({}, value), {
1445
- __children: filteredChildren
1446
- });
1447
- }
1448
- }
1449
- }
1450
- return result;
1451
- };
1452
- return filterNode(tree);
1453
- };
1454
- _handleVariableFilterChange = new WeakSet();
1455
- handleVariableFilterChange_fn = function() {
1456
- var _a;
1457
- if (!this.variableFilterText.trim()) {
1458
- return;
1459
- }
1460
- const variables = ((_a = this.collectionWithServices) == null ? void 0 : _a.variables) || [];
1461
- const tree = __privateMethod(this, _buildVariableTree, buildVariableTree_fn).call(this, variables);
1462
- const filterText = this.variableFilterText.toLowerCase().trim();
1463
- const groupsToExpand = /* @__PURE__ */ new Set();
1464
- const findMatchingGroups = (node, path = []) => {
1465
- for (const [key, value] of Object.entries(node)) {
1466
- if (value.__isLeaf) {
1467
- const variableName = value.__variable.name.toLowerCase();
1468
- if (variableName.includes(filterText)) {
1469
- for (let i = 0; i < path.length; i++) {
1470
- const groupPath = path.slice(0, i + 1).join("/");
1471
- groupsToExpand.add(groupPath);
1472
- }
1473
- }
1474
- } else {
1475
- const groupPath = [...path, key].join("/");
1476
- findMatchingGroups(value.__children, [...path, key]);
1477
- if (key.toLowerCase().includes(filterText)) {
1478
- groupsToExpand.add(groupPath);
1479
- }
1480
- }
1481
- }
1482
- };
1483
- findMatchingGroups(tree);
1484
- if (groupsToExpand.size > 0) {
1485
- this.expandedVariableGroups = /* @__PURE__ */ new Set([
1486
- ...this.expandedVariableGroups,
1487
- ...groupsToExpand
1488
- ]);
1489
- }
1490
- };
1491
- _buildVariableTree = new WeakSet();
1492
- buildVariableTree_fn = function(variables) {
1493
- let filteredVariables = variables;
1494
- if (this.selectedFormat.isGiovanniFormat && this.giovanniConfiguredVariables) {
1495
- filteredVariables = variables.filter((v) => {
1496
- var _a, _b, _c;
1497
- const shortName = (_a = this.collectionWithServices) == null ? void 0 : _a.shortName;
1498
- const version = (_c = (_b = this.collectionWithServices) == null ? void 0 : _b.collection) == null ? void 0 : _c.Version;
1499
- if (!shortName || !version) {
1500
- return false;
1501
- }
1502
- const giovanniVariableName = convertVariableEntryIdToGiovanniFormat(
1503
- shortName,
1504
- version,
1505
- v.name
1506
- );
1507
- return this.giovanniConfiguredVariables.has(giovanniVariableName);
1508
- });
1509
- }
1510
- const root = {};
1511
- for (const v of filteredVariables) {
1512
- const parts = v.name.split("/");
1513
- let node = root;
1514
- for (let i = 0; i < parts.length; i++) {
1515
- const part = parts[i];
1516
- if (!node[part])
1517
- node[part] = { __children: {}, __isLeaf: false };
1518
- if (i === parts.length - 1) {
1519
- node[part].__isLeaf = true;
1520
- node[part].__variable = v;
1521
- }
1522
- node = node[part].__children;
1523
- }
1524
- }
1525
- return root;
1526
- };
1527
- _renderVariableTree = new WeakSet();
1528
- renderVariableTree_fn = function(node, path) {
1529
- const isGiovanni = this.selectedFormat.isGiovanniFormat;
1530
- return b`
1531
- <div style="margin-left: ${path.length * 20}px;">
1532
- ${Object.entries(node).map(([key, value]) => {
1533
- var _a;
1534
- const groupPath = [...path, key].join("/");
1535
- if (value.__isLeaf) {
1536
- const ummVar = cmr_variable_service_default.getVariableByName(
1537
- key,
1538
- (_a = __privateGet(this, _collectionController).variables) == null ? void 0 : _a.data
1539
- );
1540
- const variableLabel = ummVar ? cmr_variable_service_default.getVariableDisplayLabel(ummVar) : key;
1541
- return b`
1542
- <div class="option-row">
1543
- <label class="checkbox-option">
1544
- <input
1545
- type="${isGiovanni ? "radio" : "checkbox"}"
1546
- name="${isGiovanni ? "variable-selection" : ""}"
1547
- .checked=${this.selectedVariables.some(
1548
- (v) => v.name === value.__variable.name
1549
- )}
1550
- @change=${(e2) => __privateMethod(this, _toggleVariableSelection, toggleVariableSelection_fn).call(this, e2, value.__variable)}
1551
- />
1552
- <span>${variableLabel}</span>
1553
- </label>
1554
- </div>
1555
- `;
1556
- } else {
1557
- const expanded = this.expandedVariableGroups.has(groupPath);
1558
- return b`
1559
- <div class="option-row" style="align-items: flex-start;">
1560
- <span
1561
- style="cursor: pointer; display: flex; align-items: center;"
1562
- @click=${() => __privateMethod(this, _toggleGroupExpand, toggleGroupExpand_fn).call(this, groupPath)}
1563
- >
1564
- <terra-icon
1565
- library="heroicons"
1566
- name="${expanded ? "outline-minus-circle" : "outline-plus-circle"}"
1567
- style="margin-right: 4px;"
1568
- ></terra-icon>
1569
- <span style="font-weight: 500;">${key}</span>
1570
- </span>
1571
- </div>
1572
- ${expanded ? __privateMethod(this, _renderVariableTree, renderVariableTree_fn).call(this, value.__children, [
1573
- ...path,
1574
- key
1575
- ]) : ""}
1576
- `;
1577
- }
1578
- })}
1579
- </div>
1580
- `;
1581
- };
1582
- _getAllGroupPaths = new WeakSet();
1583
- getAllGroupPaths_fn = function(node, path = []) {
1584
- let groups = [];
1585
- for (const [key, value] of Object.entries(node)) {
1586
- if (!value.__isLeaf) {
1587
- const groupPath = [...path, key].join("/");
1588
- groups.push(groupPath);
1589
- groups = groups.concat(
1590
- __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, value.__children, [...path, key])
1591
- );
1592
- }
1593
- }
1594
- return groups;
1595
- };
1596
- _toggleGroupExpand = new WeakSet();
1597
- toggleGroupExpand_fn = function(groupPath) {
1598
- const set = new Set(this.expandedVariableGroups);
1599
- if (set.has(groupPath)) {
1600
- set.delete(groupPath);
1601
- } else {
1602
- set.add(groupPath);
1603
- }
1604
- this.expandedVariableGroups = set;
1605
- };
1606
- _toggleExpandCollapseAll = new WeakSet();
1607
- toggleExpandCollapseAll_fn = function(tree) {
1608
- const allGroups = __privateMethod(this, _getAllGroupPaths, getAllGroupPaths_fn).call(this, tree);
1609
- const allExpanded = allGroups.length > 0 && allGroups.every((g) => this.expandedVariableGroups.has(g));
1610
- if (allExpanded) {
1611
- this.expandedVariableGroups = /* @__PURE__ */ new Set();
1612
- } else {
1613
- this.expandedVariableGroups = new Set(allGroups);
1614
- }
1615
- };
1616
- _toggleVariableSelection = new WeakSet();
1617
- toggleVariableSelection_fn = function(e2, variable) {
1618
- __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "variables");
1619
- const checked = e2.target.checked;
1620
- if (this.selectedFormat.isGiovanniFormat) {
1621
- if (checked) {
1622
- this.selectedVariables = [variable];
1623
- }
1624
- } else {
1625
- if (checked) {
1626
- if (!this.selectedVariables.some((v) => v.name === variable.name)) {
1627
- this.selectedVariables = [...this.selectedVariables, variable];
1628
- }
1629
- } else {
1630
- this.selectedVariables = this.selectedVariables.filter(
1631
- (v) => v.name !== variable.name
1632
- );
1633
- }
1634
- }
1635
- };
1636
- _markFieldTouched = new WeakSet();
1637
- markFieldTouched_fn = function(field) {
1638
- this.touchedFields = new Set(this.touchedFields).add(field);
1639
- };
1640
- _resetVariableSelection = new WeakMap();
1641
- _resetDimensionSelection = new WeakSet();
1642
- resetDimensionSelection_fn = function() {
1643
- this.selectedDimensionIndexes = {};
1644
- };
1645
- _isDimensionExcluded = new WeakSet();
1646
- isDimensionExcluded_fn = function(dim) {
1647
- var _a, _b, _c;
1648
- const normalizedName = (_b = (_a = dim.Name) == null ? void 0 : _a.toLowerCase()) != null ? _b : "";
1649
- const normalizedType = ((_c = dim.Type) != null ? _c : "").toLowerCase();
1650
- return ["time", "latitude", "longitude", "lat", "lon", "x", "y"].some(
1651
- (value) => normalizedName.includes(value) || normalizedType.includes(value)
1652
- );
1653
- };
1654
- _getCommonSelectableDimensions = new WeakSet();
1655
- getCommonSelectableDimensions_fn = function() {
1656
- var _a, _b;
1657
- const variables = (_a = __privateGet(this, _collectionController).variables) == null ? void 0 : _a.data;
1658
- if (!variables) {
1659
- return [];
1660
- }
1661
- const allUmmVars = (_b = variables.items) != null ? _b : [];
1662
- if (!allUmmVars.length) {
1663
- return [];
1664
- }
1665
- const allDimensionSets = allUmmVars.map(
1666
- (v) => {
1667
- var _a2;
1668
- return (_a2 = v.umm.Dimensions) != null ? _a2 : [];
1669
- }
1670
- );
1671
- if (!allDimensionSets.length) {
1672
- return [];
1673
- }
1674
- const allDimensionNames = Array.from(
1675
- new Set(allDimensionSets.flatMap((dimSet) => dimSet.map((dim) => dim.Name)))
1676
- );
1677
- const filteredCommon = allDimensionNames.map((name) => {
1678
- var _a2, _b2;
1679
- const dims = allDimensionSets.map((set) => set.find((dim) => dim.Name === name)).filter((d) => Boolean(d));
1680
- if (!dims.length) {
1681
- return null;
1682
- }
1683
- const validSizes = dims.filter((dim) => dim.Size !== void 0 && dim.Size !== "Varies").map((dim) => Number(dim.Size)).filter((size2) => Number.isFinite(size2) && size2 > 0);
1684
- if (!validSizes.length) {
1685
- return null;
1686
- }
1687
- const size = Math.min(...validSizes);
1688
- return {
1689
- name,
1690
- type: (_b2 = (_a2 = dims[0]) == null ? void 0 : _a2.Type) != null ? _b2 : "OTHER",
1691
- size
1692
- };
1693
- }).filter(
1694
- (entry) => Boolean(entry)
1695
- ).filter(
1696
- (entry) => !__privateMethod(this, _isDimensionExcluded, isDimensionExcluded_fn).call(this, {
1697
- Name: entry.name,
1698
- Type: entry.type
1699
- })
1700
- );
1701
- return filteredCommon;
1702
- };
1703
- _renderJobStatus = new WeakSet();
1704
- renderJobStatus_fn = function() {
1705
- var _a, _b, _c, _d, _e;
1706
- if (!__privateGet(this, _harmonyRequestController).jobId) {
1707
- return b`<div class="results-section" id="job-status-section">
1708
- <div
1709
- style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;"
1710
- >
1711
- <h2 class="results-title" style="margin: 0;">Results:</h2>
1712
- ${!this.isHistoryView ? b`
1713
- <terra-button
1714
- variant="default"
1715
- size="small"
1716
- @click=${__privateMethod(this, _backToSubsetOptions, backToSubsetOptions_fn)}
1717
- >
1718
- ← Back to Subset Options
1719
- </terra-button>
1720
- ` : A}
1721
- </div>
1722
-
1723
- <div class="progress-container">
1724
- ${this.harmonyRequestError ? b`
1725
- <terra-alert open variant="danger" appearance="white">
1726
- ${__privateMethod(this, _renderHarmonyRequestError, renderHarmonyRequestError_fn).call(this)}
1727
- </terra-alert>
1728
- ` : b`
1729
- <div class="progress-container">
1730
- <div class="progress-text">
1731
- <span class="spinner"></span>
1732
- <span class="status-running"
1733
- >Searching for data...</span
1734
- >
1735
- </div>
1736
-
1737
- <div class="progress-bar">
1738
- <div
1739
- class="progress-fill"
1740
- style="width: 0%"
1741
- ></div>
1742
- </div>
1743
- </div>
1744
-
1745
- ${__privateMethod(this, _renderJobMessage, renderJobMessage_fn).call(this)}
1746
- `}
1747
- </div>
1748
- </div>`;
1749
- }
1750
- return b`
1751
- <div class="results-section" id="job-status-section">
1752
- <div
1753
- style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;"
1754
- >
1755
- <h2 class="results-title" style="margin: 0;">Results:</h2>
1756
- ${!this.isHistoryView ? b`
1757
- <terra-button
1758
- variant="default"
1759
- size="small"
1760
- @click=${__privateMethod(this, _backToSubsetOptions, backToSubsetOptions_fn)}
1761
- >
1762
- ← Back to Subset Options
1763
- </terra-button>
1764
- ` : A}
1765
- </div>
1766
-
1767
- ${__privateGet(this, _harmonyRequestController).status !== "canceled" && __privateGet(this, _harmonyRequestController).status !== "failed" ? b` <div class="progress-container">
1768
- <div class="progress-text">
1769
- ${__privateGet(this, _harmonyRequestController).progress >= 100 ? b`
1770
- <span class="status-complete"
1771
- >✓ Search complete</span
1772
- >
1773
- ` : b`
1774
- <span class="spinner"></span>
1775
- <span class="status-running"
1776
- >Searching for data...
1777
- (${__privateGet(this, _harmonyRequestController).progress}%)</span
1778
- >
1779
- `}
1780
- </div>
1781
-
1782
- <div class="progress-bar">
1783
- <div
1784
- class="progress-fill"
1785
- style="width: ${__privateGet(this, _harmonyRequestController).progress}%"
1786
- ></div>
1787
- </div>
1788
- </div>` : A}
1789
-
1790
- <div class="search-status">
1791
- <span class="file-count"
1792
- >Found ${__privateMethod(this, _numberOfFilesFoundEstimate, numberOfFilesFoundEstimate_fn).call(this)} files</span
1793
- >
1794
- out of estimated
1795
- <span class="estimated-total"
1796
- >${(_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.numInputGranules.toLocaleString()}</span
1797
- >
1798
- </div>
1799
-
1800
- ${__privateMethod(this, _renderJobMessage, renderJobMessage_fn).call(this)}
1801
- ${((_c = (_b = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _b.errors) == null ? void 0 : _c.length) ? b`
1802
- <terra-accordion>
1803
- <div slot="summary">
1804
- <span
1805
- class="accordion-title"
1806
- style="color: #dc3545;"
1807
- >Errors
1808
- (${(_d = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _d.errors.length})</span
1809
- >
1810
- </div>
1811
- <div class="accordion-content">
1812
- <ul
1813
- style="color: #dc3545; font-size: 14px; padding-left: 20px;"
1814
- >
1815
- ${(_e = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _e.errors.map(
1816
- (err) => b`
1817
- <li style="margin-bottom: 12px;">
1818
- <a
1819
- href="${err.url}"
1820
- target="_blank"
1821
- style="word-break: break-all; color: #dc3545; text-decoration: underline;"
1822
- >
1823
- ${err.url}
1824
- </a>
1825
- <div style="margin-top: 2px;">
1826
- ${err.message}
1827
- </div>
1828
- </li>
1829
- `
1830
- )}
1831
- </ul>
1832
- </div>
1833
- </terra-accordion>
1834
- ` : A}
1835
-
1836
- <div class="tabs">
1837
- <button
1838
- class="tab ${this.selectedTab === "web-links" ? "active" : ""}"
1839
- @click=${() => this.selectedTab = "web-links"}
1840
- >
1841
- Web Links
1842
- </button>
1843
-
1844
- ${!this.isHistoryView ? b`
1845
- <button
1846
- class="tab ${this.selectedTab === "selected-params" ? "active" : ""}"
1847
- @click=${() => this.selectedTab = "selected-params"}
1848
- >
1849
- Selected Parameters
1850
- </button>
1851
- ` : A}
1852
- </div>
1853
- <div
1854
- id="web-links"
1855
- class="tab-content ${this.selectedTab === "web-links" ? "active" : ""}"
1856
- >
1857
- ${__privateMethod(this, _getDocumentationLinks, getDocumentationLinks_fn).call(this).length ? b`
1858
- <div class="documentation-links">
1859
- ${__privateMethod(this, _getDocumentationLinks, getDocumentationLinks_fn).call(this).map(
1860
- (link) => b`
1861
- <a href="${link.href}" class="doc-link"
1862
- >${link.title}</a
1863
- >
1864
- `
1865
- )}
1866
- </div>
1867
- ` : A}
1868
-
1869
- <ul class="file-list">
1870
- ${__privateMethod(this, _getDataLinks, getDataLinks_fn).call(this).map(
1871
- (link) => b`
1872
- <li class="file-item">
1873
- <a
1874
- href="${link.href}"
1875
- class="file-link"
1876
- target="_blank"
1877
- >
1878
- ${link.title}
1879
- </a>
1880
- </li>
1881
- `
1882
- )}
1883
- </ul>
1884
- </div>
1885
-
1886
- <div
1887
- id="selected-params"
1888
- class="tab-content ${this.selectedTab === "selected-params" ? "active" : ""}"
1889
- >
1890
- ${__privateMethod(this, _renderSelectedParams, renderSelectedParams_fn).call(this)}
1891
- </div>
1892
- </div>
1893
-
1894
- ${!this.dialog ? b`
1895
- <div class="footer">
1896
- ${__privateGet(this, _harmonyRequestController).status === "successful" /* SUCCESSFUL */ || __privateGet(this, _harmonyRequestController).status === "complete_with_errors" /* COMPLETE_WITH_ERRORS */ ? b`
1897
- <div
1898
- style="display: flex; align-items: center; gap: 8px;"
1899
- >
1900
- <terra-dropdown
1901
- @terra-select=${__privateMethod(this, _handleDownloadSelect, handleDownloadSelect_fn)}
1902
- >
1903
- <terra-button slot="trigger" caret>
1904
- Download Options
1905
- </terra-button>
1906
- <terra-menu>
1907
- <terra-menu-item value="file-list">
1908
- <svg
1909
- slot="prefix"
1910
- viewBox="0 0 24 24"
1911
- width="16"
1912
- height="16"
1913
- style="width: 16px; height: 16px;"
1914
- >
1915
- <path
1916
- fill="currentColor"
1917
- 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"
1918
- />
1919
- </svg>
1920
- File List
1921
- </terra-menu-item>
1922
- <terra-menu-item
1923
- value="python-script"
1924
- >
1925
- <svg
1926
- slot="prefix"
1927
- viewBox="0 0 128 128"
1928
- width="16"
1929
- height="16"
1930
- style="width: 16px; height: 16px;"
1931
- >
1932
- <path
1933
- fill="currentColor"
1934
- 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"
1935
- ></path>
1936
- </svg>
1937
- Python Script
1938
- </terra-menu-item>
1939
- <terra-menu-item
1940
- value="earthdata-download"
1941
- >
1942
- <svg
1943
- slot="prefix"
1944
- viewBox="0 0 64 64"
1945
- fill="none"
1946
- width="16"
1947
- height="16"
1948
- style="width: 16px; height: 16px;"
1949
- >
1950
- <circle
1951
- cx="32"
1952
- cy="32"
1953
- r="28"
1954
- fill="currentColor"
1955
- />
1956
- <path
1957
- d="M32 14v26M32 40l-9-9M32 40l9-9"
1958
- stroke="#fff"
1959
- stroke-width="4"
1960
- stroke-linecap="round"
1961
- stroke-linejoin="round"
1962
- fill="none"
1963
- />
1964
- </svg>
1965
- Earthdata Download
1966
- </terra-menu-item>
1967
- </terra-menu>
1968
- </terra-dropdown>
1969
-
1970
- <!--
1971
- <terra-button
1972
- outline
1973
- @click=${() => __privateMethod(this, _handleJupyterNotebookClick, handleJupyterNotebookClick_fn).call(this)}
1974
- >
1975
- <terra-icon
1976
- name="outline-code-bracket"
1977
- library="heroicons"
1978
- font-size="1.5em"
1979
- style="margin-right: 5px;"
1980
- ></terra-icon>
1981
- Open in Jupyter Notebook
1982
- </terra-button>
1983
- --></div>
1984
- ` : A}
1985
- ${__privateGet(this, _harmonyRequestController).status === "running" /* RUNNING */ ? b`<button
1986
- class="btn btn-success"
1987
- @click=${__privateMethod(this, _cancelJob, cancelJob_fn)}
1988
- ?disabled=${this.cancelingGetData}
1989
- >
1990
- ${this.cancelingGetData ? "Canceling..." : "Cancel request"}
1991
- </button>` : A}
1992
-
1993
- <div class="job-info">
1994
- Job ID:
1995
- <span class="job-id">
1996
- ${this.bearerToken ? b`<a
1997
- href="https://harmony.earthdata.nasa.gov/jobs/${__privateGet(this, _harmonyRequestController).jobId}"
1998
- target="_blank"
1999
- >${__privateGet(this, _harmonyRequestController).jobId}</a
2000
- >` : __privateGet(this, _harmonyRequestController).jobId}
2001
- </span>
2002
- <span class="info-icon">?</span>
2003
- </div>
2004
- </div>
2005
- ` : A}
2006
- `;
2007
- };
2008
- _renderSelectedParams = new WeakSet();
2009
- renderSelectedParams_fn = function() {
2010
- var _a, _b, _c, _d;
2011
- const collection = (_a = this.collectionWithServices) == null ? void 0 : _a.collection;
2012
- const variables = this.selectedVariables.length ? this.selectedVariables.map((v) => v.name) : ["All"];
2013
- const dateRange = this.selectedDateRange.startDate && this.selectedDateRange.endDate ? `${this.selectedDateRange.startDate} to ${this.selectedDateRange.endDate}` : "\u2014";
2014
- const spatial = (_c = (_b = this.spatialSelection) == null ? void 0 : _b.toString()) != null ? _c : "-";
2015
- return b`
2016
- <dl class="params-summary">
2017
- <div>
2018
- <dt><strong>Dataset</strong></dt>
2019
- <dd>${(_d = collection == null ? void 0 : collection.EntryTitle) != null ? _d : "\u2014"}</dd>
2020
- </div>
2021
- <div>
2022
- <dt><strong>Variables</strong></dt>
2023
- <dd>${variables.map((v) => b`<div>${v}</div>`)}</dd>
2024
- </div>
2025
- <div>
2026
- <dt><strong>Dimensions</strong></dt>
2027
- <dd>
2028
- ${Object.entries(this.selectedDimensionIndexes).length ? Object.entries(this.selectedDimensionIndexes).map(
2029
- ([dimName, value]) => b`<div>
2030
- <strong>${dimName}:</strong> ${value}
2031
- </div>`
2032
- ) : "\u2014"}
2033
- </dd>
2034
- </div>
2035
- <div>
2036
- <dt><strong>Date Range</strong></dt>
2037
- <dd>${dateRange}</dd>
2038
- </div>
2039
- <div>
2040
- <dt><strong>Spatial</strong></dt>
2041
- <dd>${spatial}</dd>
2042
- </div>
2043
- </dl>
2044
-
2045
- <terra-button @click=${__privateMethod(this, _refineParameters, refineParameters_fn)}
2046
- >Refine Parameters</terra-button
2047
- >
2048
- `;
2049
- };
2050
- _cancelJob = new WeakSet();
2051
- cancelJob_fn = async function() {
2052
- if (!this.jobId) {
2053
- return;
2054
- }
2055
- this.cancelingGetData = true;
2056
- try {
2057
- await __privateGet(this, _harmonyRequestController).cancelJob({
2058
- jobId: this.jobId,
2059
- options: { bearerToken: this.bearerToken }
2060
- });
2061
- } finally {
2062
- this.cancelingGetData = false;
2063
- }
2064
- };
2065
- _getData = new WeakSet();
2066
- getData_fn = async function() {
2067
- var _a, _b, _c, _d, _e, _f, _g, _h;
2068
- this.harmonyRequestError = void 0;
2069
- const validationError = __privateMethod(this, _getGiovanniValidationError, getGiovanniValidationError_fn).call(this);
2070
- if (validationError) {
2071
- this.validationError = validationError;
2072
- __privateMethod(this, _markFieldTouched, markFieldTouched_fn).call(this, "variables");
2073
- return;
2074
- }
2075
- this.validationError = void 0;
2076
- this.cancelingGetData = false;
2077
- __privateMethod(this, _touchAllFields, touchAllFields_fn).call(this);
2078
- const variables = this.selectedFormat.isGiovanniFormat ? this.selectedVariables.map(
2079
- (v) => {
2080
- var _a2, _b2, _c2;
2081
- return (
2082
- // the Giovanni variable catalog uses different variable entry ids, we need to support them
2083
- // ex. CMR: M2T1NXSLV_5.2.14 in Giovanni uses underscores: M2T1NXSLV_5_2_14
2084
- convertVariableEntryIdToGiovanniFormat(
2085
- (_a2 = this.collectionWithServices.shortName) != null ? _a2 : "",
2086
- (_c2 = (_b2 = this.collectionWithServices.collection) == null ? void 0 : _b2.Version) != null ? _c2 : "",
2087
- v.name
2088
- )
2089
- );
2090
- }
2091
- ) : this.selectedVariables.map((v) => v.conceptId);
2092
- const harmonyRequest = new HarmonyRequest({
2093
- collectionConceptId: this.collectionWithServices.conceptId,
2094
- variables,
2095
- location: this.spatialSelection
2096
- });
2097
- if (this.shapeGeoJson) {
2098
- harmonyRequest.shape(this.shapeGeoJson);
2099
- }
2100
- if (this.selectedDateRange.startDate && this.selectedDateRange.endDate) {
2101
- harmonyRequest.startDate(
2102
- this.isSubDaily ? this.selectedDateRange.startDate : getUTCDate(this.selectedDateRange.startDate).toISOString()
2103
- );
2104
- harmonyRequest.endDate(
2105
- this.isSubDaily ? this.selectedDateRange.endDate : getUTCDate(this.selectedDateRange.endDate).toISOString()
2106
- );
2107
- }
2108
- if (this.selectedFormat) {
2109
- harmonyRequest.format(
2110
- this.selectedFormat.isGiovanniFormat ? "text/csv" : this.selectedFormat.key
2111
- );
2112
- }
2113
- if (this.selectedFormat.key === "text/csv") {
2114
- harmonyRequest.average("area");
2115
- }
2116
- if (this.selectedFormat.key === "image/tiff") {
2117
- harmonyRequest.average("time");
2118
- }
2119
- if (Object.keys(this.selectedDimensionIndexes).length) {
2120
- Object.entries(this.selectedDimensionIndexes).forEach(
2121
- ([dimName, { start, end }]) => {
2122
- harmonyRequest.dimension({
2123
- name: dimName,
2124
- min: start,
2125
- max: end
2126
- });
2127
- }
2128
- );
2129
- }
2130
- harmonyRequest.label("terra-data-subsetter");
2131
- const cwsShortName = (_d = (_a = this.collectionWithServices) == null ? void 0 : _a.shortName) != null ? _d : (_c = (_b = this.collectionWithServices) == null ? void 0 : _b.collection) == null ? void 0 : _c.ShortName;
2132
- const cwsVersion = (_f = (_e = this.collectionWithServices) == null ? void 0 : _e.collection) == null ? void 0 : _f.Version;
2133
- const cwsEntryTitle = (_h = (_g = this.collectionWithServices) == null ? void 0 : _g.collection) == null ? void 0 : _h.EntryTitle;
2134
- if (cwsShortName && cwsVersion) {
2135
- harmonyRequest.label(
2136
- `collection-entry-id: ${cwsShortName}_${cwsVersion}`.toLowerCase()
2137
- );
2138
- }
2139
- if (cwsEntryTitle) {
2140
- harmonyRequest.label(
2141
- `collection-entry-title: ${cwsEntryTitle.toLowerCase()}`
2142
- );
2143
- }
2144
- console.log("Creating Harmony job with request:", harmonyRequest.params);
2145
- try {
2146
- const job = await __privateGet(this, _harmonyRequestController).startJob({
2147
- harmonyRequest,
2148
- options: { bearerToken: this.bearerToken }
2149
- });
2150
- this.jobId = job.jobID;
2151
- } catch (error) {
2152
- this.harmonyRequestError = __privateMethod(this, _getHarmonyRequestErrorMessage, getHarmonyRequestErrorMessage_fn).call(this, error);
2153
- this.refineParameters = false;
2154
- return;
2155
- }
2156
- setTimeout(() => {
2157
- const el = this.renderRoot.querySelector("#job-status-section");
2158
- el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
2159
- }, 100);
2160
- this.refineParameters = false;
2161
- this.isHistoryView = false;
2162
- };
2163
- _touchAllFields = new WeakSet();
2164
- touchAllFields_fn = function() {
2165
- this.touchedFields = /* @__PURE__ */ new Set(["variables", "spatial"]);
2166
- };
2167
- _numberOfFilesFoundEstimate = new WeakSet();
2168
- numberOfFilesFoundEstimate_fn = function() {
2169
- var _a, _b, _c;
2170
- return Math.floor(
2171
- ((_b = (_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.numInputGranules) != null ? _b : 0) * ((_c = __privateGet(this, _harmonyRequestController).progress) != null ? _c : 0) / 100
2172
- );
2173
- };
2174
- _getDocumentationLinks = new WeakSet();
2175
- getDocumentationLinks_fn = function() {
2176
- var _a, _b;
2177
- return ((_b = (_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links) != null ? _b : []).filter(
2178
- (link) => link.rel === "stac-catalog-json"
2179
- );
2180
- };
2181
- _getDataLinks = new WeakSet();
2182
- getDataLinks_fn = function() {
2183
- var _a, _b;
2184
- return ((_b = (_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links) != null ? _b : []).filter(
2185
- (link) => link.rel === "data"
2186
- );
2187
- };
2188
- _hasAtLeastOneSubsetOption = new WeakSet();
2189
- hasAtLeastOneSubsetOption_fn = function() {
2190
- var _a, _b, _c, _d;
2191
- 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);
2192
- };
2193
- _hasSpatialSubset = new WeakSet();
2194
- hasSpatialSubset_fn = function() {
2195
- var _a, _b;
2196
- return ((_a = this.collectionWithServices) == null ? void 0 : _a.summary.subsetting.bbox) || ((_b = this.collectionWithServices) == null ? void 0 : _b.summary.subsetting.shape);
2197
- };
2198
- _renderJobMessage = new WeakSet();
2199
- renderJobMessage_fn = function() {
2200
- var _a;
2201
- const warningStatuses = [
2202
- "canceled" /* CANCELED */,
2203
- "complete_with_errors" /* COMPLETE_WITH_ERRORS */,
2204
- "running_with_errors" /* RUNNING_WITH_ERRORS */
2205
- ];
2206
- const errorStatuses = ["failed" /* FAILED */];
2207
- if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.status)) {
2208
- return A;
2209
- }
2210
- let type = "normal";
2211
- if (warningStatuses.includes(__privateGet(this, _harmonyRequestController).data.status)) {
2212
- type = "warning";
2213
- } else if (errorStatuses.includes(__privateGet(this, _harmonyRequestController).data.status)) {
2214
- type = "error";
2215
- }
2216
- let color, bg;
2217
- if (type === "error") {
2218
- color = "#dc3545";
2219
- bg = "#f8d7da";
2220
- } else if (type === "warning") {
2221
- color = "#856404";
2222
- bg = "#fff3cd";
2223
- } else {
2224
- color = "#555";
2225
- bg = "#f8f9fa";
2226
- }
2227
- return b`
2228
- <div
2229
- style="
2230
- margin: 24px 0 16px 0;
2231
- padding: 16px 20px;
2232
- border-radius: 6px;
2233
- background: ${bg};
2234
- color: ${color};
2235
- border: 1px solid ${color}22;
2236
- "
2237
- >
2238
- ${__privateMethod(this, _getJobMessageText, getJobMessageText_fn).call(this)}
2239
- </div>
2240
- `;
2241
- };
2242
- _getJobMessageText = new WeakSet();
2243
- getJobMessageText_fn = function() {
2244
- var _a;
2245
- return (_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.message.replace(
2246
- /\b(The job|the job|job|Job)\b/g,
2247
- (match) => {
2248
- switch (match) {
2249
- case "The job":
2250
- return "Your request";
2251
- case "the job":
2252
- return "Your Request";
2253
- case "job":
2254
- return "request";
2255
- case "Job":
2256
- return "Request";
2257
- }
2258
- return match;
2259
- }
2260
- );
2261
- };
2262
- _estimateJobSize = new WeakSet();
2263
- estimateJobSize_fn = function() {
2264
- var _a, _b, _c, _d, _e;
2265
- if (!((_a = this.collectionWithServices) == null ? void 0 : _a.granuleCount))
2266
- return;
2267
- const range = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
2268
- let startDate;
2269
- let endDate;
2270
- let links = (_c = (_b = this.collectionWithServices) == null ? void 0 : _b.granuleCount) != null ? _c : 0;
2271
- if (this.selectedDateRange.startDate && this.selectedDateRange.endDate) {
2272
- startDate = this.selectedDateRange.startDate;
2273
- endDate = this.selectedDateRange.endDate;
2274
- } else {
2275
- startDate = (_d = this.granuleMinDate) != null ? _d : range.startDate;
2276
- endDate = (_e = this.granuleMaxDate) != null ? _e : range.endDate;
2277
- }
2278
- if (!startDate || !endDate)
2279
- return;
2280
- const start = new Date(startDate);
2281
- const end = new Date(endDate);
2282
- const days = Math.floor((end.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) + 1;
2283
- if (range.startDate && range.endDate) {
2284
- const availableDaysInCollection = Math.floor(
2285
- (new Date(range.endDate).getTime() - new Date(range.startDate).getTime()) / (1e3 * 60 * 60 * 24)
2286
- ) + 1;
2287
- const granulesPerDay = links / availableDaysInCollection;
2288
- links = Math.ceil(days * granulesPerDay);
2289
- }
2290
- return { days, links };
2291
- };
2292
- _refineParameters = new WeakSet();
2293
- refineParameters_fn = function() {
2294
- this.refineParameters = true;
2295
- };
2296
- _backToSubsetOptions = new WeakSet();
2297
- backToSubsetOptions_fn = function() {
2298
- this.refineParameters = true;
2299
- this.harmonyRequestError = void 0;
2300
- setTimeout(() => {
2301
- const container = this.renderRoot.querySelector(".container");
2302
- container == null ? void 0 : container.scrollIntoView({ behavior: "smooth", block: "start" });
2303
- }, 100);
2304
- };
2305
- _viewRunningJob = new WeakSet();
2306
- viewRunningJob_fn = function() {
2307
- this.refineParameters = false;
2308
- setTimeout(() => {
2309
- const el = this.renderRoot.querySelector("#job-status-section");
2310
- el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
2311
- }, 100);
2312
- };
2313
- _handleDownloadSelect = new WeakSet();
2314
- handleDownloadSelect_fn = function(event) {
2315
- const item = event.detail.item;
2316
- const value = item.value || item.getTextLabel();
2317
- if (value === "file-list") {
2318
- __privateMethod(this, _downloadLinksAsTxt, downloadLinksAsTxt_fn).call(this, event);
2319
- } else if (value === "python-script") {
2320
- __privateMethod(this, _downloadPythonScript, downloadPythonScript_fn).call(this, event);
2321
- } else if (value === "earthdata-download") {
2322
- __privateMethod(this, _downloadEarthdataDownload, downloadEarthdataDownload_fn).call(this, event);
2323
- }
2324
- };
2325
- _downloadLinksAsTxt = new WeakSet();
2326
- downloadLinksAsTxt_fn = function(event) {
2327
- var _a;
2328
- event.stopPropagation();
2329
- if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links)) {
2330
- return;
2331
- }
2332
- const dataLinks = __privateMethod(this, _getDataLinks, getDataLinks_fn).call(this);
2333
- if (dataLinks.length === 0) {
2334
- return;
2335
- }
2336
- const content = dataLinks.map((link) => link.href).join("\n");
2337
- const blob = new Blob([content], { type: "text/plain" });
2338
- const url = URL.createObjectURL(blob);
2339
- const a = document.createElement("a");
2340
- a.href = url;
2341
- a.download = `subset_links_${__privateGet(this, _harmonyRequestController).jobId}.txt`;
2342
- document.body.appendChild(a);
2343
- a.click();
2344
- document.body.removeChild(a);
2345
- URL.revokeObjectURL(url);
2346
- };
2347
- _downloadPythonScript = new WeakSet();
2348
- downloadPythonScript_fn = async function(event) {
2349
- var _a, _b, _c, _d;
2350
- event.stopPropagation();
2351
- if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links)) {
2352
- return;
2353
- }
2354
- const response = await fetch(
2355
- getBasePath("assets/data-subsetter/download_subset_files.py.txt")
2356
- );
2357
- if (!response.ok) {
2358
- alert(
2359
- "Sorry, there was a problem generating the Python script. We are investigating the issue.\nYou could try using the Jupyter Notebook in the meantime"
2360
- );
2361
- }
2362
- const content = (await response.text()).replace(/{{jobId}}/gi, (_b = __privateGet(this, _harmonyRequestController).jobId) != null ? _b : "").replace(
2363
- /{{HARMONY_ENV}}/gi,
2364
- `Environment.${(_c = this.environment) == null ? void 0 : _c.toUpperCase()}`
2365
- ).replace(
2366
- /{{EARTHACCESS_ENV}}/gi,
2367
- `earthaccess.${(_d = this.environment) == null ? void 0 : _d.toUpperCase()}`
2368
- );
2369
- const blob = new Blob([content], { type: "text/plain" });
2370
- const url = URL.createObjectURL(blob);
2371
- const a = document.createElement("a");
2372
- a.href = url;
2373
- a.download = `download_subset_files_${__privateGet(this, _harmonyRequestController).jobId}.py`;
2374
- document.body.appendChild(a);
2375
- a.click();
2376
- document.body.removeChild(a);
2377
- URL.revokeObjectURL(url);
2378
- };
2379
- _downloadEarthdataDownload = new WeakSet();
2380
- downloadEarthdataDownload_fn = async function(event) {
2381
- var _a;
2382
- event.stopPropagation();
2383
- if (!((_a = __privateGet(this, _harmonyRequestController).data) == null ? void 0 : _a.links)) {
2384
- return;
2385
- }
2386
- alert("Sorry, Earthdata Download is not currently supported");
2387
- };
2388
- _handleJupyterNotebookClick = new WeakSet();
2389
- handleJupyterNotebookClick_fn = function() {
2390
- const notebook = getNotebook(this);
2391
- sendDataToJupyterNotebook("load-notebook", {
2392
- filename: `subset_${__privateGet(this, _harmonyRequestController).jobId}.ipynb`,
2393
- notebook,
2394
- bearerToken: this.bearerToken
2395
- });
2396
- };
2397
- _renderAvailableTemporalRangeSection = new WeakSet();
2398
- renderAvailableTemporalRangeSection_fn = function() {
2399
- const { startDate, endDate } = __privateMethod(this, _getCollectionDateRange, getCollectionDateRange_fn).call(this);
2400
- if (!startDate || !endDate)
2401
- return A;
2402
- return b`
2403
- <div class="section" style="margin-bottom: 16px;">
2404
- <h2 class="section-title">Available Date Range</h2>
2405
- <div style="color: #31708f; margin-top: 8px;">
2406
- <strong>${startDate}</strong> to <strong>${endDate}</strong>
2407
- </div>
2408
- <div style="font-size: 0.95em; color: #666;">
2409
- This collection does not support temporal subsetting.
2410
- </div>
2411
- </div>
2412
- `;
2413
- };
2414
- _renderAvailableSpatialRangeSection = new WeakSet();
2415
- renderAvailableSpatialRangeSection_fn = function() {
2416
- var _a, _b, _c, _d, _e;
2417
- 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;
2418
- if (!boundingRects || !Array.isArray(boundingRects) || !boundingRects.length)
2419
- return A;
2420
- return b`
2421
- <div class="section" style="margin-bottom: 16px;">
2422
- <h2 class="section-title">Available Spatial Area</h2>
2423
- <div style="color: #31708f; margin-top: 8px;">
2424
- ${boundingRects.map(
2425
- (rect) => b`<div>
2426
- <strong>Bounding Box:</strong>
2427
- ${rect.WestBoundingCoordinate},
2428
- ${rect.SouthBoundingCoordinate},
2429
- ${rect.EastBoundingCoordinate},
2430
- ${rect.NorthBoundingCoordinate}
2431
- </div>`
2432
- )}
2433
- </div>
2434
- <div style="font-size: 0.95em; color: #666;">
2435
- This collection does not support spatial subsetting.
2436
- </div>
2437
- </div>
2438
- `;
2439
- };
2440
- _renderDataAccessModeSelection = new WeakSet();
2441
- renderDataAccessModeSelection_fn = function() {
2442
- if (!__privateGet(this, _collectionController).hasGranules) {
2443
- return A;
2444
- }
2445
- return b`
2446
- <div class="mode-selection">
2447
- <div class="mode-options">
2448
- <label
2449
- class="mode-option ${this.dataAccessMode === "original" ? "selected" : ""}"
2450
- >
2451
- <input
2452
- type="radio"
2453
- name="data-access-mode"
2454
- value="original"
2455
- .checked=${this.dataAccessMode === "original"}
2456
- @change=${() => this.dataAccessMode = "original"}
2457
- />
2458
- <div class="mode-content">
2459
- <div class="mode-title">Get Original Files</div>
2460
- <div class="mode-description">
2461
- Filter file links directly from the archive.
2462
- </div>
2463
- </div>
2464
- </label>
2465
-
2466
- <label
2467
- class="mode-option ${this.dataAccessMode === "subset" ? "selected" : ""}"
2468
- >
2469
- <input
2470
- type="radio"
2471
- name="data-access-mode"
2472
- value="subset"
2473
- .checked=${this.dataAccessMode === "subset"}
2474
- @change=${() => this.dataAccessMode = "subset"}
2475
- />
2476
- <div class="mode-content">
2477
- <div class="mode-title">Transform Data</div>
2478
- <div class="mode-description">
2479
- Transform the data to your specific needs.
2480
- </div>
2481
- </div>
2482
- </label>
2483
- </div>
2484
- </div>
2485
- `;
2486
- };
2487
- _getGiovanniValidationError = new WeakSet();
2488
- getGiovanniValidationError_fn = function() {
2489
- if (!this.selectedFormat.isGiovanniFormat) {
2490
- return null;
2491
- }
2492
- if (this.selectedVariables.length === 0) {
2493
- return "Please select a variable to subset.";
2494
- }
2495
- if (this.selectedVariables.length > 1) {
2496
- return "The selected format only supports subsetting one variable at a time.";
2497
- }
2498
- return null;
2499
- };
2500
- _getHarmonyRequestErrorMessage = new WeakSet();
2501
- getHarmonyRequestErrorMessage_fn = function(error) {
2502
- var _a;
2503
- if (error instanceof HttpException) {
2504
- const sanitizedMessage = (_a = error.message) == null ? void 0 : _a.replace(/^Error:\s*/i, "").trim();
2505
- if (sanitizedMessage == null ? void 0 : sanitizedMessage.toLowerCase().includes("no matching granules found")) {
2506
- return "No matching granules were found for your subset request. Please try expanding your search";
2507
- }
2508
- if (sanitizedMessage) {
2509
- return sanitizedMessage;
2510
- }
2511
- }
2512
- return "Unable to create your subset request. Please try again.";
2513
- };
2514
- _renderHarmonyRequestError = new WeakSet();
2515
- renderHarmonyRequestError_fn = function() {
2516
- if (!this.harmonyRequestError) {
2517
- return A;
2518
- }
2519
- const noGranulesMessage = "No matching granules were found for your subset request. Please try expanding your search";
2520
- if (this.harmonyRequestError === noGranulesMessage) {
2521
- return b`
2522
- No matching granules were found for your subset request. Please try
2523
- <a
2524
- href="#"
2525
- @click=${__privateGet(this, _handleExpandSearchClick)}
2526
- style="color: inherit; text-decoration: underline; font-weight: 600;"
2527
- >
2528
- expanding your search
2529
- </a>
2530
- `;
2531
- }
2532
- return this.harmonyRequestError;
2533
- };
2534
- _handleExpandSearchClick = new WeakMap();
2535
- TerraDataSubsetter.styles = [component_styles_default, data_subsetter_styles_default];
2536
- TerraDataSubsetter.dependencies = {
2537
- "terra-accordion": TerraAccordion,
2538
- "terra-date-picker": TerraDatePicker,
2539
- "terra-icon": TerraIcon,
2540
- "terra-input": TerraInput,
2541
- "terra-spatial-picker": TerraSpatialPicker,
2542
- "terra-login": TerraLogin,
2543
- "terra-loader": TerraLoader,
2544
- "terra-data-access": TerraDataAccess,
2545
- "terra-dialog": TerraDialog,
2546
- "terra-dropdown": TerraDropdown,
2547
- "terra-menu": TerraMenu,
2548
- "terra-menu-item": TerraMenuItem,
2549
- "terra-button": TerraButton,
2550
- "terra-alert": TerraAlert,
2551
- "terra-slider": TerraSlider
2552
- };
2553
- __decorateClass([
2554
- n({
2555
- reflect: true,
2556
- attribute: "collection-entry-id",
2557
- converter: undefinedStringConverter
2558
- })
2559
- ], TerraDataSubsetter.prototype, "collectionEntryId", 2);
2560
- __decorateClass([
2561
- n({
2562
- reflect: true,
2563
- attribute: "short-name",
2564
- converter: undefinedStringConverter
2565
- })
2566
- ], TerraDataSubsetter.prototype, "shortName", 2);
2567
- __decorateClass([
2568
- n({
2569
- reflect: true,
2570
- attribute: "version",
2571
- converter: undefinedStringConverter
2572
- })
2573
- ], TerraDataSubsetter.prototype, "version", 2);
2574
- __decorateClass([
2575
- n({
2576
- reflect: true,
2577
- type: Boolean,
2578
- attribute: "show-collection-search"
2579
- })
2580
- ], TerraDataSubsetter.prototype, "showCollectionSearch", 2);
2581
- __decorateClass([
2582
- n({ reflect: true, type: Boolean, attribute: "show-history-panel" })
2583
- ], TerraDataSubsetter.prototype, "showHistoryPanel", 2);
2584
- __decorateClass([
2585
- n({ reflect: true, attribute: "job-id" })
2586
- ], TerraDataSubsetter.prototype, "jobId", 2);
2587
- __decorateClass([
2588
- n({
2589
- attribute: "bearer-token",
2590
- converter: undefinedStringConverter
2591
- })
2592
- ], TerraDataSubsetter.prototype, "bearerToken", 2);
2593
- __decorateClass([
2594
- n()
2595
- ], TerraDataSubsetter.prototype, "features", 2);
2596
- __decorateClass([
2597
- n({ reflect: true })
2598
- ], TerraDataSubsetter.prototype, "dialog", 2);
2599
- __decorateClass([
2600
- n({ reflect: true, type: Boolean, attribute: "is-history-view" })
2601
- ], TerraDataSubsetter.prototype, "isHistoryView", 2);
2602
- __decorateClass([
2603
- r()
2604
- ], TerraDataSubsetter.prototype, "collectionWithServices", 2);
2605
- __decorateClass([
2606
- r()
2607
- ], TerraDataSubsetter.prototype, "selectedVariables", 2);
2608
- __decorateClass([
2609
- r()
2610
- ], TerraDataSubsetter.prototype, "selectedDimensionIndexes", 2);
2611
- __decorateClass([
2612
- r()
2613
- ], TerraDataSubsetter.prototype, "expandedVariableGroups", 2);
2614
- __decorateClass([
2615
- r()
2616
- ], TerraDataSubsetter.prototype, "variableFilterText", 2);
2617
- __decorateClass([
2618
- r()
2619
- ], TerraDataSubsetter.prototype, "touchedFields", 2);
2620
- __decorateClass([
2621
- r()
2622
- ], TerraDataSubsetter.prototype, "spatialSelection", 2);
2623
- __decorateClass([
2624
- r()
2625
- ], TerraDataSubsetter.prototype, "shapeGeoJson", 2);
2626
- __decorateClass([
2627
- r()
2628
- ], TerraDataSubsetter.prototype, "spatialLabel", 2);
2629
- __decorateClass([
2630
- r()
2631
- ], TerraDataSubsetter.prototype, "selectedDateRange", 2);
2632
- __decorateClass([
2633
- r()
2634
- ], TerraDataSubsetter.prototype, "selectedFormat", 2);
2635
- __decorateClass([
2636
- r()
2637
- ], TerraDataSubsetter.prototype, "cancelingGetData", 2);
2638
- __decorateClass([
2639
- r()
2640
- ], TerraDataSubsetter.prototype, "selectedTab", 2);
2641
- __decorateClass([
2642
- r()
2643
- ], TerraDataSubsetter.prototype, "refineParameters", 2);
2644
- __decorateClass([
2645
- r()
2646
- ], TerraDataSubsetter.prototype, "collectionSearchType", 2);
2647
- __decorateClass([
2648
- r()
2649
- ], TerraDataSubsetter.prototype, "collectionSearchQuery", 2);
2650
- __decorateClass([
2651
- r()
2652
- ], TerraDataSubsetter.prototype, "collectionSearchLoading", 2);
2653
- __decorateClass([
2654
- r()
2655
- ], TerraDataSubsetter.prototype, "collectionSearchResults", 2);
2656
- __decorateClass([
2657
- r()
2658
- ], TerraDataSubsetter.prototype, "collectionLoading", 2);
2659
- __decorateClass([
2660
- r()
2661
- ], TerraDataSubsetter.prototype, "collectionAccordionOpen", 2);
2662
- __decorateClass([
2663
- r()
2664
- ], TerraDataSubsetter.prototype, "dataAccessMode", 2);
2665
- __decorateClass([
2666
- r()
2667
- ], TerraDataSubsetter.prototype, "validationError", 2);
2668
- __decorateClass([
2669
- r()
2670
- ], TerraDataSubsetter.prototype, "harmonyRequestError", 2);
2671
- __decorateClass([
2672
- r()
2673
- ], TerraDataSubsetter.prototype, "granuleMinDate", 2);
2674
- __decorateClass([
2675
- r()
2676
- ], TerraDataSubsetter.prototype, "granuleMaxDate", 2);
2677
- __decorateClass([
2678
- r()
2679
- ], TerraDataSubsetter.prototype, "giovanniConfiguredVariables", 2);
2680
- __decorateClass([
2681
- e('[part~="spatial-picker"]')
2682
- ], TerraDataSubsetter.prototype, "spatialPicker", 2);
2683
- __decorateClass([
2684
- e("terra-dialog")
2685
- ], TerraDataSubsetter.prototype, "dialogElement", 2);
2686
- __decorateClass([
2687
- watch(["jobId"], { waitUntilFirstUpdate: true })
2688
- ], TerraDataSubsetter.prototype, "jobIdChanged", 1);
2689
- __decorateClass([
2690
- watch(["shortName", "version"])
2691
- ], TerraDataSubsetter.prototype, "shortNameAndVersionChanged", 1);
2692
- __decorateClass([
2693
- watch("collectionEntryId", { waitUntilFirstUpdate: true })
2694
- ], TerraDataSubsetter.prototype, "collectionEntryIdChanged", 1);
2695
- __decorateClass([
2696
- watch(["collectionWithServices"])
2697
- ], TerraDataSubsetter.prototype, "collectionChanged", 1);
2698
- __decorateClass([
2699
- watch(["granuleMinDate", "granuleMaxDate"])
2700
- ], TerraDataSubsetter.prototype, "granuleDatesChanged", 1);
2701
- __decorateClass([
2702
- watch("selectedFormat")
2703
- ], TerraDataSubsetter.prototype, "selectedFormatChanged", 1);
2704
- __decorateClass([
2705
- debounce(500)
2706
- ], TerraDataSubsetter.prototype, "handleCollectionSearch", 1);
2707
-
2708
- export {
2709
- TerraDataSubsetter
2710
- };