@nasa-terra/components 0.0.185 → 0.0.187

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1444) hide show
  1. package/cdn/apis/cmr.api.d.ts +57 -0
  2. package/cdn/apis/giovanni.api.d.ts +69 -0
  3. package/cdn/apis/harmony.api.d.ts +43 -1
  4. package/cdn/chunks/chunk.22AKT47W.js +158 -0
  5. package/cdn/chunks/chunk.26PJMK6F.js +19 -0
  6. package/cdn/chunks/chunk.2AFLJARP.js +19 -0
  7. package/cdn/chunks/chunk.2GK5ESOQ.js +33 -0
  8. package/cdn/chunks/chunk.2I5J63NZ.js +19 -0
  9. package/cdn/chunks/chunk.2RJFUFJW.js +610 -0
  10. package/cdn/chunks/chunk.2X7ECEXX.js +34 -0
  11. package/cdn/chunks/chunk.36G5VRI3.js +433 -0
  12. package/cdn/chunks/chunk.3JNJAOYG.js +29 -0
  13. package/cdn/chunks/chunk.3JSWB4KI.js +29 -0
  14. package/cdn/chunks/chunk.3QD75UYK.js +19 -0
  15. package/cdn/chunks/chunk.3ZXOZBXL.js +99 -0
  16. package/cdn/chunks/chunk.4AANKT2Q.js +34 -0
  17. package/cdn/chunks/chunk.4CNYUWRC.js +92 -0
  18. package/cdn/chunks/chunk.4ESVA2U2.js +33 -0
  19. package/cdn/chunks/chunk.4FUIIASW.js +19 -0
  20. package/cdn/chunks/chunk.4LDZ44IT.js +658 -0
  21. package/cdn/chunks/chunk.4MCZQQXQ.js +29 -0
  22. package/cdn/chunks/chunk.4R6XKFRJ.js +242 -0
  23. package/cdn/chunks/chunk.4TEPTOLY.js +29 -0
  24. package/cdn/chunks/chunk.4TRZD463.js +35 -0
  25. package/cdn/chunks/chunk.4U5MAADM.js +19 -0
  26. package/cdn/chunks/chunk.54YCMEK5.js +19 -0
  27. package/cdn/chunks/chunk.5A4JSTC2.js +86 -0
  28. package/cdn/chunks/chunk.5IPBXXQW.js +19 -0
  29. package/cdn/chunks/chunk.5PPGP4LG.js +653 -0
  30. package/cdn/chunks/chunk.5RNK56D6.js +104 -0
  31. package/cdn/chunks/chunk.5T2GTQTE.js +45 -0
  32. package/cdn/chunks/chunk.5WHV7BIM.js +294 -0
  33. package/cdn/chunks/chunk.5YFLB32J.js +538 -0
  34. package/cdn/chunks/chunk.5ZFSBJLQ.js +29 -0
  35. package/cdn/chunks/chunk.6AQSNHPO.js +493 -0
  36. package/cdn/chunks/chunk.6BEI5DD3.js +33 -0
  37. package/cdn/chunks/chunk.6EVPLK3S.js +19 -0
  38. package/cdn/chunks/chunk.6HWWEPDA.js +551 -0
  39. package/cdn/chunks/chunk.6T7RPWB7.js +19 -0
  40. package/cdn/chunks/chunk.73TY2VWM.js +19 -0
  41. package/cdn/chunks/chunk.75CD4UKC.js +134 -0
  42. package/cdn/chunks/chunk.7DGND55N.js +19 -0
  43. package/cdn/chunks/chunk.7JT6AQCP.js +19 -0
  44. package/cdn/chunks/chunk.7MLBWMOJ.js +36 -0
  45. package/cdn/chunks/chunk.7MPGNVYU.js +35 -0
  46. package/cdn/chunks/chunk.7PXFWZDJ.js +19 -0
  47. package/cdn/chunks/chunk.7RCVI6WJ.js +56075 -0
  48. package/cdn/chunks/chunk.7WV7HAWF.js +19 -0
  49. package/cdn/chunks/chunk.AGGCCPSH.js +19 -0
  50. package/cdn/chunks/chunk.AHX4FQI7.js +51 -0
  51. package/cdn/chunks/chunk.AMNA4TAA.js +2549 -0
  52. package/cdn/chunks/chunk.AOETFY2M.js +19 -0
  53. package/cdn/chunks/chunk.ARQZJDEH.js +19 -0
  54. package/cdn/chunks/chunk.AVVORU4X.js +71 -0
  55. package/cdn/chunks/chunk.AW3SAWPB.js +230 -0
  56. package/cdn/chunks/chunk.BFCWKK2C.js +29 -0
  57. package/cdn/chunks/chunk.BKJ6ERUE.js +357 -0
  58. package/cdn/chunks/chunk.BLZA2SIQ.js +93 -0
  59. package/cdn/chunks/chunk.BMXL4HT7.js +101 -0
  60. package/cdn/chunks/chunk.BOJGWMNS.js +29 -0
  61. package/cdn/chunks/chunk.BVOLRNGU.js +303 -0
  62. package/cdn/chunks/chunk.CB73AJLG.js +19 -0
  63. package/cdn/chunks/chunk.CEDRKHZX.js +151 -0
  64. package/cdn/chunks/chunk.CL4GIBSE.js +113 -0
  65. package/cdn/chunks/chunk.CVFVGKVM.js +19 -0
  66. package/cdn/chunks/chunk.CWBIEIJK.js +32 -0
  67. package/cdn/chunks/chunk.DGEJWFS7.js +1259 -0
  68. package/cdn/chunks/chunk.DIK3B6UV.js +19 -0
  69. package/cdn/chunks/chunk.DIL2NPFX.js +49 -0
  70. package/cdn/chunks/chunk.DIZ3M7IG.js +110 -0
  71. package/cdn/chunks/chunk.DJ4K476U.js +19 -0
  72. package/cdn/chunks/chunk.DNDC4SZO.js +19 -0
  73. package/cdn/chunks/chunk.DOOLLPEM.js +150 -0
  74. package/cdn/chunks/chunk.DOUWGQFH.js +205 -0
  75. package/cdn/chunks/chunk.DPDD2WEI.js +19 -0
  76. package/cdn/chunks/chunk.DSOS3HK7.js +1975 -0
  77. package/cdn/chunks/chunk.DXKUTB3C.js +532 -0
  78. package/cdn/chunks/chunk.DZINKXAT.js +29 -0
  79. package/cdn/chunks/chunk.EKPJRKBR.js +19 -0
  80. package/cdn/chunks/chunk.ETPMAULL.js +29 -0
  81. package/cdn/chunks/chunk.EVBV3WY4.js +32 -0
  82. package/cdn/chunks/chunk.EWGXTIX4.js +41 -0
  83. package/cdn/chunks/chunk.F3PALOOP.js +124 -0
  84. package/cdn/chunks/chunk.FAS3EEBJ.js +29 -0
  85. package/cdn/chunks/chunk.FBQK3I4M.js +251 -0
  86. package/cdn/chunks/chunk.FLET4TPZ.js +32 -0
  87. package/cdn/chunks/chunk.FOZE3G5H.js +35 -0
  88. package/cdn/chunks/chunk.FWQRQRE3.js +32 -0
  89. package/cdn/chunks/chunk.FZFVFTPN.js +19 -0
  90. package/cdn/chunks/chunk.GPH5N6EA.js +79 -0
  91. package/cdn/chunks/chunk.GRNVT6IB.js +904 -0
  92. package/cdn/chunks/chunk.GSTZ35MH.js +39 -0
  93. package/cdn/chunks/chunk.H3DQMK3H.js +231 -0
  94. package/cdn/chunks/chunk.H6XYL6LD.js +19 -0
  95. package/cdn/chunks/chunk.HAM7CMN5.js +113 -0
  96. package/cdn/chunks/chunk.HOQC7UVA.js +19 -0
  97. package/cdn/chunks/chunk.HV7H4LBB.js +19 -0
  98. package/cdn/chunks/chunk.I523I6ZG.js +188 -0
  99. package/cdn/chunks/chunk.I6JIT754.js +19 -0
  100. package/cdn/chunks/chunk.IBQPKW5P.js +32 -0
  101. package/cdn/chunks/chunk.IDXRXLIG.js +19 -0
  102. package/cdn/chunks/chunk.IEBDKV46.js +377 -0
  103. package/cdn/chunks/chunk.IEKCUGUX.js +19 -0
  104. package/cdn/chunks/chunk.IF6CIKBS.js +524 -0
  105. package/cdn/chunks/chunk.IP53G3RF.js +29 -0
  106. package/cdn/chunks/chunk.ISAROCA2.js +915 -0
  107. package/cdn/chunks/chunk.IUNH44LM.js +29 -0
  108. package/cdn/chunks/chunk.IXNIA3VB.js +29 -0
  109. package/cdn/chunks/chunk.JA2QGWIW.js +56 -0
  110. package/cdn/chunks/chunk.JDMHH6IO.js +259 -0
  111. package/cdn/chunks/chunk.JIIWMAUE.js +19 -0
  112. package/cdn/chunks/chunk.JIWMFJVP.js +32 -0
  113. package/cdn/chunks/chunk.JKHUQ5GY.js +155 -0
  114. package/cdn/chunks/chunk.JOTZGPFD.js +19 -0
  115. package/cdn/chunks/chunk.JV2PXJOA.js +29 -0
  116. package/cdn/chunks/chunk.K5VOQWFK.js +19 -0
  117. package/cdn/chunks/chunk.KBFYYUJ6.js +32 -0
  118. package/cdn/chunks/chunk.KGVKWL76.js +477 -0
  119. package/cdn/chunks/chunk.KNN4GZZO.js +32 -0
  120. package/cdn/chunks/chunk.KNUKVURG.js +196 -0
  121. package/cdn/chunks/chunk.KQZCVDQH.js +9741 -0
  122. package/cdn/chunks/chunk.KRIZXT7I.js +35 -0
  123. package/cdn/chunks/chunk.LCJRRSFM.js +1194 -0
  124. package/cdn/chunks/chunk.LMYKLZIQ.js +33 -0
  125. package/cdn/chunks/chunk.LWDN6D42.js +29 -0
  126. package/cdn/chunks/chunk.M2BLJNJL.js +19 -0
  127. package/cdn/chunks/chunk.M2DOYPMY.js +33 -0
  128. package/cdn/chunks/chunk.M4MV73BK.js +19 -0
  129. package/cdn/chunks/chunk.M64YYG5S.js +19 -0
  130. package/cdn/chunks/chunk.MQ7JCIXS.js +32 -0
  131. package/cdn/chunks/chunk.MRKMZBEK.js +2263 -0
  132. package/cdn/chunks/chunk.MTD42HQV.js +264 -0
  133. package/cdn/chunks/chunk.N266QSQR.js +443 -0
  134. package/cdn/chunks/chunk.N4NQP75B.js +32 -0
  135. package/cdn/chunks/chunk.N6VIMADT.js +189 -0
  136. package/cdn/chunks/chunk.NBTBBAOL.js +330 -0
  137. package/cdn/chunks/chunk.ND3745YQ.js +94 -0
  138. package/cdn/chunks/chunk.NIVSQ3SF.js +29 -0
  139. package/cdn/chunks/chunk.NLF3KNQ5.js +293 -0
  140. package/cdn/chunks/chunk.NLM5D34M.js +539 -0
  141. package/cdn/chunks/chunk.NO37HFQJ.js +37 -0
  142. package/cdn/chunks/chunk.NSZEZ75L.js +19 -0
  143. package/cdn/chunks/chunk.NVLRS3IA.js +904 -0
  144. package/cdn/chunks/chunk.O3HNLUC3.js +30 -0
  145. package/cdn/chunks/chunk.OBQ6KBVG.js +60 -0
  146. package/cdn/chunks/chunk.OCTYDGLC.js +168 -0
  147. package/cdn/chunks/chunk.OIXADKW2.js +186 -0
  148. package/cdn/chunks/chunk.OLJXKW5X.js +138 -0
  149. package/cdn/chunks/chunk.OMS5TRZR.js +29 -0
  150. package/cdn/chunks/chunk.ONHT57BX.js +136 -0
  151. package/cdn/chunks/chunk.OSJMGCZG.js +294 -0
  152. package/cdn/chunks/chunk.P34Y4ETY.js +84 -0
  153. package/cdn/chunks/chunk.PASXWEFM.js +36 -0
  154. package/cdn/chunks/chunk.PFYXGDRL.js +310 -0
  155. package/cdn/chunks/chunk.PJ5GTKSM.js +99 -0
  156. package/cdn/chunks/chunk.PZVQLCCE.js +19 -0
  157. package/cdn/chunks/chunk.QGCUO4QR.js +599 -0
  158. package/cdn/chunks/chunk.QGWK5PB4.js +63 -0
  159. package/cdn/chunks/chunk.QKOV3OVQ.js +19 -0
  160. package/cdn/chunks/chunk.QMO4Z4QU.js +19 -0
  161. package/cdn/chunks/chunk.QNLRBXNQ.js +60 -0
  162. package/cdn/chunks/chunk.QNVSITGV.js +19 -0
  163. package/cdn/chunks/chunk.QOOBHWQV.js +29 -0
  164. package/cdn/chunks/chunk.QS6LI65N.js +35 -0
  165. package/cdn/chunks/chunk.QSPMY3AQ.js +68 -0
  166. package/cdn/chunks/chunk.QVJPE7XD.js +19 -0
  167. package/cdn/chunks/chunk.R3UOPEYR.js +359 -0
  168. package/cdn/chunks/chunk.RGJJYU5I.js +32 -0
  169. package/cdn/chunks/chunk.RJ5TW75C.js +29 -0
  170. package/cdn/chunks/chunk.ROGKTUCA.js +82 -0
  171. package/cdn/chunks/chunk.RRUUHSSX.js +29 -0
  172. package/cdn/chunks/chunk.S7HWCBS4.js +35 -0
  173. package/cdn/chunks/chunk.SAPVRSGJ.js +19 -0
  174. package/cdn/chunks/chunk.SDPXNKVX.js +34 -0
  175. package/cdn/chunks/chunk.SGPHCDAA.js +123 -0
  176. package/cdn/chunks/chunk.SISTE6BF.js +170 -0
  177. package/cdn/chunks/chunk.SP3MVXEA.js +352 -0
  178. package/cdn/chunks/chunk.SPLYKQYF.js +19 -0
  179. package/cdn/chunks/chunk.SQ6V5DXM.js +19 -0
  180. package/cdn/chunks/chunk.SY2T7H3K.js +32 -0
  181. package/cdn/chunks/chunk.SZHINXEE.js +29 -0
  182. package/cdn/chunks/chunk.SZOYHAOV.js +29 -0
  183. package/cdn/chunks/chunk.T5FZRPK2.js +19 -0
  184. package/cdn/chunks/chunk.TDCWXDQK.js +19 -0
  185. package/cdn/chunks/chunk.TJT7VKHM.js +161 -0
  186. package/cdn/chunks/chunk.TOQAMLRU.js +276 -0
  187. package/cdn/chunks/chunk.U42VEZMH.js +132 -0
  188. package/cdn/chunks/chunk.U4QWGOTS.js +19 -0
  189. package/cdn/chunks/chunk.U7BMUH6D.js +224 -0
  190. package/cdn/chunks/chunk.UCNTZTDC.js +36 -0
  191. package/cdn/chunks/chunk.UKW4BU7Z.js +47 -0
  192. package/cdn/chunks/chunk.ULAP25G3.js +19 -0
  193. package/cdn/chunks/chunk.UME44J4L.js +662 -0
  194. package/cdn/chunks/chunk.UPZ77TIQ.js +83 -0
  195. package/cdn/chunks/chunk.V2QBQWJQ.js +128 -0
  196. package/cdn/chunks/chunk.V3MJPPXF.js +29 -0
  197. package/cdn/chunks/chunk.V5HDIWN4.js +19 -0
  198. package/cdn/chunks/chunk.VBRHXTN4.js +29 -0
  199. package/cdn/chunks/chunk.VJVJBEYQ.js +37 -0
  200. package/cdn/chunks/chunk.VVQS5VDJ.js +19 -0
  201. package/cdn/chunks/chunk.W6PKRHAU.js +19 -0
  202. package/cdn/chunks/chunk.WEUS3VPS.js +190 -0
  203. package/cdn/chunks/chunk.WJ3ZTI3S.js +19 -0
  204. package/cdn/chunks/chunk.WKNLSFIC.js +278 -0
  205. package/cdn/chunks/chunk.WNQ2KJKB.js +19 -0
  206. package/cdn/chunks/chunk.WOEOWJL3.js +19 -0
  207. package/cdn/chunks/chunk.WPE6GJOR.js +29 -0
  208. package/cdn/chunks/chunk.X6LPU3UJ.js +19 -0
  209. package/cdn/chunks/chunk.XBUSGQSQ.js +19 -0
  210. package/cdn/chunks/chunk.XJZ5WJGV.js +36 -0
  211. package/cdn/chunks/chunk.XKLHAMMB.js +29 -0
  212. package/cdn/chunks/chunk.XQ4OAKQQ.js +78 -0
  213. package/cdn/chunks/chunk.XWFCH5SX.js +29 -0
  214. package/cdn/chunks/chunk.XZDQOWQW.js +29 -0
  215. package/cdn/chunks/chunk.Y5PJFEBI.js +616 -0
  216. package/cdn/chunks/chunk.Y7DO5YV2.js +19 -0
  217. package/cdn/chunks/chunk.YAOCNBUP.js +32 -0
  218. package/cdn/chunks/chunk.YHTCAZOV.js +32 -0
  219. package/cdn/chunks/chunk.YLGO2ABC.js +62 -0
  220. package/cdn/chunks/chunk.YQXMPDBV.js +135 -0
  221. package/cdn/chunks/chunk.YY3ZUPZV.js +2954 -0
  222. package/cdn/chunks/chunk.Z6FHPIRA.js +19 -0
  223. package/cdn/chunks/chunk.ZAZAIV4G.js +234 -0
  224. package/cdn/chunks/chunk.ZB3JKUMI.js +74 -0
  225. package/cdn/chunks/chunk.ZDOJF4T4.js +29 -0
  226. package/cdn/chunks/chunk.ZE24JXB2.js +19 -0
  227. package/cdn/chunks/chunk.ZEATXGRS.js +19 -0
  228. package/cdn/chunks/chunk.ZS2NFAQK.js +68 -0
  229. package/cdn/chunks/chunk.ZV52WKIL.js +29 -0
  230. package/cdn/components/accordion/accordion.component.js +5 -5
  231. package/cdn/components/accordion/accordion.js +6 -6
  232. package/cdn/components/alert/alert.component.js +2 -2
  233. package/cdn/components/alert/alert.js +3 -3
  234. package/cdn/components/avatar/avatar.component.js +5 -5
  235. package/cdn/components/avatar/avatar.js +6 -6
  236. package/cdn/components/badge/badge.component.js +2 -2
  237. package/cdn/components/badge/badge.js +3 -3
  238. package/cdn/components/banner/banner.component.d.ts +45 -0
  239. package/cdn/components/banner/banner.component.js +17 -0
  240. package/cdn/components/banner/banner.d.ts +8 -0
  241. package/cdn/components/banner/banner.js +18 -0
  242. package/cdn/components/banner/banner.styles.d.ts +2 -0
  243. package/cdn/components/banner/banner.styles.js +9 -0
  244. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  245. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  246. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  247. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  248. package/cdn/components/browse-variables/browse-variables.component.d.ts +3 -1
  249. package/cdn/components/browse-variables/browse-variables.component.js +25 -21
  250. package/cdn/components/browse-variables/browse-variables.controller.d.ts +10 -10
  251. package/cdn/components/browse-variables/browse-variables.controller.js +8 -6
  252. package/cdn/components/browse-variables/browse-variables.js +26 -22
  253. package/cdn/components/button/button.component.js +5 -5
  254. package/cdn/components/button/button.js +6 -6
  255. package/cdn/components/button-group/button-group.component.js +2 -2
  256. package/cdn/components/button-group/button-group.js +3 -3
  257. package/cdn/components/caption/caption.component.js +2 -2
  258. package/cdn/components/caption/caption.js +3 -3
  259. package/cdn/components/card/card.component.js +2 -2
  260. package/cdn/components/card/card.js +3 -3
  261. package/cdn/components/checkbox/checkbox.component.js +5 -5
  262. package/cdn/components/checkbox/checkbox.js +6 -6
  263. package/cdn/components/chip/chip.component.js +2 -2
  264. package/cdn/components/chip/chip.js +3 -3
  265. package/cdn/components/combobox/combobox.component.js +4 -4
  266. package/cdn/components/combobox/combobox.js +5 -5
  267. package/cdn/components/data-access/data-access.component.js +42 -39
  268. package/cdn/components/data-access/data-access.js +43 -40
  269. package/cdn/components/data-grid/data-grid.component.js +3 -3
  270. package/cdn/components/data-grid/data-grid.js +4 -4
  271. package/cdn/components/data-rods/data-rods.component.js +53 -52
  272. package/cdn/components/data-rods/data-rods.js +54 -53
  273. package/cdn/components/data-subsetter/data-subsetter.component.d.ts +1 -1
  274. package/cdn/components/data-subsetter/data-subsetter.component.js +55 -53
  275. package/cdn/components/data-subsetter/data-subsetter.js +56 -54
  276. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  277. package/cdn/components/data-subsetter-history/data-subsetter-history.component.d.ts +18 -2
  278. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +57 -56
  279. package/cdn/components/data-subsetter-history/data-subsetter-history.js +58 -57
  280. package/cdn/components/date-picker/date-picker.component.d.ts +1 -0
  281. package/cdn/components/date-picker/date-picker.component.js +13 -13
  282. package/cdn/components/date-picker/date-picker.js +14 -14
  283. package/cdn/components/date-picker/date-picker.styles.js +1 -1
  284. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  285. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  286. package/cdn/components/dialog/dialog.component.js +6 -6
  287. package/cdn/components/dialog/dialog.js +7 -7
  288. package/cdn/components/divider/divider.component.js +2 -2
  289. package/cdn/components/divider/divider.js +3 -3
  290. package/cdn/components/dropdown/dropdown.component.js +4 -4
  291. package/cdn/components/dropdown/dropdown.js +5 -5
  292. package/cdn/components/earthdata-login/earthdata-login.component.js +15 -15
  293. package/cdn/components/earthdata-login/earthdata-login.js +16 -16
  294. package/cdn/components/file-upload/file-upload.component.js +2 -2
  295. package/cdn/components/file-upload/file-upload.js +3 -3
  296. package/cdn/components/harmony-history/harmony-history.component.d.ts +7 -1
  297. package/cdn/components/harmony-history/harmony-history.component.js +19 -16
  298. package/cdn/components/harmony-history/harmony-history.js +20 -17
  299. package/cdn/components/icon/icon.component.js +4 -4
  300. package/cdn/components/icon/icon.js +5 -5
  301. package/cdn/components/icon/library.js +2 -2
  302. package/cdn/components/input/input.component.js +5 -5
  303. package/cdn/components/input/input.js +6 -6
  304. package/cdn/components/loader/loader.component.js +2 -2
  305. package/cdn/components/loader/loader.js +3 -3
  306. package/cdn/components/login/login.component.js +13 -13
  307. package/cdn/components/login/login.js +14 -14
  308. package/cdn/components/map/map.component.d.ts +35 -5
  309. package/cdn/components/map/map.component.js +11 -7
  310. package/cdn/components/map/map.js +12 -8
  311. package/cdn/components/map/map.service.d.ts +1 -0
  312. package/cdn/components/map/map.service.js +2 -4
  313. package/cdn/components/menu/menu.component.js +2 -2
  314. package/cdn/components/menu/menu.js +3 -3
  315. package/cdn/components/menu-item/menu-item.component.js +7 -7
  316. package/cdn/components/menu-item/menu-item.js +8 -8
  317. package/cdn/components/option/option.component.d.ts +1 -2
  318. package/cdn/components/option/option.component.js +5 -5
  319. package/cdn/components/option/option.js +6 -6
  320. package/cdn/components/pagination/pagination.component.js +5 -5
  321. package/cdn/components/pagination/pagination.js +6 -6
  322. package/cdn/components/plot/plot.component.js +2 -2
  323. package/cdn/components/plot/plot.js +3 -3
  324. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  325. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  326. package/cdn/components/plot-toolbar/plot-toolbar.component.d.ts +3 -1
  327. package/cdn/components/plot-toolbar/plot-toolbar.component.js +33 -22
  328. package/cdn/components/plot-toolbar/plot-toolbar.controller.d.ts +1 -1
  329. package/cdn/components/plot-toolbar/plot-toolbar.controller.js +6 -3
  330. package/cdn/components/plot-toolbar/plot-toolbar.js +34 -23
  331. package/cdn/components/popup/popup.component.js +2 -2
  332. package/cdn/components/popup/popup.js +3 -3
  333. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  334. package/cdn/components/progress-bar/progress-bar.js +3 -3
  335. package/cdn/components/radio/radio.component.js +2 -2
  336. package/cdn/components/radio/radio.js +3 -3
  337. package/cdn/components/radio-group/radio-group.component.js +2 -2
  338. package/cdn/components/radio-group/radio-group.js +3 -3
  339. package/cdn/components/scroll-hint/scroll-hint.component.js +5 -5
  340. package/cdn/components/scroll-hint/scroll-hint.js +6 -6
  341. package/cdn/components/select/select.component.js +7 -7
  342. package/cdn/components/select/select.js +8 -8
  343. package/cdn/components/site-header/site-header.component.js +5 -5
  344. package/cdn/components/site-header/site-header.js +5 -5
  345. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  346. package/cdn/components/site-navigation/site-navigation.js +2 -2
  347. package/cdn/components/skeleton/skeleton.component.js +2 -2
  348. package/cdn/components/skeleton/skeleton.js +3 -3
  349. package/cdn/components/slider/slider.component.js +2 -2
  350. package/cdn/components/slider/slider.js +3 -3
  351. package/cdn/components/spatial-picker/spatial-picker.component.d.ts +4 -0
  352. package/cdn/components/spatial-picker/spatial-picker.component.js +23 -19
  353. package/cdn/components/spatial-picker/spatial-picker.js +24 -20
  354. package/cdn/components/spatial-picker/spatial-picker.service.js +1 -1
  355. package/cdn/components/spatial-picker/spatial-picker.styles.js +1 -1
  356. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  357. package/cdn/components/status-indicator/status-indicator.js +3 -3
  358. package/cdn/components/stepper/stepper.component.js +2 -2
  359. package/cdn/components/stepper/stepper.js +3 -3
  360. package/cdn/components/stepper-step/stepper-step.component.js +5 -5
  361. package/cdn/components/stepper-step/stepper-step.js +6 -6
  362. package/cdn/components/tab/tab.component.js +5 -5
  363. package/cdn/components/tab/tab.js +6 -6
  364. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  365. package/cdn/components/tab-panel/tab-panel.js +3 -3
  366. package/cdn/components/tabs/tabs.component.js +5 -5
  367. package/cdn/components/tabs/tabs.js +6 -6
  368. package/cdn/components/tag/tag.component.js +5 -5
  369. package/cdn/components/tag/tag.js +6 -6
  370. package/cdn/components/textarea/textarea.component.js +2 -2
  371. package/cdn/components/textarea/textarea.js +3 -3
  372. package/cdn/components/time-average-map/time-average-map-cache.service.js +3 -2
  373. package/cdn/components/time-average-map/time-average-map.component.d.ts +2 -1
  374. package/cdn/components/time-average-map/time-average-map.component.js +45 -37
  375. package/cdn/components/time-average-map/time-average-map.controller.js +17 -12
  376. package/cdn/components/time-average-map/time-average-map.js +46 -38
  377. package/cdn/components/time-series/time-series-cache.service.js +3 -2
  378. package/cdn/components/time-series/time-series.component.d.ts +1 -0
  379. package/cdn/components/time-series/time-series.component.js +45 -37
  380. package/cdn/components/time-series/time-series.controller.js +17 -12
  381. package/cdn/components/time-series/time-series.js +46 -38
  382. package/cdn/components/toast/toast.component.js +3 -3
  383. package/cdn/components/toast/toast.js +4 -4
  384. package/cdn/components/toggle/toggle.component.js +2 -2
  385. package/cdn/components/toggle/toggle.js +3 -3
  386. package/cdn/components/tooltip/tooltip.component.js +3 -3
  387. package/cdn/components/tooltip/tooltip.js +4 -4
  388. package/cdn/components/variable-combobox/variable-combobox.component.js +9 -9
  389. package/cdn/components/variable-combobox/variable-combobox.controller.js +1 -1
  390. package/cdn/components/variable-combobox/variable-combobox.js +10 -10
  391. package/cdn/components/variable-keyword-search/variable-keyword-search.component.d.ts +3 -1
  392. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +17 -15
  393. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.d.ts +7 -5
  394. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.js +8 -8
  395. package/cdn/components/variable-keyword-search/variable-keyword-search.js +18 -16
  396. package/cdn/controllers/harmony-request.controller.d.ts +2 -2
  397. package/cdn/custom-elements.json +549 -204
  398. package/cdn/events/terra-harmony-job-select.d.ts +1 -1
  399. package/cdn/events/terra-harmony-job-status-update.d.ts +1 -1
  400. package/cdn/events/terra-subset-job-complete.d.ts +1 -1
  401. package/cdn/queries/giovanni.queries.d.ts +5 -0
  402. package/cdn/queries/harmony.queries.d.ts +1 -1
  403. package/cdn/react/accordion/index.js +6 -6
  404. package/cdn/react/alert/index.js +3 -3
  405. package/cdn/react/avatar/index.js +6 -6
  406. package/cdn/react/badge/index.js +3 -3
  407. package/cdn/react/banner/index.d.ts +37 -0
  408. package/cdn/react/banner/index.js +18 -0
  409. package/cdn/react/breadcrumb/index.js +3 -3
  410. package/cdn/react/breadcrumbs/index.js +3 -3
  411. package/cdn/react/browse-variables/index.js +26 -22
  412. package/cdn/react/button/index.js +6 -6
  413. package/cdn/react/button-group/index.js +3 -3
  414. package/cdn/react/caption/index.js +3 -3
  415. package/cdn/react/card/index.js +3 -3
  416. package/cdn/react/checkbox/index.js +6 -6
  417. package/cdn/react/chip/index.js +3 -3
  418. package/cdn/react/combobox/index.js +5 -5
  419. package/cdn/react/data-access/index.js +43 -40
  420. package/cdn/react/data-grid/index.js +4 -4
  421. package/cdn/react/data-rods/index.js +54 -53
  422. package/cdn/react/data-subsetter/index.js +56 -54
  423. package/cdn/react/data-subsetter-history/index.js +58 -57
  424. package/cdn/react/date-picker/index.js +14 -14
  425. package/cdn/react/date-range-slider/index.js +3 -3
  426. package/cdn/react/dialog/index.js +7 -7
  427. package/cdn/react/divider/index.js +3 -3
  428. package/cdn/react/dropdown/index.js +5 -5
  429. package/cdn/react/earthdata-login/index.js +16 -16
  430. package/cdn/react/file-upload/index.js +3 -3
  431. package/cdn/react/harmony-history/index.js +20 -17
  432. package/cdn/react/icon/index.js +5 -5
  433. package/cdn/react/index.d.ts +2 -1
  434. package/cdn/react/index.js +233 -227
  435. package/cdn/react/input/index.js +6 -6
  436. package/cdn/react/loader/index.js +3 -3
  437. package/cdn/react/login/index.js +14 -14
  438. package/cdn/react/map/index.js +12 -8
  439. package/cdn/react/menu/index.js +3 -3
  440. package/cdn/react/menu-item/index.js +8 -8
  441. package/cdn/react/option/index.js +6 -6
  442. package/cdn/react/pagination/index.js +6 -6
  443. package/cdn/react/plot/index.js +3 -3
  444. package/cdn/react/plot-toolbar/index.js +34 -23
  445. package/cdn/react/popup/index.js +3 -3
  446. package/cdn/react/progress-bar/index.js +3 -3
  447. package/cdn/react/radio/index.js +3 -3
  448. package/cdn/react/radio-group/index.js +3 -3
  449. package/cdn/react/scroll-hint/index.js +6 -6
  450. package/cdn/react/select/index.js +8 -8
  451. package/cdn/react/site-header/index.js +6 -6
  452. package/cdn/react/site-navigation/index.js +3 -3
  453. package/cdn/react/skeleton/index.js +3 -3
  454. package/cdn/react/slider/index.js +3 -3
  455. package/cdn/react/spatial-picker/index.js +24 -20
  456. package/cdn/react/status-indicator/index.js +3 -3
  457. package/cdn/react/stepper/index.js +3 -3
  458. package/cdn/react/stepper-step/index.js +6 -6
  459. package/cdn/react/tab/index.js +6 -6
  460. package/cdn/react/tab-panel/index.js +3 -3
  461. package/cdn/react/tabs/index.js +6 -6
  462. package/cdn/react/tag/index.js +6 -6
  463. package/cdn/react/textarea/index.js +3 -3
  464. package/cdn/react/time-average-map/index.js +46 -38
  465. package/cdn/react/time-series/index.js +46 -38
  466. package/cdn/react/toast/index.js +4 -4
  467. package/cdn/react/toggle/index.js +3 -3
  468. package/cdn/react/tooltip/index.js +4 -4
  469. package/cdn/react/variable-combobox/index.js +10 -10
  470. package/cdn/react/variable-keyword-search/index.js +18 -16
  471. package/cdn/terra-ui-components.d.ts +1 -0
  472. package/cdn/terra-ui-components.js +218 -212
  473. package/cdn/themes/horizon.css +2 -0
  474. package/cdn/themes/horizon.styles.js +2 -0
  475. package/cdn/types/vue/index.d.ts +100 -45
  476. package/cdn/utilities/granule.d.ts +9 -0
  477. package/cdn/utilities/granule.js +76 -0
  478. package/cdn/utilities/harmony.d.ts +2 -2
  479. package/cdn/utilities/harmony.js +1 -1
  480. package/cdn/utilities/icon-library.js +2 -2
  481. package/cdn/utilities/variable-task.d.ts +3 -0
  482. package/cdn/utilities/variable-task.js +17 -0
  483. package/cdn/utilities/variable.d.ts +14 -0
  484. package/cdn/utilities/variable.js +9 -0
  485. package/cdn/vscode.html-custom-data.json +85 -44
  486. package/cdn/web-types.json +125 -11
  487. package/dist/apis/cmr.api.d.ts +57 -0
  488. package/dist/apis/giovanni.api.d.ts +69 -0
  489. package/dist/apis/harmony.api.d.ts +43 -1
  490. package/dist/chunks/chunk.22CIXTYL.js +1 -0
  491. package/dist/chunks/chunk.2C5XDN7D.js +1 -0
  492. package/dist/chunks/chunk.2CMQSGWA.js +1 -0
  493. package/dist/chunks/chunk.2P56KD6V.js +30 -0
  494. package/dist/chunks/chunk.32PSE4ED.js +1 -0
  495. package/dist/chunks/chunk.32Q3ZOCQ.js +23 -0
  496. package/dist/chunks/chunk.3EBU6CAW.js +1 -0
  497. package/dist/chunks/chunk.3H2LQJN6.js +1 -0
  498. package/dist/chunks/chunk.3HLTQ7HX.js +1 -0
  499. package/dist/chunks/chunk.3MMWHU5U.js +1 -0
  500. package/dist/chunks/chunk.3QJKE2MF.js +1 -0
  501. package/dist/chunks/chunk.3UXNU45N.js +760 -0
  502. package/dist/chunks/chunk.3WP3ALIU.js +37 -0
  503. package/dist/chunks/chunk.43F6G3ZK.js +12 -0
  504. package/dist/chunks/chunk.4H5N5OG3.js +1 -0
  505. package/dist/chunks/chunk.4RRKAZNG.js +20 -0
  506. package/dist/chunks/chunk.4SC3O3YH.js +38 -0
  507. package/dist/chunks/chunk.4V7RXLNV.js +1 -0
  508. package/dist/chunks/chunk.4WKXDKAW.js +1 -0
  509. package/dist/chunks/chunk.562KL2FJ.js +1 -0
  510. package/dist/chunks/chunk.5HPD5UWA.js +1 -0
  511. package/dist/chunks/chunk.5ILIV3NQ.js +1 -0
  512. package/dist/chunks/chunk.5RTEYDDC.js +157 -0
  513. package/dist/chunks/chunk.5U2M6PEE.js +43 -0
  514. package/dist/chunks/chunk.5ZRIYIRI.js +16 -0
  515. package/dist/chunks/chunk.6EB2RF5I.js +142 -0
  516. package/dist/chunks/chunk.6F7NMZAW.js +62 -0
  517. package/dist/chunks/chunk.6GMWGDEY.js +1 -0
  518. package/dist/chunks/chunk.6HTWAYCH.js +1 -0
  519. package/dist/chunks/chunk.6M6G2OIF.js +1 -0
  520. package/dist/chunks/chunk.6O3FJP5Q.js +1 -0
  521. package/dist/chunks/chunk.6OIWN3F2.js +17 -0
  522. package/dist/chunks/chunk.6W62YNPD.js +1 -0
  523. package/dist/chunks/chunk.76GGCXNA.js +1 -0
  524. package/dist/chunks/chunk.7APHX3ZH.js +1 -0
  525. package/dist/chunks/chunk.7BGQZCUL.js +1 -0
  526. package/dist/chunks/chunk.7BPSSX55.js +1 -0
  527. package/dist/chunks/chunk.7FAIMGF2.js +67 -0
  528. package/dist/chunks/chunk.7JQT5SBQ.js +1 -0
  529. package/dist/chunks/chunk.7UOW7T23.js +43 -0
  530. package/dist/chunks/chunk.7VXAWOX6.js +1 -0
  531. package/dist/chunks/chunk.7W23BUDC.js +1 -0
  532. package/dist/chunks/chunk.A5O23Z5W.js +1 -0
  533. package/dist/chunks/chunk.AE6ATLH4.js +1 -0
  534. package/dist/chunks/chunk.AGJNJSIX.js +84 -0
  535. package/dist/chunks/chunk.AGNTPCJT.js +8 -0
  536. package/dist/chunks/chunk.AHJQP7Q7.js +1 -0
  537. package/dist/chunks/chunk.AIV2TNQA.js +1 -0
  538. package/dist/chunks/chunk.AK3TMJA4.js +1 -0
  539. package/dist/chunks/chunk.AN42W3OJ.js +1 -0
  540. package/dist/chunks/chunk.AQD2424J.js +299 -0
  541. package/dist/chunks/chunk.AUCEIALT.js +51 -0
  542. package/dist/chunks/chunk.BBNJBO5W.js +1 -0
  543. package/dist/chunks/chunk.BF5VMLO3.js +1 -0
  544. package/dist/chunks/chunk.BILLSUHJ.js +1 -0
  545. package/dist/chunks/chunk.BM6R6HEQ.js +1 -0
  546. package/dist/chunks/chunk.BNPSWS2D.js +1 -0
  547. package/dist/chunks/chunk.BQRNRGEV.js +19 -0
  548. package/dist/chunks/chunk.BY4THMCU.js +48 -0
  549. package/dist/chunks/chunk.C7XTVBV4.js +24 -0
  550. package/dist/chunks/chunk.CAP5VI3I.js +26 -0
  551. package/dist/chunks/chunk.CFVWTEFQ.js +1 -0
  552. package/dist/chunks/chunk.CGEXKBKY.js +1 -0
  553. package/dist/chunks/chunk.CHU5HWVC.js +1 -0
  554. package/dist/chunks/chunk.CI5ZXVL3.js +1 -0
  555. package/dist/chunks/chunk.CSYGOUUT.js +1 -0
  556. package/dist/chunks/chunk.CUINTACG.js +1 -0
  557. package/dist/chunks/chunk.CWNAXULL.js +1 -0
  558. package/dist/chunks/chunk.DC5UY4NW.js +127 -0
  559. package/dist/chunks/chunk.DVQKSCHH.js +1 -0
  560. package/dist/chunks/chunk.DWQOSYH7.js +26 -0
  561. package/dist/chunks/chunk.DXCH4OKP.js +1 -0
  562. package/dist/chunks/chunk.DXVAWNEU.js +1 -0
  563. package/dist/chunks/chunk.DYVJMMCX.js +1 -0
  564. package/dist/chunks/chunk.E3MPRUNC.js +1 -0
  565. package/dist/chunks/chunk.EBLTOKUD.js +5 -0
  566. package/dist/chunks/chunk.ECUSDQOM.js +1157 -0
  567. package/dist/chunks/chunk.EEWHJT32.js +636 -0
  568. package/dist/chunks/chunk.EL5HO6Y2.js +1 -0
  569. package/dist/chunks/chunk.EQTA7MZT.js +1 -0
  570. package/dist/chunks/chunk.FSTVJG4P.js +1 -0
  571. package/dist/chunks/chunk.FT4E4NSI.js +1 -0
  572. package/dist/chunks/chunk.FURB3OUK.js +2 -0
  573. package/dist/chunks/chunk.GE7UDDDW.js +1 -0
  574. package/dist/chunks/chunk.GEWIYRNX.js +1 -0
  575. package/dist/chunks/chunk.GKOBMN5D.js +1 -0
  576. package/dist/chunks/chunk.H5F2YRBY.js +1 -0
  577. package/dist/chunks/chunk.HJ26XC3F.js +47 -0
  578. package/dist/chunks/chunk.HJYFD5WB.js +1 -0
  579. package/dist/chunks/chunk.HSWVTMJI.js +1 -0
  580. package/dist/chunks/chunk.I25C5FOV.js +1 -0
  581. package/dist/chunks/chunk.IAGDCBEQ.js +33 -0
  582. package/dist/chunks/chunk.IIXGGLEA.js +30 -0
  583. package/dist/chunks/chunk.IOORP4RS.js +1 -0
  584. package/dist/chunks/chunk.ISMI3XBI.js +1 -0
  585. package/dist/chunks/chunk.IT5QPTVP.js +1 -0
  586. package/dist/chunks/chunk.JBOD6V2U.js +1 -0
  587. package/dist/chunks/chunk.JHHSWIB7.js +1 -0
  588. package/dist/chunks/chunk.JJINVRGW.js +1 -0
  589. package/dist/chunks/chunk.JLNEYZG3.js +1 -0
  590. package/dist/chunks/chunk.JLYBSNCB.js +1 -0
  591. package/dist/chunks/chunk.JPY3XYNM.js +1 -0
  592. package/dist/chunks/chunk.K45JY6QD.js +1 -0
  593. package/dist/chunks/chunk.K63TORTJ.js +1 -0
  594. package/dist/chunks/chunk.K7N3RCYU.js +1 -0
  595. package/dist/chunks/chunk.KBNLCP3J.js +1 -0
  596. package/dist/chunks/chunk.KFVTQUDR.js +569 -0
  597. package/dist/chunks/chunk.KHR3QIOE.js +1 -0
  598. package/dist/chunks/chunk.KJLGXJ27.js +55 -0
  599. package/dist/chunks/chunk.KLYKRIPC.js +1 -0
  600. package/dist/chunks/chunk.KRY24B2Z.js +1 -0
  601. package/dist/chunks/chunk.KUKFHCLU.js +1 -0
  602. package/dist/chunks/chunk.L4WMFOWF.js +133 -0
  603. package/dist/chunks/chunk.LDW2RVIO.js +25 -0
  604. package/dist/chunks/chunk.LENQWYDL.js +1 -0
  605. package/dist/chunks/chunk.LJECEJCF.js +100 -0
  606. package/dist/chunks/chunk.LLYICQ3I.js +1 -0
  607. package/dist/chunks/chunk.LN7UMSEM.js +1 -0
  608. package/dist/chunks/chunk.LQVS46H3.js +1 -0
  609. package/dist/chunks/chunk.M5U2X6R6.js +1 -0
  610. package/dist/chunks/chunk.M63QODDV.js +11 -0
  611. package/dist/chunks/chunk.M6UJ3FOI.js +1 -0
  612. package/dist/chunks/chunk.MCE6B5ZW.js +41 -0
  613. package/dist/chunks/chunk.MESCQ4C7.js +1 -0
  614. package/dist/chunks/chunk.MGDKIKCH.js +1 -0
  615. package/dist/chunks/chunk.MJJLSP6W.js +1 -0
  616. package/dist/chunks/chunk.MPCCWVA7.js +27 -0
  617. package/dist/chunks/chunk.MRK3HXRP.js +74 -0
  618. package/dist/chunks/chunk.N4GC5N32.js +1 -0
  619. package/dist/chunks/chunk.N5RBMU2W.js +99 -0
  620. package/dist/chunks/chunk.N7EKKCYK.js +1 -0
  621. package/dist/chunks/chunk.NCFOXK6X.js +6 -0
  622. package/dist/chunks/chunk.ND3ZOF76.js +1 -0
  623. package/dist/chunks/chunk.NHHZFKJK.js +1 -0
  624. package/dist/chunks/chunk.NLSDPC7C.js +1 -0
  625. package/dist/chunks/chunk.NV5TAHWL.js +22 -0
  626. package/dist/chunks/chunk.O5KBHBML.js +75 -0
  627. package/dist/chunks/chunk.OCUWS6PH.js +11 -0
  628. package/dist/chunks/chunk.OFYUUKSD.js +115 -0
  629. package/dist/chunks/chunk.OH5I5TIC.js +1 -0
  630. package/dist/chunks/chunk.P3W6GEDD.js +1 -0
  631. package/dist/chunks/chunk.P46NR7KP.js +1 -0
  632. package/dist/chunks/chunk.P5SHBTCA.js +1 -0
  633. package/dist/chunks/chunk.P64XGTXA.js +1 -0
  634. package/dist/chunks/chunk.PIW5B5RH.js +1 -0
  635. package/dist/chunks/chunk.PLOCLQY6.js +122 -0
  636. package/dist/chunks/chunk.PQNNBX3K.js +1 -0
  637. package/dist/chunks/chunk.Q5BWORMC.js +14 -0
  638. package/dist/chunks/chunk.Q5JF6TSW.js +4 -0
  639. package/dist/chunks/chunk.QZZOJWMV.js +1 -0
  640. package/dist/chunks/chunk.RDWSNY7N.js +1 -0
  641. package/dist/chunks/chunk.RK65WAF3.js +1 -0
  642. package/dist/chunks/chunk.ROKQWNRH.js +35 -0
  643. package/dist/chunks/chunk.RVWGOPKC.js +12 -0
  644. package/dist/chunks/chunk.S3GIHJIB.js +1 -0
  645. package/dist/chunks/chunk.S4PACNTU.js +1 -0
  646. package/dist/chunks/chunk.SFDXJ74H.js +1 -0
  647. package/dist/chunks/chunk.SG436XSY.js +8 -0
  648. package/dist/chunks/chunk.SISNEJRL.js +1 -0
  649. package/dist/chunks/chunk.SPLNIK3Q.js +80 -0
  650. package/dist/chunks/chunk.SPZQNS4F.js +55 -0
  651. package/dist/chunks/chunk.SW54SUCY.js +1 -0
  652. package/dist/chunks/chunk.T4C6ZHT5.js +1 -0
  653. package/dist/chunks/chunk.TAEUAPKY.js +1 -0
  654. package/dist/chunks/chunk.TE3BRZMM.js +1 -0
  655. package/dist/chunks/chunk.TED4UBE5.js +39 -0
  656. package/dist/chunks/chunk.TGGBDRNU.js +65 -0
  657. package/dist/chunks/chunk.TIRHWRND.js +1 -0
  658. package/dist/chunks/chunk.TIZX7XYL.js +55 -0
  659. package/dist/chunks/chunk.TLUNI5QX.js +1 -0
  660. package/dist/chunks/chunk.TQISK2J3.js +1 -0
  661. package/dist/chunks/chunk.TTU2LE4P.js +1 -0
  662. package/dist/chunks/chunk.UAJ4KR23.js +5 -0
  663. package/dist/chunks/chunk.UFHWNQDN.js +1 -0
  664. package/dist/chunks/chunk.UHM5JVWJ.js +1 -0
  665. package/dist/chunks/chunk.UHOWEE2M.js +64 -0
  666. package/dist/chunks/chunk.UQO7OZ5C.js +9 -0
  667. package/dist/chunks/chunk.URX2EI2V.js +1 -0
  668. package/dist/chunks/chunk.UTOYOGZQ.js +121 -0
  669. package/dist/chunks/chunk.UY74TP7X.js +1 -0
  670. package/dist/chunks/chunk.V37Y676O.js +1 -0
  671. package/dist/chunks/chunk.V42W5H4F.js +280 -0
  672. package/dist/chunks/chunk.V5D2OEV6.js +1 -0
  673. package/dist/chunks/chunk.V5ZQMEUF.js +1 -0
  674. package/dist/chunks/chunk.VH7FO7OJ.js +1 -0
  675. package/dist/chunks/chunk.VIBFLVBI.js +1 -0
  676. package/dist/chunks/chunk.VOCS5Z6H.js +1 -0
  677. package/dist/chunks/chunk.VVQD2RI3.js +145 -0
  678. package/dist/chunks/chunk.VXN5XN4J.js +1 -0
  679. package/dist/chunks/chunk.VYBWO7SD.js +1 -0
  680. package/dist/chunks/chunk.W46EVFAU.js +154 -0
  681. package/dist/chunks/chunk.W5BTJ326.js +1 -0
  682. package/dist/chunks/chunk.WTWOUQNE.js +1 -0
  683. package/dist/chunks/chunk.WUOLVIQC.js +1 -0
  684. package/dist/chunks/chunk.WXOYYBCN.js +1 -0
  685. package/dist/chunks/chunk.WYGP72UK.js +1 -0
  686. package/dist/chunks/chunk.XAH43LI3.js +9 -0
  687. package/dist/chunks/chunk.XAYB3UXJ.js +1 -0
  688. package/dist/chunks/chunk.XDRWOAKY.js +1 -0
  689. package/dist/chunks/chunk.XHSTWWRN.js +1 -0
  690. package/dist/chunks/chunk.XK2LEII7.js +1 -0
  691. package/dist/chunks/chunk.XLBND75X.js +1 -0
  692. package/dist/chunks/chunk.XMUYG2AQ.js +1 -0
  693. package/dist/chunks/chunk.XPVSZK5P.js +1 -0
  694. package/dist/chunks/chunk.XQERKT6Y.js +112 -0
  695. package/dist/chunks/chunk.YEFCZ7WI.js +300 -0
  696. package/dist/chunks/chunk.YF32IUU4.js +1 -0
  697. package/dist/chunks/chunk.YJTTJCFI.js +1 -0
  698. package/dist/chunks/chunk.YKBVW3LG.js +1 -0
  699. package/dist/chunks/chunk.YNFXAAXD.js +1 -0
  700. package/dist/chunks/chunk.YNZYPSXI.js +1 -0
  701. package/dist/chunks/chunk.YOZCHGLE.js +20 -0
  702. package/dist/chunks/chunk.Z44NYM3M.js +1 -0
  703. package/dist/chunks/chunk.ZAJSYEOE.js +1 -0
  704. package/dist/chunks/chunk.ZM7KP737.js +1 -0
  705. package/dist/chunks/chunk.ZNNQHUJM.js +1 -0
  706. package/dist/chunks/chunk.ZPCJ3TPE.js +35 -0
  707. package/dist/chunks/chunk.ZRIJ53YT.js +1 -0
  708. package/dist/chunks/chunk.ZX2ZXGUL.js +1 -0
  709. package/dist/chunks/chunk.ZZXPXWIF.js +1 -0
  710. package/dist/components/accordion/accordion.component.js +1 -1
  711. package/dist/components/accordion/accordion.js +1 -1
  712. package/dist/components/alert/alert.component.js +1 -1
  713. package/dist/components/alert/alert.js +1 -1
  714. package/dist/components/avatar/avatar.component.js +1 -1
  715. package/dist/components/avatar/avatar.js +1 -1
  716. package/dist/components/badge/badge.component.js +1 -1
  717. package/dist/components/badge/badge.js +1 -1
  718. package/dist/components/banner/banner.component.d.ts +45 -0
  719. package/dist/components/banner/banner.component.js +1 -0
  720. package/dist/components/banner/banner.d.ts +8 -0
  721. package/dist/components/banner/banner.js +1 -0
  722. package/dist/components/banner/banner.styles.d.ts +2 -0
  723. package/dist/components/banner/banner.styles.js +1 -0
  724. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  725. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  726. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  727. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  728. package/dist/components/browse-variables/browse-variables.component.d.ts +3 -1
  729. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  730. package/dist/components/browse-variables/browse-variables.controller.d.ts +10 -10
  731. package/dist/components/browse-variables/browse-variables.controller.js +1 -1
  732. package/dist/components/browse-variables/browse-variables.js +1 -1
  733. package/dist/components/button/button.component.js +1 -1
  734. package/dist/components/button/button.js +1 -1
  735. package/dist/components/button-group/button-group.component.js +1 -1
  736. package/dist/components/button-group/button-group.js +1 -1
  737. package/dist/components/caption/caption.component.js +1 -1
  738. package/dist/components/caption/caption.js +1 -1
  739. package/dist/components/card/card.component.js +1 -1
  740. package/dist/components/card/card.js +1 -1
  741. package/dist/components/checkbox/checkbox.component.js +1 -1
  742. package/dist/components/checkbox/checkbox.js +1 -1
  743. package/dist/components/chip/chip.component.js +1 -1
  744. package/dist/components/chip/chip.js +1 -1
  745. package/dist/components/combobox/combobox.component.js +1 -1
  746. package/dist/components/combobox/combobox.js +1 -1
  747. package/dist/components/data-access/data-access.component.js +1 -1
  748. package/dist/components/data-access/data-access.js +1 -1
  749. package/dist/components/data-grid/data-grid.component.js +1 -1
  750. package/dist/components/data-grid/data-grid.js +1 -1
  751. package/dist/components/data-rods/data-rods.component.js +1 -1
  752. package/dist/components/data-rods/data-rods.js +1 -1
  753. package/dist/components/data-subsetter/data-subsetter.component.d.ts +1 -1
  754. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  755. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  756. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  757. package/dist/components/data-subsetter-history/data-subsetter-history.component.d.ts +18 -2
  758. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  759. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  760. package/dist/components/date-picker/date-picker.component.d.ts +1 -0
  761. package/dist/components/date-picker/date-picker.component.js +1 -1
  762. package/dist/components/date-picker/date-picker.js +1 -1
  763. package/dist/components/date-picker/date-picker.styles.js +1 -1
  764. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  765. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  766. package/dist/components/dialog/dialog.component.js +1 -1
  767. package/dist/components/dialog/dialog.js +1 -1
  768. package/dist/components/divider/divider.component.js +1 -1
  769. package/dist/components/divider/divider.js +1 -1
  770. package/dist/components/dropdown/dropdown.component.js +1 -1
  771. package/dist/components/dropdown/dropdown.js +1 -1
  772. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  773. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  774. package/dist/components/file-upload/file-upload.component.js +1 -1
  775. package/dist/components/file-upload/file-upload.js +1 -1
  776. package/dist/components/harmony-history/harmony-history.component.d.ts +7 -1
  777. package/dist/components/harmony-history/harmony-history.component.js +1 -1
  778. package/dist/components/harmony-history/harmony-history.js +1 -1
  779. package/dist/components/icon/icon.component.js +1 -1
  780. package/dist/components/icon/icon.js +1 -1
  781. package/dist/components/icon/library.js +1 -1
  782. package/dist/components/input/input.component.js +1 -1
  783. package/dist/components/input/input.js +1 -1
  784. package/dist/components/loader/loader.component.js +1 -1
  785. package/dist/components/loader/loader.js +1 -1
  786. package/dist/components/login/login.component.js +1 -1
  787. package/dist/components/login/login.js +1 -1
  788. package/dist/components/map/map.component.d.ts +35 -5
  789. package/dist/components/map/map.component.js +1 -1
  790. package/dist/components/map/map.js +1 -1
  791. package/dist/components/map/map.service.d.ts +1 -0
  792. package/dist/components/map/map.service.js +1 -1
  793. package/dist/components/menu/menu.component.js +1 -1
  794. package/dist/components/menu/menu.js +1 -1
  795. package/dist/components/menu-item/menu-item.component.js +1 -1
  796. package/dist/components/menu-item/menu-item.js +1 -1
  797. package/dist/components/option/option.component.d.ts +1 -2
  798. package/dist/components/option/option.component.js +1 -1
  799. package/dist/components/option/option.js +1 -1
  800. package/dist/components/pagination/pagination.component.js +1 -1
  801. package/dist/components/pagination/pagination.js +1 -1
  802. package/dist/components/plot/plot.component.js +1 -1
  803. package/dist/components/plot/plot.js +1 -1
  804. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  805. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  806. package/dist/components/plot-toolbar/plot-toolbar.component.d.ts +3 -1
  807. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  808. package/dist/components/plot-toolbar/plot-toolbar.controller.d.ts +1 -1
  809. package/dist/components/plot-toolbar/plot-toolbar.controller.js +1 -1
  810. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  811. package/dist/components/popup/popup.component.js +1 -1
  812. package/dist/components/popup/popup.js +1 -1
  813. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  814. package/dist/components/progress-bar/progress-bar.js +1 -1
  815. package/dist/components/radio/radio.component.js +1 -1
  816. package/dist/components/radio/radio.js +1 -1
  817. package/dist/components/radio-group/radio-group.component.js +1 -1
  818. package/dist/components/radio-group/radio-group.js +1 -1
  819. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  820. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  821. package/dist/components/select/select.component.js +1 -1
  822. package/dist/components/select/select.js +1 -1
  823. package/dist/components/site-header/site-header.component.js +1 -1
  824. package/dist/components/site-header/site-header.js +1 -1
  825. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  826. package/dist/components/site-navigation/site-navigation.js +1 -1
  827. package/dist/components/skeleton/skeleton.component.js +1 -1
  828. package/dist/components/skeleton/skeleton.js +1 -1
  829. package/dist/components/slider/slider.component.js +1 -1
  830. package/dist/components/slider/slider.js +1 -1
  831. package/dist/components/spatial-picker/spatial-picker.component.d.ts +4 -0
  832. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  833. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  834. package/dist/components/spatial-picker/spatial-picker.service.js +1 -1
  835. package/dist/components/spatial-picker/spatial-picker.styles.js +1 -1
  836. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  837. package/dist/components/status-indicator/status-indicator.js +1 -1
  838. package/dist/components/stepper/stepper.component.js +1 -1
  839. package/dist/components/stepper/stepper.js +1 -1
  840. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  841. package/dist/components/stepper-step/stepper-step.js +1 -1
  842. package/dist/components/tab/tab.component.js +1 -1
  843. package/dist/components/tab/tab.js +1 -1
  844. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  845. package/dist/components/tab-panel/tab-panel.js +1 -1
  846. package/dist/components/tabs/tabs.component.js +1 -1
  847. package/dist/components/tabs/tabs.js +1 -1
  848. package/dist/components/tag/tag.component.js +1 -1
  849. package/dist/components/tag/tag.js +1 -1
  850. package/dist/components/textarea/textarea.component.js +1 -1
  851. package/dist/components/textarea/textarea.js +1 -1
  852. package/dist/components/time-average-map/time-average-map.component.d.ts +2 -1
  853. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  854. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  855. package/dist/components/time-average-map/time-average-map.js +1 -1
  856. package/dist/components/time-series/time-series.component.d.ts +1 -0
  857. package/dist/components/time-series/time-series.component.js +1 -1
  858. package/dist/components/time-series/time-series.controller.js +1 -1
  859. package/dist/components/time-series/time-series.js +1 -1
  860. package/dist/components/toast/toast.component.js +1 -1
  861. package/dist/components/toast/toast.js +1 -1
  862. package/dist/components/toggle/toggle.component.js +1 -1
  863. package/dist/components/toggle/toggle.js +1 -1
  864. package/dist/components/tooltip/tooltip.component.js +1 -1
  865. package/dist/components/tooltip/tooltip.js +1 -1
  866. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  867. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  868. package/dist/components/variable-keyword-search/variable-keyword-search.component.d.ts +3 -1
  869. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  870. package/dist/components/variable-keyword-search/variable-keyword-search.controller.d.ts +7 -5
  871. package/dist/components/variable-keyword-search/variable-keyword-search.controller.js +1 -1
  872. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  873. package/dist/controllers/harmony-request.controller.d.ts +2 -2
  874. package/dist/custom-elements.json +549 -204
  875. package/dist/events/terra-harmony-job-select.d.ts +1 -1
  876. package/dist/events/terra-harmony-job-status-update.d.ts +1 -1
  877. package/dist/events/terra-subset-job-complete.d.ts +1 -1
  878. package/dist/queries/giovanni.queries.d.ts +5 -0
  879. package/dist/queries/harmony.queries.d.ts +1 -1
  880. package/dist/react/accordion/index.js +1 -1
  881. package/dist/react/alert/index.js +1 -1
  882. package/dist/react/avatar/index.js +1 -1
  883. package/dist/react/badge/index.js +1 -1
  884. package/dist/react/banner/index.d.ts +37 -0
  885. package/dist/react/banner/index.js +1 -0
  886. package/dist/react/breadcrumb/index.js +1 -1
  887. package/dist/react/breadcrumbs/index.js +1 -1
  888. package/dist/react/browse-variables/index.js +1 -1
  889. package/dist/react/button/index.js +1 -1
  890. package/dist/react/button-group/index.js +1 -1
  891. package/dist/react/caption/index.js +1 -1
  892. package/dist/react/card/index.js +1 -1
  893. package/dist/react/checkbox/index.js +1 -1
  894. package/dist/react/chip/index.js +1 -1
  895. package/dist/react/combobox/index.js +1 -1
  896. package/dist/react/data-access/index.js +1 -1
  897. package/dist/react/data-grid/index.js +1 -1
  898. package/dist/react/data-rods/index.js +1 -1
  899. package/dist/react/data-subsetter/index.js +1 -1
  900. package/dist/react/data-subsetter-history/index.js +1 -1
  901. package/dist/react/date-picker/index.js +1 -1
  902. package/dist/react/date-range-slider/index.js +1 -1
  903. package/dist/react/dialog/index.js +1 -1
  904. package/dist/react/divider/index.js +1 -1
  905. package/dist/react/dropdown/index.js +1 -1
  906. package/dist/react/earthdata-login/index.js +1 -1
  907. package/dist/react/file-upload/index.js +1 -1
  908. package/dist/react/harmony-history/index.js +1 -1
  909. package/dist/react/icon/index.js +1 -1
  910. package/dist/react/index.d.ts +2 -1
  911. package/dist/react/index.js +1 -1
  912. package/dist/react/input/index.js +1 -1
  913. package/dist/react/loader/index.js +1 -1
  914. package/dist/react/login/index.js +1 -1
  915. package/dist/react/map/index.js +1 -1
  916. package/dist/react/menu/index.js +1 -1
  917. package/dist/react/menu-item/index.js +1 -1
  918. package/dist/react/option/index.js +1 -1
  919. package/dist/react/pagination/index.js +1 -1
  920. package/dist/react/plot/index.js +1 -1
  921. package/dist/react/plot-toolbar/index.js +1 -1
  922. package/dist/react/popup/index.js +1 -1
  923. package/dist/react/progress-bar/index.js +1 -1
  924. package/dist/react/radio/index.js +1 -1
  925. package/dist/react/radio-group/index.js +1 -1
  926. package/dist/react/scroll-hint/index.js +1 -1
  927. package/dist/react/select/index.js +1 -1
  928. package/dist/react/site-header/index.js +1 -1
  929. package/dist/react/site-navigation/index.js +1 -1
  930. package/dist/react/skeleton/index.js +1 -1
  931. package/dist/react/slider/index.js +1 -1
  932. package/dist/react/spatial-picker/index.js +1 -1
  933. package/dist/react/status-indicator/index.js +1 -1
  934. package/dist/react/stepper/index.js +1 -1
  935. package/dist/react/stepper-step/index.js +1 -1
  936. package/dist/react/tab/index.js +1 -1
  937. package/dist/react/tab-panel/index.js +1 -1
  938. package/dist/react/tabs/index.js +1 -1
  939. package/dist/react/tag/index.js +1 -1
  940. package/dist/react/textarea/index.js +1 -1
  941. package/dist/react/time-average-map/index.js +1 -1
  942. package/dist/react/time-series/index.js +1 -1
  943. package/dist/react/toast/index.js +1 -1
  944. package/dist/react/toggle/index.js +1 -1
  945. package/dist/react/tooltip/index.js +1 -1
  946. package/dist/react/variable-combobox/index.js +1 -1
  947. package/dist/react/variable-keyword-search/index.js +1 -1
  948. package/dist/terra-ui-components.d.ts +1 -0
  949. package/dist/terra-ui-components.js +1 -1
  950. package/dist/terra_ui_components-0.0.186-py3-none-any.whl +0 -0
  951. package/dist/terra_ui_components-0.0.186.tar.gz +0 -0
  952. package/dist/themes/horizon.css +2 -0
  953. package/dist/themes/horizon.styles.js +2 -0
  954. package/dist/types/vue/index.d.ts +100 -45
  955. package/dist/utilities/granule.d.ts +9 -0
  956. package/dist/utilities/granule.js +1 -0
  957. package/dist/utilities/harmony.d.ts +2 -2
  958. package/dist/utilities/harmony.js +1 -1
  959. package/dist/utilities/icon-library.js +1 -1
  960. package/dist/utilities/variable-task.d.ts +3 -0
  961. package/dist/utilities/variable-task.js +1 -0
  962. package/dist/utilities/variable.d.ts +14 -0
  963. package/dist/utilities/variable.js +1 -0
  964. package/dist/vscode.html-custom-data.json +85 -44
  965. package/dist/web-types.json +125 -11
  966. package/package.json +3 -8
  967. package/cdn/chunks/chunk.22LT6COH.js +0 -34
  968. package/cdn/chunks/chunk.2GRVLRSC.js +0 -19
  969. package/cdn/chunks/chunk.2LHISEOA.js +0 -47
  970. package/cdn/chunks/chunk.2QZZ46F3.js +0 -29
  971. package/cdn/chunks/chunk.2S2I3XCJ.js +0 -635
  972. package/cdn/chunks/chunk.2V35JYFN.js +0 -41
  973. package/cdn/chunks/chunk.35AD2CDN.js +0 -19
  974. package/cdn/chunks/chunk.35MV26JZ.js +0 -131
  975. package/cdn/chunks/chunk.3763BVHT.js +0 -126
  976. package/cdn/chunks/chunk.3C6QCU6U.js +0 -56
  977. package/cdn/chunks/chunk.3E2SL7RN.js +0 -1184
  978. package/cdn/chunks/chunk.3HYQKD57.js +0 -189
  979. package/cdn/chunks/chunk.3JJBO6FW.js +0 -2244
  980. package/cdn/chunks/chunk.3PPDPECP.js +0 -52
  981. package/cdn/chunks/chunk.3TKV2VNC.js +0 -161
  982. package/cdn/chunks/chunk.3V6EN4OM.js +0 -443
  983. package/cdn/chunks/chunk.3WKRVLJ5.js +0 -19
  984. package/cdn/chunks/chunk.42ARK56A.js +0 -99
  985. package/cdn/chunks/chunk.432XUQVD.js +0 -117
  986. package/cdn/chunks/chunk.43FFRY42.js +0 -234
  987. package/cdn/chunks/chunk.44DX6OAN.js +0 -29
  988. package/cdn/chunks/chunk.4F4HJ5A7.js +0 -34
  989. package/cdn/chunks/chunk.4J575NT4.js +0 -610
  990. package/cdn/chunks/chunk.4MKO4IGH.js +0 -29
  991. package/cdn/chunks/chunk.4O65EAOB.js +0 -29
  992. package/cdn/chunks/chunk.4OES2KV3.js +0 -19
  993. package/cdn/chunks/chunk.4TE4MF4A.js +0 -19
  994. package/cdn/chunks/chunk.4WSZPRJM.js +0 -19
  995. package/cdn/chunks/chunk.5BUNWFSY.js +0 -19
  996. package/cdn/chunks/chunk.5G4KOAI3.js +0 -231
  997. package/cdn/chunks/chunk.5J5Y5ZLF.js +0 -259
  998. package/cdn/chunks/chunk.5J6WBPH6.js +0 -19
  999. package/cdn/chunks/chunk.5RYU3UV7.js +0 -33
  1000. package/cdn/chunks/chunk.6336WF3H.js +0 -29
  1001. package/cdn/chunks/chunk.66Q2NVUN.js +0 -19
  1002. package/cdn/chunks/chunk.6BGTXGAW.js +0 -166
  1003. package/cdn/chunks/chunk.6D6OXBJ6.js +0 -19
  1004. package/cdn/chunks/chunk.6FVRJALX.js +0 -472
  1005. package/cdn/chunks/chunk.6IRSVCPB.js +0 -19
  1006. package/cdn/chunks/chunk.6JL6ASL2.js +0 -19
  1007. package/cdn/chunks/chunk.6SFTEJ5X.js +0 -538
  1008. package/cdn/chunks/chunk.6VBQ6DIS.js +0 -49
  1009. package/cdn/chunks/chunk.6YSQEMYC.js +0 -19
  1010. package/cdn/chunks/chunk.7BUCOVPU.js +0 -19
  1011. package/cdn/chunks/chunk.7DYV7ZXX.js +0 -84
  1012. package/cdn/chunks/chunk.7FXHQFAL.js +0 -29
  1013. package/cdn/chunks/chunk.7OMDV4CF.js +0 -78
  1014. package/cdn/chunks/chunk.7OX4MXYA.js +0 -599
  1015. package/cdn/chunks/chunk.A7U3VSOK.js +0 -33
  1016. package/cdn/chunks/chunk.AI2VUHJQ.js +0 -19
  1017. package/cdn/chunks/chunk.ANHGJUIK.js +0 -473
  1018. package/cdn/chunks/chunk.ATNJTN2X.js +0 -545
  1019. package/cdn/chunks/chunk.AXHGJXN6.js +0 -113
  1020. package/cdn/chunks/chunk.BK6Q6XQE.js +0 -104
  1021. package/cdn/chunks/chunk.BLTFCOSS.js +0 -134
  1022. package/cdn/chunks/chunk.BQSDMUHJ.js +0 -68
  1023. package/cdn/chunks/chunk.BXCFRSAN.js +0 -35
  1024. package/cdn/chunks/chunk.C6RWDFVD.js +0 -32
  1025. package/cdn/chunks/chunk.CAQYLWVS.js +0 -658
  1026. package/cdn/chunks/chunk.CBOFTDWB.js +0 -37
  1027. package/cdn/chunks/chunk.CCTMEJ4D.js +0 -74
  1028. package/cdn/chunks/chunk.CL4YTQVS.js +0 -83
  1029. package/cdn/chunks/chunk.CQMTCOUV.js +0 -19
  1030. package/cdn/chunks/chunk.D3GHWMWU.js +0 -19
  1031. package/cdn/chunks/chunk.D4C4IM6K.js +0 -662
  1032. package/cdn/chunks/chunk.D4DK5LYG.js +0 -32
  1033. package/cdn/chunks/chunk.D5KRNDKE.js +0 -19
  1034. package/cdn/chunks/chunk.D5L3JZWD.js +0 -33
  1035. package/cdn/chunks/chunk.D7OABSQK.js +0 -29
  1036. package/cdn/chunks/chunk.DE7U5V42.js +0 -1214
  1037. package/cdn/chunks/chunk.DMGQI7DD.js +0 -92
  1038. package/cdn/chunks/chunk.DOIW32NL.js +0 -19
  1039. package/cdn/chunks/chunk.DUQMPQMA.js +0 -19
  1040. package/cdn/chunks/chunk.E3T7QPCE.js +0 -130
  1041. package/cdn/chunks/chunk.EG3YMAIL.js +0 -331
  1042. package/cdn/chunks/chunk.EHU3RZOC.js +0 -320
  1043. package/cdn/chunks/chunk.EIMP4KCQ.js +0 -62
  1044. package/cdn/chunks/chunk.EMAWDOXL.js +0 -19
  1045. package/cdn/chunks/chunk.EMSIZGHV.js +0 -19
  1046. package/cdn/chunks/chunk.ENUVPDOO.js +0 -19
  1047. package/cdn/chunks/chunk.EPA6C46H.js +0 -136
  1048. package/cdn/chunks/chunk.EZZBWIB3.js +0 -71
  1049. package/cdn/chunks/chunk.FA6GXTI7.js +0 -39
  1050. package/cdn/chunks/chunk.FDKQ22KF.js +0 -19
  1051. package/cdn/chunks/chunk.FHTFHSX5.js +0 -32
  1052. package/cdn/chunks/chunk.FNIFXVCT.js +0 -34
  1053. package/cdn/chunks/chunk.FNLDWEWY.js +0 -514
  1054. package/cdn/chunks/chunk.FS5XRRQU.js +0 -278
  1055. package/cdn/chunks/chunk.FT6BZBUE.js +0 -19
  1056. package/cdn/chunks/chunk.FTF726GJ.js +0 -32
  1057. package/cdn/chunks/chunk.FXVAKRPX.js +0 -36
  1058. package/cdn/chunks/chunk.GNEQE62R.js +0 -19
  1059. package/cdn/chunks/chunk.GPXJ4VCJ.js +0 -293
  1060. package/cdn/chunks/chunk.GZ46PW46.js +0 -113
  1061. package/cdn/chunks/chunk.H4MDCDCD.js +0 -60
  1062. package/cdn/chunks/chunk.HBPMF4JP.js +0 -19
  1063. package/cdn/chunks/chunk.HDCQZTLK.js +0 -524
  1064. package/cdn/chunks/chunk.HG5BAADY.js +0 -19
  1065. package/cdn/chunks/chunk.HJS7GK65.js +0 -155
  1066. package/cdn/chunks/chunk.HQYCAP7W.js +0 -19
  1067. package/cdn/chunks/chunk.HT76RT7W.js +0 -32
  1068. package/cdn/chunks/chunk.I7J2VM52.js +0 -19
  1069. package/cdn/chunks/chunk.IJD7AFSF.js +0 -30
  1070. package/cdn/chunks/chunk.IYR6JMSC.js +0 -123
  1071. package/cdn/chunks/chunk.J6XFJPEW.js +0 -32
  1072. package/cdn/chunks/chunk.JG3RGDG5.js +0 -19
  1073. package/cdn/chunks/chunk.JRWDO7PO.js +0 -19
  1074. package/cdn/chunks/chunk.JW5FA2XE.js +0 -32
  1075. package/cdn/chunks/chunk.K7DZU7FV.js +0 -29
  1076. package/cdn/chunks/chunk.KBMKLV33.js +0 -19
  1077. package/cdn/chunks/chunk.KBTX3CXP.js +0 -19
  1078. package/cdn/chunks/chunk.KCU2575L.js +0 -19
  1079. package/cdn/chunks/chunk.KH2VKKXM.js +0 -36
  1080. package/cdn/chunks/chunk.KHUCVPWU.js +0 -29
  1081. package/cdn/chunks/chunk.KQ5NUFFV.js +0 -36
  1082. package/cdn/chunks/chunk.KWJKQ4MK.js +0 -132
  1083. package/cdn/chunks/chunk.L5456NBJ.js +0 -1975
  1084. package/cdn/chunks/chunk.L6YLJCJY.js +0 -37
  1085. package/cdn/chunks/chunk.LCG37ZDT.js +0 -19
  1086. package/cdn/chunks/chunk.LILBVUPM.js +0 -19
  1087. package/cdn/chunks/chunk.M2YNMUJJ.js +0 -19
  1088. package/cdn/chunks/chunk.M667XLCW.js +0 -19
  1089. package/cdn/chunks/chunk.MANUYQOA.js +0 -19
  1090. package/cdn/chunks/chunk.MAWNA2JK.js +0 -19
  1091. package/cdn/chunks/chunk.MRSUUJHL.js +0 -35
  1092. package/cdn/chunks/chunk.MVC5FVKI.js +0 -9744
  1093. package/cdn/chunks/chunk.MX4TZJM7.js +0 -86
  1094. package/cdn/chunks/chunk.N2LTE4U4.js +0 -230
  1095. package/cdn/chunks/chunk.N4WZUEQD.js +0 -205
  1096. package/cdn/chunks/chunk.NB6CKW4R.js +0 -19
  1097. package/cdn/chunks/chunk.NEHA676U.js +0 -29
  1098. package/cdn/chunks/chunk.NLDGLHEK.js +0 -616
  1099. package/cdn/chunks/chunk.NPSYECQN.js +0 -29
  1100. package/cdn/chunks/chunk.OASSNJ6P.js +0 -33
  1101. package/cdn/chunks/chunk.OBSVODAF.js +0 -56075
  1102. package/cdn/chunks/chunk.ODIU7SOE.js +0 -285
  1103. package/cdn/chunks/chunk.ODVFKHL7.js +0 -35
  1104. package/cdn/chunks/chunk.OG5INH2U.js +0 -29
  1105. package/cdn/chunks/chunk.OIHLXX5K.js +0 -276
  1106. package/cdn/chunks/chunk.OKO3NSOS.js +0 -915
  1107. package/cdn/chunks/chunk.OLDACXCU.js +0 -310
  1108. package/cdn/chunks/chunk.OSPYVBB5.js +0 -493
  1109. package/cdn/chunks/chunk.P3JFMQNF.js +0 -165
  1110. package/cdn/chunks/chunk.P6F2PPII.js +0 -29
  1111. package/cdn/chunks/chunk.PEFQOTA5.js +0 -264
  1112. package/cdn/chunks/chunk.PESLTK33.js +0 -32
  1113. package/cdn/chunks/chunk.PLFAC42P.js +0 -19
  1114. package/cdn/chunks/chunk.POUXQ26U.js +0 -29
  1115. package/cdn/chunks/chunk.PPTVNK7X.js +0 -29
  1116. package/cdn/chunks/chunk.PUV4OUWQ.js +0 -29
  1117. package/cdn/chunks/chunk.PX4HV57O.js +0 -35
  1118. package/cdn/chunks/chunk.Q7GVA2PG.js +0 -19
  1119. package/cdn/chunks/chunk.QE2OCJIH.js +0 -32
  1120. package/cdn/chunks/chunk.QETEOHFG.js +0 -10
  1121. package/cdn/chunks/chunk.QKKAIJRP.js +0 -3451
  1122. package/cdn/chunks/chunk.QOKST2SX.js +0 -19
  1123. package/cdn/chunks/chunk.QOSLAEB3.js +0 -16977
  1124. package/cdn/chunks/chunk.QOWX45CN.js +0 -19
  1125. package/cdn/chunks/chunk.QZTOSPTJ.js +0 -32
  1126. package/cdn/chunks/chunk.R3X5JDVZ.js +0 -357
  1127. package/cdn/chunks/chunk.R6CUVVQL.js +0 -190
  1128. package/cdn/chunks/chunk.R7VXHRGD.js +0 -151
  1129. package/cdn/chunks/chunk.RISDH34C.js +0 -350
  1130. package/cdn/chunks/chunk.RIX7X2OX.js +0 -166
  1131. package/cdn/chunks/chunk.RLFUTFJ4.js +0 -29
  1132. package/cdn/chunks/chunk.RMQ24UBZ.js +0 -106
  1133. package/cdn/chunks/chunk.RNCH6WDC.js +0 -19
  1134. package/cdn/chunks/chunk.RV6U2G5D.js +0 -99
  1135. package/cdn/chunks/chunk.RZ644Q2W.js +0 -359
  1136. package/cdn/chunks/chunk.S3NVOH7F.js +0 -29
  1137. package/cdn/chunks/chunk.S3TXURJD.js +0 -32
  1138. package/cdn/chunks/chunk.S53YZHJA.js +0 -19
  1139. package/cdn/chunks/chunk.SFDWPKYT.js +0 -82
  1140. package/cdn/chunks/chunk.SKQPRMDQ.js +0 -19
  1141. package/cdn/chunks/chunk.STKP5PKY.js +0 -19
  1142. package/cdn/chunks/chunk.SWCI6YGF.js +0 -372
  1143. package/cdn/chunks/chunk.T43D432O.js +0 -29
  1144. package/cdn/chunks/chunk.T4KQWNZK.js +0 -19
  1145. package/cdn/chunks/chunk.T4MYODYK.js +0 -904
  1146. package/cdn/chunks/chunk.THHJKTJA.js +0 -188
  1147. package/cdn/chunks/chunk.TIFDCCNS.js +0 -29
  1148. package/cdn/chunks/chunk.TPAT4NM6.js +0 -19
  1149. package/cdn/chunks/chunk.TPT5PMGR.js +0 -36
  1150. package/cdn/chunks/chunk.TVG462GJ.js +0 -288
  1151. package/cdn/chunks/chunk.TY6U3C2A.js +0 -2549
  1152. package/cdn/chunks/chunk.U2YZZUPR.js +0 -29
  1153. package/cdn/chunks/chunk.UEPMVPYW.js +0 -19
  1154. package/cdn/chunks/chunk.UGVFOKIV.js +0 -19
  1155. package/cdn/chunks/chunk.UPLGFPL4.js +0 -29
  1156. package/cdn/chunks/chunk.V2DYKY2V.js +0 -29
  1157. package/cdn/chunks/chunk.V5RKTWNW.js +0 -29
  1158. package/cdn/chunks/chunk.V7DDEJ6Z.js +0 -29
  1159. package/cdn/chunks/chunk.VGF42SWJ.js +0 -19
  1160. package/cdn/chunks/chunk.VKTTODVZ.js +0 -29
  1161. package/cdn/chunks/chunk.VRPQZ3F7.js +0 -29
  1162. package/cdn/chunks/chunk.WF7MTEF2.js +0 -393
  1163. package/cdn/chunks/chunk.WFSXAREE.js +0 -51
  1164. package/cdn/chunks/chunk.WGUMQUK5.js +0 -477
  1165. package/cdn/chunks/chunk.WH7FLOGM.js +0 -19
  1166. package/cdn/chunks/chunk.WKG3OLPZ.js +0 -32
  1167. package/cdn/chunks/chunk.WUPUA66M.js +0 -29
  1168. package/cdn/chunks/chunk.WZZQLBPW.js +0 -161
  1169. package/cdn/chunks/chunk.X5BHARB5.js +0 -899
  1170. package/cdn/chunks/chunk.XFQ63LNH.js +0 -99
  1171. package/cdn/chunks/chunk.XGXRQAUB.js +0 -32
  1172. package/cdn/chunks/chunk.XKVYU4NA.js +0 -19
  1173. package/cdn/chunks/chunk.XLVPPFFF.js +0 -19
  1174. package/cdn/chunks/chunk.XO6CNPBZ.js +0 -238
  1175. package/cdn/chunks/chunk.XQBC4GS2.js +0 -60
  1176. package/cdn/chunks/chunk.XTAI6SKQ.js +0 -29
  1177. package/cdn/chunks/chunk.XTS6MTKD.js +0 -29
  1178. package/cdn/chunks/chunk.XWJEM5G5.js +0 -224
  1179. package/cdn/chunks/chunk.Y4DVU7OI.js +0 -316
  1180. package/cdn/chunks/chunk.Y7ANHGVY.js +0 -19
  1181. package/cdn/chunks/chunk.YKJ3JAVX.js +0 -201
  1182. package/cdn/chunks/chunk.YQULSS3R.js +0 -29
  1183. package/cdn/chunks/chunk.YVBONXP2.js +0 -93
  1184. package/cdn/chunks/chunk.ZD22ARI7.js +0 -33
  1185. package/cdn/chunks/chunk.ZEJU5BVS.js +0 -19
  1186. package/cdn/chunks/chunk.ZF4M2V6F.js +0 -32
  1187. package/cdn/chunks/chunk.ZI6E32VF.js +0 -19
  1188. package/cdn/chunks/chunk.ZU22V7I6.js +0 -19
  1189. package/cdn/components/data-subsetter-history/data-subsetter-history.controller.d.ts +0 -14
  1190. package/cdn/components/data-subsetter-history/data-subsetter-history.controller.js +0 -11
  1191. package/cdn/components/map/map.controller.d.ts +0 -8
  1192. package/cdn/components/map/map.controller.js +0 -9
  1193. package/cdn/data-services/harmony-data-service.d.ts +0 -16
  1194. package/cdn/data-services/queries.d.ts +0 -4
  1195. package/cdn/data-services/types.d.ts +0 -134
  1196. package/cdn/geojson/giovanni-geojson.d.ts +0 -5
  1197. package/cdn/geojson/queries.d.ts +0 -2
  1198. package/cdn/geojson/types.d.ts +0 -73
  1199. package/cdn/lib/graphql-client.d.ts +0 -3
  1200. package/cdn/lib/localforage.d.ts +0 -5
  1201. package/cdn/metadata-catalog/cmr-catalog.d.ts +0 -10
  1202. package/cdn/metadata-catalog/giovanni-variable-catalog.d.ts +0 -8
  1203. package/cdn/metadata-catalog/queries.d.ts +0 -8
  1204. package/cdn/metadata-catalog/tasks.d.ts +0 -3
  1205. package/cdn/metadata-catalog/types.d.ts +0 -240
  1206. package/cdn/metadata-catalog/utilities.d.ts +0 -11
  1207. package/dist/chunks/chunk.22FQQ4YY.js +0 -1
  1208. package/dist/chunks/chunk.2CUBMIQG.js +0 -566
  1209. package/dist/chunks/chunk.2Q42EX3Q.js +0 -35
  1210. package/dist/chunks/chunk.2QTZKXH5.js +0 -64
  1211. package/dist/chunks/chunk.2TFA2RSR.js +0 -1
  1212. package/dist/chunks/chunk.34LMIPEQ.js +0 -300
  1213. package/dist/chunks/chunk.3BXLBGEG.js +0 -1
  1214. package/dist/chunks/chunk.3DRS3Z3L.js +0 -50
  1215. package/dist/chunks/chunk.3ECFRKXK.js +0 -1
  1216. package/dist/chunks/chunk.3GXZWQTS.js +0 -157
  1217. package/dist/chunks/chunk.3H5WH7YN.js +0 -2
  1218. package/dist/chunks/chunk.3OD3UZCL.js +0 -1
  1219. package/dist/chunks/chunk.3UW44MCS.js +0 -1
  1220. package/dist/chunks/chunk.3VZT77TD.js +0 -33
  1221. package/dist/chunks/chunk.3XFHUWYL.js +0 -9
  1222. package/dist/chunks/chunk.3Y6WWRX4.js +0 -1
  1223. package/dist/chunks/chunk.44SDWZCZ.js +0 -39
  1224. package/dist/chunks/chunk.4D26NGSQ.js +0 -122
  1225. package/dist/chunks/chunk.4EJYTIWO.js +0 -1
  1226. package/dist/chunks/chunk.4HE47HVM.js +0 -74
  1227. package/dist/chunks/chunk.4LN5PROB.js +0 -1
  1228. package/dist/chunks/chunk.4QIXWDMB.js +0 -126
  1229. package/dist/chunks/chunk.4U5B4RTN.js +0 -5
  1230. package/dist/chunks/chunk.4V3VFW4N.js +0 -1
  1231. package/dist/chunks/chunk.4VT3FMNZ.js +0 -1
  1232. package/dist/chunks/chunk.54FFPVGC.js +0 -1
  1233. package/dist/chunks/chunk.55KLQIC6.js +0 -1
  1234. package/dist/chunks/chunk.5LQFDTJE.js +0 -1
  1235. package/dist/chunks/chunk.5NXVSCDR.js +0 -1
  1236. package/dist/chunks/chunk.5OQROEG3.js +0 -1
  1237. package/dist/chunks/chunk.5SIVM4DR.js +0 -12
  1238. package/dist/chunks/chunk.5X6PSKC7.js +0 -1
  1239. package/dist/chunks/chunk.6AWVK4HS.js +0 -1
  1240. package/dist/chunks/chunk.6C2QKZAN.js +0 -8
  1241. package/dist/chunks/chunk.6MKLT7FM.js +0 -1
  1242. package/dist/chunks/chunk.6O43LGUM.js +0 -1
  1243. package/dist/chunks/chunk.6TF22YTL.js +0 -30
  1244. package/dist/chunks/chunk.6UGOPLT7.js +0 -1
  1245. package/dist/chunks/chunk.6YVH6ZBP.js +0 -1
  1246. package/dist/chunks/chunk.7BT7S4BE.js +0 -1
  1247. package/dist/chunks/chunk.7F4HGFKT.js +0 -9
  1248. package/dist/chunks/chunk.7FHYMB2P.js +0 -67
  1249. package/dist/chunks/chunk.7KHMJGXA.js +0 -1
  1250. package/dist/chunks/chunk.7PYYJIIS.js +0 -1
  1251. package/dist/chunks/chunk.7URRYPKO.js +0 -1
  1252. package/dist/chunks/chunk.A3BOIUGP.js +0 -121
  1253. package/dist/chunks/chunk.A4D2732N.js +0 -1
  1254. package/dist/chunks/chunk.AAPRNHVF.js +0 -62
  1255. package/dist/chunks/chunk.AJHOLBGE.js +0 -1
  1256. package/dist/chunks/chunk.AJQVNMEA.js +0 -1
  1257. package/dist/chunks/chunk.AVNDVD5T.js +0 -1
  1258. package/dist/chunks/chunk.B3WLQ36X.js +0 -1
  1259. package/dist/chunks/chunk.B6AL2QV5.js +0 -1
  1260. package/dist/chunks/chunk.BC6G7LCX.js +0 -154
  1261. package/dist/chunks/chunk.BQUJORYD.js +0 -1
  1262. package/dist/chunks/chunk.BRC3NVMC.js +0 -1
  1263. package/dist/chunks/chunk.BSDQ2NWC.js +0 -1
  1264. package/dist/chunks/chunk.BVFXU734.js +0 -1
  1265. package/dist/chunks/chunk.C24N444M.js +0 -6
  1266. package/dist/chunks/chunk.C7JZVNL5.js +0 -1
  1267. package/dist/chunks/chunk.CBTEIV4D.js +0 -1
  1268. package/dist/chunks/chunk.CCEMDTRW.js +0 -1
  1269. package/dist/chunks/chunk.CCI5FJGY.js +0 -1
  1270. package/dist/chunks/chunk.CFBZUQ3B.js +0 -1
  1271. package/dist/chunks/chunk.CGP4I3UU.js +0 -1
  1272. package/dist/chunks/chunk.CIB6R7ZP.js +0 -1
  1273. package/dist/chunks/chunk.CQF3R7HN.js +0 -17
  1274. package/dist/chunks/chunk.CSMYE57S.js +0 -1
  1275. package/dist/chunks/chunk.CUW7HOAR.js +0 -1
  1276. package/dist/chunks/chunk.CV5R3PGB.js +0 -20
  1277. package/dist/chunks/chunk.CVPUVXAY.js +0 -1
  1278. package/dist/chunks/chunk.CZ4IXGRE.js +0 -1
  1279. package/dist/chunks/chunk.DBE7JLMZ.js +0 -1
  1280. package/dist/chunks/chunk.DBGUVN23.js +0 -99
  1281. package/dist/chunks/chunk.DC4YGR4V.js +0 -1157
  1282. package/dist/chunks/chunk.DDBKH6HL.js +0 -299
  1283. package/dist/chunks/chunk.DEO6QC24.js +0 -1
  1284. package/dist/chunks/chunk.DNDPZDDF.js +0 -1
  1285. package/dist/chunks/chunk.DO3IERLX.js +0 -1
  1286. package/dist/chunks/chunk.E2JKRFE2.js +0 -1
  1287. package/dist/chunks/chunk.E3W27X5N.js +0 -30
  1288. package/dist/chunks/chunk.E5HTF5P2.js +0 -8
  1289. package/dist/chunks/chunk.ECX76DY6.js +0 -1
  1290. package/dist/chunks/chunk.EMAYNUTK.js +0 -1
  1291. package/dist/chunks/chunk.EQTLPVCI.js +0 -1
  1292. package/dist/chunks/chunk.EVMBPY45.js +0 -1
  1293. package/dist/chunks/chunk.EZI7VJCI.js +0 -1
  1294. package/dist/chunks/chunk.F3L3VRAS.js +0 -24
  1295. package/dist/chunks/chunk.F4OWTB7S.js +0 -1
  1296. package/dist/chunks/chunk.F5CL5H4V.js +0 -1
  1297. package/dist/chunks/chunk.FC4IGO7V.js +0 -1
  1298. package/dist/chunks/chunk.FEZWYWLM.js +0 -1
  1299. package/dist/chunks/chunk.FHQLC6UV.js +0 -1
  1300. package/dist/chunks/chunk.FIHPLWI5.js +0 -1
  1301. package/dist/chunks/chunk.FQVSKIIA.js +0 -140
  1302. package/dist/chunks/chunk.FUWE66F5.js +0 -26
  1303. package/dist/chunks/chunk.FUX5NNHX.js +0 -1
  1304. package/dist/chunks/chunk.G2BEGEW6.js +0 -1
  1305. package/dist/chunks/chunk.GF6R53WT.js +0 -115
  1306. package/dist/chunks/chunk.GJ2MKBPF.js +0 -38
  1307. package/dist/chunks/chunk.GK7MIHAE.js +0 -1
  1308. package/dist/chunks/chunk.GWKSCVNM.js +0 -55
  1309. package/dist/chunks/chunk.GZGJUV5S.js +0 -1
  1310. package/dist/chunks/chunk.H5BTP5K5.js +0 -1
  1311. package/dist/chunks/chunk.HGNAORPM.js +0 -1
  1312. package/dist/chunks/chunk.HPTYFCQ5.js +0 -37
  1313. package/dist/chunks/chunk.I2YMO7SV.js +0 -1
  1314. package/dist/chunks/chunk.I5PUNLDT.js +0 -1
  1315. package/dist/chunks/chunk.I6GN543A.js +0 -1
  1316. package/dist/chunks/chunk.INQKJRS3.js +0 -1
  1317. package/dist/chunks/chunk.IVAJTYHP.js +0 -618
  1318. package/dist/chunks/chunk.IXH63HQ3.js +0 -1
  1319. package/dist/chunks/chunk.JBPRUIZD.js +0 -170
  1320. package/dist/chunks/chunk.JEP5ZAVN.js +0 -1
  1321. package/dist/chunks/chunk.K4WIFYWW.js +0 -1
  1322. package/dist/chunks/chunk.K6XXVUQP.js +0 -1
  1323. package/dist/chunks/chunk.K7UMCNCF.js +0 -114
  1324. package/dist/chunks/chunk.KJTDSGDS.js +0 -55
  1325. package/dist/chunks/chunk.KKXYNJ2C.js +0 -61
  1326. package/dist/chunks/chunk.KLJGWFRC.js +0 -1
  1327. package/dist/chunks/chunk.KMZNUSN7.js +0 -1
  1328. package/dist/chunks/chunk.KP7HWILU.js +0 -14
  1329. package/dist/chunks/chunk.L3C6CRZX.js +0 -11
  1330. package/dist/chunks/chunk.L3CTWYFV.js +0 -1
  1331. package/dist/chunks/chunk.LC26TDLJ.js +0 -35
  1332. package/dist/chunks/chunk.LFPXQXCJ.js +0 -1
  1333. package/dist/chunks/chunk.LKSOHRVH.js +0 -55
  1334. package/dist/chunks/chunk.LMMO7JOM.js +0 -1
  1335. package/dist/chunks/chunk.LPDAW6QT.js +0 -1
  1336. package/dist/chunks/chunk.LXKKJCMC.js +0 -1
  1337. package/dist/chunks/chunk.LYA3Q53V.js +0 -1
  1338. package/dist/chunks/chunk.M74CJF6X.js +0 -1
  1339. package/dist/chunks/chunk.MJOVKAC6.js +0 -1
  1340. package/dist/chunks/chunk.MUGEB7DG.js +0 -1
  1341. package/dist/chunks/chunk.MVBGZGED.js +0 -1
  1342. package/dist/chunks/chunk.NDAM2NI4.js +0 -1
  1343. package/dist/chunks/chunk.NJM6Z4WF.js +0 -25
  1344. package/dist/chunks/chunk.NKSVGLLF.js +0 -1
  1345. package/dist/chunks/chunk.NOXCIISD.js +0 -1
  1346. package/dist/chunks/chunk.NS7QHQXI.js +0 -1
  1347. package/dist/chunks/chunk.NVLOZUDY.js +0 -1
  1348. package/dist/chunks/chunk.NVWDU56S.js +0 -80
  1349. package/dist/chunks/chunk.NYPCSZM2.js +0 -1
  1350. package/dist/chunks/chunk.O2GMJYSL.js +0 -0
  1351. package/dist/chunks/chunk.OMCG6QH4.js +0 -1
  1352. package/dist/chunks/chunk.OXE3I2PF.js +0 -43
  1353. package/dist/chunks/chunk.OZNKCW2W.js +0 -48
  1354. package/dist/chunks/chunk.P2DA6KZN.js +0 -1
  1355. package/dist/chunks/chunk.PDCKA32L.js +0 -145
  1356. package/dist/chunks/chunk.PH44FRCL.js +0 -1
  1357. package/dist/chunks/chunk.PIBJMHXR.js +0 -1
  1358. package/dist/chunks/chunk.PKC6WTWN.js +0 -1
  1359. package/dist/chunks/chunk.PSBO5AN5.js +0 -1
  1360. package/dist/chunks/chunk.PSLXH2SL.js +0 -1
  1361. package/dist/chunks/chunk.PWQQ6ZSC.js +0 -1
  1362. package/dist/chunks/chunk.PZLVWTRK.js +0 -1
  1363. package/dist/chunks/chunk.Q6Y44MV7.js +0 -1
  1364. package/dist/chunks/chunk.QD2JV6OB.js +0 -1
  1365. package/dist/chunks/chunk.QGX4SIGM.js +0 -1
  1366. package/dist/chunks/chunk.QLUAQHGR.js +0 -1
  1367. package/dist/chunks/chunk.QMLZIOGK.js +0 -1
  1368. package/dist/chunks/chunk.R22MT3IA.js +0 -26
  1369. package/dist/chunks/chunk.R3YTSUWO.js +0 -1
  1370. package/dist/chunks/chunk.REPS62ZR.js +0 -43
  1371. package/dist/chunks/chunk.RGDLOPXS.js +0 -100
  1372. package/dist/chunks/chunk.RLOPYMMD.js +0 -1
  1373. package/dist/chunks/chunk.RRGI7HIP.js +0 -1
  1374. package/dist/chunks/chunk.RYXFAYSI.js +0 -1
  1375. package/dist/chunks/chunk.SIJUSDFP.js +0 -1
  1376. package/dist/chunks/chunk.SV525XZT.js +0 -280
  1377. package/dist/chunks/chunk.TANSU4EH.js +0 -1
  1378. package/dist/chunks/chunk.TQDY2KDS.js +0 -1
  1379. package/dist/chunks/chunk.TVNQV43M.js +0 -65
  1380. package/dist/chunks/chunk.TXD22YTC.js +0 -4
  1381. package/dist/chunks/chunk.TXIJOTET.js +0 -1
  1382. package/dist/chunks/chunk.TZU7VZFO.js +0 -1
  1383. package/dist/chunks/chunk.U6BSDUDE.js +0 -1
  1384. package/dist/chunks/chunk.UBYC6JMR.js +0 -1
  1385. package/dist/chunks/chunk.UM535KIO.js +0 -162
  1386. package/dist/chunks/chunk.UPDRLSR7.js +0 -1
  1387. package/dist/chunks/chunk.V2H2F5H2.js +0 -1
  1388. package/dist/chunks/chunk.VKCVK6OP.js +0 -49
  1389. package/dist/chunks/chunk.VVJXEPNA.js +0 -22
  1390. package/dist/chunks/chunk.W4WJDNOC.js +0 -1
  1391. package/dist/chunks/chunk.WB4LNXFP.js +0 -1
  1392. package/dist/chunks/chunk.WDRY5XAH.js +0 -1
  1393. package/dist/chunks/chunk.WG2QPTWD.js +0 -1
  1394. package/dist/chunks/chunk.WGDOHHJO.js +0 -1
  1395. package/dist/chunks/chunk.WK4XHX4L.js +0 -1
  1396. package/dist/chunks/chunk.WMYJTCIL.js +0 -1
  1397. package/dist/chunks/chunk.WN2VWDZX.js +0 -749
  1398. package/dist/chunks/chunk.WNZXTI32.js +0 -1
  1399. package/dist/chunks/chunk.WQEWNESJ.js +0 -1
  1400. package/dist/chunks/chunk.WUTGT6VP.js +0 -20
  1401. package/dist/chunks/chunk.WY22C7CB.js +0 -19
  1402. package/dist/chunks/chunk.WZGKPU2K.js +0 -75
  1403. package/dist/chunks/chunk.X2O57MUT.js +0 -101
  1404. package/dist/chunks/chunk.X7Y4UPIB.js +0 -1
  1405. package/dist/chunks/chunk.XDG7UYOW.js +0 -16
  1406. package/dist/chunks/chunk.XDM7LHQ7.js +0 -1
  1407. package/dist/chunks/chunk.XEEPXJDF.js +0 -1
  1408. package/dist/chunks/chunk.XGK5EE2I.js +0 -1
  1409. package/dist/chunks/chunk.XPQKU5R2.js +0 -1
  1410. package/dist/chunks/chunk.XPZDSM47.js +0 -11
  1411. package/dist/chunks/chunk.XTHJGP3P.js +0 -1
  1412. package/dist/chunks/chunk.Y4B6J6XV.js +0 -12
  1413. package/dist/chunks/chunk.Y4ZTWCKL.js +0 -5
  1414. package/dist/chunks/chunk.YE3MKLSM.js +0 -1
  1415. package/dist/chunks/chunk.YJQZA5VT.js +0 -1
  1416. package/dist/chunks/chunk.YLSJ2DDF.js +0 -47
  1417. package/dist/chunks/chunk.YOT364CM.js +0 -1
  1418. package/dist/chunks/chunk.YPC32TF3.js +0 -23
  1419. package/dist/chunks/chunk.YRGPD4GP.js +0 -1
  1420. package/dist/chunks/chunk.YXCUGTT5.js +0 -1
  1421. package/dist/chunks/chunk.ZG3SVC5J.js +0 -1
  1422. package/dist/chunks/chunk.ZJAXBHGL.js +0 -1
  1423. package/dist/chunks/chunk.ZJPVAF24.js +0 -37
  1424. package/dist/components/data-subsetter-history/data-subsetter-history.controller.d.ts +0 -14
  1425. package/dist/components/data-subsetter-history/data-subsetter-history.controller.js +0 -1
  1426. package/dist/components/map/map.controller.d.ts +0 -8
  1427. package/dist/components/map/map.controller.js +0 -1
  1428. package/dist/data-services/harmony-data-service.d.ts +0 -16
  1429. package/dist/data-services/queries.d.ts +0 -4
  1430. package/dist/data-services/types.d.ts +0 -134
  1431. package/dist/geojson/giovanni-geojson.d.ts +0 -5
  1432. package/dist/geojson/queries.d.ts +0 -2
  1433. package/dist/geojson/types.d.ts +0 -73
  1434. package/dist/lib/graphql-client.d.ts +0 -3
  1435. package/dist/lib/localforage.d.ts +0 -5
  1436. package/dist/metadata-catalog/cmr-catalog.d.ts +0 -10
  1437. package/dist/metadata-catalog/giovanni-variable-catalog.d.ts +0 -8
  1438. package/dist/metadata-catalog/queries.d.ts +0 -8
  1439. package/dist/metadata-catalog/tasks.d.ts +0 -3
  1440. package/dist/metadata-catalog/types.d.ts +0 -240
  1441. package/dist/metadata-catalog/utilities.d.ts +0 -11
  1442. package/dist/terra_ui_components-0.0.184-py3-none-any.whl +0 -0
  1443. package/dist/terra_ui_components-0.0.184.tar.gz +0 -0
  1444. /package/cdn/chunks/{GeoTIFF.WDM5HZIC.js → GeoTIFF.NRJSPXBW.js} +0 -0
@@ -0,0 +1,2263 @@
1
+ import {
2
+ date_picker_styles_default
3
+ } from "./chunk.5PPGP4LG.js";
4
+ import {
5
+ TerraDropdown
6
+ } from "./chunk.5YFLB32J.js";
7
+ import {
8
+ TerraInput
9
+ } from "./chunk.2RJFUFJW.js";
10
+ import {
11
+ e as e2,
12
+ n as n2
13
+ } from "./chunk.LRZIT4M2.js";
14
+ import {
15
+ isValid
16
+ } from "./chunk.7NJYVBGM.js";
17
+ import {
18
+ TerraButton
19
+ } from "./chunk.KGVKWL76.js";
20
+ import {
21
+ TerraElement,
22
+ component_styles_default,
23
+ e,
24
+ n,
25
+ r
26
+ } from "./chunk.UME44J4L.js";
27
+ import {
28
+ A,
29
+ b
30
+ } from "./chunk.RRCYT4LP.js";
31
+ import {
32
+ __decorateClass,
33
+ init_buffer,
34
+ init_dirname,
35
+ init_process
36
+ } from "./chunk.ZEOVK2FE.js";
37
+
38
+ // src/components/date-picker/date-picker.component.ts
39
+ init_dirname();
40
+ init_buffer();
41
+ init_process();
42
+ var TerraDatePicker = class extends TerraElement {
43
+ constructor() {
44
+ super();
45
+ this.range = false;
46
+ this.hideLabel = false;
47
+ this.label = "Select Date";
48
+ this.helpText = "";
49
+ this.startHelpText = "";
50
+ this.endHelpText = "";
51
+ this.showPresets = false;
52
+ this.presets = [];
53
+ this.enableTime = false;
54
+ this.inline = false;
55
+ this.splitInputs = false;
56
+ this.placeholder = "Select Date";
57
+ this.startPlaceholder = "Start Date";
58
+ this.endPlaceholder = "End Date";
59
+ this.role = "group";
60
+ this.ariaLabel = "Date picker";
61
+ this.hideClearAll = false;
62
+ this.clearAllLabel = "Clear Dates";
63
+ this.useEndOfDay = true;
64
+ this.showClose = false;
65
+ this.isOpen = false;
66
+ this.leftMonth = /* @__PURE__ */ new Date();
67
+ this.rightMonth = /* @__PURE__ */ new Date();
68
+ this.selectedStart = null;
69
+ this.selectedEnd = null;
70
+ this.hoverDate = null;
71
+ this.isSelectingRange = false;
72
+ this.showLeftMonthDropdown = false;
73
+ this.showRightMonthDropdown = false;
74
+ this.startHour = 0;
75
+ this.startMinute = 0;
76
+ this.startSecond = 0;
77
+ this.endHour = 23;
78
+ this.endMinute = 59;
79
+ this.endSecond = 59;
80
+ this.selectedDates = {
81
+ startDate: (/* @__PURE__ */ new Date()).toString(),
82
+ endDate: (/* @__PURE__ */ new Date()).toString()
83
+ };
84
+ this.dropdownRef = e2();
85
+ this.DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
86
+ this.MONTHS = [
87
+ "January",
88
+ "February",
89
+ "March",
90
+ "April",
91
+ "May",
92
+ "June",
93
+ "July",
94
+ "August",
95
+ "September",
96
+ "October",
97
+ "November",
98
+ "December"
99
+ ];
100
+ this.initializePresets();
101
+ }
102
+ getDefaultEndHour() {
103
+ return this.useEndOfDay ? 23 : 0;
104
+ }
105
+ getDefaultEndMinute() {
106
+ return this.useEndOfDay ? 59 : 0;
107
+ }
108
+ getDefaultEndSecond() {
109
+ return this.useEndOfDay ? 59 : 0;
110
+ }
111
+ /**
112
+ * Parse a date string (YYYY-MM-DD or ISO datetime) as a local date, avoiding timezone issues.
113
+ * When you do `new Date("2024-03-20")`, JavaScript interprets it as UTC midnight,
114
+ * which can cause off-by-one day errors when using getDate() in local timezone.
115
+ * This function parses the date as a local date instead.
116
+ *
117
+ * When enableTime is true, datetime strings are parsed as UTC to match API min/max dates.
118
+ */
119
+ parseLocalDate(dateString) {
120
+ const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
121
+ if (dateOnlyPattern.test(dateString)) {
122
+ const [year, month, day] = dateString.split("-").map(Number);
123
+ if (this.enableTime) {
124
+ return new Date(Date.UTC(year, month - 1, day, 0, 0, 0));
125
+ }
126
+ return new Date(year, month - 1, day);
127
+ }
128
+ const dateTimePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/;
129
+ if (dateTimePattern.test(dateString)) {
130
+ const [datePart, timePart] = dateString.split("T");
131
+ const [year, month, day] = datePart.split("-").map(Number);
132
+ const [hours, minutes, seconds] = timePart.split(":").map(Number);
133
+ return new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
134
+ }
135
+ return new Date(dateString);
136
+ }
137
+ /**
138
+ * Check if two dates are in the same calendar month and year
139
+ */
140
+ isSameMonth(date1, date2) {
141
+ if (this.enableTime) {
142
+ return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth();
143
+ }
144
+ return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();
145
+ }
146
+ /**
147
+ * Check if a date's month/year matches a given month Date
148
+ */
149
+ isDateInMonth(date, monthDate) {
150
+ if (this.enableTime) {
151
+ return date.getUTCFullYear() === monthDate.getUTCFullYear() && date.getUTCMonth() === monthDate.getUTCMonth();
152
+ }
153
+ return date.getFullYear() === monthDate.getFullYear() && date.getMonth() === monthDate.getMonth();
154
+ }
155
+ getBounds() {
156
+ const min = this.minDate ? this.parseLocalDate(this.minDate) : void 0;
157
+ const max = this.maxDate ? this.parseLocalDate(this.maxDate) : void 0;
158
+ return { min, max };
159
+ }
160
+ doesRangeOverlapBounds(range) {
161
+ const { startDate, endDate } = range;
162
+ const { min, max } = this.getBounds();
163
+ if (!this.range) {
164
+ if (!startDate)
165
+ return false;
166
+ if (min && startDate < min)
167
+ return false;
168
+ if (max && startDate > max)
169
+ return false;
170
+ return true;
171
+ }
172
+ const start = startDate != null ? startDate : /* @__PURE__ */ new Date(-864e13);
173
+ const end = endDate != null ? endDate : /* @__PURE__ */ new Date(864e13);
174
+ if (!min && !max)
175
+ return true;
176
+ const windowStart = min != null ? min : /* @__PURE__ */ new Date(-864e13);
177
+ const windowEnd = max != null ? max : /* @__PURE__ */ new Date(864e13);
178
+ return end >= windowStart && start <= windowEnd;
179
+ }
180
+ isPresetWithinBounds(range) {
181
+ return this.doesRangeOverlapBounds(range);
182
+ }
183
+ get filteredPresets() {
184
+ return (this.presets || []).filter(
185
+ (preset) => this.isPresetWithinBounds(preset.getValue())
186
+ );
187
+ }
188
+ open() {
189
+ this.isOpen = true;
190
+ if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
191
+ const max = this.parseLocalDate(this.maxDate);
192
+ if (!isNaN(max.getTime())) {
193
+ if (this.range) {
194
+ this.rightMonth = new Date(max);
195
+ const left = new Date(max);
196
+ left.setMonth(left.getMonth() - 1);
197
+ this.leftMonth = left;
198
+ } else {
199
+ this.leftMonth = new Date(max);
200
+ }
201
+ }
202
+ }
203
+ if (!this.inline && this.dropdownRef.value) {
204
+ this.dropdownRef.value.show();
205
+ }
206
+ this.requestUpdate();
207
+ }
208
+ close() {
209
+ this.isOpen = false;
210
+ if (!this.inline && this.dropdownRef.value) {
211
+ this.dropdownRef.value.hide();
212
+ }
213
+ this.requestUpdate();
214
+ }
215
+ /**
216
+ * Clears the selected date(s) and resets the date picker to its initial state.
217
+ */
218
+ clear() {
219
+ this.selectedStart = null;
220
+ this.selectedEnd = null;
221
+ this.hoverDate = null;
222
+ this.isSelectingRange = false;
223
+ this.startHour = 0;
224
+ this.startMinute = 0;
225
+ this.startSecond = 0;
226
+ this.endHour = this.getDefaultEndHour();
227
+ this.endMinute = this.getDefaultEndMinute();
228
+ this.endSecond = this.getDefaultEndSecond();
229
+ this.clearInputValidation();
230
+ this.requestUpdate();
231
+ this.emitChange();
232
+ }
233
+ setOpen(open) {
234
+ if (open) {
235
+ this.open();
236
+ } else {
237
+ this.close();
238
+ }
239
+ }
240
+ willUpdate(changedProperties) {
241
+ super.willUpdate(changedProperties);
242
+ if (changedProperties.has("useEndOfDay")) {
243
+ this.endHour = this.getDefaultEndHour();
244
+ this.endMinute = this.getDefaultEndMinute();
245
+ this.endSecond = this.getDefaultEndSecond();
246
+ }
247
+ if (changedProperties.has("inline")) {
248
+ if (this.inline) {
249
+ this.isOpen = true;
250
+ if (this.dropdownRef.value) {
251
+ this.dropdownRef.value.hide();
252
+ }
253
+ }
254
+ }
255
+ if (changedProperties.has("minDate") || changedProperties.has("maxDate")) {
256
+ if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
257
+ const max = this.parseLocalDate(this.maxDate);
258
+ if (!isNaN(max.getTime())) {
259
+ if (this.range) {
260
+ this.rightMonth = new Date(max);
261
+ const left = new Date(max);
262
+ left.setMonth(left.getMonth() - 1);
263
+ this.leftMonth = left;
264
+ } else {
265
+ this.leftMonth = new Date(max);
266
+ }
267
+ }
268
+ }
269
+ }
270
+ if (changedProperties.has("startDate") || changedProperties.has("endDate")) {
271
+ if (this.startDate) {
272
+ const start = this.parseLocalDate(this.startDate);
273
+ if (!isNaN(start.getTime())) {
274
+ this.selectedStart = start;
275
+ if (this.enableTime) {
276
+ this.initializeTimeFromDate(start, true);
277
+ }
278
+ }
279
+ } else {
280
+ this.selectedStart = null;
281
+ }
282
+ if (this.range) {
283
+ if (this.endDate) {
284
+ const end = this.parseLocalDate(this.endDate);
285
+ if (!isNaN(end.getTime())) {
286
+ this.selectedEnd = end;
287
+ if (this.enableTime) {
288
+ this.initializeTimeFromDate(end, false);
289
+ }
290
+ }
291
+ } else {
292
+ this.selectedEnd = null;
293
+ }
294
+ if (this.selectedStart && this.selectedEnd) {
295
+ const isSingleMonthRange = this.isSameMonth(
296
+ this.selectedStart,
297
+ this.selectedEnd
298
+ );
299
+ if (isSingleMonthRange) {
300
+ if (this.isDateInMonth(this.selectedStart, this.leftMonth)) {
301
+ this.leftMonth = new Date(this.selectedStart);
302
+ if (this.isDateInMonth(
303
+ this.selectedStart,
304
+ this.rightMonth
305
+ )) {
306
+ this.rightMonth = new Date(this.selectedStart);
307
+ this.rightMonth.setMonth(
308
+ this.rightMonth.getMonth() + 1
309
+ );
310
+ }
311
+ } else if (this.isDateInMonth(this.selectedStart, this.rightMonth)) {
312
+ this.rightMonth = new Date(this.selectedStart);
313
+ } else {
314
+ this.leftMonth = new Date(this.selectedStart);
315
+ }
316
+ } else {
317
+ this.leftMonth = new Date(this.selectedStart);
318
+ this.rightMonth = new Date(this.selectedEnd);
319
+ }
320
+ } else if (this.selectedStart) {
321
+ this.leftMonth = new Date(this.selectedStart);
322
+ this.rightMonth = new Date(this.leftMonth);
323
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
324
+ }
325
+ } else {
326
+ if (this.selectedStart) {
327
+ this.leftMonth = new Date(this.selectedStart);
328
+ }
329
+ this.selectedEnd = null;
330
+ }
331
+ }
332
+ }
333
+ initializePresets() {
334
+ if (this.presets.length === 0) {
335
+ this.presets = [
336
+ {
337
+ label: "Today",
338
+ getValue: () => {
339
+ const today = /* @__PURE__ */ new Date();
340
+ return {
341
+ startDate: today,
342
+ endDate: this.range ? today : null
343
+ };
344
+ }
345
+ },
346
+ {
347
+ label: "Yesterday",
348
+ getValue: () => {
349
+ const yesterday = /* @__PURE__ */ new Date();
350
+ yesterday.setDate(yesterday.getDate() - 1);
351
+ return {
352
+ startDate: yesterday,
353
+ endDate: this.range ? yesterday : null
354
+ };
355
+ }
356
+ },
357
+ {
358
+ label: "Last 7 days",
359
+ getValue: () => {
360
+ const end = /* @__PURE__ */ new Date();
361
+ const start = /* @__PURE__ */ new Date();
362
+ start.setDate(start.getDate() - 6);
363
+ return { startDate: start, endDate: end };
364
+ }
365
+ },
366
+ {
367
+ label: "Last 30 days",
368
+ getValue: () => {
369
+ const end = /* @__PURE__ */ new Date();
370
+ const start = /* @__PURE__ */ new Date();
371
+ start.setDate(start.getDate() - 29);
372
+ return { startDate: start, endDate: end };
373
+ }
374
+ },
375
+ {
376
+ label: "Last 6 months",
377
+ getValue: () => {
378
+ const end = /* @__PURE__ */ new Date();
379
+ const start = /* @__PURE__ */ new Date();
380
+ start.setMonth(start.getMonth() - 6);
381
+ return { startDate: start, endDate: end };
382
+ }
383
+ },
384
+ {
385
+ label: "Last year",
386
+ getValue: () => {
387
+ const end = /* @__PURE__ */ new Date();
388
+ const start = /* @__PURE__ */ new Date();
389
+ start.setFullYear(start.getFullYear() - 1);
390
+ return { startDate: start, endDate: end };
391
+ }
392
+ },
393
+ {
394
+ label: "All time",
395
+ getValue: () => {
396
+ const { min, max } = this.getBounds();
397
+ return {
398
+ startDate: min || null,
399
+ endDate: max || null
400
+ };
401
+ }
402
+ }
403
+ ];
404
+ }
405
+ }
406
+ firstUpdated() {
407
+ const params = new URLSearchParams(window.location.search);
408
+ const timeStartParam = params.get("time_start") || this.startDate;
409
+ const timeEndParam = params.get("time_end") || this.endDate;
410
+ if (timeStartParam) {
411
+ this.selectedStart = this.parseLocalDate(timeStartParam);
412
+ this.leftMonth = new Date(this.selectedStart);
413
+ if (this.enableTime) {
414
+ this.initializeTimeFromDate(this.selectedStart, true);
415
+ }
416
+ }
417
+ if (this.range && timeEndParam) {
418
+ this.selectedEnd = this.parseLocalDate(timeEndParam);
419
+ if (this.enableTime) {
420
+ this.initializeTimeFromDate(this.selectedEnd, false);
421
+ }
422
+ if (this.selectedStart && this.selectedEnd) {
423
+ const isSingleMonthRange = this.isSameMonth(
424
+ this.selectedStart,
425
+ this.selectedEnd
426
+ );
427
+ if (isSingleMonthRange) {
428
+ this.rightMonth = new Date(this.selectedStart);
429
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
430
+ } else {
431
+ this.rightMonth = new Date(this.selectedEnd);
432
+ }
433
+ } else if (this.selectedEnd) {
434
+ this.rightMonth = new Date(this.selectedEnd);
435
+ }
436
+ }
437
+ if (this.range && !timeEndParam) {
438
+ this.rightMonth = new Date(this.leftMonth);
439
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
440
+ }
441
+ if (this.inline) {
442
+ this.isOpen = true;
443
+ }
444
+ }
445
+ disconnectedCallback() {
446
+ super.disconnectedCallback();
447
+ }
448
+ handleDropdownShow() {
449
+ this.isOpen = true;
450
+ }
451
+ handleDropdownHide() {
452
+ this.isOpen = false;
453
+ }
454
+ formatDisplayDate(date, isStart = true) {
455
+ if (!date)
456
+ return "";
457
+ const format = this.displayFormat || (this.enableTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
458
+ if (this.enableTime) {
459
+ const year2 = date.getUTCFullYear();
460
+ const month2 = String(date.getUTCMonth() + 1).padStart(2, "0");
461
+ const day2 = String(date.getUTCDate()).padStart(2, "0");
462
+ const hours = String(isStart ? this.startHour : this.endHour).padStart(
463
+ 2,
464
+ "0"
465
+ );
466
+ const minutes = String(
467
+ isStart ? this.startMinute : this.endMinute
468
+ ).padStart(2, "0");
469
+ const seconds = String(
470
+ isStart ? this.startSecond : this.endSecond
471
+ ).padStart(2, "0");
472
+ return format.replace("YYYY", year2.toString()).replace("MM", month2).replace("DD", day2).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
473
+ }
474
+ const year = date.getFullYear();
475
+ const month = String(date.getMonth() + 1).padStart(2, "0");
476
+ const day = String(date.getDate()).padStart(2, "0");
477
+ return format.replace("YYYY", year.toString()).replace("MM", month).replace("DD", day);
478
+ }
479
+ getDisplayValue() {
480
+ if (this.range) {
481
+ if (this.selectedStart && this.selectedEnd) {
482
+ return `${this.formatDisplayDate(this.selectedStart, true)} \u2013 ${this.formatDisplayDate(this.selectedEnd, false)}`;
483
+ } else if (this.selectedStart) {
484
+ return this.formatDisplayDate(this.selectedStart, true);
485
+ }
486
+ return "";
487
+ } else {
488
+ return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
489
+ }
490
+ }
491
+ getStartDateDisplayValue() {
492
+ return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
493
+ }
494
+ getEndDateDisplayValue() {
495
+ return this.selectedEnd ? this.formatDisplayDate(this.selectedEnd, false) : "";
496
+ }
497
+ parseAndFormatDate(dateStr) {
498
+ const trimmed = dateStr.trim();
499
+ if (!trimmed)
500
+ return null;
501
+ const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
502
+ const dateTimePattern = /^\d{4}-\d{2}-\d{2}[T\s]\d{1,2}:\d{2}(:\d{2})?$/;
503
+ let date;
504
+ if (dateOnlyPattern.test(trimmed)) {
505
+ date = this.parseLocalDate(trimmed);
506
+ } else if (this.enableTime && dateTimePattern.test(trimmed)) {
507
+ const [datePart, timePart] = trimmed.split(/[T\s]+/);
508
+ const [year, month, day] = datePart.split("-").map(Number);
509
+ const timeComponents = timePart.split(":").map(Number);
510
+ const hours = timeComponents[0] || 0;
511
+ const minutes = timeComponents[1] || 0;
512
+ const seconds = timeComponents[2] || 0;
513
+ date = new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
514
+ } else {
515
+ date = new Date(trimmed);
516
+ if (!isValid(date)) {
517
+ return null;
518
+ }
519
+ }
520
+ if (!isValid(date)) {
521
+ return null;
522
+ }
523
+ if (this.enableTime) {
524
+ if (dateOnlyPattern.test(trimmed)) {
525
+ return trimmed;
526
+ } else {
527
+ const utcYear = date.getUTCFullYear();
528
+ const utcMonth = date.getUTCMonth() + 1;
529
+ const utcDay = date.getUTCDate();
530
+ const utcHours = date.getUTCHours();
531
+ const utcMinutes = date.getUTCMinutes();
532
+ const utcSeconds = date.getUTCSeconds();
533
+ return `${utcYear}-${String(utcMonth).padStart(2, "0")}-${String(utcDay).padStart(2, "0")}T${String(utcHours).padStart(2, "0")}:${String(utcMinutes).padStart(2, "0")}:${String(utcSeconds).padStart(2, "0")}`;
534
+ }
535
+ } else {
536
+ const year = date.getFullYear();
537
+ const month = date.getMonth() + 1;
538
+ const day = date.getDate();
539
+ return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
540
+ }
541
+ }
542
+ clearInputValidation() {
543
+ const inputs = this.renderRoot.querySelectorAll("terra-input");
544
+ inputs.forEach((input) => {
545
+ input.setCustomValidity("");
546
+ });
547
+ }
548
+ /**
549
+ * Format a date string for display in error messages
550
+ * When time is disabled, only show the date portion (YYYY-MM-DD)
551
+ */
552
+ formatDateForError(dateString) {
553
+ if (!this.enableTime) {
554
+ return dateString.split("T")[0];
555
+ }
556
+ return dateString;
557
+ }
558
+ /**
559
+ * Set validation error on input and emit invalid event
560
+ */
561
+ setInputValidationError(input, message) {
562
+ input.setCustomValidity(message);
563
+ requestAnimationFrame(() => {
564
+ ;
565
+ input.validationErrorMessage = message;
566
+ input.requestUpdate();
567
+ });
568
+ this.emit("terra-date-selection-invalid", {
569
+ detail: { message }
570
+ });
571
+ }
572
+ handleInputBlur(event) {
573
+ const input = event.target;
574
+ const value = input.value || "";
575
+ if (!value.trim()) {
576
+ this.selectedStart = null;
577
+ this.selectedEnd = null;
578
+ input.setCustomValidity("");
579
+ this.emitChange();
580
+ return;
581
+ }
582
+ if (this.range) {
583
+ const normalized = value.replace(/(\d{2})-(\d{4})/, "$1 - $2");
584
+ const parts = normalized.split(/\s*–\s*|\s+-\s+/);
585
+ if (parts.length !== 2) {
586
+ const message = "Date range must be in format: YYYY-MM-DD \u2013 YYYY-MM-DD";
587
+ this.setInputValidationError(input, message);
588
+ return;
589
+ }
590
+ const startFormatted = this.parseAndFormatDate(parts[0]);
591
+ const endFormatted = this.parseAndFormatDate(parts[1]);
592
+ if (!startFormatted) {
593
+ const message = "Invalid start date format";
594
+ this.setInputValidationError(input, message);
595
+ return;
596
+ }
597
+ if (!endFormatted) {
598
+ const message = "Invalid end date format";
599
+ this.setInputValidationError(input, message);
600
+ return;
601
+ }
602
+ let start;
603
+ let end;
604
+ if (this.enableTime && startFormatted.includes("T")) {
605
+ start = new Date(startFormatted);
606
+ this.initializeTimeFromDate(start, true);
607
+ } else if (this.enableTime) {
608
+ const [year, month, day] = startFormatted.split("-").map(Number);
609
+ start = new Date(
610
+ Date.UTC(
611
+ year,
612
+ month - 1,
613
+ day,
614
+ this.startHour,
615
+ this.startMinute,
616
+ this.startSecond
617
+ )
618
+ );
619
+ } else {
620
+ start = this.parseLocalDate(startFormatted);
621
+ }
622
+ if (this.enableTime && endFormatted.includes("T")) {
623
+ end = new Date(endFormatted);
624
+ this.initializeTimeFromDate(end, false);
625
+ } else if (this.enableTime) {
626
+ const [year, month, day] = endFormatted.split("-").map(Number);
627
+ end = new Date(
628
+ Date.UTC(
629
+ year,
630
+ month - 1,
631
+ day,
632
+ this.endHour,
633
+ this.endMinute,
634
+ this.endSecond
635
+ )
636
+ );
637
+ } else {
638
+ end = this.parseLocalDate(endFormatted);
639
+ }
640
+ let finalStart = start;
641
+ let finalEnd = end;
642
+ if (start > end) {
643
+ finalStart = end;
644
+ finalEnd = start;
645
+ }
646
+ if (this.minDate) {
647
+ const min = this.parseLocalDate(this.minDate);
648
+ if (finalStart < min) {
649
+ const message = `Start date must be on or after ${this.formatDateForError(this.minDate)}`;
650
+ this.setInputValidationError(input, message);
651
+ return;
652
+ }
653
+ }
654
+ if (this.maxDate) {
655
+ const max = this.parseLocalDate(this.maxDate);
656
+ if (finalEnd > max) {
657
+ const message = `End date must be on or before ${this.formatDateForError(this.maxDate)}`;
658
+ this.setInputValidationError(input, message);
659
+ return;
660
+ }
661
+ }
662
+ this.selectedStart = finalStart;
663
+ this.selectedEnd = finalEnd;
664
+ this.updateMonthViews();
665
+ input.value = `${startFormatted} - ${endFormatted}`;
666
+ input.setCustomValidity("");
667
+ this.emitChange();
668
+ } else {
669
+ const formatted = this.parseAndFormatDate(value);
670
+ if (!formatted) {
671
+ const message = "Invalid date format";
672
+ this.setInputValidationError(input, message);
673
+ return;
674
+ }
675
+ let date;
676
+ if (this.enableTime && formatted.includes("T")) {
677
+ date = new Date(formatted);
678
+ this.initializeTimeFromDate(date, true);
679
+ } else if (this.enableTime) {
680
+ const [year, month, day] = formatted.split("-").map(Number);
681
+ date = new Date(
682
+ Date.UTC(
683
+ year,
684
+ month - 1,
685
+ day,
686
+ this.startHour,
687
+ this.startMinute,
688
+ this.startSecond
689
+ )
690
+ );
691
+ } else {
692
+ date = this.parseLocalDate(formatted);
693
+ }
694
+ if (this.minDate) {
695
+ const min = this.parseLocalDate(this.minDate);
696
+ if (date < min) {
697
+ const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
698
+ this.setInputValidationError(input, message);
699
+ return;
700
+ }
701
+ }
702
+ if (this.maxDate) {
703
+ const max = this.parseLocalDate(this.maxDate);
704
+ if (date > max) {
705
+ const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
706
+ this.setInputValidationError(input, message);
707
+ return;
708
+ }
709
+ }
710
+ this.selectedStart = date;
711
+ this.selectedEnd = null;
712
+ this.updateMonthViews();
713
+ input.value = formatted;
714
+ input.setCustomValidity("");
715
+ this.emitChange();
716
+ }
717
+ }
718
+ handleStartInputBlur(event) {
719
+ const input = event.target;
720
+ const value = input.value || "";
721
+ if (!value.trim()) {
722
+ this.selectedStart = null;
723
+ input.setCustomValidity("");
724
+ this.emitChange();
725
+ return;
726
+ }
727
+ const formatted = this.parseAndFormatDate(value);
728
+ if (!formatted) {
729
+ const message = "Invalid date format";
730
+ this.setInputValidationError(input, message);
731
+ return;
732
+ }
733
+ let date;
734
+ if (this.enableTime && formatted.includes("T")) {
735
+ date = new Date(formatted);
736
+ this.initializeTimeFromDate(date, true);
737
+ } else if (this.enableTime) {
738
+ const [year, month, day] = formatted.split("-").map(Number);
739
+ date = new Date(
740
+ Date.UTC(
741
+ year,
742
+ month - 1,
743
+ day,
744
+ this.startHour,
745
+ this.startMinute,
746
+ this.startSecond
747
+ )
748
+ );
749
+ } else {
750
+ date = this.parseLocalDate(formatted);
751
+ }
752
+ if (this.minDate) {
753
+ const min = this.parseLocalDate(this.minDate);
754
+ if (date < min) {
755
+ const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
756
+ this.setInputValidationError(input, message);
757
+ return;
758
+ }
759
+ }
760
+ if (this.maxDate) {
761
+ const max = this.parseLocalDate(this.maxDate);
762
+ if (date > max) {
763
+ const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
764
+ this.setInputValidationError(input, message);
765
+ return;
766
+ }
767
+ }
768
+ if (this.selectedEnd && date > this.selectedEnd) {
769
+ const message = "Start date must be before end date";
770
+ this.setInputValidationError(input, message);
771
+ return;
772
+ }
773
+ this.selectedStart = date;
774
+ this.leftMonth = new Date(date);
775
+ input.value = formatted;
776
+ input.setCustomValidity("");
777
+ this.emitChange();
778
+ }
779
+ handleEndInputBlur(event) {
780
+ const input = event.target;
781
+ const value = input.value || "";
782
+ if (!value.trim()) {
783
+ this.selectedEnd = null;
784
+ input.setCustomValidity("");
785
+ this.emitChange();
786
+ return;
787
+ }
788
+ const formatted = this.parseAndFormatDate(value);
789
+ if (!formatted) {
790
+ const message = "Invalid date format";
791
+ this.setInputValidationError(input, message);
792
+ return;
793
+ }
794
+ let date;
795
+ if (this.enableTime && formatted.includes("T")) {
796
+ date = new Date(formatted);
797
+ this.initializeTimeFromDate(date, false);
798
+ } else if (this.enableTime) {
799
+ const [year, month, day] = formatted.split("-").map(Number);
800
+ date = new Date(
801
+ Date.UTC(
802
+ year,
803
+ month - 1,
804
+ day,
805
+ this.endHour,
806
+ this.endMinute,
807
+ this.endSecond
808
+ )
809
+ );
810
+ } else {
811
+ date = this.parseLocalDate(formatted);
812
+ }
813
+ if (this.minDate) {
814
+ const min = this.parseLocalDate(this.minDate);
815
+ if (date < min) {
816
+ const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
817
+ this.setInputValidationError(input, message);
818
+ return;
819
+ }
820
+ }
821
+ if (this.maxDate) {
822
+ const max = this.parseLocalDate(this.maxDate);
823
+ if (date > max) {
824
+ const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
825
+ this.setInputValidationError(input, message);
826
+ return;
827
+ }
828
+ }
829
+ if (this.selectedStart) {
830
+ if (this.enableTime && this.isSameDay(date, this.selectedStart)) {
831
+ const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
832
+ const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
833
+ if (endTimeSeconds < startTimeSeconds) {
834
+ const message = "End time must be after start time when dates are the same";
835
+ this.setInputValidationError(input, message);
836
+ return;
837
+ }
838
+ } else if (date < this.selectedStart) {
839
+ const message = "End date must be after start date";
840
+ this.setInputValidationError(input, message);
841
+ return;
842
+ }
843
+ }
844
+ this.selectedEnd = date;
845
+ if (this.selectedStart && this.isSameMonth(this.selectedStart, this.selectedEnd)) {
846
+ this.rightMonth = new Date(this.selectedStart);
847
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
848
+ } else {
849
+ this.rightMonth = new Date(date);
850
+ }
851
+ input.setCustomValidity("");
852
+ this.emitChange();
853
+ }
854
+ updateMonthViews() {
855
+ if (this.selectedStart) {
856
+ this.leftMonth = new Date(this.selectedStart);
857
+ if (this.range && this.selectedEnd) {
858
+ if (this.isSameMonth(this.selectedStart, this.selectedEnd)) {
859
+ this.rightMonth = new Date(this.selectedStart);
860
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
861
+ } else {
862
+ this.rightMonth = new Date(this.selectedEnd);
863
+ }
864
+ }
865
+ }
866
+ }
867
+ handleKeydown(event) {
868
+ if (event.key === " ") {
869
+ event.stopPropagation();
870
+ return;
871
+ }
872
+ if (event.key === "Enter") {
873
+ event.preventDefault();
874
+ this.handleInputBlur(event);
875
+ }
876
+ }
877
+ previousMonth(isLeft) {
878
+ if (isLeft) {
879
+ const newMonth = new Date(this.leftMonth);
880
+ newMonth.setMonth(newMonth.getMonth() - 1);
881
+ this.leftMonth = newMonth;
882
+ } else {
883
+ const newMonth = new Date(this.rightMonth);
884
+ newMonth.setMonth(newMonth.getMonth() - 1);
885
+ this.rightMonth = newMonth;
886
+ }
887
+ }
888
+ nextMonth(isLeft) {
889
+ if (isLeft) {
890
+ const newMonth = new Date(this.leftMonth);
891
+ newMonth.setMonth(newMonth.getMonth() + 1);
892
+ this.leftMonth = newMonth;
893
+ } else {
894
+ const newMonth = new Date(this.rightMonth);
895
+ newMonth.setMonth(newMonth.getMonth() + 1);
896
+ this.rightMonth = newMonth;
897
+ }
898
+ }
899
+ toggleMonthDropdown(isLeft, event) {
900
+ event.stopPropagation();
901
+ if (isLeft) {
902
+ this.showLeftMonthDropdown = !this.showLeftMonthDropdown;
903
+ this.showRightMonthDropdown = false;
904
+ } else {
905
+ this.showRightMonthDropdown = !this.showRightMonthDropdown;
906
+ this.showLeftMonthDropdown = false;
907
+ }
908
+ }
909
+ selectMonth(month, isLeft) {
910
+ if (isLeft) {
911
+ const newMonth = new Date(this.leftMonth);
912
+ newMonth.setDate(1);
913
+ newMonth.setMonth(month);
914
+ this.leftMonth = newMonth;
915
+ this.showLeftMonthDropdown = false;
916
+ } else {
917
+ const newMonth = new Date(this.rightMonth);
918
+ newMonth.setDate(1);
919
+ newMonth.setMonth(month);
920
+ this.rightMonth = newMonth;
921
+ this.showRightMonthDropdown = false;
922
+ }
923
+ }
924
+ changeYear(delta, isLeft) {
925
+ if (isLeft) {
926
+ const newMonth = new Date(this.leftMonth);
927
+ newMonth.setFullYear(newMonth.getFullYear() + delta);
928
+ this.leftMonth = newMonth;
929
+ } else {
930
+ const newMonth = new Date(this.rightMonth);
931
+ newMonth.setFullYear(newMonth.getFullYear() + delta);
932
+ this.rightMonth = newMonth;
933
+ }
934
+ }
935
+ handleYearInput(event, isLeft) {
936
+ const input = event.target;
937
+ const year = parseInt(input.value, 10);
938
+ if (!isNaN(year) && year >= 1900 && year <= 2100) {
939
+ if (isLeft) {
940
+ const newMonth = new Date(this.leftMonth);
941
+ newMonth.setFullYear(year);
942
+ this.leftMonth = newMonth;
943
+ } else {
944
+ const newMonth = new Date(this.rightMonth);
945
+ newMonth.setFullYear(year);
946
+ this.rightMonth = newMonth;
947
+ }
948
+ }
949
+ }
950
+ getDaysInMonth(date) {
951
+ const year = date.getFullYear();
952
+ const month = date.getMonth();
953
+ const createDate = (y, m, d) => {
954
+ if (this.enableTime) {
955
+ return new Date(Date.UTC(y, m, d, 0, 0, 0));
956
+ }
957
+ return new Date(y, m, d);
958
+ };
959
+ const firstDay = createDate(year, month, 1);
960
+ const lastDay = new Date(year, month + 1, 0);
961
+ const days = [];
962
+ const firstDayOfWeek = this.enableTime ? firstDay.getUTCDay() : firstDay.getDay();
963
+ for (let i = firstDayOfWeek - 1; i >= 0; i--) {
964
+ const day = createDate(year, month, -i);
965
+ days.push(day);
966
+ }
967
+ for (let i = 1; i <= lastDay.getDate(); i++) {
968
+ days.push(createDate(year, month, i));
969
+ }
970
+ const remainingDays = 7 - days.length % 7;
971
+ if (remainingDays < 7) {
972
+ for (let i = 1; i <= remainingDays; i++) {
973
+ days.push(createDate(year, month + 1, i));
974
+ }
975
+ }
976
+ return days;
977
+ }
978
+ isSameDay(date1, date2) {
979
+ if (!date1 || !date2)
980
+ return false;
981
+ if (this.enableTime) {
982
+ return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth() && date1.getUTCDate() === date2.getUTCDate();
983
+ }
984
+ return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
985
+ }
986
+ isInRange(date) {
987
+ if (!this.selectedStart || !this.selectedEnd)
988
+ return false;
989
+ const time = date.getTime();
990
+ return time >= this.selectedStart.getTime() && time <= this.selectedEnd.getTime();
991
+ }
992
+ isInHoverRange(date) {
993
+ if (!this.range || !this.selectedStart || !this.hoverDate || this.selectedEnd)
994
+ return false;
995
+ const time = date.getTime();
996
+ const start = Math.min(this.selectedStart.getTime(), this.hoverDate.getTime());
997
+ const end = Math.max(this.selectedStart.getTime(), this.hoverDate.getTime());
998
+ return time >= start && time <= end;
999
+ }
1000
+ isDisabled(date) {
1001
+ if (this.minDate) {
1002
+ const min = this.parseLocalDate(this.minDate);
1003
+ const minMidnight = new Date(
1004
+ Date.UTC(min.getUTCFullYear(), min.getUTCMonth(), min.getUTCDate())
1005
+ );
1006
+ const dateMidnight = new Date(
1007
+ Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1008
+ );
1009
+ if (dateMidnight < minMidnight)
1010
+ return true;
1011
+ }
1012
+ if (this.maxDate) {
1013
+ const max = this.parseLocalDate(this.maxDate);
1014
+ const maxMidnight = new Date(
1015
+ Date.UTC(max.getUTCFullYear(), max.getUTCMonth(), max.getUTCDate())
1016
+ );
1017
+ const dateMidnight = new Date(
1018
+ Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1019
+ );
1020
+ if (dateMidnight > maxMidnight)
1021
+ return true;
1022
+ }
1023
+ return false;
1024
+ }
1025
+ selectDate(date) {
1026
+ if (this.isDisabled(date)) {
1027
+ this.emit("terra-date-selection-invalid", {
1028
+ detail: {
1029
+ message: `You are not allowed to select dates outside ${this.minDate} to ${this.maxDate}.`
1030
+ }
1031
+ });
1032
+ return;
1033
+ }
1034
+ this.clearInputValidation();
1035
+ if (this.range) {
1036
+ if (!this.selectedStart || this.selectedEnd) {
1037
+ this.selectedStart = date;
1038
+ this.selectedEnd = null;
1039
+ this.isSelectingRange = true;
1040
+ } else {
1041
+ if (date < this.selectedStart) {
1042
+ this.selectedEnd = this.selectedStart;
1043
+ this.selectedStart = date;
1044
+ } else {
1045
+ this.selectedEnd = date;
1046
+ }
1047
+ this.isSelectingRange = false;
1048
+ if (this.enableTime && this.selectedStart && this.selectedEnd && this.isSameDay(this.selectedStart, this.selectedEnd)) {
1049
+ const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1050
+ const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1051
+ if (endTimeSeconds < startTimeSeconds) {
1052
+ this.emit("terra-date-selection-invalid", {
1053
+ detail: {
1054
+ message: "End time is before start time. Please adjust the time values."
1055
+ }
1056
+ });
1057
+ }
1058
+ }
1059
+ this.emitChange();
1060
+ if (!this.inline) {
1061
+ this.isOpen = false;
1062
+ }
1063
+ }
1064
+ } else {
1065
+ this.selectedStart = date;
1066
+ this.selectedEnd = null;
1067
+ this.emitChange();
1068
+ if (!this.inline) {
1069
+ this.isOpen = false;
1070
+ }
1071
+ }
1072
+ }
1073
+ handleDateHover(date) {
1074
+ if (this.range && this.selectedStart && !this.selectedEnd) {
1075
+ this.hoverDate = date;
1076
+ }
1077
+ }
1078
+ selectPreset(preset) {
1079
+ const { startDate, endDate } = preset.getValue();
1080
+ if (!this.isPresetWithinBounds({ startDate, endDate })) {
1081
+ this.emit("terra-date-selection-invalid", {
1082
+ detail: {
1083
+ message: `The preset "${preset.label}" is not available within the allowed date range ${this.minDate} to ${this.maxDate}.`
1084
+ }
1085
+ });
1086
+ return;
1087
+ }
1088
+ this.clearInputValidation();
1089
+ const { min, max } = this.getBounds();
1090
+ if (this.range) {
1091
+ let s = startDate;
1092
+ let e3 = endDate;
1093
+ if (s && min && s < min)
1094
+ s = new Date(min);
1095
+ if (s && max && s > max)
1096
+ s = new Date(max);
1097
+ if (e3 && min && e3 < min)
1098
+ e3 = new Date(min);
1099
+ if (e3 && max && e3 > max)
1100
+ e3 = new Date(max);
1101
+ if (s && e3 && e3 < s) {
1102
+ const tmp = s;
1103
+ s = e3;
1104
+ e3 = tmp;
1105
+ }
1106
+ this.selectedStart = s;
1107
+ this.selectedEnd = e3;
1108
+ } else {
1109
+ let s = startDate;
1110
+ if (s && min && s < min)
1111
+ s = new Date(min);
1112
+ if (s && max && s > max)
1113
+ s = new Date(max);
1114
+ this.selectedStart = s;
1115
+ this.selectedEnd = null;
1116
+ }
1117
+ if (this.selectedStart) {
1118
+ this.leftMonth = new Date(this.selectedStart);
1119
+ if (this.range && this.selectedEnd) {
1120
+ this.rightMonth = new Date(this.selectedEnd);
1121
+ }
1122
+ }
1123
+ this.emitChange();
1124
+ if (!this.range && !this.inline) {
1125
+ this.isOpen = false;
1126
+ }
1127
+ }
1128
+ emitChange() {
1129
+ let startDateTime = "";
1130
+ let endDateTime = "";
1131
+ if (this.selectedStart) {
1132
+ if (this.enableTime) {
1133
+ const startDate = new Date(this.selectedStart);
1134
+ startDate.setUTCHours(
1135
+ this.startHour,
1136
+ this.startMinute,
1137
+ this.startSecond,
1138
+ 0
1139
+ );
1140
+ startDateTime = startDate.toISOString();
1141
+ } else {
1142
+ const year = this.selectedStart.getFullYear();
1143
+ const month = String(this.selectedStart.getMonth() + 1).padStart(
1144
+ 2,
1145
+ "0"
1146
+ );
1147
+ const day = String(this.selectedStart.getDate()).padStart(2, "0");
1148
+ startDateTime = `${year}-${month}-${day}`;
1149
+ }
1150
+ }
1151
+ if (this.selectedEnd) {
1152
+ if (this.enableTime) {
1153
+ const endDate = new Date(this.selectedEnd);
1154
+ endDate.setUTCHours(this.endHour, this.endMinute, this.endSecond, 0);
1155
+ endDateTime = endDate.toISOString();
1156
+ } else {
1157
+ const year = this.selectedEnd.getFullYear();
1158
+ const month = String(this.selectedEnd.getMonth() + 1).padStart(2, "0");
1159
+ const day = String(this.selectedEnd.getDate()).padStart(2, "0");
1160
+ endDateTime = `${year}-${month}-${day}`;
1161
+ }
1162
+ }
1163
+ this.emit("terra-date-range-change", {
1164
+ detail: {
1165
+ startDate: startDateTime,
1166
+ endDate: endDateTime
1167
+ }
1168
+ });
1169
+ }
1170
+ initializeTimeFromDate(date, isStart) {
1171
+ const hours = date.getUTCHours();
1172
+ const minutes = date.getUTCMinutes();
1173
+ const seconds = date.getUTCSeconds();
1174
+ if (isStart) {
1175
+ this.startHour = hours;
1176
+ this.startMinute = minutes;
1177
+ this.startSecond = seconds;
1178
+ } else {
1179
+ this.endHour = hours;
1180
+ this.endMinute = minutes;
1181
+ this.endSecond = seconds;
1182
+ }
1183
+ }
1184
+ changeTime(type, delta, isStart) {
1185
+ if (type === "hour") {
1186
+ if (isStart) {
1187
+ let newHour = this.startHour + delta;
1188
+ if (newHour > 23)
1189
+ newHour = 0;
1190
+ if (newHour < 0)
1191
+ newHour = 23;
1192
+ this.startHour = newHour;
1193
+ } else {
1194
+ let newHour = this.endHour + delta;
1195
+ if (newHour > 23)
1196
+ newHour = 0;
1197
+ if (newHour < 0)
1198
+ newHour = 23;
1199
+ this.endHour = newHour;
1200
+ }
1201
+ } else if (type === "minute") {
1202
+ if (isStart) {
1203
+ let newMinute = this.startMinute + delta;
1204
+ if (newMinute >= 60)
1205
+ newMinute = 0;
1206
+ if (newMinute < 0)
1207
+ newMinute = 59;
1208
+ this.startMinute = newMinute;
1209
+ } else {
1210
+ let newMinute = this.endMinute + delta;
1211
+ if (newMinute >= 60)
1212
+ newMinute = 0;
1213
+ if (newMinute < 0)
1214
+ newMinute = 59;
1215
+ this.endMinute = newMinute;
1216
+ }
1217
+ } else {
1218
+ if (isStart) {
1219
+ let newSecond = this.startSecond + delta;
1220
+ if (newSecond >= 60)
1221
+ newSecond = 0;
1222
+ if (newSecond < 0)
1223
+ newSecond = 59;
1224
+ this.startSecond = newSecond;
1225
+ } else {
1226
+ let newSecond = this.endSecond + delta;
1227
+ if (newSecond >= 60)
1228
+ newSecond = 0;
1229
+ if (newSecond < 0)
1230
+ newSecond = 59;
1231
+ this.endSecond = newSecond;
1232
+ }
1233
+ }
1234
+ this.emitChange();
1235
+ this.requestUpdate();
1236
+ }
1237
+ handleTimeInput(event, type, isStart) {
1238
+ const input = event.target;
1239
+ let value = parseInt(input.value, 10);
1240
+ if (type === "hour") {
1241
+ if (isNaN(value) || value < 0 || value > 23) {
1242
+ input.value = isStart ? this.startHour.toString().padStart(2, "0") : this.endHour.toString().padStart(2, "0");
1243
+ return;
1244
+ }
1245
+ if (isStart)
1246
+ this.startHour = value;
1247
+ else
1248
+ this.endHour = value;
1249
+ } else if (type === "minute") {
1250
+ if (isNaN(value) || value < 0 || value >= 60) {
1251
+ input.value = isStart ? this.startMinute.toString().padStart(2, "0") : this.endMinute.toString().padStart(2, "0");
1252
+ return;
1253
+ }
1254
+ if (isStart)
1255
+ this.startMinute = value;
1256
+ else
1257
+ this.endMinute = value;
1258
+ } else {
1259
+ if (isNaN(value) || value < 0 || value >= 60) {
1260
+ input.value = isStart ? this.startSecond.toString().padStart(2, "0") : this.endSecond.toString().padStart(2, "0");
1261
+ return;
1262
+ }
1263
+ if (isStart)
1264
+ this.startSecond = value;
1265
+ else
1266
+ this.endSecond = value;
1267
+ }
1268
+ this.emitChange();
1269
+ this.requestUpdate();
1270
+ }
1271
+ renderCalendar(month, isLeft = true) {
1272
+ const days = this.getDaysInMonth(month);
1273
+ const currentMonth = month.getMonth();
1274
+ const showDropdown = isLeft ? this.showLeftMonthDropdown : this.showRightMonthDropdown;
1275
+ return b`
1276
+ <div class="calendar">
1277
+ <div class="calendar__header">
1278
+ <button
1279
+ type="button"
1280
+ class="calendar__nav"
1281
+ @click=${() => this.previousMonth(isLeft)}
1282
+ >
1283
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1284
+ <path
1285
+ d="M10 12L6 8L10 4"
1286
+ stroke="currentColor"
1287
+ stroke-width="2"
1288
+ stroke-linecap="round"
1289
+ stroke-linejoin="round"
1290
+ />
1291
+ </svg>
1292
+ </button>
1293
+
1294
+ <div class="calendar__month-year">
1295
+ <div class="calendar__month-dropdown-wrapper">
1296
+ <button
1297
+ type="button"
1298
+ class="calendar__month-button"
1299
+ @click=${(e3) => this.toggleMonthDropdown(isLeft, e3)}
1300
+ >
1301
+ ${this.MONTHS[month.getMonth()]}
1302
+ <svg
1303
+ width="12"
1304
+ height="12"
1305
+ viewBox="0 0 12 12"
1306
+ fill="none"
1307
+ class="calendar__month-icon"
1308
+ >
1309
+ <path
1310
+ d="M3 5L6 8L9 5"
1311
+ stroke="currentColor"
1312
+ stroke-width="1.5"
1313
+ stroke-linecap="round"
1314
+ stroke-linejoin="round"
1315
+ />
1316
+ </svg>
1317
+ </button>
1318
+
1319
+ ${showDropdown ? b`
1320
+ <div class="calendar__month-dropdown">
1321
+ ${this.MONTHS.map(
1322
+ (monthName, index) => b`
1323
+ <button
1324
+ type="button"
1325
+ class="calendar__month-option ${index === month.getMonth() ? "calendar__month-option--selected" : ""}"
1326
+ @click=${() => this.selectMonth(
1327
+ index,
1328
+ isLeft
1329
+ )}
1330
+ >
1331
+ ${index === month.getMonth() ? b`
1332
+ <svg
1333
+ width="16"
1334
+ height="16"
1335
+ viewBox="0 0 16 16"
1336
+ fill="none"
1337
+ class="calendar__month-check"
1338
+ >
1339
+ <path
1340
+ d="M13 4L6 11L3 8"
1341
+ stroke="currentColor"
1342
+ stroke-width="2"
1343
+ stroke-linecap="round"
1344
+ stroke-linejoin="round"
1345
+ />
1346
+ </svg>
1347
+ ` : ""}
1348
+ ${monthName}
1349
+ </button>
1350
+ `
1351
+ )}
1352
+ </div>
1353
+ ` : ""}
1354
+ </div>
1355
+
1356
+ <div class="calendar__year-input-wrapper">
1357
+ <input
1358
+ type="number"
1359
+ class="calendar__year-input"
1360
+ .value=${month.getFullYear().toString()}
1361
+ @input=${(e3) => this.handleYearInput(e3, isLeft)}
1362
+ @blur=${(e3) => {
1363
+ const input = e3.target;
1364
+ input.value = month.getFullYear().toString();
1365
+ }}
1366
+ min="1900"
1367
+ max="2100"
1368
+ />
1369
+ <div class="calendar__year-spinners">
1370
+ <button
1371
+ type="button"
1372
+ class="calendar__year-spinner calendar__year-spinner--up"
1373
+ @click=${() => this.changeYear(1, isLeft)}
1374
+ >
1375
+ <svg
1376
+ width="10"
1377
+ height="10"
1378
+ viewBox="0 0 10 10"
1379
+ fill="none"
1380
+ >
1381
+ <path
1382
+ d="M2 6L5 3L8 6"
1383
+ stroke="currentColor"
1384
+ stroke-width="1.5"
1385
+ stroke-linecap="round"
1386
+ stroke-linejoin="round"
1387
+ />
1388
+ </svg>
1389
+ </button>
1390
+ <button
1391
+ type="button"
1392
+ class="calendar__year-spinner calendar__year-spinner--down"
1393
+ @click=${() => this.changeYear(-1, isLeft)}
1394
+ >
1395
+ <svg
1396
+ width="10"
1397
+ height="10"
1398
+ viewBox="0 0 10 10"
1399
+ fill="none"
1400
+ >
1401
+ <path
1402
+ d="M2 4L5 7L8 4"
1403
+ stroke="currentColor"
1404
+ stroke-width="1.5"
1405
+ stroke-linecap="round"
1406
+ stroke-linejoin="round"
1407
+ />
1408
+ </svg>
1409
+ </button>
1410
+ </div>
1411
+ </div>
1412
+ </div>
1413
+
1414
+ <button
1415
+ type="button"
1416
+ class="calendar__nav"
1417
+ @click=${() => this.nextMonth(isLeft)}
1418
+ >
1419
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1420
+ <path
1421
+ d="M6 12L10 8L6 4"
1422
+ stroke="currentColor"
1423
+ stroke-width="2"
1424
+ stroke-linecap="round"
1425
+ stroke-linejoin="round"
1426
+ />
1427
+ </svg>
1428
+ </button>
1429
+ </div>
1430
+ <div class="calendar__weekdays">
1431
+ ${this.DAYS.map(
1432
+ (day) => b`<div class="calendar__weekday">${day}</div>`
1433
+ )}
1434
+ </div>
1435
+ <div class="calendar__days">
1436
+ ${days.map((date) => {
1437
+ const dateMonth = this.enableTime ? date.getUTCMonth() : date.getMonth();
1438
+ const dateDay = this.enableTime ? date.getUTCDate() : date.getDate();
1439
+ const isCurrentMonth = dateMonth === currentMonth;
1440
+ const isSelected = this.isSameDay(date, this.selectedStart) || this.isSameDay(date, this.selectedEnd);
1441
+ const isStart = this.isSameDay(date, this.selectedStart);
1442
+ const isEnd = this.isSameDay(date, this.selectedEnd);
1443
+ const inRange = this.isInRange(date);
1444
+ const inHoverRange = this.isInHoverRange(date);
1445
+ const isDisabled = this.isDisabled(date);
1446
+ return b`
1447
+ <button
1448
+ type="button"
1449
+ class="calendar__day ${!isCurrentMonth ? "calendar__day--outside" : ""}
1450
+ ${isSelected ? "calendar__day--selected" : ""}
1451
+ ${isStart ? "calendar__day--start" : ""}
1452
+ ${isEnd ? "calendar__day--end" : ""}
1453
+ ${inRange ? "calendar__day--in-range" : ""}
1454
+ ${inHoverRange ? "calendar__day--hover-range" : ""}
1455
+ ${isDisabled ? "calendar__day--disabled" : ""}"
1456
+ @click=${() => this.selectDate(date)}
1457
+ @mouseenter=${() => this.handleDateHover(date)}
1458
+ ?disabled=${isDisabled}
1459
+ >
1460
+ ${dateDay}
1461
+ </button>
1462
+ `;
1463
+ })}
1464
+ </div>
1465
+ </div>
1466
+ `;
1467
+ }
1468
+ renderTimePicker() {
1469
+ if (!this.enableTime)
1470
+ return "";
1471
+ return b`
1472
+ <div class="date-picker__time">
1473
+ <div class="date-picker__time-section">
1474
+ <div class="date-picker__time-inputs">
1475
+ <div class="date-picker__time-input-group">
1476
+ <input
1477
+ type="number"
1478
+ class="date-picker__time-input"
1479
+ .value=${this.startHour.toString().padStart(2, "0")}
1480
+ @input=${(e3) => this.handleTimeInput(e3, "hour", true)}
1481
+ @blur=${(e3) => {
1482
+ const input = e3.target;
1483
+ input.value = this.startHour.toString().padStart(2, "0");
1484
+ }}
1485
+ min="0"
1486
+ max="23"
1487
+ />
1488
+ <div class="date-picker__time-spinners">
1489
+ <button
1490
+ type="button"
1491
+ class="date-picker__time-spinner"
1492
+ @click=${() => this.changeTime("hour", 1, true)}
1493
+ >
1494
+ <svg
1495
+ width="10"
1496
+ height="10"
1497
+ viewBox="0 0 10 10"
1498
+ fill="none"
1499
+ >
1500
+ <path
1501
+ d="M2 6L5 3L8 6"
1502
+ stroke="currentColor"
1503
+ stroke-width="1.5"
1504
+ stroke-linecap="round"
1505
+ stroke-linejoin="round"
1506
+ />
1507
+ </svg>
1508
+ </button>
1509
+ <button
1510
+ type="button"
1511
+ class="date-picker__time-spinner"
1512
+ @click=${() => this.changeTime("hour", -1, true)}
1513
+ >
1514
+ <svg
1515
+ width="10"
1516
+ height="10"
1517
+ viewBox="0 0 10 10"
1518
+ fill="none"
1519
+ >
1520
+ <path
1521
+ d="M2 4L5 7L8 4"
1522
+ stroke="currentColor"
1523
+ stroke-width="1.5"
1524
+ stroke-linecap="round"
1525
+ stroke-linejoin="round"
1526
+ />
1527
+ </svg>
1528
+ </button>
1529
+ </div>
1530
+ </div>
1531
+
1532
+ <span class="date-picker__time-separator">:</span>
1533
+
1534
+ <div class="date-picker__time-input-group">
1535
+ <input
1536
+ type="number"
1537
+ class="date-picker__time-input"
1538
+ .value=${this.startMinute.toString().padStart(2, "0")}
1539
+ @input=${(e3) => this.handleTimeInput(e3, "minute", true)}
1540
+ @blur=${(e3) => {
1541
+ const input = e3.target;
1542
+ input.value = this.startMinute.toString().padStart(2, "0");
1543
+ }}
1544
+ min="0"
1545
+ max="59"
1546
+ />
1547
+ <div class="date-picker__time-spinners">
1548
+ <button
1549
+ type="button"
1550
+ class="date-picker__time-spinner"
1551
+ @click=${() => this.changeTime("minute", 1, true)}
1552
+ >
1553
+ <svg
1554
+ width="10"
1555
+ height="10"
1556
+ viewBox="0 0 10 10"
1557
+ fill="none"
1558
+ >
1559
+ <path
1560
+ d="M2 6L5 3L8 6"
1561
+ stroke="currentColor"
1562
+ stroke-width="1.5"
1563
+ stroke-linecap="round"
1564
+ stroke-linejoin="round"
1565
+ />
1566
+ </svg>
1567
+ </button>
1568
+ <button
1569
+ type="button"
1570
+ class="date-picker__time-spinner"
1571
+ @click=${() => this.changeTime("minute", -1, true)}
1572
+ >
1573
+ <svg
1574
+ width="10"
1575
+ height="10"
1576
+ viewBox="0 0 10 10"
1577
+ fill="none"
1578
+ >
1579
+ <path
1580
+ d="M2 4L5 7L8 4"
1581
+ stroke="currentColor"
1582
+ stroke-width="1.5"
1583
+ stroke-linecap="round"
1584
+ stroke-linejoin="round"
1585
+ />
1586
+ </svg>
1587
+ </button>
1588
+ </div>
1589
+ </div>
1590
+
1591
+ <span class="date-picker__time-separator">:</span>
1592
+
1593
+ <div class="date-picker__time-input-group">
1594
+ <input
1595
+ type="number"
1596
+ class="date-picker__time-input"
1597
+ .value=${this.startSecond.toString().padStart(2, "0")}
1598
+ @input=${(e3) => this.handleTimeInput(e3, "second", true)}
1599
+ @blur=${(e3) => {
1600
+ const input = e3.target;
1601
+ input.value = this.startSecond.toString().padStart(2, "0");
1602
+ }}
1603
+ min="0"
1604
+ max="59"
1605
+ />
1606
+ <div class="date-picker__time-spinners">
1607
+ <button
1608
+ type="button"
1609
+ class="date-picker__time-spinner"
1610
+ @click=${() => this.changeTime("second", 1, true)}
1611
+ >
1612
+ <svg
1613
+ width="10"
1614
+ height="10"
1615
+ viewBox="0 0 10 10"
1616
+ fill="none"
1617
+ >
1618
+ <path
1619
+ d="M2 6L5 3L8 6"
1620
+ stroke="currentColor"
1621
+ stroke-width="1.5"
1622
+ stroke-linecap="round"
1623
+ stroke-linejoin="round"
1624
+ />
1625
+ </svg>
1626
+ </button>
1627
+ <button
1628
+ type="button"
1629
+ class="date-picker__time-spinner"
1630
+ @click=${() => this.changeTime("second", -1, true)}
1631
+ >
1632
+ <svg
1633
+ width="10"
1634
+ height="10"
1635
+ viewBox="0 0 10 10"
1636
+ fill="none"
1637
+ >
1638
+ <path
1639
+ d="M2 4L5 7L8 4"
1640
+ stroke="currentColor"
1641
+ stroke-width="1.5"
1642
+ stroke-linecap="round"
1643
+ stroke-linejoin="round"
1644
+ />
1645
+ </svg>
1646
+ </button>
1647
+ </div>
1648
+ </div>
1649
+ </div>
1650
+ </div>
1651
+
1652
+ ${this.range ? b`
1653
+ <span class="date-picker__separator">–</span>
1654
+
1655
+ <div class="date-picker__time-section">
1656
+ <div class="date-picker__time-inputs">
1657
+ <div class="date-picker__time-input-group">
1658
+ <input
1659
+ type="number"
1660
+ class="date-picker__time-input"
1661
+ .value=${this.endHour.toString().padStart(2, "0")}
1662
+ @input=${(e3) => this.handleTimeInput(e3, "hour", false)}
1663
+ @blur=${(e3) => {
1664
+ const input = e3.target;
1665
+ input.value = this.endHour.toString().padStart(2, "0");
1666
+ }}
1667
+ min="0"
1668
+ max="23"
1669
+ />
1670
+ <div class="date-picker__time-spinners">
1671
+ <button
1672
+ type="button"
1673
+ class="date-picker__time-spinner"
1674
+ @click=${() => this.changeTime("hour", 1, false)}
1675
+ >
1676
+ <svg
1677
+ width="10"
1678
+ height="10"
1679
+ viewBox="0 0 10 10"
1680
+ fill="none"
1681
+ >
1682
+ <path
1683
+ d="M2 6L5 3L8 6"
1684
+ stroke="currentColor"
1685
+ stroke-width="1.5"
1686
+ stroke-linecap="round"
1687
+ stroke-linejoin="round"
1688
+ />
1689
+ </svg>
1690
+ </button>
1691
+ <button
1692
+ type="button"
1693
+ class="date-picker__time-spinner"
1694
+ @click=${() => this.changeTime("hour", -1, false)}
1695
+ >
1696
+ <svg
1697
+ width="10"
1698
+ height="10"
1699
+ viewBox="0 0 10 10"
1700
+ fill="none"
1701
+ >
1702
+ <path
1703
+ d="M2 4L5 7L8 4"
1704
+ stroke="currentColor"
1705
+ stroke-width="1.5"
1706
+ stroke-linecap="round"
1707
+ stroke-linejoin="round"
1708
+ />
1709
+ </svg>
1710
+ </button>
1711
+ </div>
1712
+ </div>
1713
+
1714
+ <span class="date-picker__time-separator">:</span>
1715
+
1716
+ <div class="date-picker__time-input-group">
1717
+ <input
1718
+ type="number"
1719
+ class="date-picker__time-input"
1720
+ .value=${this.endMinute.toString().padStart(2, "0")}
1721
+ @input=${(e3) => this.handleTimeInput(
1722
+ e3,
1723
+ "minute",
1724
+ false
1725
+ )}
1726
+ @blur=${(e3) => {
1727
+ const input = e3.target;
1728
+ input.value = this.endMinute.toString().padStart(2, "0");
1729
+ }}
1730
+ min="0"
1731
+ max="59"
1732
+ />
1733
+ <div class="date-picker__time-spinners">
1734
+ <button
1735
+ type="button"
1736
+ class="date-picker__time-spinner"
1737
+ @click=${() => this.changeTime("minute", 1, false)}
1738
+ >
1739
+ <svg
1740
+ width="10"
1741
+ height="10"
1742
+ viewBox="0 0 10 10"
1743
+ fill="none"
1744
+ >
1745
+ <path
1746
+ d="M2 6L5 3L8 6"
1747
+ stroke="currentColor"
1748
+ stroke-width="1.5"
1749
+ stroke-linecap="round"
1750
+ stroke-linejoin="round"
1751
+ />
1752
+ </svg>
1753
+ </button>
1754
+ <button
1755
+ type="button"
1756
+ class="date-picker__time-spinner"
1757
+ @click=${() => this.changeTime(
1758
+ "minute",
1759
+ -1,
1760
+ false
1761
+ )}
1762
+ >
1763
+ <svg
1764
+ width="10"
1765
+ height="10"
1766
+ viewBox="0 0 10 10"
1767
+ fill="none"
1768
+ >
1769
+ <path
1770
+ d="M2 4L5 7L8 4"
1771
+ stroke="currentColor"
1772
+ stroke-width="1.5"
1773
+ stroke-linecap="round"
1774
+ stroke-linejoin="round"
1775
+ />
1776
+ </svg>
1777
+ </button>
1778
+ </div>
1779
+ </div>
1780
+
1781
+ <span class="date-picker__time-separator">:</span>
1782
+
1783
+ <div class="date-picker__time-input-group">
1784
+ <input
1785
+ type="number"
1786
+ class="date-picker__time-input"
1787
+ .value=${this.endSecond.toString().padStart(2, "0")}
1788
+ @input=${(e3) => this.handleTimeInput(
1789
+ e3,
1790
+ "second",
1791
+ false
1792
+ )}
1793
+ @blur=${(e3) => {
1794
+ const input = e3.target;
1795
+ input.value = this.endSecond.toString().padStart(2, "0");
1796
+ }}
1797
+ min="0"
1798
+ max="59"
1799
+ />
1800
+ <div class="date-picker__time-spinners">
1801
+ <button
1802
+ type="button"
1803
+ class="date-picker__time-spinner"
1804
+ @click=${() => this.changeTime("second", 1, false)}
1805
+ >
1806
+ <svg
1807
+ width="10"
1808
+ height="10"
1809
+ viewBox="0 0 10 10"
1810
+ fill="none"
1811
+ >
1812
+ <path
1813
+ d="M2 6L5 3L8 6"
1814
+ stroke="currentColor"
1815
+ stroke-width="1.5"
1816
+ stroke-linecap="round"
1817
+ stroke-linejoin="round"
1818
+ />
1819
+ </svg>
1820
+ </button>
1821
+ <button
1822
+ type="button"
1823
+ class="date-picker__time-spinner"
1824
+ @click=${() => this.changeTime(
1825
+ "second",
1826
+ -1,
1827
+ false
1828
+ )}
1829
+ >
1830
+ <svg
1831
+ width="10"
1832
+ height="10"
1833
+ viewBox="0 0 10 10"
1834
+ fill="none"
1835
+ >
1836
+ <path
1837
+ d="M2 4L5 7L8 4"
1838
+ stroke="currentColor"
1839
+ stroke-width="1.5"
1840
+ stroke-linecap="round"
1841
+ stroke-linejoin="round"
1842
+ />
1843
+ </svg>
1844
+ </button>
1845
+ </div>
1846
+ </div>
1847
+ </div>
1848
+ </div>
1849
+ ` : ""}
1850
+ </div>
1851
+ `;
1852
+ }
1853
+ renderCalendarIcon() {
1854
+ return b`
1855
+ <svg
1856
+ slot="suffix"
1857
+ class="date-picker__icon"
1858
+ width="20"
1859
+ height="20"
1860
+ viewBox="0 0 24 24"
1861
+ fill="none"
1862
+ stroke="currentColor"
1863
+ stroke-width="2"
1864
+ >
1865
+ <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
1866
+ <line x1="16" y1="2" x2="16" y2="6"></line>
1867
+ <line x1="8" y1="2" x2="8" y2="6"></line>
1868
+ <line x1="3" y1="10" x2="21" y2="10"></line>
1869
+ </svg>
1870
+ `;
1871
+ }
1872
+ renderCalendarContent() {
1873
+ return b`
1874
+ <div class="date-picker__dropdown" part="calendar">
1875
+ ${this.showClose ? b`
1876
+ <div class="dropdown-header">
1877
+ <button
1878
+ class="date-picker__close-btn"
1879
+ @click=${(e3) => {
1880
+ e3.stopPropagation();
1881
+ this.close();
1882
+ }}
1883
+ aria-label="Close"
1884
+ >
1885
+
1886
+ </button>
1887
+ </div>
1888
+ ` : A}
1889
+ <div class="date-picker__content">
1890
+ ${this.showPresets && this.filteredPresets.length > 0 ? b`
1891
+ <div class="date-picker__sidebar" part="sidebar">
1892
+ <slot name="sidebar-header"></slot>
1893
+
1894
+ <div class="presets">
1895
+ ${this.filteredPresets.map(
1896
+ (preset) => b`
1897
+ <button
1898
+ type="button"
1899
+ class="date-picker__preset"
1900
+ @click=${() => this.selectPreset(preset)}
1901
+ >
1902
+ ${preset.label}
1903
+ </button>
1904
+ `
1905
+ )}
1906
+ </div>
1907
+
1908
+ <slot name="sidebar-footer">
1909
+ <terra-button
1910
+ outline
1911
+ variant="default"
1912
+ size="small"
1913
+ @click=${() => this.clear()}
1914
+ >
1915
+ ${this.clearAllLabel}
1916
+ </terra-button>
1917
+ </slot>
1918
+ </div>
1919
+ ` : ""}
1920
+
1921
+ <div class="date-picker__calendars">
1922
+ ${this.renderCalendar(this.leftMonth, true)}
1923
+ ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
1924
+ </div>
1925
+ </div>
1926
+
1927
+ ${this.enableTime ? this.renderTimePicker() : ""}
1928
+ </div>
1929
+ `;
1930
+ }
1931
+ render() {
1932
+ const showSplitInputs = this.range && this.splitInputs;
1933
+ if (this.inline) {
1934
+ return b`
1935
+ <div
1936
+ class="date-picker date-picker--inline ${showSplitInputs ? "date-picker--split-inputs" : ""}"
1937
+ @click=${(e3) => e3.stopPropagation()}
1938
+ >
1939
+ ${showSplitInputs ? b`
1940
+ <div class="date-picker__inputs">
1941
+ <terra-input
1942
+ .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
1943
+ .hideLabel=${this.hideLabel}
1944
+ .helpText=${this.startHelpText || this.helpText}
1945
+ .value=${this.getStartDateDisplayValue()}
1946
+ @terra-blur=${this.handleStartInputBlur}
1947
+ @keydown=${this.handleKeydown}
1948
+ placeholder=${this.startPlaceholder}
1949
+ name="start-date"
1950
+ >
1951
+ ${this.renderCalendarIcon()}
1952
+ </terra-input>
1953
+ <terra-input
1954
+ .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
1955
+ .hideLabel=${this.hideLabel}
1956
+ .helpText=${this.endHelpText || this.helpText}
1957
+ .value=${this.getEndDateDisplayValue()}
1958
+ @terra-blur=${this.handleEndInputBlur}
1959
+ @keydown=${this.handleKeydown}
1960
+ placeholder=${this.endPlaceholder}
1961
+ name="end-date"
1962
+ >
1963
+ ${this.renderCalendarIcon()}
1964
+ </terra-input>
1965
+ </div>
1966
+ ` : b`
1967
+ <terra-input
1968
+ .label=${this.label}
1969
+ .hideLabel=${this.hideLabel}
1970
+ .helpText=${this.helpText}
1971
+ .value=${this.getDisplayValue()}
1972
+ placeholder=${this.placeholder}
1973
+ @terra-blur=${this.handleInputBlur}
1974
+ @keydown=${this.handleKeydown}
1975
+ name="date"
1976
+ >
1977
+ ${this.renderCalendarIcon()}
1978
+ </terra-input>
1979
+ `}
1980
+
1981
+ <slot name="additional-text"></slot>
1982
+
1983
+ <div class="date-picker__dropdown-wrapper">
1984
+ <div
1985
+ class="date-picker__dropdown date-picker__dropdown--inline"
1986
+ part="calendar"
1987
+ >
1988
+ <div class="date-picker__content">
1989
+ ${this.showPresets && this.filteredPresets.length > 0 ? b`
1990
+ <div
1991
+ class="date-picker__sidebar"
1992
+ part="sidebar"
1993
+ >
1994
+ <slot name="sidebar-header"></slot>
1995
+
1996
+ <div class="presets">
1997
+ ${this.filteredPresets.map(
1998
+ (preset) => b`
1999
+ <button
2000
+ type="button"
2001
+ class="date-picker__preset"
2002
+ @click=${() => this.selectPreset(
2003
+ preset
2004
+ )}
2005
+ >
2006
+ ${preset.label}
2007
+ </button>
2008
+ `
2009
+ )}
2010
+ </div>
2011
+
2012
+ <slot name="sidebar-footer">
2013
+ <terra-button
2014
+ outline
2015
+ variant="default"
2016
+ size="small"
2017
+ @click=${() => this.clear()}
2018
+ >
2019
+ ${this.clearAllLabel}
2020
+ </terra-button>
2021
+ </slot>
2022
+ </div>
2023
+ ` : ""}
2024
+
2025
+ <div class="date-picker__calendars">
2026
+ ${this.renderCalendar(this.leftMonth, true)}
2027
+ ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
2028
+ </div>
2029
+ </div>
2030
+
2031
+ ${this.enableTime ? this.renderTimePicker() : ""}
2032
+ </div>
2033
+ </div>
2034
+ </div>
2035
+ `;
2036
+ }
2037
+ return b`
2038
+ <div
2039
+ class="date-picker ${showSplitInputs ? "date-picker--split-inputs" : ""}"
2040
+ @click=${(e3) => e3.stopPropagation()}
2041
+ >
2042
+ ${showSplitInputs ? b`
2043
+ <div class="date-picker__inputs">
2044
+ <terra-dropdown
2045
+ ${n2(this.dropdownRef)}
2046
+ placement="bottom-start"
2047
+ distance="4"
2048
+ @terra-show=${this.handleDropdownShow}
2049
+ @terra-hide=${this.handleDropdownHide}
2050
+ hoist
2051
+ >
2052
+ <terra-input
2053
+ slot="trigger"
2054
+ .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
2055
+ .hideLabel=${this.hideLabel}
2056
+ .helpText=${this.startHelpText || this.helpText}
2057
+ .value=${this.getStartDateDisplayValue()}
2058
+ placeholder=${this.startPlaceholder}
2059
+ @terra-blur=${this.handleStartInputBlur}
2060
+ @keydown=${this.handleKeydown}
2061
+ name="start-date"
2062
+ >
2063
+ ${this.renderCalendarIcon()}
2064
+ </terra-input>
2065
+ ${this.renderCalendarContent()}
2066
+ </terra-dropdown>
2067
+ <terra-dropdown
2068
+ placement="bottom-start"
2069
+ distance="4"
2070
+ @terra-show=${this.handleDropdownShow}
2071
+ @terra-hide=${this.handleDropdownHide}
2072
+ hoist
2073
+ >
2074
+ <terra-input
2075
+ slot="trigger"
2076
+ .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2077
+ .hideLabel=${this.hideLabel}
2078
+ .helpText=${this.endHelpText || this.helpText}
2079
+ .value=${this.getEndDateDisplayValue()}
2080
+ placeholder=${this.endPlaceholder}
2081
+ @terra-blur=${this.handleEndInputBlur}
2082
+ @keydown=${this.handleKeydown}
2083
+ name="end-date"
2084
+ >
2085
+ ${this.renderCalendarIcon()}
2086
+ </terra-input>
2087
+ ${this.renderCalendarContent()}
2088
+ </terra-dropdown>
2089
+ </div>
2090
+ ` : b`
2091
+ <terra-dropdown
2092
+ ${n2(this.dropdownRef)}
2093
+ placement="bottom-start"
2094
+ distance="4"
2095
+ @terra-show=${this.handleDropdownShow}
2096
+ @terra-hide=${this.handleDropdownHide}
2097
+ hoist
2098
+ >
2099
+ <terra-input
2100
+ slot="trigger"
2101
+ .label=${this.label}
2102
+ .hideLabel=${this.hideLabel}
2103
+ .helpText=${this.helpText}
2104
+ .value=${this.getDisplayValue()}
2105
+ placeholder=${this.placeholder}
2106
+ @terra-blur=${this.handleInputBlur}
2107
+ @keydown=${this.handleKeydown}
2108
+ name="date"
2109
+ >
2110
+ ${this.renderCalendarIcon()}
2111
+ </terra-input>
2112
+ ${this.renderCalendarContent()}
2113
+ </terra-dropdown>
2114
+ `}
2115
+ </div>
2116
+ `;
2117
+ }
2118
+ };
2119
+ TerraDatePicker.styles = [component_styles_default, date_picker_styles_default];
2120
+ TerraDatePicker.dependencies = {
2121
+ "terra-button": TerraButton,
2122
+ "terra-input": TerraInput,
2123
+ "terra-dropdown": TerraDropdown
2124
+ };
2125
+ __decorateClass([
2126
+ n()
2127
+ ], TerraDatePicker.prototype, "id", 2);
2128
+ __decorateClass([
2129
+ n({ type: Boolean, reflect: true })
2130
+ ], TerraDatePicker.prototype, "range", 2);
2131
+ __decorateClass([
2132
+ n({ attribute: "min-date", reflect: true })
2133
+ ], TerraDatePicker.prototype, "minDate", 2);
2134
+ __decorateClass([
2135
+ n({ attribute: "max-date", reflect: true })
2136
+ ], TerraDatePicker.prototype, "maxDate", 2);
2137
+ __decorateClass([
2138
+ n({ attribute: "start-date", reflect: true })
2139
+ ], TerraDatePicker.prototype, "startDate", 2);
2140
+ __decorateClass([
2141
+ n({ attribute: "end-date", reflect: true })
2142
+ ], TerraDatePicker.prototype, "endDate", 2);
2143
+ __decorateClass([
2144
+ n({ attribute: "hide-label", type: Boolean })
2145
+ ], TerraDatePicker.prototype, "hideLabel", 2);
2146
+ __decorateClass([
2147
+ n()
2148
+ ], TerraDatePicker.prototype, "label", 2);
2149
+ __decorateClass([
2150
+ n({ attribute: "help-text" })
2151
+ ], TerraDatePicker.prototype, "helpText", 2);
2152
+ __decorateClass([
2153
+ n({ attribute: "start-help-text" })
2154
+ ], TerraDatePicker.prototype, "startHelpText", 2);
2155
+ __decorateClass([
2156
+ n({ attribute: "end-help-text" })
2157
+ ], TerraDatePicker.prototype, "endHelpText", 2);
2158
+ __decorateClass([
2159
+ n({ attribute: "start-label" })
2160
+ ], TerraDatePicker.prototype, "startLabel", 2);
2161
+ __decorateClass([
2162
+ n({ attribute: "end-label" })
2163
+ ], TerraDatePicker.prototype, "endLabel", 2);
2164
+ __decorateClass([
2165
+ n({ type: Boolean, attribute: "show-presets" })
2166
+ ], TerraDatePicker.prototype, "showPresets", 2);
2167
+ __decorateClass([
2168
+ n({ type: Array })
2169
+ ], TerraDatePicker.prototype, "presets", 2);
2170
+ __decorateClass([
2171
+ n({ type: Boolean, attribute: "enable-time" })
2172
+ ], TerraDatePicker.prototype, "enableTime", 2);
2173
+ __decorateClass([
2174
+ n({ attribute: "display-format" })
2175
+ ], TerraDatePicker.prototype, "displayFormat", 2);
2176
+ __decorateClass([
2177
+ n({ type: Boolean })
2178
+ ], TerraDatePicker.prototype, "inline", 2);
2179
+ __decorateClass([
2180
+ n({ type: Boolean, attribute: "split-inputs" })
2181
+ ], TerraDatePicker.prototype, "splitInputs", 2);
2182
+ __decorateClass([
2183
+ n()
2184
+ ], TerraDatePicker.prototype, "placeholder", 2);
2185
+ __decorateClass([
2186
+ n()
2187
+ ], TerraDatePicker.prototype, "startPlaceholder", 2);
2188
+ __decorateClass([
2189
+ n()
2190
+ ], TerraDatePicker.prototype, "endPlaceholder", 2);
2191
+ __decorateClass([
2192
+ n({ reflect: true })
2193
+ ], TerraDatePicker.prototype, "role", 2);
2194
+ __decorateClass([
2195
+ n({ reflect: true, attribute: "aria-label" })
2196
+ ], TerraDatePicker.prototype, "ariaLabel", 2);
2197
+ __decorateClass([
2198
+ n({ type: Boolean })
2199
+ ], TerraDatePicker.prototype, "hideClearAll", 2);
2200
+ __decorateClass([
2201
+ n()
2202
+ ], TerraDatePicker.prototype, "clearAllLabel", 2);
2203
+ __decorateClass([
2204
+ n({ type: Boolean, attribute: "use-end-of-day" })
2205
+ ], TerraDatePicker.prototype, "useEndOfDay", 2);
2206
+ __decorateClass([
2207
+ n({ attribute: "closable", type: Boolean })
2208
+ ], TerraDatePicker.prototype, "showClose", 2);
2209
+ __decorateClass([
2210
+ r()
2211
+ ], TerraDatePicker.prototype, "isOpen", 2);
2212
+ __decorateClass([
2213
+ r()
2214
+ ], TerraDatePicker.prototype, "leftMonth", 2);
2215
+ __decorateClass([
2216
+ r()
2217
+ ], TerraDatePicker.prototype, "rightMonth", 2);
2218
+ __decorateClass([
2219
+ r()
2220
+ ], TerraDatePicker.prototype, "selectedStart", 2);
2221
+ __decorateClass([
2222
+ r()
2223
+ ], TerraDatePicker.prototype, "selectedEnd", 2);
2224
+ __decorateClass([
2225
+ r()
2226
+ ], TerraDatePicker.prototype, "hoverDate", 2);
2227
+ __decorateClass([
2228
+ r()
2229
+ ], TerraDatePicker.prototype, "isSelectingRange", 2);
2230
+ __decorateClass([
2231
+ r()
2232
+ ], TerraDatePicker.prototype, "showLeftMonthDropdown", 2);
2233
+ __decorateClass([
2234
+ r()
2235
+ ], TerraDatePicker.prototype, "showRightMonthDropdown", 2);
2236
+ __decorateClass([
2237
+ r()
2238
+ ], TerraDatePicker.prototype, "startHour", 2);
2239
+ __decorateClass([
2240
+ r()
2241
+ ], TerraDatePicker.prototype, "startMinute", 2);
2242
+ __decorateClass([
2243
+ r()
2244
+ ], TerraDatePicker.prototype, "startSecond", 2);
2245
+ __decorateClass([
2246
+ r()
2247
+ ], TerraDatePicker.prototype, "endHour", 2);
2248
+ __decorateClass([
2249
+ r()
2250
+ ], TerraDatePicker.prototype, "endMinute", 2);
2251
+ __decorateClass([
2252
+ r()
2253
+ ], TerraDatePicker.prototype, "endSecond", 2);
2254
+ __decorateClass([
2255
+ r()
2256
+ ], TerraDatePicker.prototype, "selectedDates", 2);
2257
+ __decorateClass([
2258
+ e(".date-picker__dropdown")
2259
+ ], TerraDatePicker.prototype, "dropdown", 2);
2260
+
2261
+ export {
2262
+ TerraDatePicker
2263
+ };