@nasa-terra/components 0.0.165 → 0.0.167

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 (1274) hide show
  1. package/cdn/chunks/chunk.22JAM2GR.js +149 -0
  2. package/cdn/chunks/chunk.2KSTLEEW.js +19 -0
  3. package/cdn/chunks/chunk.2MOKVZJ5.js +110 -0
  4. package/cdn/chunks/chunk.2MRTLI7C.js +29 -0
  5. package/cdn/chunks/chunk.2OYHOPUN.js +29 -0
  6. package/cdn/chunks/chunk.2W6MOIKV.js +36 -0
  7. package/cdn/chunks/chunk.2ZAILZIZ.js +29 -0
  8. package/cdn/chunks/chunk.34GKSDDH.js +29 -0
  9. package/cdn/chunks/chunk.35NWYWPA.js +610 -0
  10. package/cdn/chunks/chunk.3DZICDY5.js +19 -0
  11. package/cdn/chunks/chunk.3EEC7I6T.js +77 -0
  12. package/cdn/chunks/chunk.3HQ5B2XG.js +60 -0
  13. package/cdn/chunks/chunk.3KF4JV5X.js +19 -0
  14. package/cdn/chunks/chunk.3OCLA6PR.js +113 -0
  15. package/cdn/chunks/chunk.3PYSUHMX.js +74 -0
  16. package/cdn/chunks/chunk.3RYHRIU7.js +47 -0
  17. package/cdn/chunks/chunk.3T7254VH.js +1002 -0
  18. package/cdn/chunks/chunk.3X2FJVEK.js +99 -0
  19. package/cdn/chunks/chunk.3YIIQKB4.js +29 -0
  20. package/cdn/chunks/chunk.4E526L3E.js +29 -0
  21. package/cdn/chunks/chunk.4JULN6G5.js +29 -0
  22. package/cdn/chunks/chunk.56M3T4SS.js +19 -0
  23. package/cdn/chunks/chunk.5RFPNO6G.js +19 -0
  24. package/cdn/chunks/chunk.5RYT4QNM.js +157 -0
  25. package/cdn/chunks/chunk.5VTC5O3H.js +29 -0
  26. package/cdn/chunks/chunk.5XLABLQB.js +276 -0
  27. package/cdn/chunks/chunk.66SSQP45.js +19 -0
  28. package/cdn/chunks/chunk.67XHQN22.js +19 -0
  29. package/cdn/chunks/chunk.6JBKCS52.js +83 -0
  30. package/cdn/chunks/chunk.6JIAMAMY.js +29 -0
  31. package/cdn/chunks/chunk.6TBKK4LM.js +493 -0
  32. package/cdn/chunks/chunk.6Y4YTK5P.js +238 -0
  33. package/cdn/chunks/chunk.77XDQUES.js +19 -0
  34. package/cdn/chunks/chunk.7FSPBN74.js +99 -0
  35. package/cdn/chunks/chunk.7PS6V6WS.js +1966 -0
  36. package/cdn/chunks/chunk.7SUZRUNK.js +19 -0
  37. package/cdn/chunks/chunk.7T52ILDL.js +599 -0
  38. package/cdn/chunks/chunk.7VUN6GFK.js +29 -0
  39. package/cdn/chunks/chunk.AFC2HLIY.js +19 -0
  40. package/cdn/chunks/chunk.AOBU6O57.js +990 -0
  41. package/cdn/chunks/chunk.AQ3JLCWN.js +165 -0
  42. package/cdn/chunks/chunk.ATCGQBQH.js +19 -0
  43. package/cdn/chunks/chunk.B3EEU2CI.js +29 -0
  44. package/cdn/chunks/chunk.B4TQIGEX.js +19 -0
  45. package/cdn/chunks/chunk.B526UDNH.js +29 -0
  46. package/cdn/chunks/chunk.BFVSGVAT.js +19 -0
  47. package/cdn/chunks/chunk.BJF5R6JW.js +190 -0
  48. package/cdn/chunks/chunk.BMK7DPMC.js +19 -0
  49. package/cdn/chunks/chunk.BNPVRBVC.js +123 -0
  50. package/cdn/chunks/chunk.BPUKB6TK.js +29 -0
  51. package/cdn/chunks/chunk.BRIHWEDS.js +29 -0
  52. package/cdn/chunks/chunk.BUGYJIDA.js +29 -0
  53. package/cdn/chunks/chunk.BY3XMPVV.js +731 -0
  54. package/cdn/chunks/chunk.C4QTAT3W.js +32 -0
  55. package/cdn/chunks/chunk.C7BHHMPD.js +29 -0
  56. package/cdn/chunks/chunk.CCYPCKYP.js +29 -0
  57. package/cdn/chunks/chunk.CE7S2HSD.js +19 -0
  58. package/cdn/chunks/chunk.CHP6L4IZ.js +29 -0
  59. package/cdn/chunks/chunk.CNFKSV5Y.js +41 -0
  60. package/cdn/chunks/chunk.CNQ5DP2Y.js +19 -0
  61. package/cdn/chunks/chunk.CR32YRI3.js +32 -0
  62. package/cdn/chunks/chunk.CV3BFVNC.js +224 -0
  63. package/cdn/chunks/chunk.DBV4CPVA.js +93 -0
  64. package/cdn/chunks/chunk.DKXKWPJK.js +189 -0
  65. package/cdn/chunks/chunk.DLQNZ2FX.js +201 -0
  66. package/cdn/chunks/chunk.DQKC3KIY.js +19 -0
  67. package/cdn/chunks/chunk.DVUHMHS7.js +77 -0
  68. package/cdn/chunks/chunk.DYNAESKX.js +32 -0
  69. package/cdn/chunks/chunk.DZJULA3U.js +33858 -0
  70. package/cdn/chunks/chunk.EEBXXJ5S.js +19 -0
  71. package/cdn/chunks/chunk.EGTBQ75C.js +279 -0
  72. package/cdn/chunks/chunk.ERLTY6RD.js +32 -0
  73. package/cdn/chunks/chunk.ERM35NF4.js +93 -0
  74. package/cdn/chunks/chunk.ESRB43Y5.js +616 -0
  75. package/cdn/chunks/chunk.F4EH5N56.js +33 -0
  76. package/cdn/chunks/chunk.FLBSTQ3K.js +19 -0
  77. package/cdn/chunks/chunk.FPAJGJR7.js +35 -0
  78. package/cdn/chunks/chunk.FQMP346K.js +19 -0
  79. package/cdn/chunks/chunk.FXITFED3.js +37 -0
  80. package/cdn/chunks/chunk.G6Z24R6Y.js +19 -0
  81. package/cdn/chunks/chunk.GCKUWBFX.js +477 -0
  82. package/cdn/chunks/chunk.GEBLYMYM.js +264 -0
  83. package/cdn/chunks/chunk.GN2ZQBKO.js +34 -0
  84. package/cdn/chunks/chunk.HFTGBEXB.js +188 -0
  85. package/cdn/chunks/chunk.HHPVOMGD.js +278 -0
  86. package/cdn/chunks/chunk.HPJ222W5.js +33 -0
  87. package/cdn/chunks/chunk.HV5AHGSZ.js +288 -0
  88. package/cdn/chunks/chunk.HXT3MQZB.js +86 -0
  89. package/cdn/chunks/chunk.HYTFGYES.js +524 -0
  90. package/cdn/chunks/chunk.HZLKJ66W.js +29 -0
  91. package/cdn/chunks/chunk.I6RAXH53.js +19 -0
  92. package/cdn/chunks/chunk.IJQLOBAC.js +132 -0
  93. package/cdn/chunks/chunk.ISYLWUTX.js +19 -0
  94. package/cdn/chunks/chunk.ITCNMUXT.js +56 -0
  95. package/cdn/chunks/chunk.IWVNVNRD.js +134 -0
  96. package/cdn/chunks/chunk.J3Z3NPJ4.js +134 -0
  97. package/cdn/chunks/chunk.J6VLXGTF.js +36 -0
  98. package/cdn/chunks/chunk.J7I3DOXG.js +272 -0
  99. package/cdn/chunks/chunk.JBRXER73.js +19 -0
  100. package/cdn/chunks/chunk.JGEML6NJ.js +30 -0
  101. package/cdn/chunks/chunk.JK27J74D.js +62 -0
  102. package/cdn/chunks/chunk.K7YIOV7T.js +19 -0
  103. package/cdn/chunks/chunk.KCZYTXMI.js +39 -0
  104. package/cdn/chunks/chunk.KD6G7ERX.js +68 -0
  105. package/cdn/chunks/chunk.KGCLCQ7X.js +60 -0
  106. package/cdn/chunks/chunk.KILIHVMF.js +32 -0
  107. package/cdn/chunks/chunk.KMCDDWE5.js +35 -0
  108. package/cdn/chunks/chunk.KU5FXVEU.js +19 -0
  109. package/cdn/chunks/chunk.KWBRNY25.js +19 -0
  110. package/cdn/chunks/chunk.KXBA6WIZ.js +904 -0
  111. package/cdn/chunks/chunk.L2NSE4OV.js +19 -0
  112. package/cdn/chunks/chunk.L4G7AM4D.js +19 -0
  113. package/cdn/chunks/chunk.LCNNIIGG.js +372 -0
  114. package/cdn/chunks/chunk.LE77IFIT.js +29 -0
  115. package/cdn/chunks/chunk.LJV444BY.js +19 -0
  116. package/cdn/chunks/chunk.LPUGYJQ6.js +19 -0
  117. package/cdn/chunks/chunk.MGD4I7TI.js +33 -0
  118. package/cdn/chunks/chunk.MGVK6RY6.js +19 -0
  119. package/cdn/chunks/chunk.MSKQVFVO.js +36 -0
  120. package/cdn/chunks/chunk.MYXC7VZK.js +19 -0
  121. package/cdn/chunks/chunk.N2ZLSKRS.js +19 -0
  122. package/cdn/chunks/chunk.N7Y6PI75.js +19 -0
  123. package/cdn/chunks/chunk.NBYFCLIA.js +230 -0
  124. package/cdn/chunks/chunk.NCSQNVLT.js +34 -0
  125. package/cdn/chunks/chunk.NKVAAAFV.js +19 -0
  126. package/cdn/chunks/chunk.NLM2F46S.js +37 -0
  127. package/cdn/chunks/chunk.NQ6WTKJ5.js +39 -0
  128. package/cdn/chunks/chunk.NRJZH24F.js +19 -0
  129. package/cdn/chunks/chunk.NT5A6ZHT.js +136 -0
  130. package/cdn/chunks/chunk.NYZK4RJY.js +19 -0
  131. package/cdn/chunks/chunk.O22V5PWM.js +35 -0
  132. package/cdn/chunks/chunk.O45AJCZN.js +32 -0
  133. package/cdn/chunks/chunk.O5BUI6HD.js +499 -0
  134. package/cdn/chunks/chunk.OBIYKNGD.js +36 -0
  135. package/cdn/chunks/chunk.OE32JNHX.js +2290 -0
  136. package/cdn/chunks/chunk.OE6QBUL3.js +151 -0
  137. package/cdn/chunks/chunk.OIBHUA2X.js +33 -0
  138. package/cdn/chunks/chunk.ONZYR5V7.js +19 -0
  139. package/cdn/chunks/chunk.OTBLJV2P.js +19 -0
  140. package/cdn/chunks/chunk.OWBCL4YY.js +92 -0
  141. package/cdn/chunks/chunk.OWOOYBL5.js +621 -0
  142. package/cdn/chunks/chunk.OYDCM6EP.js +19 -0
  143. package/cdn/chunks/chunk.P4OWV3H2.js +412 -0
  144. package/cdn/chunks/chunk.PLP3BQV2.js +29 -0
  145. package/cdn/chunks/chunk.PMUKNJQB.js +357 -0
  146. package/cdn/chunks/chunk.PUDKOG7O.js +19 -0
  147. package/cdn/chunks/chunk.PVPOTYBO.js +29 -0
  148. package/cdn/chunks/chunk.Q67OTTO2.js +145 -0
  149. package/cdn/chunks/chunk.QB7PKQGX.js +32 -0
  150. package/cdn/chunks/chunk.QHPWQ6EU.js +234 -0
  151. package/cdn/chunks/chunk.QIALAQUY.js +19 -0
  152. package/cdn/chunks/chunk.QMAOK6H7.js +287 -0
  153. package/cdn/chunks/chunk.QN47HJMJ.js +99 -0
  154. package/cdn/chunks/chunk.QPO4FJDV.js +19 -0
  155. package/cdn/chunks/chunk.QTCDR4K5.js +19 -0
  156. package/cdn/chunks/chunk.QZA56TJF.js +83 -0
  157. package/cdn/chunks/chunk.R2CKSIEB.js +302 -0
  158. package/cdn/chunks/chunk.R3ELIEXH.js +158 -0
  159. package/cdn/chunks/chunk.RESQSJZW.js +19 -0
  160. package/cdn/chunks/chunk.RLB5ZGN3.js +2243 -0
  161. package/cdn/chunks/chunk.RPIMP5VU.js +29 -0
  162. package/cdn/chunks/chunk.RRIBXI6T.js +662 -0
  163. package/cdn/chunks/chunk.RVVT6D2O.js +32 -0
  164. package/cdn/chunks/chunk.RWRHKJV7.js +29 -0
  165. package/cdn/chunks/chunk.S6HRHLBY.js +29 -0
  166. package/cdn/chunks/chunk.SBRPQN46.js +239 -0
  167. package/cdn/chunks/chunk.SBV4CE52.js +293 -0
  168. package/cdn/chunks/chunk.SCVPK7ZI.js +19 -0
  169. package/cdn/chunks/chunk.SGVXOEMD.js +359 -0
  170. package/cdn/chunks/chunk.SOL4KQRB.js +32 -0
  171. package/cdn/chunks/chunk.STIIRCSR.js +32 -0
  172. package/cdn/chunks/chunk.SVWVRXE5.js +19 -0
  173. package/cdn/chunks/chunk.T4EQTEDI.js +79 -0
  174. package/cdn/chunks/chunk.TAVW4BSX.js +231 -0
  175. package/cdn/chunks/chunk.TCVQUZH3.js +19 -0
  176. package/cdn/chunks/chunk.TGA7THVX.js +32 -0
  177. package/cdn/chunks/chunk.TLGXE7WV.js +52 -0
  178. package/cdn/chunks/chunk.TO3IZDTY.js +435 -0
  179. package/cdn/chunks/chunk.TU5LEWLH.js +78 -0
  180. package/cdn/chunks/chunk.UCYLBWS6.js +19 -0
  181. package/cdn/chunks/chunk.UGVKO2F3.js +29 -0
  182. package/cdn/chunks/chunk.UMXEOKQR.js +29 -0
  183. package/cdn/chunks/chunk.UQ3KQHGM.js +29 -0
  184. package/cdn/chunks/chunk.UXW4BGB3.js +35 -0
  185. package/cdn/chunks/chunk.UZO2S5ZV.js +55346 -0
  186. package/cdn/chunks/chunk.UZUUSYPD.js +19 -0
  187. package/cdn/chunks/chunk.V5RXILK4.js +19 -0
  188. package/cdn/chunks/chunk.VKGMZPCA.js +19 -0
  189. package/cdn/chunks/chunk.VMITYTMW.js +29 -0
  190. package/cdn/chunks/chunk.VOHWSUS6.js +19 -0
  191. package/cdn/chunks/chunk.VRFTM5EZ.js +33 -0
  192. package/cdn/chunks/chunk.VW4JRARC.js +19 -0
  193. package/cdn/chunks/chunk.W2L4LFHP.js +538 -0
  194. package/cdn/chunks/chunk.WIHIKDOO.js +19 -0
  195. package/cdn/chunks/chunk.WIVXANPA.js +1056 -0
  196. package/cdn/chunks/chunk.WJ4RUTUN.js +19 -0
  197. package/cdn/chunks/chunk.WUS3RA7A.js +259 -0
  198. package/cdn/chunks/chunk.XHDWZUS3.js +19 -0
  199. package/cdn/chunks/chunk.XXKZMY2K.js +19 -0
  200. package/cdn/chunks/chunk.XZVBKL46.js +104 -0
  201. package/cdn/chunks/chunk.YI5QUNXX.js +19 -0
  202. package/cdn/chunks/chunk.YIJM5IYA.js +32 -0
  203. package/cdn/chunks/chunk.YIYWTQKE.js +32 -0
  204. package/cdn/chunks/chunk.YLEDVKIQ.js +155 -0
  205. package/cdn/chunks/chunk.YQWDPYX2.js +71 -0
  206. package/cdn/chunks/chunk.YTZMHMX3.js +29 -0
  207. package/cdn/chunks/chunk.Z2DAFDC2.js +49 -0
  208. package/cdn/chunks/chunk.Z4LEEFSD.js +19 -0
  209. package/cdn/chunks/chunk.ZGA7FO7P.js +32 -0
  210. package/cdn/chunks/chunk.ZN6PR35U.js +106 -0
  211. package/cdn/components/accordion/accordion.component.js +5 -5
  212. package/cdn/components/accordion/accordion.js +6 -6
  213. package/cdn/components/alert/alert.component.js +3 -3
  214. package/cdn/components/alert/alert.js +4 -4
  215. package/cdn/components/avatar/avatar.component.js +7 -7
  216. package/cdn/components/avatar/avatar.js +8 -8
  217. package/cdn/components/badge/badge.component.js +2 -2
  218. package/cdn/components/badge/badge.js +3 -3
  219. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  220. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  221. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  222. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  223. package/cdn/components/browse-variables/browse-variables.component.js +18 -18
  224. package/cdn/components/browse-variables/browse-variables.controller.js +3 -3
  225. package/cdn/components/browse-variables/browse-variables.js +19 -19
  226. package/cdn/components/button/button.component.js +7 -7
  227. package/cdn/components/button/button.js +8 -8
  228. package/cdn/components/button-group/button-group.component.js +2 -2
  229. package/cdn/components/button-group/button-group.js +3 -3
  230. package/cdn/components/caption/caption.component.js +2 -2
  231. package/cdn/components/caption/caption.js +3 -3
  232. package/cdn/components/card/card.component.js +2 -2
  233. package/cdn/components/card/card.js +3 -3
  234. package/cdn/components/checkbox/checkbox.component.js +8 -8
  235. package/cdn/components/checkbox/checkbox.js +9 -9
  236. package/cdn/components/chip/chip.component.js +2 -2
  237. package/cdn/components/chip/chip.js +3 -3
  238. package/cdn/components/combobox/combobox.component.d.ts +4 -1
  239. package/cdn/components/combobox/combobox.component.js +6 -6
  240. package/cdn/components/combobox/combobox.js +7 -7
  241. package/cdn/components/data-access/data-access.component.d.ts +2 -0
  242. package/cdn/components/data-access/data-access.component.js +29 -27
  243. package/cdn/components/data-access/data-access.controller.js +3 -3
  244. package/cdn/components/data-access/data-access.js +30 -28
  245. package/cdn/components/data-grid/data-grid.component.js +5 -5
  246. package/cdn/components/data-grid/data-grid.js +6 -6
  247. package/cdn/components/data-rods/data-rods.component.js +38 -38
  248. package/cdn/components/data-rods/data-rods.js +39 -39
  249. package/cdn/components/data-subsetter/data-subsetter.component.d.ts +2 -1
  250. package/cdn/components/data-subsetter/data-subsetter.component.js +45 -45
  251. package/cdn/components/data-subsetter/data-subsetter.controller.d.ts +3 -1
  252. package/cdn/components/data-subsetter/data-subsetter.controller.js +3 -3
  253. package/cdn/components/data-subsetter/data-subsetter.js +46 -46
  254. package/cdn/components/data-subsetter/data-subsetter.styles.js +1 -1
  255. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  256. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +46 -46
  257. package/cdn/components/data-subsetter-history/data-subsetter-history.js +47 -47
  258. package/cdn/components/date-picker/date-picker.component.d.ts +10 -0
  259. package/cdn/components/date-picker/date-picker.component.js +14 -14
  260. package/cdn/components/date-picker/date-picker.js +15 -15
  261. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  262. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  263. package/cdn/components/dialog/dialog.component.js +10 -10
  264. package/cdn/components/dialog/dialog.js +11 -11
  265. package/cdn/components/dialog/dialog.styles.js +1 -1
  266. package/cdn/components/divider/divider.component.js +2 -2
  267. package/cdn/components/divider/divider.js +3 -3
  268. package/cdn/components/dropdown/dropdown.component.js +3 -3
  269. package/cdn/components/dropdown/dropdown.js +4 -4
  270. package/cdn/components/earthdata-login/earthdata-login.component.js +15 -15
  271. package/cdn/components/earthdata-login/earthdata-login.js +16 -16
  272. package/cdn/components/file-upload/file-upload.component.js +2 -2
  273. package/cdn/components/file-upload/file-upload.js +3 -3
  274. package/cdn/components/icon/icon.component.js +3 -3
  275. package/cdn/components/icon/icon.js +4 -4
  276. package/cdn/components/input/input.component.js +8 -8
  277. package/cdn/components/input/input.js +9 -9
  278. package/cdn/components/loader/loader.component.js +2 -2
  279. package/cdn/components/loader/loader.js +3 -3
  280. package/cdn/components/login/login.component.js +12 -12
  281. package/cdn/components/login/login.js +13 -13
  282. package/cdn/components/map/leaflet-utils.d.ts +1 -1
  283. package/cdn/components/map/map.component.js +4 -4
  284. package/cdn/components/map/map.js +5 -5
  285. package/cdn/components/menu/menu.component.js +2 -2
  286. package/cdn/components/menu/menu.js +3 -3
  287. package/cdn/components/menu-item/menu-item.component.js +11 -11
  288. package/cdn/components/menu-item/menu-item.js +12 -12
  289. package/cdn/components/menu-item/submenu-controller.js +3 -3
  290. package/cdn/components/option/option.component.js +6 -6
  291. package/cdn/components/option/option.js +7 -7
  292. package/cdn/components/pagination/pagination.component.js +6 -6
  293. package/cdn/components/pagination/pagination.js +7 -7
  294. package/cdn/components/plot/plot.component.js +2 -2
  295. package/cdn/components/plot/plot.js +3 -3
  296. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  297. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  298. package/cdn/components/plot-toolbar/plot-toolbar.component.js +15 -15
  299. package/cdn/components/plot-toolbar/plot-toolbar.controller.js +3 -3
  300. package/cdn/components/plot-toolbar/plot-toolbar.js +16 -16
  301. package/cdn/components/popup/popup.component.js +2 -2
  302. package/cdn/components/popup/popup.js +3 -3
  303. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  304. package/cdn/components/progress-bar/progress-bar.js +3 -3
  305. package/cdn/components/radio/radio.component.js +4 -4
  306. package/cdn/components/radio/radio.js +5 -5
  307. package/cdn/components/radio-group/radio-group.component.js +2 -2
  308. package/cdn/components/radio-group/radio-group.js +3 -3
  309. package/cdn/components/scroll-hint/scroll-hint.component.js +4 -4
  310. package/cdn/components/scroll-hint/scroll-hint.js +5 -5
  311. package/cdn/components/select/select.component.js +10 -10
  312. package/cdn/components/select/select.js +11 -11
  313. package/cdn/components/site-header/site-header.component.js +5 -5
  314. package/cdn/components/site-header/site-header.js +5 -5
  315. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  316. package/cdn/components/site-navigation/site-navigation.js +2 -2
  317. package/cdn/components/skeleton/skeleton.component.js +2 -2
  318. package/cdn/components/skeleton/skeleton.js +3 -3
  319. package/cdn/components/slider/slider.component.js +2 -2
  320. package/cdn/components/slider/slider.js +3 -3
  321. package/cdn/components/spatial-picker/spatial-picker.component.js +15 -15
  322. package/cdn/components/spatial-picker/spatial-picker.js +16 -16
  323. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  324. package/cdn/components/status-indicator/status-indicator.js +3 -3
  325. package/cdn/components/stepper/stepper.component.js +2 -2
  326. package/cdn/components/stepper/stepper.js +3 -3
  327. package/cdn/components/stepper-step/stepper-step.component.js +6 -6
  328. package/cdn/components/stepper-step/stepper-step.js +7 -7
  329. package/cdn/components/tab/tab.component.js +6 -6
  330. package/cdn/components/tab/tab.js +7 -7
  331. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  332. package/cdn/components/tab-panel/tab-panel.js +3 -3
  333. package/cdn/components/tabs/tabs.component.js +6 -6
  334. package/cdn/components/tabs/tabs.js +7 -7
  335. package/cdn/components/tag/tag.component.js +6 -6
  336. package/cdn/components/tag/tag.js +7 -7
  337. package/cdn/components/textarea/textarea.component.js +4 -4
  338. package/cdn/components/textarea/textarea.js +5 -5
  339. package/cdn/components/time-average-map/time-average-map.component.js +24 -24
  340. package/cdn/components/time-average-map/time-average-map.js +25 -25
  341. package/cdn/components/time-series/time-series.component.js +23 -23
  342. package/cdn/components/time-series/time-series.js +24 -24
  343. package/cdn/components/toast/toast.component.js +4 -4
  344. package/cdn/components/toast/toast.js +5 -5
  345. package/cdn/components/toggle/toggle.component.js +4 -4
  346. package/cdn/components/toggle/toggle.js +5 -5
  347. package/cdn/components/tooltip/tooltip.component.js +3 -3
  348. package/cdn/components/tooltip/tooltip.js +4 -4
  349. package/cdn/components/variable-combobox/lib.js +3 -3
  350. package/cdn/components/variable-combobox/variable-combobox.component.d.ts +4 -1
  351. package/cdn/components/variable-combobox/variable-combobox.component.js +15 -15
  352. package/cdn/components/variable-combobox/variable-combobox.controller.js +4 -4
  353. package/cdn/components/variable-combobox/variable-combobox.js +16 -16
  354. package/cdn/components/variable-keyword-search/variable-keyword-search.component.d.ts +4 -1
  355. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +14 -14
  356. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.js +3 -3
  357. package/cdn/components/variable-keyword-search/variable-keyword-search.js +15 -15
  358. package/cdn/custom-elements.json +2648 -2570
  359. package/cdn/internal/animate.d.ts +3 -3
  360. package/cdn/metadata-catalog/cmr-catalog.d.ts +2 -1
  361. package/cdn/metadata-catalog/queries.d.ts +1 -0
  362. package/cdn/metadata-catalog/types.d.ts +13 -0
  363. package/cdn/react/accordion/index.js +6 -6
  364. package/cdn/react/alert/index.js +4 -4
  365. package/cdn/react/avatar/index.js +8 -8
  366. package/cdn/react/badge/index.js +3 -3
  367. package/cdn/react/breadcrumb/index.js +3 -3
  368. package/cdn/react/breadcrumbs/index.js +3 -3
  369. package/cdn/react/browse-variables/index.js +19 -19
  370. package/cdn/react/button/index.js +8 -8
  371. package/cdn/react/button-group/index.js +3 -3
  372. package/cdn/react/caption/index.js +3 -3
  373. package/cdn/react/card/index.js +3 -3
  374. package/cdn/react/checkbox/index.js +9 -9
  375. package/cdn/react/chip/index.js +3 -3
  376. package/cdn/react/combobox/index.js +7 -7
  377. package/cdn/react/data-access/index.js +30 -28
  378. package/cdn/react/data-grid/index.js +6 -6
  379. package/cdn/react/data-rods/index.js +39 -39
  380. package/cdn/react/data-subsetter/index.js +46 -46
  381. package/cdn/react/data-subsetter-history/index.js +47 -47
  382. package/cdn/react/date-picker/index.js +15 -15
  383. package/cdn/react/date-range-slider/index.js +3 -3
  384. package/cdn/react/dialog/index.js +11 -11
  385. package/cdn/react/divider/index.js +3 -3
  386. package/cdn/react/dropdown/index.js +4 -4
  387. package/cdn/react/earthdata-login/index.js +16 -16
  388. package/cdn/react/file-upload/index.js +3 -3
  389. package/cdn/react/icon/index.js +4 -4
  390. package/cdn/react/index.d.ts +12 -12
  391. package/cdn/react/index.js +198 -198
  392. package/cdn/react/input/index.js +9 -9
  393. package/cdn/react/loader/index.js +3 -3
  394. package/cdn/react/login/index.js +13 -13
  395. package/cdn/react/map/index.js +5 -5
  396. package/cdn/react/menu/index.js +3 -3
  397. package/cdn/react/menu-item/index.js +12 -12
  398. package/cdn/react/option/index.js +7 -7
  399. package/cdn/react/pagination/index.js +7 -7
  400. package/cdn/react/plot/index.js +3 -3
  401. package/cdn/react/plot-toolbar/index.js +16 -16
  402. package/cdn/react/popup/index.js +3 -3
  403. package/cdn/react/progress-bar/index.js +3 -3
  404. package/cdn/react/radio/index.js +5 -5
  405. package/cdn/react/radio-group/index.js +3 -3
  406. package/cdn/react/scroll-hint/index.js +5 -5
  407. package/cdn/react/select/index.js +11 -11
  408. package/cdn/react/site-header/index.js +6 -6
  409. package/cdn/react/site-navigation/index.js +3 -3
  410. package/cdn/react/skeleton/index.js +3 -3
  411. package/cdn/react/slider/index.js +3 -3
  412. package/cdn/react/spatial-picker/index.js +16 -16
  413. package/cdn/react/status-indicator/index.js +3 -3
  414. package/cdn/react/stepper/index.js +3 -3
  415. package/cdn/react/stepper-step/index.js +7 -7
  416. package/cdn/react/tab/index.js +7 -7
  417. package/cdn/react/tab-panel/index.js +3 -3
  418. package/cdn/react/tabs/index.js +7 -7
  419. package/cdn/react/tag/index.js +7 -7
  420. package/cdn/react/textarea/index.js +5 -5
  421. package/cdn/react/time-average-map/index.js +25 -25
  422. package/cdn/react/time-series/index.js +24 -24
  423. package/cdn/react/toast/index.js +5 -5
  424. package/cdn/react/toggle/index.js +5 -5
  425. package/cdn/react/tooltip/index.js +4 -4
  426. package/cdn/react/variable-combobox/index.js +16 -16
  427. package/cdn/react/variable-keyword-search/index.js +15 -15
  428. package/cdn/terra-ui-components.js +186 -186
  429. package/cdn/types/vue/index.d.ts +695 -684
  430. package/cdn/utilities/mimetypes.d.ts +1 -1
  431. package/cdn/utilities/mimetypes.js +1 -1
  432. package/cdn/vscode.html-custom-data.json +343 -340
  433. package/cdn/web-types.json +1897 -1878
  434. package/dist/chunks/chunk.2HPCVNQL.js +21 -0
  435. package/dist/chunks/chunk.2OT2UXF4.js +11 -0
  436. package/dist/chunks/chunk.32NG2VNQ.js +11 -0
  437. package/dist/chunks/chunk.36JXOS6Y.js +21 -0
  438. package/dist/chunks/chunk.3CCSEGFN.js +21 -0
  439. package/dist/chunks/chunk.3GSDEVDN.js +52 -0
  440. package/dist/chunks/chunk.3JAVPASP.js +609 -0
  441. package/dist/chunks/chunk.3L4WRUGE.js +74 -0
  442. package/dist/chunks/chunk.3NOU5S4K.js +91 -0
  443. package/dist/chunks/chunk.3RMARKUW.js +24 -0
  444. package/dist/chunks/chunk.3SVUDGSO.js +11 -0
  445. package/dist/chunks/chunk.3WCZNEVP.js +52 -0
  446. package/dist/chunks/chunk.3XVU2CMW.js +25 -0
  447. package/dist/chunks/chunk.42RWQXVF.js +11 -0
  448. package/dist/chunks/chunk.44B2QB57.js +11 -0
  449. package/dist/chunks/chunk.44C2RMYG.js +345 -0
  450. package/dist/chunks/chunk.4KI6GHHX.js +11 -0
  451. package/dist/chunks/chunk.4TO6RQDT.js +11 -0
  452. package/dist/chunks/chunk.4UBHRRUU.js +220 -0
  453. package/dist/chunks/chunk.4YCY2DV3.js +21 -0
  454. package/dist/chunks/chunk.4YYCBOVI.js +11 -0
  455. package/dist/chunks/chunk.524NKNPG.js +39 -0
  456. package/dist/chunks/chunk.5EJAFKZ7.js +21 -0
  457. package/dist/chunks/chunk.5V4FAK7C.js +11 -0
  458. package/dist/chunks/chunk.5YSU3HL7.js +33 -0
  459. package/dist/chunks/chunk.64SWCNHI.js +262 -0
  460. package/dist/chunks/chunk.6AVQFT4P.js +48 -0
  461. package/dist/chunks/chunk.6ITSS4GH.js +11 -0
  462. package/dist/chunks/chunk.6KCKKNYD.js +48 -0
  463. package/dist/chunks/chunk.6QSTETYN.js +11 -0
  464. package/dist/chunks/chunk.6TW6DP7W.js +11 -0
  465. package/dist/chunks/chunk.74HB6B26.js +27 -0
  466. package/dist/chunks/chunk.7FZCDHMN.js +11 -0
  467. package/dist/chunks/chunk.7MXXFSLC.js +24 -0
  468. package/dist/chunks/chunk.7QOQXG7V.js +280 -0
  469. package/dist/chunks/chunk.A54SXMF6.js +11 -0
  470. package/dist/chunks/chunk.A75XMZQF.js +91 -0
  471. package/dist/chunks/chunk.A7AZEOWS.js +21 -0
  472. package/dist/chunks/chunk.ABJSJSVR.js +451 -0
  473. package/dist/chunks/chunk.ACW2XVAY.js +29 -0
  474. package/dist/chunks/chunk.AJY5IKAP.js +596 -0
  475. package/dist/chunks/chunk.ANAQ3U23.js +11 -0
  476. package/dist/chunks/chunk.ANLBJK37.js +25 -0
  477. package/dist/chunks/chunk.AYMNVM3K.js +422 -0
  478. package/dist/chunks/chunk.AYXVVA52.js +24 -0
  479. package/dist/chunks/chunk.B7H4U76E.js +21 -0
  480. package/dist/chunks/chunk.BBCOXXME.js +75 -0
  481. package/dist/chunks/chunk.BENDF532.js +11 -0
  482. package/dist/chunks/chunk.BRDHFOSA.js +11 -0
  483. package/dist/chunks/chunk.C24Z45OK.js +58 -0
  484. package/dist/chunks/chunk.C5ZKA7VW.js +25 -0
  485. package/dist/chunks/chunk.CBMMWN53.js +11 -0
  486. package/dist/chunks/chunk.CIDFDZRW.js +230 -0
  487. package/dist/chunks/chunk.CTUS2BRJ.js +21 -0
  488. package/dist/chunks/chunk.CVM4QQIH.js +11 -0
  489. package/dist/chunks/chunk.CWP2OCTX.js +28 -0
  490. package/dist/chunks/chunk.DBWF2K7N.js +24 -0
  491. package/dist/chunks/chunk.DFOY2RXN.js +121 -0
  492. package/dist/chunks/chunk.DKRMDAXH.js +21 -0
  493. package/dist/chunks/chunk.DLG3ISTI.js +345 -0
  494. package/dist/chunks/chunk.DS2GXZ4J.js +64 -0
  495. package/dist/chunks/chunk.EFW6UAEH.js +11 -0
  496. package/dist/chunks/chunk.ENBFHQ3L.js +291 -0
  497. package/dist/chunks/chunk.EPPQF7KD.js +24 -0
  498. package/dist/chunks/chunk.EQ6VDEGW.js +11 -0
  499. package/dist/chunks/chunk.ET4GP57T.js +213 -0
  500. package/dist/chunks/chunk.ETNOCBXV.js +259 -0
  501. package/dist/chunks/chunk.F5A3CI7J.js +21 -0
  502. package/dist/chunks/chunk.F6YXPWWD.js +11 -0
  503. package/dist/chunks/chunk.FDY3GDIO.js +21 -0
  504. package/dist/chunks/chunk.FGIV23AN.js +29 -0
  505. package/dist/chunks/chunk.FKS74UUE.js +21 -0
  506. package/dist/chunks/chunk.FQFJCEW7.js +402 -0
  507. package/dist/chunks/chunk.FQJUCC6Z.js +180 -0
  508. package/dist/chunks/chunk.FTQDFGAR.js +28 -0
  509. package/dist/chunks/chunk.GRBQETKI.js +21 -0
  510. package/dist/chunks/chunk.GT6B4BF3.js +11 -0
  511. package/dist/chunks/chunk.GTMUZKD3.js +11 -0
  512. package/dist/chunks/chunk.HARVA2IP.js +21 -0
  513. package/dist/chunks/chunk.HK5E3MB4.js +11 -0
  514. package/dist/chunks/chunk.HOMKMLDI.js +986 -0
  515. package/dist/chunks/chunk.HSGP3NJV.js +112 -0
  516. package/dist/chunks/chunk.HUDMN5IZ.js +11 -0
  517. package/dist/chunks/chunk.HWE36KUL.js +214 -0
  518. package/dist/chunks/chunk.IJQWDDTY.js +21 -0
  519. package/dist/chunks/chunk.IKMWLDCT.js +21 -0
  520. package/dist/chunks/chunk.IP6RYMMF.js +11 -0
  521. package/dist/chunks/chunk.IW47OQDJ.js +27 -0
  522. package/dist/chunks/chunk.IYF6RYNW.js +11 -0
  523. package/dist/chunks/chunk.JCQVYTHW.js +21 -0
  524. package/dist/chunks/chunk.JHMPD5S3.js +11 -0
  525. package/dist/chunks/chunk.JK62FCBM.js +277 -0
  526. package/dist/chunks/chunk.JTJTZNBC.js +11 -0
  527. package/dist/chunks/chunk.K66DWQG7.js +474 -0
  528. package/dist/chunks/chunk.K6WBYPK4.js +2228 -0
  529. package/dist/chunks/chunk.K7B5G7VZ.js +484 -0
  530. package/dist/chunks/chunk.K7QSTEOZ.js +11 -0
  531. package/dist/chunks/chunk.KTF6ZVQC.js +247 -0
  532. package/dist/chunks/chunk.KW76EJFU.js +2277 -0
  533. package/dist/chunks/chunk.LENFD4DV.js +844 -0
  534. package/dist/chunks/chunk.LIJJ2CVM.js +21 -0
  535. package/dist/chunks/chunk.LPCY54WK.js +11 -0
  536. package/dist/chunks/chunk.LPYTOTCB.js +124 -0
  537. package/dist/chunks/chunk.MFCOSXFW.js +21 -0
  538. package/dist/chunks/chunk.MGDJ2LD5.js +220 -0
  539. package/dist/chunks/chunk.MICLMHWK.js +11 -0
  540. package/dist/chunks/chunk.MNZZPXWB.js +11 -0
  541. package/dist/chunks/chunk.MQVNIT4S.js +973 -0
  542. package/dist/chunks/chunk.MTAR5BJL.js +153 -0
  543. package/dist/chunks/chunk.MZ4FDVFI.js +139 -0
  544. package/dist/chunks/chunk.N363OJZ2.js +89 -0
  545. package/dist/chunks/chunk.NLK5RRJT.js +11 -0
  546. package/dist/chunks/chunk.NUD2D7OX.js +11 -0
  547. package/dist/chunks/chunk.NXYNTUNF.js +24 -0
  548. package/dist/chunks/chunk.NY5YVZRV.js +11 -0
  549. package/dist/chunks/chunk.NZNBKBV5.js +11 -0
  550. package/dist/chunks/chunk.OHLDTKQU.js +21 -0
  551. package/dist/chunks/chunk.OIS2I2WX.js +11 -0
  552. package/dist/chunks/chunk.OKCQAPIO.js +11 -0
  553. package/dist/chunks/chunk.ON3YVM46.js +138 -0
  554. package/dist/chunks/chunk.ORHU4TOP.js +25 -0
  555. package/dist/chunks/chunk.OVF3LEJ5.js +61 -0
  556. package/dist/chunks/chunk.OVYETBCA.js +11 -0
  557. package/dist/chunks/chunk.OYOOZ5CY.js +20 -0
  558. package/dist/chunks/chunk.PHNX45ET.js +93 -0
  559. package/dist/chunks/chunk.PNW5CV46.js +11 -0
  560. package/dist/chunks/chunk.POB3HHX4.js +11 -0
  561. package/dist/chunks/chunk.PUQIBC6P.js +525 -0
  562. package/dist/chunks/chunk.PX7JSWL7.js +67 -0
  563. package/dist/chunks/chunk.QHDDMY67.js +21 -0
  564. package/dist/chunks/chunk.QP5XM7WT.js +720 -0
  565. package/dist/chunks/chunk.QQMW6GT2.js +1045 -0
  566. package/dist/chunks/chunk.QQWZTESV.js +21 -0
  567. package/dist/chunks/chunk.QVJT4Q7B.js +24 -0
  568. package/dist/chunks/chunk.R4KWN2HX.js +443 -0
  569. package/dist/chunks/chunk.RBEXUNHZ.js +581 -0
  570. package/dist/chunks/chunk.REHHQZMY.js +11 -0
  571. package/dist/chunks/chunk.RJRVYB3F.js +83 -0
  572. package/dist/chunks/chunk.RNNZRROI.js +85 -0
  573. package/dist/chunks/chunk.RQHF447H.js +123 -0
  574. package/dist/chunks/chunk.RWTN6VR5.js +11 -0
  575. package/dist/chunks/chunk.RYP4SV66.js +11 -0
  576. package/dist/chunks/chunk.S5JREWKQ.js +21 -0
  577. package/dist/chunks/chunk.S65PVGZW.js +11 -0
  578. package/dist/chunks/chunk.SJVXFIWD.js +43 -0
  579. package/dist/chunks/chunk.SMIEZHJ2.js +11 -0
  580. package/dist/chunks/chunk.SWGKKZUD.js +27 -0
  581. package/dist/chunks/chunk.SYBFIXLK.js +11 -0
  582. package/dist/chunks/chunk.SZAADZKK.js +252 -0
  583. package/dist/chunks/chunk.T7XC2TPO.js +43 -0
  584. package/dist/chunks/chunk.TFN2HUUW.js +78 -0
  585. package/dist/chunks/chunk.TJ5S7Y7N.js +11 -0
  586. package/dist/chunks/chunk.TKTDW7K4.js +592 -0
  587. package/dist/chunks/chunk.TXGZZ232.js +26 -0
  588. package/dist/chunks/chunk.U22BJ3HS.js +24 -0
  589. package/dist/chunks/chunk.U6JA4K4J.js +24 -0
  590. package/dist/chunks/chunk.UCXSNYW7.js +24 -0
  591. package/dist/chunks/chunk.UHIHGVN4.js +31 -0
  592. package/dist/chunks/chunk.UNJJ4K5X.js +24 -0
  593. package/dist/chunks/chunk.UNO3VVAK.js +11 -0
  594. package/dist/chunks/chunk.UU2S72KN.js +30 -0
  595. package/dist/chunks/chunk.V7PI7GT2.js +21 -0
  596. package/dist/chunks/chunk.VBCVUNIU.js +67 -0
  597. package/dist/chunks/chunk.VBWBPTPK.js +230 -0
  598. package/dist/chunks/chunk.VIBAVNO2.js +11 -0
  599. package/dist/chunks/chunk.VOGQH6VT.js +28 -0
  600. package/dist/chunks/chunk.VWZX32FU.js +145 -0
  601. package/dist/chunks/chunk.VYXIWUES.js +11 -0
  602. package/dist/chunks/chunk.W52CDXRW.js +11 -0
  603. package/dist/chunks/chunk.WBEYZIEP.js +24 -0
  604. package/dist/chunks/chunk.WFDKB6ZX.js +21 -0
  605. package/dist/chunks/chunk.WHFZNJAZ.js +409 -0
  606. package/dist/chunks/chunk.WJT6IE7Z.js +28 -0
  607. package/dist/chunks/chunk.WPBID72S.js +11 -0
  608. package/dist/chunks/chunk.WPUBNP6J.js +355 -0
  609. package/dist/chunks/chunk.WUSLL2E3.js +86 -0
  610. package/dist/chunks/chunk.WWDJTRJH.js +264 -0
  611. package/dist/chunks/chunk.X4HRSJ4F.js +11 -0
  612. package/dist/chunks/chunk.XA65IBXV.js +11 -0
  613. package/dist/chunks/chunk.XB6CG3ZS.js +24 -0
  614. package/dist/chunks/chunk.XBRKSIRT.js +97 -0
  615. package/dist/chunks/chunk.XC6HL6VP.js +101 -0
  616. package/dist/chunks/chunk.XHJJAZ6W.js +11 -0
  617. package/dist/chunks/chunk.XIFDLBOB.js +25 -0
  618. package/dist/chunks/chunk.XIXMPQO2.js +21 -0
  619. package/dist/chunks/chunk.XMGVOXBG.js +11 -0
  620. package/dist/chunks/chunk.XQHIGAKF.js +1122 -0
  621. package/dist/chunks/chunk.XQVFPFWL.js +245 -0
  622. package/dist/chunks/chunk.XYQ5OEQP.js +190 -0
  623. package/dist/chunks/chunk.YDUPN3OG.js +180 -0
  624. package/dist/chunks/chunk.YEL7UCDK.js +477 -0
  625. package/dist/chunks/chunk.YIGP5HKO.js +26 -0
  626. package/dist/chunks/chunk.YLUFHBYX.js +21 -0
  627. package/dist/chunks/chunk.YP3AWZ7P.js +11 -0
  628. package/dist/chunks/chunk.YY5TU7AJ.js +21 -0
  629. package/dist/chunks/chunk.Z7RT3KHG.js +24 -0
  630. package/dist/chunks/chunk.ZDDLFJFZ.js +27 -0
  631. package/dist/chunks/chunk.ZHCDFME3.js +272 -0
  632. package/dist/chunks/chunk.ZJISEOPZ.js +11 -0
  633. package/dist/chunks/chunk.ZKLP6636.js +180 -0
  634. package/dist/chunks/chunk.ZLLSS62V.js +21 -0
  635. package/dist/chunks/chunk.ZLZJXLHD.js +21 -0
  636. package/dist/chunks/chunk.ZVEB7QG2.js +143 -0
  637. package/dist/components/accordion/accordion.component.js +5 -5
  638. package/dist/components/accordion/accordion.js +6 -6
  639. package/dist/components/alert/alert.component.js +3 -3
  640. package/dist/components/alert/alert.js +4 -4
  641. package/dist/components/avatar/avatar.component.js +5 -5
  642. package/dist/components/avatar/avatar.js +6 -6
  643. package/dist/components/badge/badge.component.js +2 -2
  644. package/dist/components/badge/badge.js +3 -3
  645. package/dist/components/breadcrumb/breadcrumb.component.js +2 -2
  646. package/dist/components/breadcrumb/breadcrumb.js +3 -3
  647. package/dist/components/breadcrumbs/breadcrumbs.component.js +2 -2
  648. package/dist/components/breadcrumbs/breadcrumbs.js +3 -3
  649. package/dist/components/browse-variables/browse-variables.component.js +15 -15
  650. package/dist/components/browse-variables/browse-variables.controller.js +3 -3
  651. package/dist/components/browse-variables/browse-variables.js +16 -16
  652. package/dist/components/button/button.component.js +5 -5
  653. package/dist/components/button/button.js +6 -6
  654. package/dist/components/button-group/button-group.component.js +2 -2
  655. package/dist/components/button-group/button-group.js +3 -3
  656. package/dist/components/caption/caption.component.js +2 -2
  657. package/dist/components/caption/caption.js +3 -3
  658. package/dist/components/card/card.component.js +2 -2
  659. package/dist/components/card/card.js +3 -3
  660. package/dist/components/checkbox/checkbox.component.js +5 -5
  661. package/dist/components/checkbox/checkbox.js +6 -6
  662. package/dist/components/chip/chip.component.js +2 -2
  663. package/dist/components/chip/chip.js +3 -3
  664. package/dist/components/combobox/combobox.component.d.ts +4 -1
  665. package/dist/components/combobox/combobox.component.js +2 -2
  666. package/dist/components/combobox/combobox.js +3 -3
  667. package/dist/components/data-access/data-access.component.d.ts +2 -0
  668. package/dist/components/data-access/data-access.component.js +23 -21
  669. package/dist/components/data-access/data-access.controller.js +3 -3
  670. package/dist/components/data-access/data-access.js +24 -22
  671. package/dist/components/data-grid/data-grid.component.js +3 -3
  672. package/dist/components/data-grid/data-grid.js +4 -4
  673. package/dist/components/data-rods/data-rods.component.js +30 -30
  674. package/dist/components/data-rods/data-rods.js +31 -31
  675. package/dist/components/data-subsetter/data-subsetter.component.d.ts +2 -1
  676. package/dist/components/data-subsetter/data-subsetter.component.js +39 -39
  677. package/dist/components/data-subsetter/data-subsetter.controller.d.ts +3 -1
  678. package/dist/components/data-subsetter/data-subsetter.controller.js +3 -3
  679. package/dist/components/data-subsetter/data-subsetter.js +40 -40
  680. package/dist/components/data-subsetter/data-subsetter.styles.js +1 -1
  681. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  682. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +40 -40
  683. package/dist/components/data-subsetter-history/data-subsetter-history.js +41 -41
  684. package/dist/components/date-picker/date-picker.component.d.ts +10 -0
  685. package/dist/components/date-picker/date-picker.component.js +10 -10
  686. package/dist/components/date-picker/date-picker.js +11 -11
  687. package/dist/components/date-range-slider/date-range-slider.component.js +2 -2
  688. package/dist/components/date-range-slider/date-range-slider.js +3 -3
  689. package/dist/components/dialog/dialog.component.js +8 -8
  690. package/dist/components/dialog/dialog.js +9 -9
  691. package/dist/components/dialog/dialog.styles.js +1 -1
  692. package/dist/components/divider/divider.component.js +2 -2
  693. package/dist/components/divider/divider.js +3 -3
  694. package/dist/components/dropdown/dropdown.component.js +3 -3
  695. package/dist/components/dropdown/dropdown.js +4 -4
  696. package/dist/components/earthdata-login/earthdata-login.component.js +12 -12
  697. package/dist/components/earthdata-login/earthdata-login.js +13 -13
  698. package/dist/components/file-upload/file-upload.component.js +2 -2
  699. package/dist/components/file-upload/file-upload.js +3 -3
  700. package/dist/components/icon/icon.component.js +3 -3
  701. package/dist/components/icon/icon.js +4 -4
  702. package/dist/components/input/input.component.js +5 -5
  703. package/dist/components/input/input.js +6 -6
  704. package/dist/components/loader/loader.component.js +2 -2
  705. package/dist/components/loader/loader.js +3 -3
  706. package/dist/components/login/login.component.js +10 -10
  707. package/dist/components/login/login.js +11 -11
  708. package/dist/components/map/leaflet-utils.d.ts +1 -1
  709. package/dist/components/map/map.component.js +2 -2
  710. package/dist/components/map/map.js +3 -3
  711. package/dist/components/menu/menu.component.js +2 -2
  712. package/dist/components/menu/menu.js +3 -3
  713. package/dist/components/menu-item/menu-item.component.js +7 -7
  714. package/dist/components/menu-item/menu-item.js +8 -8
  715. package/dist/components/option/option.component.js +4 -4
  716. package/dist/components/option/option.js +5 -5
  717. package/dist/components/pagination/pagination.component.js +4 -4
  718. package/dist/components/pagination/pagination.js +5 -5
  719. package/dist/components/plot/plot.component.js +2 -2
  720. package/dist/components/plot/plot.js +3 -3
  721. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  722. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  723. package/dist/components/plot-toolbar/plot-toolbar.component.js +12 -12
  724. package/dist/components/plot-toolbar/plot-toolbar.controller.js +3 -3
  725. package/dist/components/plot-toolbar/plot-toolbar.js +13 -13
  726. package/dist/components/popup/popup.component.js +2 -2
  727. package/dist/components/popup/popup.js +3 -3
  728. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  729. package/dist/components/progress-bar/progress-bar.js +3 -3
  730. package/dist/components/radio/radio.component.js +2 -2
  731. package/dist/components/radio/radio.js +3 -3
  732. package/dist/components/radio-group/radio-group.component.js +2 -2
  733. package/dist/components/radio-group/radio-group.js +3 -3
  734. package/dist/components/scroll-hint/scroll-hint.component.js +4 -4
  735. package/dist/components/scroll-hint/scroll-hint.js +5 -5
  736. package/dist/components/select/select.component.js +8 -8
  737. package/dist/components/select/select.js +9 -9
  738. package/dist/components/site-header/site-header.component.js +5 -5
  739. package/dist/components/site-header/site-header.js +5 -5
  740. package/dist/components/site-navigation/site-navigation.component.js +2 -2
  741. package/dist/components/site-navigation/site-navigation.js +2 -2
  742. package/dist/components/skeleton/skeleton.component.js +2 -2
  743. package/dist/components/skeleton/skeleton.js +3 -3
  744. package/dist/components/slider/slider.component.js +2 -2
  745. package/dist/components/slider/slider.js +3 -3
  746. package/dist/components/spatial-picker/spatial-picker.component.js +10 -10
  747. package/dist/components/spatial-picker/spatial-picker.js +11 -11
  748. package/dist/components/status-indicator/status-indicator.component.js +2 -2
  749. package/dist/components/status-indicator/status-indicator.js +3 -3
  750. package/dist/components/stepper/stepper.component.js +2 -2
  751. package/dist/components/stepper/stepper.js +3 -3
  752. package/dist/components/stepper-step/stepper-step.component.js +4 -4
  753. package/dist/components/stepper-step/stepper-step.js +5 -5
  754. package/dist/components/tab/tab.component.js +4 -4
  755. package/dist/components/tab/tab.js +5 -5
  756. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  757. package/dist/components/tab-panel/tab-panel.js +3 -3
  758. package/dist/components/tabs/tabs.component.js +4 -4
  759. package/dist/components/tabs/tabs.js +5 -5
  760. package/dist/components/tag/tag.component.js +4 -4
  761. package/dist/components/tag/tag.js +5 -5
  762. package/dist/components/textarea/textarea.component.js +2 -2
  763. package/dist/components/textarea/textarea.js +3 -3
  764. package/dist/components/time-average-map/time-average-map.component.js +21 -21
  765. package/dist/components/time-average-map/time-average-map.js +22 -22
  766. package/dist/components/time-series/time-series.component.js +20 -20
  767. package/dist/components/time-series/time-series.js +21 -21
  768. package/dist/components/toast/toast.component.js +4 -4
  769. package/dist/components/toast/toast.js +5 -5
  770. package/dist/components/toggle/toggle.component.js +2 -2
  771. package/dist/components/toggle/toggle.js +3 -3
  772. package/dist/components/tooltip/tooltip.component.js +3 -3
  773. package/dist/components/tooltip/tooltip.js +4 -4
  774. package/dist/components/variable-combobox/variable-combobox.component.d.ts +4 -1
  775. package/dist/components/variable-combobox/variable-combobox.component.js +8 -8
  776. package/dist/components/variable-combobox/variable-combobox.js +9 -9
  777. package/dist/components/variable-keyword-search/variable-keyword-search.component.d.ts +4 -1
  778. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +11 -11
  779. package/dist/components/variable-keyword-search/variable-keyword-search.controller.js +3 -3
  780. package/dist/components/variable-keyword-search/variable-keyword-search.js +12 -12
  781. package/dist/custom-elements.json +2648 -2570
  782. package/dist/internal/animate.d.ts +3 -3
  783. package/dist/metadata-catalog/cmr-catalog.d.ts +2 -1
  784. package/dist/metadata-catalog/queries.d.ts +1 -0
  785. package/dist/metadata-catalog/types.d.ts +13 -0
  786. package/dist/react/accordion/index.js +6 -6
  787. package/dist/react/alert/index.js +4 -4
  788. package/dist/react/avatar/index.js +6 -6
  789. package/dist/react/badge/index.js +3 -3
  790. package/dist/react/breadcrumb/index.js +3 -3
  791. package/dist/react/breadcrumbs/index.js +3 -3
  792. package/dist/react/browse-variables/index.js +16 -16
  793. package/dist/react/button/index.js +6 -6
  794. package/dist/react/button-group/index.js +3 -3
  795. package/dist/react/caption/index.js +3 -3
  796. package/dist/react/card/index.js +3 -3
  797. package/dist/react/checkbox/index.js +6 -6
  798. package/dist/react/chip/index.js +3 -3
  799. package/dist/react/combobox/index.js +3 -3
  800. package/dist/react/data-access/index.js +24 -22
  801. package/dist/react/data-grid/index.js +4 -4
  802. package/dist/react/data-rods/index.js +31 -31
  803. package/dist/react/data-subsetter/index.js +40 -40
  804. package/dist/react/data-subsetter-history/index.js +41 -41
  805. package/dist/react/date-picker/index.js +11 -11
  806. package/dist/react/date-range-slider/index.js +3 -3
  807. package/dist/react/dialog/index.js +9 -9
  808. package/dist/react/divider/index.js +3 -3
  809. package/dist/react/dropdown/index.js +4 -4
  810. package/dist/react/earthdata-login/index.js +13 -13
  811. package/dist/react/file-upload/index.js +3 -3
  812. package/dist/react/icon/index.js +4 -4
  813. package/dist/react/index.d.ts +12 -12
  814. package/dist/react/index.js +190 -190
  815. package/dist/react/input/index.js +6 -6
  816. package/dist/react/loader/index.js +3 -3
  817. package/dist/react/login/index.js +11 -11
  818. package/dist/react/map/index.js +3 -3
  819. package/dist/react/menu/index.js +3 -3
  820. package/dist/react/menu-item/index.js +8 -8
  821. package/dist/react/option/index.js +5 -5
  822. package/dist/react/pagination/index.js +5 -5
  823. package/dist/react/plot/index.js +3 -3
  824. package/dist/react/plot-toolbar/index.js +13 -13
  825. package/dist/react/popup/index.js +3 -3
  826. package/dist/react/progress-bar/index.js +3 -3
  827. package/dist/react/radio/index.js +3 -3
  828. package/dist/react/radio-group/index.js +3 -3
  829. package/dist/react/scroll-hint/index.js +5 -5
  830. package/dist/react/select/index.js +9 -9
  831. package/dist/react/site-header/index.js +6 -6
  832. package/dist/react/site-navigation/index.js +3 -3
  833. package/dist/react/skeleton/index.js +3 -3
  834. package/dist/react/slider/index.js +3 -3
  835. package/dist/react/spatial-picker/index.js +11 -11
  836. package/dist/react/status-indicator/index.js +3 -3
  837. package/dist/react/stepper/index.js +3 -3
  838. package/dist/react/stepper-step/index.js +5 -5
  839. package/dist/react/tab/index.js +5 -5
  840. package/dist/react/tab-panel/index.js +3 -3
  841. package/dist/react/tabs/index.js +5 -5
  842. package/dist/react/tag/index.js +5 -5
  843. package/dist/react/textarea/index.js +3 -3
  844. package/dist/react/time-average-map/index.js +22 -22
  845. package/dist/react/time-series/index.js +21 -21
  846. package/dist/react/toast/index.js +5 -5
  847. package/dist/react/toggle/index.js +3 -3
  848. package/dist/react/tooltip/index.js +4 -4
  849. package/dist/react/variable-combobox/index.js +9 -9
  850. package/dist/react/variable-keyword-search/index.js +12 -12
  851. package/dist/terra-ui-components.js +178 -178
  852. package/dist/terra_ui_components-0.0.167-py3-none-any.whl +0 -0
  853. package/dist/terra_ui_components-0.0.167.tar.gz +0 -0
  854. package/dist/types/vue/index.d.ts +695 -684
  855. package/dist/utilities/mimetypes.d.ts +1 -1
  856. package/dist/utilities/mimetypes.js +1 -1
  857. package/dist/vscode.html-custom-data.json +343 -340
  858. package/dist/web-types.json +1897 -1878
  859. package/package.json +1 -1
  860. package/cdn/chunks/chunk.2EWZZROF.js +0 -19
  861. package/cdn/chunks/chunk.2NM4U2LU.js +0 -187
  862. package/cdn/chunks/chunk.2S7FXDXE.js +0 -19
  863. package/cdn/chunks/chunk.2TM2DOUK.js +0 -34
  864. package/cdn/chunks/chunk.2U6GNQHA.js +0 -32
  865. package/cdn/chunks/chunk.2UNOREJQ.js +0 -19
  866. package/cdn/chunks/chunk.2VNRC5N4.js +0 -19
  867. package/cdn/chunks/chunk.2VYORYI2.js +0 -189
  868. package/cdn/chunks/chunk.2Z7U2X7L.js +0 -29
  869. package/cdn/chunks/chunk.3ALJUIVF.js +0 -19
  870. package/cdn/chunks/chunk.3BYVGEYV.js +0 -32
  871. package/cdn/chunks/chunk.3KKPV5OI.js +0 -288
  872. package/cdn/chunks/chunk.3M7YL7BY.js +0 -34
  873. package/cdn/chunks/chunk.3UNTOIV2.js +0 -29
  874. package/cdn/chunks/chunk.3WIWERHG.js +0 -41
  875. package/cdn/chunks/chunk.3WPT4WPA.js +0 -158
  876. package/cdn/chunks/chunk.3XEK6ZJA.js +0 -19
  877. package/cdn/chunks/chunk.45XFWGEL.js +0 -110
  878. package/cdn/chunks/chunk.46WWZTCI.js +0 -39
  879. package/cdn/chunks/chunk.4AWQ3P7Z.js +0 -19
  880. package/cdn/chunks/chunk.4BS3A266.js +0 -19
  881. package/cdn/chunks/chunk.4PDBX7DI.js +0 -37
  882. package/cdn/chunks/chunk.4QFIJBCO.js +0 -60
  883. package/cdn/chunks/chunk.4SH2XSLJ.js +0 -47
  884. package/cdn/chunks/chunk.4YZDZQ4Y.js +0 -32
  885. package/cdn/chunks/chunk.53RRYVCX.js +0 -29
  886. package/cdn/chunks/chunk.57GXVKQI.js +0 -29
  887. package/cdn/chunks/chunk.5SABEIEW.js +0 -359
  888. package/cdn/chunks/chunk.5XSRMYEO.js +0 -132
  889. package/cdn/chunks/chunk.6BPRQKWC.js +0 -19
  890. package/cdn/chunks/chunk.6PDKWTOW.js +0 -279
  891. package/cdn/chunks/chunk.6TFBNK24.js +0 -19
  892. package/cdn/chunks/chunk.6Y6CEFC4.js +0 -19
  893. package/cdn/chunks/chunk.74ZEGEWV.js +0 -19
  894. package/cdn/chunks/chunk.77ZBM3DP.js +0 -662
  895. package/cdn/chunks/chunk.7DBJ6F7W.js +0 -35
  896. package/cdn/chunks/chunk.7IJFDHCX.js +0 -32
  897. package/cdn/chunks/chunk.7JN43LMT.js +0 -19
  898. package/cdn/chunks/chunk.7JXWQSAX.js +0 -36
  899. package/cdn/chunks/chunk.7NLSXSIB.js +0 -29
  900. package/cdn/chunks/chunk.7PFNDNEY.js +0 -234
  901. package/cdn/chunks/chunk.7R3QM2PS.js +0 -30
  902. package/cdn/chunks/chunk.7S3RPGH3.js +0 -29
  903. package/cdn/chunks/chunk.7THLKNXU.js +0 -29
  904. package/cdn/chunks/chunk.7UCPGD44.js +0 -106
  905. package/cdn/chunks/chunk.7XDSA7NO.js +0 -278
  906. package/cdn/chunks/chunk.7XIXO5VA.js +0 -19
  907. package/cdn/chunks/chunk.7YGWLDY2.js +0 -19
  908. package/cdn/chunks/chunk.A3DLYWF7.js +0 -19
  909. package/cdn/chunks/chunk.AH6W6EGS.js +0 -77
  910. package/cdn/chunks/chunk.AM27WUW5.js +0 -29
  911. package/cdn/chunks/chunk.ANGGR464.js +0 -19
  912. package/cdn/chunks/chunk.BCDPCFGL.js +0 -19
  913. package/cdn/chunks/chunk.BJ3N2M74.js +0 -477
  914. package/cdn/chunks/chunk.BLLQQEU4.js +0 -93
  915. package/cdn/chunks/chunk.BPMODTFZ.js +0 -19
  916. package/cdn/chunks/chunk.C3WIXITA.js +0 -19
  917. package/cdn/chunks/chunk.C4NRIXB5.js +0 -32
  918. package/cdn/chunks/chunk.C6ZU7BQU.js +0 -19
  919. package/cdn/chunks/chunk.CED7VU3A.js +0 -19
  920. package/cdn/chunks/chunk.CIQJX7DN.js +0 -19
  921. package/cdn/chunks/chunk.CNUZIWX3.js +0 -49
  922. package/cdn/chunks/chunk.CPMSN4UJ.js +0 -188
  923. package/cdn/chunks/chunk.CWXB2IIO.js +0 -29
  924. package/cdn/chunks/chunk.D7RTNDXT.js +0 -19
  925. package/cdn/chunks/chunk.DJQP2IMA.js +0 -264
  926. package/cdn/chunks/chunk.DNR3FVXW.js +0 -357
  927. package/cdn/chunks/chunk.DRMQM3ZI.js +0 -302
  928. package/cdn/chunks/chunk.DZE46JZE.js +0 -33
  929. package/cdn/chunks/chunk.E23QC5CB.js +0 -19
  930. package/cdn/chunks/chunk.E2XCXOAJ.js +0 -74
  931. package/cdn/chunks/chunk.E5SLLQG3.js +0 -19
  932. package/cdn/chunks/chunk.E74MOGHY.js +0 -19
  933. package/cdn/chunks/chunk.EK3MCWKP.js +0 -19
  934. package/cdn/chunks/chunk.ETNO4HXV.js +0 -276
  935. package/cdn/chunks/chunk.EYD3JBVW.js +0 -19
  936. package/cdn/chunks/chunk.EYQLI54B.js +0 -29
  937. package/cdn/chunks/chunk.F3RTIMRW.js +0 -1039
  938. package/cdn/chunks/chunk.F5QWVMPR.js +0 -99
  939. package/cdn/chunks/chunk.F73O5LKK.js +0 -134
  940. package/cdn/chunks/chunk.F7XFAAJE.js +0 -33
  941. package/cdn/chunks/chunk.FDZIJYAO.js +0 -610
  942. package/cdn/chunks/chunk.FEAWTNIM.js +0 -19
  943. package/cdn/chunks/chunk.FEG7AH52.js +0 -230
  944. package/cdn/chunks/chunk.FJEMKM6L.js +0 -99
  945. package/cdn/chunks/chunk.FLYZMRBH.js +0 -19
  946. package/cdn/chunks/chunk.FMZGNUT6.js +0 -32
  947. package/cdn/chunks/chunk.FPTDR7CZ.js +0 -19
  948. package/cdn/chunks/chunk.FT4EMWLT.js +0 -36
  949. package/cdn/chunks/chunk.G3TTBDUB.js +0 -29
  950. package/cdn/chunks/chunk.GDWGIG42.js +0 -33858
  951. package/cdn/chunks/chunk.GESX3J6K.js +0 -29
  952. package/cdn/chunks/chunk.GLGGOYSS.js +0 -32
  953. package/cdn/chunks/chunk.GP34NE53.js +0 -248
  954. package/cdn/chunks/chunk.GQDFFYST.js +0 -37
  955. package/cdn/chunks/chunk.GUH7MM42.js +0 -224
  956. package/cdn/chunks/chunk.GWUI2AWV.js +0 -32
  957. package/cdn/chunks/chunk.HDHDBLD7.js +0 -78
  958. package/cdn/chunks/chunk.HEU3DA6R.js +0 -19
  959. package/cdn/chunks/chunk.HUPSCPKB.js +0 -35
  960. package/cdn/chunks/chunk.HVEKBFXN.js +0 -19
  961. package/cdn/chunks/chunk.I7DZOR75.js +0 -35
  962. package/cdn/chunks/chunk.I7I7IRUJ.js +0 -165
  963. package/cdn/chunks/chunk.IQO7QZ6F.js +0 -19
  964. package/cdn/chunks/chunk.IZB43GH7.js +0 -616
  965. package/cdn/chunks/chunk.JAMHC4MV.js +0 -83
  966. package/cdn/chunks/chunk.JFHC3LXJ.js +0 -56
  967. package/cdn/chunks/chunk.JIFH4KW6.js +0 -29
  968. package/cdn/chunks/chunk.JZSQM3VW.js +0 -29
  969. package/cdn/chunks/chunk.K6LGN35W.js +0 -136
  970. package/cdn/chunks/chunk.K6SKQZRX.js +0 -157
  971. package/cdn/chunks/chunk.K7EC2QO6.js +0 -145
  972. package/cdn/chunks/chunk.KBLQRHVM.js +0 -33
  973. package/cdn/chunks/chunk.KIYBBETI.js +0 -599
  974. package/cdn/chunks/chunk.KJIZK2GR.js +0 -33
  975. package/cdn/chunks/chunk.KPCBPIM2.js +0 -19
  976. package/cdn/chunks/chunk.L3OIOVRC.js +0 -36
  977. package/cdn/chunks/chunk.LBABTGAS.js +0 -146
  978. package/cdn/chunks/chunk.LBLAQB7E.js +0 -19
  979. package/cdn/chunks/chunk.LK77ZQIZ.js +0 -19
  980. package/cdn/chunks/chunk.LLAXCJPT.js +0 -32
  981. package/cdn/chunks/chunk.LQCV7ZYM.js +0 -83
  982. package/cdn/chunks/chunk.M55UUYE6.js +0 -19
  983. package/cdn/chunks/chunk.M5MAEZD5.js +0 -29
  984. package/cdn/chunks/chunk.M6362XDV.js +0 -19
  985. package/cdn/chunks/chunk.MFFHCZ5L.js +0 -19
  986. package/cdn/chunks/chunk.MIQUNAYB.js +0 -19
  987. package/cdn/chunks/chunk.MOZTMXIO.js +0 -29
  988. package/cdn/chunks/chunk.MWWSE5AO.js +0 -19
  989. package/cdn/chunks/chunk.MY73O246.js +0 -499
  990. package/cdn/chunks/chunk.NKC2HFQO.js +0 -19
  991. package/cdn/chunks/chunk.NKP4OZ6C.js +0 -19
  992. package/cdn/chunks/chunk.NPKRRICT.js +0 -36
  993. package/cdn/chunks/chunk.NU3XX242.js +0 -93
  994. package/cdn/chunks/chunk.OEG2PCOY.js +0 -29
  995. package/cdn/chunks/chunk.OICPTIVQ.js +0 -1002
  996. package/cdn/chunks/chunk.ONRLLQNT.js +0 -86
  997. package/cdn/chunks/chunk.ORNWQAHG.js +0 -29
  998. package/cdn/chunks/chunk.OUTTGBUO.js +0 -29
  999. package/cdn/chunks/chunk.OVVZBWQ5.js +0 -32
  1000. package/cdn/chunks/chunk.OWCDD7DL.js +0 -977
  1001. package/cdn/chunks/chunk.P4RQ4MFI.js +0 -33
  1002. package/cdn/chunks/chunk.PAHZERFK.js +0 -19
  1003. package/cdn/chunks/chunk.Q3LBEGYY.js +0 -19
  1004. package/cdn/chunks/chunk.QFRZNTBB.js +0 -19
  1005. package/cdn/chunks/chunk.QLUPX74R.js +0 -32
  1006. package/cdn/chunks/chunk.QNBW7SSE.js +0 -19
  1007. package/cdn/chunks/chunk.QRYITAX4.js +0 -29
  1008. package/cdn/chunks/chunk.QYV5WCX7.js +0 -372
  1009. package/cdn/chunks/chunk.S2F2564D.js +0 -77
  1010. package/cdn/chunks/chunk.S7E2TP3A.js +0 -29
  1011. package/cdn/chunks/chunk.SA2UUVST.js +0 -19
  1012. package/cdn/chunks/chunk.SA4JCYIC.js +0 -287
  1013. package/cdn/chunks/chunk.SBHQWVNS.js +0 -123
  1014. package/cdn/chunks/chunk.SDNNLHZQ.js +0 -259
  1015. package/cdn/chunks/chunk.SEQFSNN4.js +0 -33
  1016. package/cdn/chunks/chunk.SIGBMSJD.js +0 -19
  1017. package/cdn/chunks/chunk.SJWU5EWL.js +0 -904
  1018. package/cdn/chunks/chunk.SQBGXFEJ.js +0 -375
  1019. package/cdn/chunks/chunk.STCSMNYB.js +0 -113
  1020. package/cdn/chunks/chunk.SUWTMK7P.js +0 -19
  1021. package/cdn/chunks/chunk.SW5PSOVR.js +0 -2175
  1022. package/cdn/chunks/chunk.TFYS773O.js +0 -538
  1023. package/cdn/chunks/chunk.THX5KACF.js +0 -29
  1024. package/cdn/chunks/chunk.TOZJSWZM.js +0 -257
  1025. package/cdn/chunks/chunk.TPINKMZJ.js +0 -32
  1026. package/cdn/chunks/chunk.TSLZA2FP.js +0 -79
  1027. package/cdn/chunks/chunk.TUZUVIYQ.js +0 -493
  1028. package/cdn/chunks/chunk.TWGFMAIL.js +0 -239
  1029. package/cdn/chunks/chunk.TZLNQAFG.js +0 -68
  1030. package/cdn/chunks/chunk.U2G7CWH4.js +0 -19
  1031. package/cdn/chunks/chunk.U4WOOAKH.js +0 -19
  1032. package/cdn/chunks/chunk.U7DU43ZD.js +0 -29
  1033. package/cdn/chunks/chunk.UDIXHKOM.js +0 -29
  1034. package/cdn/chunks/chunk.UGUHGDCA.js +0 -32
  1035. package/cdn/chunks/chunk.ULCUBVWX.js +0 -92
  1036. package/cdn/chunks/chunk.UNRDSWSJ.js +0 -19
  1037. package/cdn/chunks/chunk.UOHYVQ6N.js +0 -190
  1038. package/cdn/chunks/chunk.UPGC5XHC.js +0 -1966
  1039. package/cdn/chunks/chunk.UQWL4L3A.js +0 -19
  1040. package/cdn/chunks/chunk.URRRD4PA.js +0 -32
  1041. package/cdn/chunks/chunk.UVILYQWA.js +0 -134
  1042. package/cdn/chunks/chunk.UXDVYLP3.js +0 -29
  1043. package/cdn/chunks/chunk.VA6OPZBX.js +0 -293
  1044. package/cdn/chunks/chunk.VF7MKBFU.js +0 -731
  1045. package/cdn/chunks/chunk.VKVSAKRF.js +0 -29
  1046. package/cdn/chunks/chunk.VOG4NJCY.js +0 -19
  1047. package/cdn/chunks/chunk.VXY5YRVZ.js +0 -29
  1048. package/cdn/chunks/chunk.W4OUTCDL.js +0 -29
  1049. package/cdn/chunks/chunk.W5D76LYB.js +0 -104
  1050. package/cdn/chunks/chunk.W7KGVFJQ.js +0 -52
  1051. package/cdn/chunks/chunk.WD2GZO6V.js +0 -19
  1052. package/cdn/chunks/chunk.WNX4WGS3.js +0 -524
  1053. package/cdn/chunks/chunk.WWAK3QTQ.js +0 -155
  1054. package/cdn/chunks/chunk.WXIFDT4N.js +0 -231
  1055. package/cdn/chunks/chunk.XCDWBMH6.js +0 -99
  1056. package/cdn/chunks/chunk.XOBAY4RP.js +0 -62
  1057. package/cdn/chunks/chunk.XSKBH44W.js +0 -71
  1058. package/cdn/chunks/chunk.XTBGTVDX.js +0 -29
  1059. package/cdn/chunks/chunk.Y76X56VW.js +0 -60
  1060. package/cdn/chunks/chunk.YATRTMXH.js +0 -35
  1061. package/cdn/chunks/chunk.YCWFBBIW.js +0 -19
  1062. package/cdn/chunks/chunk.YG57KJCC.js +0 -621
  1063. package/cdn/chunks/chunk.YM5CME77.js +0 -151
  1064. package/cdn/chunks/chunk.YP7ODXXO.js +0 -55346
  1065. package/cdn/chunks/chunk.YXXYHJWO.js +0 -435
  1066. package/cdn/chunks/chunk.ZNBYJMJX.js +0 -29
  1067. package/cdn/chunks/chunk.ZTV3CFZX.js +0 -19
  1068. package/cdn/chunks/chunk.ZVDRQMOJ.js +0 -19
  1069. package/cdn/chunks/chunk.ZWNN5ZH2.js +0 -2248
  1070. package/dist/chunks/chunk.23NL6ZID.js +0 -48
  1071. package/dist/chunks/chunk.24Y45GCJ.js +0 -422
  1072. package/dist/chunks/chunk.2BUIWDOP.js +0 -11
  1073. package/dist/chunks/chunk.2FCEMVJR.js +0 -474
  1074. package/dist/chunks/chunk.2I67FVGM.js +0 -245
  1075. package/dist/chunks/chunk.2JGKWM6C.js +0 -74
  1076. package/dist/chunks/chunk.2JLEP7WV.js +0 -135
  1077. package/dist/chunks/chunk.34D76IWL.js +0 -277
  1078. package/dist/chunks/chunk.3E224JEK.js +0 -409
  1079. package/dist/chunks/chunk.3KXUPHQI.js +0 -91
  1080. package/dist/chunks/chunk.3L6HPYYD.js +0 -11
  1081. package/dist/chunks/chunk.3PZSDY3H.js +0 -11
  1082. package/dist/chunks/chunk.46LR3GBN.js +0 -21
  1083. package/dist/chunks/chunk.47TCOBJL.js +0 -93
  1084. package/dist/chunks/chunk.4C6H35CR.js +0 -609
  1085. package/dist/chunks/chunk.4FJ3X63Q.js +0 -21
  1086. package/dist/chunks/chunk.4KAGHT32.js +0 -11
  1087. package/dist/chunks/chunk.4S7VDYUE.js +0 -11
  1088. package/dist/chunks/chunk.4XAFSDPF.js +0 -21
  1089. package/dist/chunks/chunk.4YE3RHPD.js +0 -27
  1090. package/dist/chunks/chunk.5356OGOU.js +0 -596
  1091. package/dist/chunks/chunk.5ONQAV7J.js +0 -11
  1092. package/dist/chunks/chunk.5PJNFHW7.js +0 -11
  1093. package/dist/chunks/chunk.5W5ACDR2.js +0 -11
  1094. package/dist/chunks/chunk.62XR66HC.js +0 -75
  1095. package/dist/chunks/chunk.6BTZPYYD.js +0 -85
  1096. package/dist/chunks/chunk.6G2CQWQW.js +0 -21
  1097. package/dist/chunks/chunk.6JWHPMOL.js +0 -43
  1098. package/dist/chunks/chunk.6LYMZ74C.js +0 -26
  1099. package/dist/chunks/chunk.6OWWYTVJ.js +0 -139
  1100. package/dist/chunks/chunk.7BP2RTH6.js +0 -345
  1101. package/dist/chunks/chunk.7CO4TCAE.js +0 -39
  1102. package/dist/chunks/chunk.7DHYCCKV.js +0 -28
  1103. package/dist/chunks/chunk.7DXRWFLB.js +0 -21
  1104. package/dist/chunks/chunk.7GVOOFGX.js +0 -21
  1105. package/dist/chunks/chunk.A2EGUC6U.js +0 -11
  1106. package/dist/chunks/chunk.A4Y5JGLO.js +0 -291
  1107. package/dist/chunks/chunk.AGVANNFL.js +0 -11
  1108. package/dist/chunks/chunk.AIN7RMJA.js +0 -20
  1109. package/dist/chunks/chunk.AMORIPDA.js +0 -11
  1110. package/dist/chunks/chunk.AOG6UBAK.js +0 -581
  1111. package/dist/chunks/chunk.AOMYOT5P.js +0 -21
  1112. package/dist/chunks/chunk.AWZVKNCO.js +0 -280
  1113. package/dist/chunks/chunk.B25JSTW3.js +0 -24
  1114. package/dist/chunks/chunk.B35TXTHD.js +0 -25
  1115. package/dist/chunks/chunk.B75F4EUF.js +0 -11
  1116. package/dist/chunks/chunk.BFYI5XHA.js +0 -86
  1117. package/dist/chunks/chunk.BMP66UJR.js +0 -451
  1118. package/dist/chunks/chunk.BN7IWGKR.js +0 -24
  1119. package/dist/chunks/chunk.BPYGZWI3.js +0 -180
  1120. package/dist/chunks/chunk.BRSRN5QN.js +0 -24
  1121. package/dist/chunks/chunk.CE47STSQ.js +0 -11
  1122. package/dist/chunks/chunk.CERMDF55.js +0 -176
  1123. package/dist/chunks/chunk.CHYOTCHZ.js +0 -11
  1124. package/dist/chunks/chunk.CIMAQVS2.js +0 -11
  1125. package/dist/chunks/chunk.CIMGUV6Y.js +0 -24
  1126. package/dist/chunks/chunk.CLRSZEB2.js +0 -24
  1127. package/dist/chunks/chunk.CQVTWL6Z.js +0 -21
  1128. package/dist/chunks/chunk.CQYKQRWL.js +0 -11
  1129. package/dist/chunks/chunk.CR7VTG7C.js +0 -89
  1130. package/dist/chunks/chunk.CU5BQKH2.js +0 -477
  1131. package/dist/chunks/chunk.CYCA3NBR.js +0 -1028
  1132. package/dist/chunks/chunk.DACLOTFS.js +0 -28
  1133. package/dist/chunks/chunk.DITKLYBN.js +0 -180
  1134. package/dist/chunks/chunk.DKUE6PE4.js +0 -11
  1135. package/dist/chunks/chunk.DLNPETOO.js +0 -21
  1136. package/dist/chunks/chunk.DTXOJ33G.js +0 -21
  1137. package/dist/chunks/chunk.DZV7WWTJ.js +0 -11
  1138. package/dist/chunks/chunk.EDG6QOJD.js +0 -27
  1139. package/dist/chunks/chunk.ELELOKAM.js +0 -1122
  1140. package/dist/chunks/chunk.EMK63FTO.js +0 -720
  1141. package/dist/chunks/chunk.ESD54SLD.js +0 -24
  1142. package/dist/chunks/chunk.ET27O3TP.js +0 -21
  1143. package/dist/chunks/chunk.EUVVVTAD.js +0 -11
  1144. package/dist/chunks/chunk.F2SPMDPY.js +0 -11
  1145. package/dist/chunks/chunk.F3ZB3JGC.js +0 -11
  1146. package/dist/chunks/chunk.FKHGRLRX.js +0 -28
  1147. package/dist/chunks/chunk.FKT5MJBI.js +0 -11
  1148. package/dist/chunks/chunk.FM5ENKI6.js +0 -11
  1149. package/dist/chunks/chunk.FSGSFQFY.js +0 -43
  1150. package/dist/chunks/chunk.FUTLNYKY.js +0 -262
  1151. package/dist/chunks/chunk.FWCHY6C4.js +0 -484
  1152. package/dist/chunks/chunk.G4FDMA5K.js +0 -21
  1153. package/dist/chunks/chunk.GCFEUSUL.js +0 -21
  1154. package/dist/chunks/chunk.GMHPIB55.js +0 -61
  1155. package/dist/chunks/chunk.GMMKTV4V.js +0 -11
  1156. package/dist/chunks/chunk.GNEHDIYJ.js +0 -28
  1157. package/dist/chunks/chunk.GOUVLQBF.js +0 -21
  1158. package/dist/chunks/chunk.GP55JK77.js +0 -21
  1159. package/dist/chunks/chunk.GTAPYKS6.js +0 -25
  1160. package/dist/chunks/chunk.H56NTNBW.js +0 -11
  1161. package/dist/chunks/chunk.HETGYAIO.js +0 -48
  1162. package/dist/chunks/chunk.HSQFX4AI.js +0 -29
  1163. package/dist/chunks/chunk.HTALZVYR.js +0 -11
  1164. package/dist/chunks/chunk.HUXLAZB4.js +0 -11
  1165. package/dist/chunks/chunk.HZGL7RFR.js +0 -11
  1166. package/dist/chunks/chunk.HZJ3FPWX.js +0 -525
  1167. package/dist/chunks/chunk.IGMGR4ZS.js +0 -101
  1168. package/dist/chunks/chunk.IHWF6YAG.js +0 -11
  1169. package/dist/chunks/chunk.IKVDW6B4.js +0 -24
  1170. package/dist/chunks/chunk.IRBK2ABM.js +0 -214
  1171. package/dist/chunks/chunk.ITXGVZ3Z.js +0 -24
  1172. package/dist/chunks/chunk.J2CM4WQY.js +0 -25
  1173. package/dist/chunks/chunk.JIEKTF4Q.js +0 -67
  1174. package/dist/chunks/chunk.JIXCGGBH.js +0 -11
  1175. package/dist/chunks/chunk.JQYBVE6K.js +0 -11
  1176. package/dist/chunks/chunk.JQZKVVMA.js +0 -2160
  1177. package/dist/chunks/chunk.JRY3VDVA.js +0 -21
  1178. package/dist/chunks/chunk.JY44NYXW.js +0 -240
  1179. package/dist/chunks/chunk.JYPYYB7H.js +0 -355
  1180. package/dist/chunks/chunk.KA344ZWW.js +0 -180
  1181. package/dist/chunks/chunk.KDFIJ2XZ.js +0 -21
  1182. package/dist/chunks/chunk.KREYCF2O.js +0 -21
  1183. package/dist/chunks/chunk.KYVRLVBM.js +0 -124
  1184. package/dist/chunks/chunk.L2F66NTF.js +0 -11
  1185. package/dist/chunks/chunk.L7HBQCK2.js +0 -21
  1186. package/dist/chunks/chunk.LFGKDLWB.js +0 -11
  1187. package/dist/chunks/chunk.LKC67DSF.js +0 -11
  1188. package/dist/chunks/chunk.LLJK5HH7.js +0 -29
  1189. package/dist/chunks/chunk.LMTCPKOW.js +0 -58
  1190. package/dist/chunks/chunk.LNJDOWJT.js +0 -11
  1191. package/dist/chunks/chunk.LSVWT3PR.js +0 -345
  1192. package/dist/chunks/chunk.M7I7E4A3.js +0 -33
  1193. package/dist/chunks/chunk.MBN5DJT2.js +0 -21
  1194. package/dist/chunks/chunk.MHQYU34F.js +0 -21
  1195. package/dist/chunks/chunk.MPGLTYB6.js +0 -11
  1196. package/dist/chunks/chunk.N4TIYPDB.js +0 -21
  1197. package/dist/chunks/chunk.NBQU43OA.js +0 -21
  1198. package/dist/chunks/chunk.NCGR4ABQ.js +0 -97
  1199. package/dist/chunks/chunk.NMIMLWDR.js +0 -11
  1200. package/dist/chunks/chunk.NVNFECEI.js +0 -24
  1201. package/dist/chunks/chunk.NVUIBB4S.js +0 -11
  1202. package/dist/chunks/chunk.NWAYZFWI.js +0 -11
  1203. package/dist/chunks/chunk.NY7KKKRO.js +0 -230
  1204. package/dist/chunks/chunk.NZ3NKZKC.js +0 -24
  1205. package/dist/chunks/chunk.O5MZZQEP.js +0 -21
  1206. package/dist/chunks/chunk.OA5W6DJB.js +0 -11
  1207. package/dist/chunks/chunk.OAB3DDK5.js +0 -11
  1208. package/dist/chunks/chunk.OCEDSOZX.js +0 -11
  1209. package/dist/chunks/chunk.OKBW6URU.js +0 -11
  1210. package/dist/chunks/chunk.OVOPZGEQ.js +0 -11
  1211. package/dist/chunks/chunk.OXLDFPNG.js +0 -21
  1212. package/dist/chunks/chunk.P67X474T.js +0 -27
  1213. package/dist/chunks/chunk.P6JXLYSN.js +0 -272
  1214. package/dist/chunks/chunk.PADXM5M4.js +0 -11
  1215. package/dist/chunks/chunk.PHMEQKNL.js +0 -844
  1216. package/dist/chunks/chunk.PKDYXLVJ.js +0 -24
  1217. package/dist/chunks/chunk.POZSYZAF.js +0 -986
  1218. package/dist/chunks/chunk.PPJMSHGN.js +0 -11
  1219. package/dist/chunks/chunk.PX354GM6.js +0 -24
  1220. package/dist/chunks/chunk.Q5243NGP.js +0 -25
  1221. package/dist/chunks/chunk.Q5BAROG6.js +0 -11
  1222. package/dist/chunks/chunk.QERV4LTZ.js +0 -52
  1223. package/dist/chunks/chunk.QJQRZAWC.js +0 -365
  1224. package/dist/chunks/chunk.QT2W6HFD.js +0 -252
  1225. package/dist/chunks/chunk.QVAO6BXX.js +0 -21
  1226. package/dist/chunks/chunk.R27R2AP4.js +0 -121
  1227. package/dist/chunks/chunk.RB3PF4D4.js +0 -143
  1228. package/dist/chunks/chunk.RB5DJUVF.js +0 -27
  1229. package/dist/chunks/chunk.RD2C6T6M.js +0 -21
  1230. package/dist/chunks/chunk.RO4MUFVF.js +0 -67
  1231. package/dist/chunks/chunk.S26GNPAB.js +0 -123
  1232. package/dist/chunks/chunk.S3WMAEHE.js +0 -145
  1233. package/dist/chunks/chunk.SGCHDWXR.js +0 -11
  1234. package/dist/chunks/chunk.SKC62H4B.js +0 -11
  1235. package/dist/chunks/chunk.SOPQY2QK.js +0 -21
  1236. package/dist/chunks/chunk.T26ST6IU.js +0 -244
  1237. package/dist/chunks/chunk.T4NPZPD3.js +0 -443
  1238. package/dist/chunks/chunk.T5D6H2LT.js +0 -112
  1239. package/dist/chunks/chunk.T6IXCNHI.js +0 -213
  1240. package/dist/chunks/chunk.TIGMAWX4.js +0 -24
  1241. package/dist/chunks/chunk.TMB4QBMB.js +0 -11
  1242. package/dist/chunks/chunk.TPSLZ3TQ.js +0 -11
  1243. package/dist/chunks/chunk.TT3GKM5K.js +0 -247
  1244. package/dist/chunks/chunk.U3YHERE2.js +0 -11
  1245. package/dist/chunks/chunk.U4G2J5CP.js +0 -25
  1246. package/dist/chunks/chunk.U7E4P6HB.js +0 -220
  1247. package/dist/chunks/chunk.UGC5X6N6.js +0 -11
  1248. package/dist/chunks/chunk.UOPABB4M.js +0 -11
  1249. package/dist/chunks/chunk.UYM4IZDG.js +0 -264
  1250. package/dist/chunks/chunk.V7YAD2DD.js +0 -11
  1251. package/dist/chunks/chunk.VZKXMTPH.js +0 -220
  1252. package/dist/chunks/chunk.W4OTNTHJ.js +0 -11
  1253. package/dist/chunks/chunk.WB55OBFF.js +0 -2235
  1254. package/dist/chunks/chunk.WMBZEBFZ.js +0 -83
  1255. package/dist/chunks/chunk.WVISM2XC.js +0 -31
  1256. package/dist/chunks/chunk.WWHBYZSK.js +0 -52
  1257. package/dist/chunks/chunk.WYB3Y5OW.js +0 -26
  1258. package/dist/chunks/chunk.X2LVPENQ.js +0 -78
  1259. package/dist/chunks/chunk.X3AHCDBL.js +0 -11
  1260. package/dist/chunks/chunk.X7ZDUHWH.js +0 -11
  1261. package/dist/chunks/chunk.XCEIA7BY.js +0 -21
  1262. package/dist/chunks/chunk.XFRO2CBR.js +0 -21
  1263. package/dist/chunks/chunk.XR75EBXL.js +0 -24
  1264. package/dist/chunks/chunk.XRH6YDK4.js +0 -153
  1265. package/dist/chunks/chunk.XZTZVISY.js +0 -91
  1266. package/dist/chunks/chunk.Y6FMCUGS.js +0 -11
  1267. package/dist/chunks/chunk.Y6RWRJYS.js +0 -11
  1268. package/dist/chunks/chunk.YBIDA2BA.js +0 -64
  1269. package/dist/chunks/chunk.ZBDDC5PN.js +0 -11
  1270. package/dist/chunks/chunk.ZDDLBZZE.js +0 -24
  1271. package/dist/chunks/chunk.ZFEQ3S27.js +0 -592
  1272. package/dist/chunks/chunk.ZLFMCRKN.js +0 -960
  1273. package/dist/terra_ui_components-0.0.165-py3-none-any.whl +0 -0
  1274. package/dist/terra_ui_components-0.0.165.tar.gz +0 -0
@@ -1,2175 +0,0 @@
1
- import {
2
- date_picker_styles_default
3
- } from "./chunk.OGT3IDWC.js";
4
- import {
5
- TerraInput
6
- } from "./chunk.FDZIJYAO.js";
7
- import {
8
- TerraDropdown
9
- } from "./chunk.TFYS773O.js";
10
- import {
11
- e as e2,
12
- n as n2
13
- } from "./chunk.K6SKQZRX.js";
14
- import {
15
- TerraButton
16
- } from "./chunk.BJ3N2M74.js";
17
- import {
18
- isValid
19
- } from "./chunk.QSDOLP4K.js";
20
- import {
21
- TerraElement,
22
- component_styles_default,
23
- e,
24
- n,
25
- r
26
- } from "./chunk.77ZBM3DP.js";
27
- import {
28
- x
29
- } from "./chunk.3ZQGAH53.js";
30
- import {
31
- __decorateClass,
32
- init_buffer,
33
- init_dirname,
34
- init_process
35
- } from "./chunk.CZA6CSBG.js";
36
-
37
- // src/components/date-picker/date-picker.component.ts
38
- init_dirname();
39
- init_buffer();
40
- init_process();
41
- var TerraDatePicker = class extends TerraElement {
42
- constructor() {
43
- super();
44
- this.range = false;
45
- this.hideLabel = false;
46
- this.label = "Select Date";
47
- this.helpText = "";
48
- this.startHelpText = "";
49
- this.endHelpText = "";
50
- this.showPresets = false;
51
- this.presets = [];
52
- this.enableTime = false;
53
- this.inline = false;
54
- this.splitInputs = false;
55
- this.placeholder = "Select Date";
56
- this.startPlaceholder = "Start Date";
57
- this.endPlaceholder = "End Date";
58
- this.role = "group";
59
- this.ariaLabel = "Date picker";
60
- this.isOpen = false;
61
- this.leftMonth = /* @__PURE__ */ new Date();
62
- this.rightMonth = /* @__PURE__ */ new Date();
63
- this.selectedStart = null;
64
- this.selectedEnd = null;
65
- this.hoverDate = null;
66
- this.isSelectingRange = false;
67
- this.showLeftMonthDropdown = false;
68
- this.showRightMonthDropdown = false;
69
- this.startHour = 0;
70
- this.startMinute = 0;
71
- this.startSecond = 0;
72
- this.endHour = 23;
73
- this.endMinute = 59;
74
- this.endSecond = 59;
75
- this.selectedDates = {
76
- startDate: (/* @__PURE__ */ new Date()).toString(),
77
- endDate: (/* @__PURE__ */ new Date()).toString()
78
- };
79
- this.dropdownRef = e2();
80
- this.DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
81
- this.MONTHS = [
82
- "January",
83
- "February",
84
- "March",
85
- "April",
86
- "May",
87
- "June",
88
- "July",
89
- "August",
90
- "September",
91
- "October",
92
- "November",
93
- "December"
94
- ];
95
- this.initializePresets();
96
- }
97
- /**
98
- * Parse a date string (YYYY-MM-DD or ISO datetime) as a local date, avoiding timezone issues.
99
- * When you do `new Date("2024-03-20")`, JavaScript interprets it as UTC midnight,
100
- * which can cause off-by-one day errors when using getDate() in local timezone.
101
- * This function parses the date as a local date instead.
102
- *
103
- * When enableTime is true, datetime strings are parsed as UTC to match API min/max dates.
104
- */
105
- parseLocalDate(dateString) {
106
- const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
107
- if (dateOnlyPattern.test(dateString)) {
108
- const [year, month, day] = dateString.split("-").map(Number);
109
- if (this.enableTime) {
110
- return new Date(Date.UTC(year, month - 1, day, 0, 0, 0));
111
- }
112
- return new Date(year, month - 1, day);
113
- }
114
- const dateTimePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/;
115
- if (dateTimePattern.test(dateString)) {
116
- const [datePart, timePart] = dateString.split("T");
117
- const [year, month, day] = datePart.split("-").map(Number);
118
- const [hours, minutes, seconds] = timePart.split(":").map(Number);
119
- return new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
120
- }
121
- return new Date(dateString);
122
- }
123
- /**
124
- * Check if two dates are in the same calendar month and year
125
- */
126
- isSameMonth(date1, date2) {
127
- if (this.enableTime) {
128
- return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth();
129
- }
130
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();
131
- }
132
- /**
133
- * Check if a date's month/year matches a given month Date
134
- */
135
- isDateInMonth(date, monthDate) {
136
- if (this.enableTime) {
137
- return date.getUTCFullYear() === monthDate.getUTCFullYear() && date.getUTCMonth() === monthDate.getUTCMonth();
138
- }
139
- return date.getFullYear() === monthDate.getFullYear() && date.getMonth() === monthDate.getMonth();
140
- }
141
- getBounds() {
142
- const min = this.minDate ? this.parseLocalDate(this.minDate) : void 0;
143
- const max = this.maxDate ? this.parseLocalDate(this.maxDate) : void 0;
144
- return { min, max };
145
- }
146
- doesRangeOverlapBounds(range) {
147
- const { startDate, endDate } = range;
148
- const { min, max } = this.getBounds();
149
- if (!this.range) {
150
- if (!startDate)
151
- return false;
152
- if (min && startDate < min)
153
- return false;
154
- if (max && startDate > max)
155
- return false;
156
- return true;
157
- }
158
- const start = startDate != null ? startDate : /* @__PURE__ */ new Date(-864e13);
159
- const end = endDate != null ? endDate : /* @__PURE__ */ new Date(864e13);
160
- if (!min && !max)
161
- return true;
162
- const windowStart = min != null ? min : /* @__PURE__ */ new Date(-864e13);
163
- const windowEnd = max != null ? max : /* @__PURE__ */ new Date(864e13);
164
- return end >= windowStart && start <= windowEnd;
165
- }
166
- isPresetWithinBounds(range) {
167
- return this.doesRangeOverlapBounds(range);
168
- }
169
- get filteredPresets() {
170
- return (this.presets || []).filter(
171
- (preset) => this.isPresetWithinBounds(preset.getValue())
172
- );
173
- }
174
- open() {
175
- this.isOpen = true;
176
- if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
177
- const max = this.parseLocalDate(this.maxDate);
178
- if (!isNaN(max.getTime())) {
179
- if (this.range) {
180
- this.rightMonth = new Date(max);
181
- const left = new Date(max);
182
- left.setMonth(left.getMonth() - 1);
183
- this.leftMonth = left;
184
- } else {
185
- this.leftMonth = new Date(max);
186
- }
187
- }
188
- }
189
- if (!this.inline && this.dropdownRef.value) {
190
- this.dropdownRef.value.show();
191
- }
192
- this.requestUpdate();
193
- }
194
- close() {
195
- this.isOpen = false;
196
- if (!this.inline && this.dropdownRef.value) {
197
- this.dropdownRef.value.hide();
198
- }
199
- this.requestUpdate();
200
- }
201
- setOpen(open) {
202
- if (open) {
203
- this.open();
204
- } else {
205
- this.close();
206
- }
207
- }
208
- willUpdate(changedProperties) {
209
- super.willUpdate(changedProperties);
210
- if (changedProperties.has("inline")) {
211
- if (this.inline) {
212
- this.isOpen = true;
213
- if (this.dropdownRef.value) {
214
- this.dropdownRef.value.hide();
215
- }
216
- }
217
- }
218
- if (changedProperties.has("minDate") || changedProperties.has("maxDate")) {
219
- if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
220
- const max = this.parseLocalDate(this.maxDate);
221
- if (!isNaN(max.getTime())) {
222
- if (this.range) {
223
- this.rightMonth = new Date(max);
224
- const left = new Date(max);
225
- left.setMonth(left.getMonth() - 1);
226
- this.leftMonth = left;
227
- } else {
228
- this.leftMonth = new Date(max);
229
- }
230
- }
231
- }
232
- }
233
- if (changedProperties.has("startDate") || changedProperties.has("endDate")) {
234
- if (this.startDate) {
235
- const start = this.parseLocalDate(this.startDate);
236
- if (!isNaN(start.getTime())) {
237
- this.selectedStart = start;
238
- if (this.enableTime) {
239
- this.initializeTimeFromDate(start, true);
240
- }
241
- }
242
- } else {
243
- this.selectedStart = null;
244
- }
245
- if (this.range) {
246
- if (this.endDate) {
247
- const end = this.parseLocalDate(this.endDate);
248
- if (!isNaN(end.getTime())) {
249
- this.selectedEnd = end;
250
- if (this.enableTime) {
251
- this.initializeTimeFromDate(end, false);
252
- }
253
- }
254
- } else {
255
- this.selectedEnd = null;
256
- }
257
- if (this.selectedStart && this.selectedEnd) {
258
- const isSingleMonthRange = this.isSameMonth(
259
- this.selectedStart,
260
- this.selectedEnd
261
- );
262
- if (isSingleMonthRange) {
263
- if (this.isDateInMonth(this.selectedStart, this.leftMonth)) {
264
- this.leftMonth = new Date(this.selectedStart);
265
- if (this.isDateInMonth(
266
- this.selectedStart,
267
- this.rightMonth
268
- )) {
269
- this.rightMonth = new Date(this.selectedStart);
270
- this.rightMonth.setMonth(
271
- this.rightMonth.getMonth() + 1
272
- );
273
- }
274
- } else if (this.isDateInMonth(this.selectedStart, this.rightMonth)) {
275
- this.rightMonth = new Date(this.selectedStart);
276
- } else {
277
- this.leftMonth = new Date(this.selectedStart);
278
- }
279
- } else {
280
- this.leftMonth = new Date(this.selectedStart);
281
- this.rightMonth = new Date(this.selectedEnd);
282
- }
283
- } else if (this.selectedStart) {
284
- this.leftMonth = new Date(this.selectedStart);
285
- this.rightMonth = new Date(this.leftMonth);
286
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
287
- }
288
- } else {
289
- if (this.selectedStart) {
290
- this.leftMonth = new Date(this.selectedStart);
291
- }
292
- this.selectedEnd = null;
293
- }
294
- }
295
- }
296
- initializePresets() {
297
- if (this.presets.length === 0) {
298
- this.presets = [
299
- {
300
- label: "Today",
301
- getValue: () => {
302
- const today = /* @__PURE__ */ new Date();
303
- return {
304
- startDate: today,
305
- endDate: this.range ? today : null
306
- };
307
- }
308
- },
309
- {
310
- label: "Yesterday",
311
- getValue: () => {
312
- const yesterday = /* @__PURE__ */ new Date();
313
- yesterday.setDate(yesterday.getDate() - 1);
314
- return {
315
- startDate: yesterday,
316
- endDate: this.range ? yesterday : null
317
- };
318
- }
319
- },
320
- {
321
- label: "Last 7 days",
322
- getValue: () => {
323
- const end = /* @__PURE__ */ new Date();
324
- const start = /* @__PURE__ */ new Date();
325
- start.setDate(start.getDate() - 6);
326
- return { startDate: start, endDate: end };
327
- }
328
- },
329
- {
330
- label: "Last 30 days",
331
- getValue: () => {
332
- const end = /* @__PURE__ */ new Date();
333
- const start = /* @__PURE__ */ new Date();
334
- start.setDate(start.getDate() - 29);
335
- return { startDate: start, endDate: end };
336
- }
337
- },
338
- {
339
- label: "Last 6 months",
340
- getValue: () => {
341
- const end = /* @__PURE__ */ new Date();
342
- const start = /* @__PURE__ */ new Date();
343
- start.setMonth(start.getMonth() - 6);
344
- return { startDate: start, endDate: end };
345
- }
346
- },
347
- {
348
- label: "Last year",
349
- getValue: () => {
350
- const end = /* @__PURE__ */ new Date();
351
- const start = /* @__PURE__ */ new Date();
352
- start.setFullYear(start.getFullYear() - 1);
353
- return { startDate: start, endDate: end };
354
- }
355
- },
356
- {
357
- label: "All time",
358
- getValue: () => {
359
- const { min, max } = this.getBounds();
360
- return {
361
- startDate: min || null,
362
- endDate: max || null
363
- };
364
- }
365
- }
366
- ];
367
- }
368
- }
369
- firstUpdated() {
370
- const params = new URLSearchParams(window.location.search);
371
- const timeStartParam = params.get("time_start") || this.startDate;
372
- const timeEndParam = params.get("time_end") || this.endDate;
373
- if (timeStartParam) {
374
- this.selectedStart = this.parseLocalDate(timeStartParam);
375
- this.leftMonth = new Date(this.selectedStart);
376
- if (this.enableTime) {
377
- this.initializeTimeFromDate(this.selectedStart, true);
378
- }
379
- }
380
- if (this.range && timeEndParam) {
381
- this.selectedEnd = this.parseLocalDate(timeEndParam);
382
- if (this.enableTime) {
383
- this.initializeTimeFromDate(this.selectedEnd, false);
384
- }
385
- if (this.selectedStart && this.selectedEnd) {
386
- const isSingleMonthRange = this.isSameMonth(
387
- this.selectedStart,
388
- this.selectedEnd
389
- );
390
- if (isSingleMonthRange) {
391
- this.rightMonth = new Date(this.selectedStart);
392
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
393
- } else {
394
- this.rightMonth = new Date(this.selectedEnd);
395
- }
396
- } else if (this.selectedEnd) {
397
- this.rightMonth = new Date(this.selectedEnd);
398
- }
399
- }
400
- if (this.range && !timeEndParam) {
401
- this.rightMonth = new Date(this.leftMonth);
402
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
403
- }
404
- if (this.inline) {
405
- this.isOpen = true;
406
- }
407
- }
408
- disconnectedCallback() {
409
- super.disconnectedCallback();
410
- }
411
- handleDropdownShow() {
412
- this.isOpen = true;
413
- }
414
- handleDropdownHide() {
415
- this.isOpen = false;
416
- }
417
- formatDisplayDate(date, isStart = true) {
418
- if (!date)
419
- return "";
420
- const format = this.displayFormat || (this.enableTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
421
- if (this.enableTime) {
422
- const year2 = date.getUTCFullYear();
423
- const month2 = String(date.getUTCMonth() + 1).padStart(2, "0");
424
- const day2 = String(date.getUTCDate()).padStart(2, "0");
425
- const hours = String(isStart ? this.startHour : this.endHour).padStart(
426
- 2,
427
- "0"
428
- );
429
- const minutes = String(
430
- isStart ? this.startMinute : this.endMinute
431
- ).padStart(2, "0");
432
- const seconds = String(
433
- isStart ? this.startSecond : this.endSecond
434
- ).padStart(2, "0");
435
- return format.replace("YYYY", year2.toString()).replace("MM", month2).replace("DD", day2).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
436
- }
437
- const year = date.getFullYear();
438
- const month = String(date.getMonth() + 1).padStart(2, "0");
439
- const day = String(date.getDate()).padStart(2, "0");
440
- return format.replace("YYYY", year.toString()).replace("MM", month).replace("DD", day);
441
- }
442
- getDisplayValue() {
443
- if (this.range) {
444
- if (this.selectedStart && this.selectedEnd) {
445
- return `${this.formatDisplayDate(this.selectedStart, true)} \u2013 ${this.formatDisplayDate(this.selectedEnd, false)}`;
446
- } else if (this.selectedStart) {
447
- return this.formatDisplayDate(this.selectedStart, true);
448
- }
449
- return "";
450
- } else {
451
- return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
452
- }
453
- }
454
- getStartDateDisplayValue() {
455
- return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
456
- }
457
- getEndDateDisplayValue() {
458
- return this.selectedEnd ? this.formatDisplayDate(this.selectedEnd, false) : "";
459
- }
460
- parseAndFormatDate(dateStr) {
461
- const trimmed = dateStr.trim();
462
- if (!trimmed)
463
- return null;
464
- const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
465
- const dateTimePattern = /^\d{4}-\d{2}-\d{2}[T\s]\d{1,2}:\d{2}(:\d{2})?$/;
466
- let date;
467
- if (dateOnlyPattern.test(trimmed)) {
468
- date = this.parseLocalDate(trimmed);
469
- } else if (this.enableTime && dateTimePattern.test(trimmed)) {
470
- const [datePart, timePart] = trimmed.split(/[T\s]+/);
471
- const [year, month, day] = datePart.split("-").map(Number);
472
- const timeComponents = timePart.split(":").map(Number);
473
- const hours = timeComponents[0] || 0;
474
- const minutes = timeComponents[1] || 0;
475
- const seconds = timeComponents[2] || 0;
476
- date = new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
477
- } else {
478
- date = new Date(trimmed);
479
- if (!isValid(date)) {
480
- return null;
481
- }
482
- }
483
- if (!isValid(date)) {
484
- return null;
485
- }
486
- if (this.enableTime) {
487
- if (dateOnlyPattern.test(trimmed)) {
488
- return trimmed;
489
- } else {
490
- const utcYear = date.getUTCFullYear();
491
- const utcMonth = date.getUTCMonth() + 1;
492
- const utcDay = date.getUTCDate();
493
- const utcHours = date.getUTCHours();
494
- const utcMinutes = date.getUTCMinutes();
495
- const utcSeconds = date.getUTCSeconds();
496
- 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")}`;
497
- }
498
- } else {
499
- const year = date.getFullYear();
500
- const month = date.getMonth() + 1;
501
- const day = date.getDate();
502
- return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
503
- }
504
- }
505
- clearInputValidation() {
506
- const inputs = this.renderRoot.querySelectorAll("terra-input");
507
- inputs.forEach((input) => {
508
- input.setCustomValidity("");
509
- });
510
- }
511
- /**
512
- * Format a date string for display in error messages
513
- * When time is disabled, only show the date portion (YYYY-MM-DD)
514
- */
515
- formatDateForError(dateString) {
516
- if (!this.enableTime) {
517
- return dateString.split("T")[0];
518
- }
519
- return dateString;
520
- }
521
- /**
522
- * Set validation error on input and emit invalid event
523
- */
524
- setInputValidationError(input, message) {
525
- input.setCustomValidity(message);
526
- requestAnimationFrame(() => {
527
- ;
528
- input.validationErrorMessage = message;
529
- input.requestUpdate();
530
- });
531
- this.emit("terra-date-selection-invalid", {
532
- detail: { message }
533
- });
534
- }
535
- handleInputBlur(event) {
536
- const input = event.target;
537
- const value = input.value || "";
538
- if (!value.trim()) {
539
- this.selectedStart = null;
540
- this.selectedEnd = null;
541
- input.setCustomValidity("");
542
- this.emitChange();
543
- return;
544
- }
545
- if (this.range) {
546
- const parts = value.split(" - ");
547
- if (parts.length !== 2) {
548
- const message = "Date range must be in format: YYYY-MM-DD - YYYY-MM-DD";
549
- this.setInputValidationError(input, message);
550
- return;
551
- }
552
- const startFormatted = this.parseAndFormatDate(parts[0]);
553
- const endFormatted = this.parseAndFormatDate(parts[1]);
554
- if (!startFormatted) {
555
- const message = "Invalid start date format";
556
- this.setInputValidationError(input, message);
557
- return;
558
- }
559
- if (!endFormatted) {
560
- const message = "Invalid end date format";
561
- this.setInputValidationError(input, message);
562
- return;
563
- }
564
- let start;
565
- let end;
566
- if (this.enableTime && startFormatted.includes("T")) {
567
- start = new Date(startFormatted);
568
- this.initializeTimeFromDate(start, true);
569
- } else if (this.enableTime) {
570
- const [year, month, day] = startFormatted.split("-").map(Number);
571
- start = new Date(
572
- Date.UTC(
573
- year,
574
- month - 1,
575
- day,
576
- this.startHour,
577
- this.startMinute,
578
- this.startSecond
579
- )
580
- );
581
- } else {
582
- start = this.parseLocalDate(startFormatted);
583
- }
584
- if (this.enableTime && endFormatted.includes("T")) {
585
- end = new Date(endFormatted);
586
- this.initializeTimeFromDate(end, false);
587
- } else if (this.enableTime) {
588
- const [year, month, day] = endFormatted.split("-").map(Number);
589
- end = new Date(
590
- Date.UTC(
591
- year,
592
- month - 1,
593
- day,
594
- this.endHour,
595
- this.endMinute,
596
- this.endSecond
597
- )
598
- );
599
- } else {
600
- end = this.parseLocalDate(endFormatted);
601
- }
602
- let finalStart = start;
603
- let finalEnd = end;
604
- if (start > end) {
605
- finalStart = end;
606
- finalEnd = start;
607
- }
608
- if (this.minDate) {
609
- const min = this.parseLocalDate(this.minDate);
610
- if (finalStart < min) {
611
- const message = `Start date must be on or after ${this.formatDateForError(this.minDate)}`;
612
- this.setInputValidationError(input, message);
613
- return;
614
- }
615
- }
616
- if (this.maxDate) {
617
- const max = this.parseLocalDate(this.maxDate);
618
- if (finalEnd > max) {
619
- const message = `End date must be on or before ${this.formatDateForError(this.maxDate)}`;
620
- this.setInputValidationError(input, message);
621
- return;
622
- }
623
- }
624
- this.selectedStart = finalStart;
625
- this.selectedEnd = finalEnd;
626
- this.updateMonthViews();
627
- input.value = `${startFormatted} - ${endFormatted}`;
628
- input.setCustomValidity("");
629
- this.emitChange();
630
- } else {
631
- const formatted = this.parseAndFormatDate(value);
632
- if (!formatted) {
633
- const message = "Invalid date format";
634
- this.setInputValidationError(input, message);
635
- return;
636
- }
637
- let date;
638
- if (this.enableTime && formatted.includes("T")) {
639
- date = new Date(formatted);
640
- this.initializeTimeFromDate(date, true);
641
- } else if (this.enableTime) {
642
- const [year, month, day] = formatted.split("-").map(Number);
643
- date = new Date(
644
- Date.UTC(
645
- year,
646
- month - 1,
647
- day,
648
- this.startHour,
649
- this.startMinute,
650
- this.startSecond
651
- )
652
- );
653
- } else {
654
- date = this.parseLocalDate(formatted);
655
- }
656
- if (this.minDate) {
657
- const min = this.parseLocalDate(this.minDate);
658
- if (date < min) {
659
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
660
- this.setInputValidationError(input, message);
661
- return;
662
- }
663
- }
664
- if (this.maxDate) {
665
- const max = this.parseLocalDate(this.maxDate);
666
- if (date > max) {
667
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
668
- this.setInputValidationError(input, message);
669
- return;
670
- }
671
- }
672
- this.selectedStart = date;
673
- this.selectedEnd = null;
674
- this.updateMonthViews();
675
- input.value = formatted;
676
- input.setCustomValidity("");
677
- this.emitChange();
678
- }
679
- }
680
- handleStartInputBlur(event) {
681
- const input = event.target;
682
- const value = input.value || "";
683
- if (!value.trim()) {
684
- this.selectedStart = null;
685
- input.setCustomValidity("");
686
- this.emitChange();
687
- return;
688
- }
689
- const formatted = this.parseAndFormatDate(value);
690
- if (!formatted) {
691
- const message = "Invalid date format";
692
- this.setInputValidationError(input, message);
693
- return;
694
- }
695
- let date;
696
- if (this.enableTime && formatted.includes("T")) {
697
- date = new Date(formatted);
698
- this.initializeTimeFromDate(date, true);
699
- } else if (this.enableTime) {
700
- const [year, month, day] = formatted.split("-").map(Number);
701
- date = new Date(
702
- Date.UTC(
703
- year,
704
- month - 1,
705
- day,
706
- this.startHour,
707
- this.startMinute,
708
- this.startSecond
709
- )
710
- );
711
- } else {
712
- date = this.parseLocalDate(formatted);
713
- }
714
- if (this.minDate) {
715
- const min = this.parseLocalDate(this.minDate);
716
- if (date < min) {
717
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
718
- this.setInputValidationError(input, message);
719
- return;
720
- }
721
- }
722
- if (this.maxDate) {
723
- const max = this.parseLocalDate(this.maxDate);
724
- if (date > max) {
725
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
726
- this.setInputValidationError(input, message);
727
- return;
728
- }
729
- }
730
- if (this.selectedEnd && date > this.selectedEnd) {
731
- const message = "Start date must be before end date";
732
- this.setInputValidationError(input, message);
733
- return;
734
- }
735
- this.selectedStart = date;
736
- this.leftMonth = new Date(date);
737
- input.value = formatted;
738
- input.setCustomValidity("");
739
- this.emitChange();
740
- }
741
- handleEndInputBlur(event) {
742
- const input = event.target;
743
- const value = input.value || "";
744
- if (!value.trim()) {
745
- this.selectedEnd = null;
746
- input.setCustomValidity("");
747
- this.emitChange();
748
- return;
749
- }
750
- const formatted = this.parseAndFormatDate(value);
751
- if (!formatted) {
752
- const message = "Invalid date format";
753
- this.setInputValidationError(input, message);
754
- return;
755
- }
756
- let date;
757
- if (this.enableTime && formatted.includes("T")) {
758
- date = new Date(formatted);
759
- this.initializeTimeFromDate(date, false);
760
- } else if (this.enableTime) {
761
- const [year, month, day] = formatted.split("-").map(Number);
762
- date = new Date(
763
- Date.UTC(
764
- year,
765
- month - 1,
766
- day,
767
- this.endHour,
768
- this.endMinute,
769
- this.endSecond
770
- )
771
- );
772
- } else {
773
- date = this.parseLocalDate(formatted);
774
- }
775
- if (this.minDate) {
776
- const min = this.parseLocalDate(this.minDate);
777
- if (date < min) {
778
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
779
- this.setInputValidationError(input, message);
780
- return;
781
- }
782
- }
783
- if (this.maxDate) {
784
- const max = this.parseLocalDate(this.maxDate);
785
- if (date > max) {
786
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
787
- this.setInputValidationError(input, message);
788
- return;
789
- }
790
- }
791
- if (this.selectedStart) {
792
- if (this.enableTime && this.isSameDay(date, this.selectedStart)) {
793
- const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
794
- const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
795
- if (endTimeSeconds < startTimeSeconds) {
796
- const message = "End time must be after start time when dates are the same";
797
- this.setInputValidationError(input, message);
798
- return;
799
- }
800
- } else if (date < this.selectedStart) {
801
- const message = "End date must be after start date";
802
- this.setInputValidationError(input, message);
803
- return;
804
- }
805
- }
806
- this.selectedEnd = date;
807
- if (this.selectedStart && this.isSameMonth(this.selectedStart, this.selectedEnd)) {
808
- this.rightMonth = new Date(this.selectedStart);
809
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
810
- } else {
811
- this.rightMonth = new Date(date);
812
- }
813
- input.setCustomValidity("");
814
- this.emitChange();
815
- }
816
- updateMonthViews() {
817
- if (this.selectedStart) {
818
- this.leftMonth = new Date(this.selectedStart);
819
- if (this.range && this.selectedEnd) {
820
- if (this.isSameMonth(this.selectedStart, this.selectedEnd)) {
821
- this.rightMonth = new Date(this.selectedStart);
822
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
823
- } else {
824
- this.rightMonth = new Date(this.selectedEnd);
825
- }
826
- }
827
- }
828
- }
829
- handleKeydown(event) {
830
- if (event.key === " ") {
831
- event.stopPropagation();
832
- return;
833
- }
834
- if (event.key === "Enter") {
835
- event.preventDefault();
836
- this.handleInputBlur(event);
837
- }
838
- }
839
- previousMonth(isLeft) {
840
- if (isLeft) {
841
- const newMonth = new Date(this.leftMonth);
842
- newMonth.setMonth(newMonth.getMonth() - 1);
843
- this.leftMonth = newMonth;
844
- } else {
845
- const newMonth = new Date(this.rightMonth);
846
- newMonth.setMonth(newMonth.getMonth() - 1);
847
- this.rightMonth = newMonth;
848
- }
849
- }
850
- nextMonth(isLeft) {
851
- if (isLeft) {
852
- const newMonth = new Date(this.leftMonth);
853
- newMonth.setMonth(newMonth.getMonth() + 1);
854
- this.leftMonth = newMonth;
855
- } else {
856
- const newMonth = new Date(this.rightMonth);
857
- newMonth.setMonth(newMonth.getMonth() + 1);
858
- this.rightMonth = newMonth;
859
- }
860
- }
861
- toggleMonthDropdown(isLeft, event) {
862
- event.stopPropagation();
863
- if (isLeft) {
864
- this.showLeftMonthDropdown = !this.showLeftMonthDropdown;
865
- this.showRightMonthDropdown = false;
866
- } else {
867
- this.showRightMonthDropdown = !this.showRightMonthDropdown;
868
- this.showLeftMonthDropdown = false;
869
- }
870
- }
871
- selectMonth(month, isLeft) {
872
- if (isLeft) {
873
- const newMonth = new Date(this.leftMonth);
874
- newMonth.setDate(1);
875
- newMonth.setMonth(month);
876
- this.leftMonth = newMonth;
877
- this.showLeftMonthDropdown = false;
878
- } else {
879
- const newMonth = new Date(this.rightMonth);
880
- newMonth.setDate(1);
881
- newMonth.setMonth(month);
882
- this.rightMonth = newMonth;
883
- this.showRightMonthDropdown = false;
884
- }
885
- }
886
- changeYear(delta, isLeft) {
887
- if (isLeft) {
888
- const newMonth = new Date(this.leftMonth);
889
- newMonth.setFullYear(newMonth.getFullYear() + delta);
890
- this.leftMonth = newMonth;
891
- } else {
892
- const newMonth = new Date(this.rightMonth);
893
- newMonth.setFullYear(newMonth.getFullYear() + delta);
894
- this.rightMonth = newMonth;
895
- }
896
- }
897
- handleYearInput(event, isLeft) {
898
- const input = event.target;
899
- const year = parseInt(input.value, 10);
900
- if (!isNaN(year) && year >= 1900 && year <= 2100) {
901
- if (isLeft) {
902
- const newMonth = new Date(this.leftMonth);
903
- newMonth.setFullYear(year);
904
- this.leftMonth = newMonth;
905
- } else {
906
- const newMonth = new Date(this.rightMonth);
907
- newMonth.setFullYear(year);
908
- this.rightMonth = newMonth;
909
- }
910
- }
911
- }
912
- getDaysInMonth(date) {
913
- const year = date.getFullYear();
914
- const month = date.getMonth();
915
- const createDate = (y, m, d) => {
916
- if (this.enableTime) {
917
- return new Date(Date.UTC(y, m, d, 0, 0, 0));
918
- }
919
- return new Date(y, m, d);
920
- };
921
- const firstDay = createDate(year, month, 1);
922
- const lastDay = new Date(year, month + 1, 0);
923
- const days = [];
924
- const firstDayOfWeek = this.enableTime ? firstDay.getUTCDay() : firstDay.getDay();
925
- for (let i = firstDayOfWeek - 1; i >= 0; i--) {
926
- const day = createDate(year, month, -i);
927
- days.push(day);
928
- }
929
- for (let i = 1; i <= lastDay.getDate(); i++) {
930
- days.push(createDate(year, month, i));
931
- }
932
- const remainingDays = 7 - days.length % 7;
933
- if (remainingDays < 7) {
934
- for (let i = 1; i <= remainingDays; i++) {
935
- days.push(createDate(year, month + 1, i));
936
- }
937
- }
938
- return days;
939
- }
940
- isSameDay(date1, date2) {
941
- if (!date1 || !date2)
942
- return false;
943
- if (this.enableTime) {
944
- return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth() && date1.getUTCDate() === date2.getUTCDate();
945
- }
946
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
947
- }
948
- isInRange(date) {
949
- if (!this.selectedStart || !this.selectedEnd)
950
- return false;
951
- const time = date.getTime();
952
- return time >= this.selectedStart.getTime() && time <= this.selectedEnd.getTime();
953
- }
954
- isInHoverRange(date) {
955
- if (!this.range || !this.selectedStart || !this.hoverDate || this.selectedEnd)
956
- return false;
957
- const time = date.getTime();
958
- const start = Math.min(this.selectedStart.getTime(), this.hoverDate.getTime());
959
- const end = Math.max(this.selectedStart.getTime(), this.hoverDate.getTime());
960
- return time >= start && time <= end;
961
- }
962
- isDisabled(date) {
963
- if (this.minDate) {
964
- const min = this.parseLocalDate(this.minDate);
965
- const minMidnight = new Date(
966
- Date.UTC(min.getUTCFullYear(), min.getUTCMonth(), min.getUTCDate())
967
- );
968
- const dateMidnight = new Date(
969
- Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
970
- );
971
- if (dateMidnight < minMidnight)
972
- return true;
973
- }
974
- if (this.maxDate) {
975
- const max = this.parseLocalDate(this.maxDate);
976
- const maxMidnight = new Date(
977
- Date.UTC(max.getUTCFullYear(), max.getUTCMonth(), max.getUTCDate())
978
- );
979
- const dateMidnight = new Date(
980
- Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
981
- );
982
- if (dateMidnight > maxMidnight)
983
- return true;
984
- }
985
- return false;
986
- }
987
- selectDate(date) {
988
- if (this.isDisabled(date)) {
989
- this.emit("terra-date-selection-invalid", {
990
- detail: {
991
- message: `You are not allowed to select dates outside ${this.minDate} to ${this.maxDate}.`
992
- }
993
- });
994
- return;
995
- }
996
- this.clearInputValidation();
997
- if (this.range) {
998
- if (!this.selectedStart || this.selectedEnd) {
999
- this.selectedStart = date;
1000
- this.selectedEnd = null;
1001
- this.isSelectingRange = true;
1002
- } else {
1003
- if (date < this.selectedStart) {
1004
- this.selectedEnd = this.selectedStart;
1005
- this.selectedStart = date;
1006
- } else {
1007
- this.selectedEnd = date;
1008
- }
1009
- this.isSelectingRange = false;
1010
- if (this.enableTime && this.selectedStart && this.selectedEnd && this.isSameDay(this.selectedStart, this.selectedEnd)) {
1011
- const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1012
- const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1013
- if (endTimeSeconds < startTimeSeconds) {
1014
- this.emit("terra-date-selection-invalid", {
1015
- detail: {
1016
- message: "End time is before start time. Please adjust the time values."
1017
- }
1018
- });
1019
- }
1020
- }
1021
- this.emitChange();
1022
- if (!this.inline) {
1023
- this.isOpen = false;
1024
- }
1025
- }
1026
- } else {
1027
- this.selectedStart = date;
1028
- this.selectedEnd = null;
1029
- this.emitChange();
1030
- if (!this.inline) {
1031
- this.isOpen = false;
1032
- }
1033
- }
1034
- }
1035
- handleDateHover(date) {
1036
- if (this.range && this.selectedStart && !this.selectedEnd) {
1037
- this.hoverDate = date;
1038
- }
1039
- }
1040
- selectPreset(preset) {
1041
- const { startDate, endDate } = preset.getValue();
1042
- if (!this.isPresetWithinBounds({ startDate, endDate })) {
1043
- this.emit("terra-date-selection-invalid", {
1044
- detail: {
1045
- message: `The preset "${preset.label}" is not available within the allowed date range ${this.minDate} to ${this.maxDate}.`
1046
- }
1047
- });
1048
- return;
1049
- }
1050
- this.clearInputValidation();
1051
- const { min, max } = this.getBounds();
1052
- if (this.range) {
1053
- let s = startDate;
1054
- let e3 = endDate;
1055
- if (s && min && s < min)
1056
- s = new Date(min);
1057
- if (s && max && s > max)
1058
- s = new Date(max);
1059
- if (e3 && min && e3 < min)
1060
- e3 = new Date(min);
1061
- if (e3 && max && e3 > max)
1062
- e3 = new Date(max);
1063
- if (s && e3 && e3 < s) {
1064
- const tmp = s;
1065
- s = e3;
1066
- e3 = tmp;
1067
- }
1068
- this.selectedStart = s;
1069
- this.selectedEnd = e3;
1070
- } else {
1071
- let s = startDate;
1072
- if (s && min && s < min)
1073
- s = new Date(min);
1074
- if (s && max && s > max)
1075
- s = new Date(max);
1076
- this.selectedStart = s;
1077
- this.selectedEnd = null;
1078
- }
1079
- if (this.selectedStart) {
1080
- this.leftMonth = new Date(this.selectedStart);
1081
- if (this.range && this.selectedEnd) {
1082
- this.rightMonth = new Date(this.selectedEnd);
1083
- }
1084
- }
1085
- this.emitChange();
1086
- if (!this.range && !this.inline) {
1087
- this.isOpen = false;
1088
- }
1089
- }
1090
- emitChange() {
1091
- let startDateTime = "";
1092
- let endDateTime = "";
1093
- if (this.selectedStart) {
1094
- if (this.enableTime) {
1095
- const startDate = new Date(this.selectedStart);
1096
- startDate.setUTCHours(
1097
- this.startHour,
1098
- this.startMinute,
1099
- this.startSecond,
1100
- 0
1101
- );
1102
- startDateTime = startDate.toISOString();
1103
- } else {
1104
- const year = this.selectedStart.getFullYear();
1105
- const month = String(this.selectedStart.getMonth() + 1).padStart(
1106
- 2,
1107
- "0"
1108
- );
1109
- const day = String(this.selectedStart.getDate()).padStart(2, "0");
1110
- startDateTime = `${year}-${month}-${day}`;
1111
- }
1112
- }
1113
- if (this.selectedEnd) {
1114
- if (this.enableTime) {
1115
- const endDate = new Date(this.selectedEnd);
1116
- endDate.setUTCHours(this.endHour, this.endMinute, this.endSecond, 0);
1117
- endDateTime = endDate.toISOString();
1118
- } else {
1119
- const year = this.selectedEnd.getFullYear();
1120
- const month = String(this.selectedEnd.getMonth() + 1).padStart(2, "0");
1121
- const day = String(this.selectedEnd.getDate()).padStart(2, "0");
1122
- endDateTime = `${year}-${month}-${day}`;
1123
- }
1124
- }
1125
- this.emit("terra-date-range-change", {
1126
- detail: {
1127
- startDate: startDateTime,
1128
- endDate: endDateTime
1129
- }
1130
- });
1131
- }
1132
- initializeTimeFromDate(date, isStart) {
1133
- const hours = date.getUTCHours();
1134
- const minutes = date.getUTCMinutes();
1135
- const seconds = date.getUTCSeconds();
1136
- if (isStart) {
1137
- this.startHour = hours;
1138
- this.startMinute = minutes;
1139
- this.startSecond = seconds;
1140
- } else {
1141
- this.endHour = hours;
1142
- this.endMinute = minutes;
1143
- this.endSecond = seconds;
1144
- }
1145
- }
1146
- changeTime(type, delta, isStart) {
1147
- if (type === "hour") {
1148
- if (isStart) {
1149
- let newHour = this.startHour + delta;
1150
- if (newHour > 23)
1151
- newHour = 0;
1152
- if (newHour < 0)
1153
- newHour = 23;
1154
- this.startHour = newHour;
1155
- } else {
1156
- let newHour = this.endHour + delta;
1157
- if (newHour > 23)
1158
- newHour = 0;
1159
- if (newHour < 0)
1160
- newHour = 23;
1161
- this.endHour = newHour;
1162
- }
1163
- } else if (type === "minute") {
1164
- if (isStart) {
1165
- let newMinute = this.startMinute + delta;
1166
- if (newMinute >= 60)
1167
- newMinute = 0;
1168
- if (newMinute < 0)
1169
- newMinute = 59;
1170
- this.startMinute = newMinute;
1171
- } else {
1172
- let newMinute = this.endMinute + delta;
1173
- if (newMinute >= 60)
1174
- newMinute = 0;
1175
- if (newMinute < 0)
1176
- newMinute = 59;
1177
- this.endMinute = newMinute;
1178
- }
1179
- } else {
1180
- if (isStart) {
1181
- let newSecond = this.startSecond + delta;
1182
- if (newSecond >= 60)
1183
- newSecond = 0;
1184
- if (newSecond < 0)
1185
- newSecond = 59;
1186
- this.startSecond = newSecond;
1187
- } else {
1188
- let newSecond = this.endSecond + delta;
1189
- if (newSecond >= 60)
1190
- newSecond = 0;
1191
- if (newSecond < 0)
1192
- newSecond = 59;
1193
- this.endSecond = newSecond;
1194
- }
1195
- }
1196
- this.emitChange();
1197
- this.requestUpdate();
1198
- }
1199
- handleTimeInput(event, type, isStart) {
1200
- const input = event.target;
1201
- let value = parseInt(input.value, 10);
1202
- if (type === "hour") {
1203
- if (isNaN(value) || value < 0 || value > 23) {
1204
- input.value = isStart ? this.startHour.toString().padStart(2, "0") : this.endHour.toString().padStart(2, "0");
1205
- return;
1206
- }
1207
- if (isStart)
1208
- this.startHour = value;
1209
- else
1210
- this.endHour = value;
1211
- } else if (type === "minute") {
1212
- if (isNaN(value) || value < 0 || value >= 60) {
1213
- input.value = isStart ? this.startMinute.toString().padStart(2, "0") : this.endMinute.toString().padStart(2, "0");
1214
- return;
1215
- }
1216
- if (isStart)
1217
- this.startMinute = value;
1218
- else
1219
- this.endMinute = value;
1220
- } else {
1221
- if (isNaN(value) || value < 0 || value >= 60) {
1222
- input.value = isStart ? this.startSecond.toString().padStart(2, "0") : this.endSecond.toString().padStart(2, "0");
1223
- return;
1224
- }
1225
- if (isStart)
1226
- this.startSecond = value;
1227
- else
1228
- this.endSecond = value;
1229
- }
1230
- this.emitChange();
1231
- this.requestUpdate();
1232
- }
1233
- renderCalendar(month, isLeft = true) {
1234
- const days = this.getDaysInMonth(month);
1235
- const currentMonth = month.getMonth();
1236
- const showDropdown = isLeft ? this.showLeftMonthDropdown : this.showRightMonthDropdown;
1237
- return x`
1238
- <div class="calendar">
1239
- <div class="calendar__header">
1240
- <button
1241
- type="button"
1242
- class="calendar__nav"
1243
- @click=${() => this.previousMonth(isLeft)}
1244
- >
1245
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1246
- <path
1247
- d="M10 12L6 8L10 4"
1248
- stroke="currentColor"
1249
- stroke-width="2"
1250
- stroke-linecap="round"
1251
- stroke-linejoin="round"
1252
- />
1253
- </svg>
1254
- </button>
1255
-
1256
- <div class="calendar__month-year">
1257
- <div class="calendar__month-dropdown-wrapper">
1258
- <button
1259
- type="button"
1260
- class="calendar__month-button"
1261
- @click=${(e3) => this.toggleMonthDropdown(isLeft, e3)}
1262
- >
1263
- ${this.MONTHS[month.getMonth()]}
1264
- <svg
1265
- width="12"
1266
- height="12"
1267
- viewBox="0 0 12 12"
1268
- fill="none"
1269
- class="calendar__month-icon"
1270
- >
1271
- <path
1272
- d="M3 5L6 8L9 5"
1273
- stroke="currentColor"
1274
- stroke-width="1.5"
1275
- stroke-linecap="round"
1276
- stroke-linejoin="round"
1277
- />
1278
- </svg>
1279
- </button>
1280
-
1281
- ${showDropdown ? x`
1282
- <div class="calendar__month-dropdown">
1283
- ${this.MONTHS.map(
1284
- (monthName, index) => x`
1285
- <button
1286
- type="button"
1287
- class="calendar__month-option ${index === month.getMonth() ? "calendar__month-option--selected" : ""}"
1288
- @click=${() => this.selectMonth(
1289
- index,
1290
- isLeft
1291
- )}
1292
- >
1293
- ${index === month.getMonth() ? x`
1294
- <svg
1295
- width="16"
1296
- height="16"
1297
- viewBox="0 0 16 16"
1298
- fill="none"
1299
- class="calendar__month-check"
1300
- >
1301
- <path
1302
- d="M13 4L6 11L3 8"
1303
- stroke="currentColor"
1304
- stroke-width="2"
1305
- stroke-linecap="round"
1306
- stroke-linejoin="round"
1307
- />
1308
- </svg>
1309
- ` : ""}
1310
- ${monthName}
1311
- </button>
1312
- `
1313
- )}
1314
- </div>
1315
- ` : ""}
1316
- </div>
1317
-
1318
- <div class="calendar__year-input-wrapper">
1319
- <input
1320
- type="number"
1321
- class="calendar__year-input"
1322
- .value=${month.getFullYear().toString()}
1323
- @input=${(e3) => this.handleYearInput(e3, isLeft)}
1324
- @blur=${(e3) => {
1325
- const input = e3.target;
1326
- input.value = month.getFullYear().toString();
1327
- }}
1328
- min="1900"
1329
- max="2100"
1330
- />
1331
- <div class="calendar__year-spinners">
1332
- <button
1333
- type="button"
1334
- class="calendar__year-spinner calendar__year-spinner--up"
1335
- @click=${() => this.changeYear(1, isLeft)}
1336
- >
1337
- <svg
1338
- width="10"
1339
- height="10"
1340
- viewBox="0 0 10 10"
1341
- fill="none"
1342
- >
1343
- <path
1344
- d="M2 6L5 3L8 6"
1345
- stroke="currentColor"
1346
- stroke-width="1.5"
1347
- stroke-linecap="round"
1348
- stroke-linejoin="round"
1349
- />
1350
- </svg>
1351
- </button>
1352
- <button
1353
- type="button"
1354
- class="calendar__year-spinner calendar__year-spinner--down"
1355
- @click=${() => this.changeYear(-1, isLeft)}
1356
- >
1357
- <svg
1358
- width="10"
1359
- height="10"
1360
- viewBox="0 0 10 10"
1361
- fill="none"
1362
- >
1363
- <path
1364
- d="M2 4L5 7L8 4"
1365
- stroke="currentColor"
1366
- stroke-width="1.5"
1367
- stroke-linecap="round"
1368
- stroke-linejoin="round"
1369
- />
1370
- </svg>
1371
- </button>
1372
- </div>
1373
- </div>
1374
- </div>
1375
-
1376
- <button
1377
- type="button"
1378
- class="calendar__nav"
1379
- @click=${() => this.nextMonth(isLeft)}
1380
- >
1381
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1382
- <path
1383
- d="M6 12L10 8L6 4"
1384
- stroke="currentColor"
1385
- stroke-width="2"
1386
- stroke-linecap="round"
1387
- stroke-linejoin="round"
1388
- />
1389
- </svg>
1390
- </button>
1391
- </div>
1392
- <div class="calendar__weekdays">
1393
- ${this.DAYS.map(
1394
- (day) => x`<div class="calendar__weekday">${day}</div>`
1395
- )}
1396
- </div>
1397
- <div class="calendar__days">
1398
- ${days.map((date) => {
1399
- const dateMonth = this.enableTime ? date.getUTCMonth() : date.getMonth();
1400
- const dateDay = this.enableTime ? date.getUTCDate() : date.getDate();
1401
- const isCurrentMonth = dateMonth === currentMonth;
1402
- const isSelected = this.isSameDay(date, this.selectedStart) || this.isSameDay(date, this.selectedEnd);
1403
- const isStart = this.isSameDay(date, this.selectedStart);
1404
- const isEnd = this.isSameDay(date, this.selectedEnd);
1405
- const inRange = this.isInRange(date);
1406
- const inHoverRange = this.isInHoverRange(date);
1407
- const isDisabled = this.isDisabled(date);
1408
- return x`
1409
- <button
1410
- type="button"
1411
- class="calendar__day ${!isCurrentMonth ? "calendar__day--outside" : ""}
1412
- ${isSelected ? "calendar__day--selected" : ""}
1413
- ${isStart ? "calendar__day--start" : ""}
1414
- ${isEnd ? "calendar__day--end" : ""}
1415
- ${inRange ? "calendar__day--in-range" : ""}
1416
- ${inHoverRange ? "calendar__day--hover-range" : ""}
1417
- ${isDisabled ? "calendar__day--disabled" : ""}"
1418
- @click=${() => this.selectDate(date)}
1419
- @mouseenter=${() => this.handleDateHover(date)}
1420
- ?disabled=${isDisabled}
1421
- >
1422
- ${dateDay}
1423
- </button>
1424
- `;
1425
- })}
1426
- </div>
1427
- </div>
1428
- `;
1429
- }
1430
- renderTimePicker() {
1431
- if (!this.enableTime)
1432
- return "";
1433
- return x`
1434
- <div class="date-picker__time">
1435
- <div class="date-picker__time-section">
1436
- <div class="date-picker__time-inputs">
1437
- <div class="date-picker__time-input-group">
1438
- <input
1439
- type="number"
1440
- class="date-picker__time-input"
1441
- .value=${this.startHour.toString().padStart(2, "0")}
1442
- @input=${(e3) => this.handleTimeInput(e3, "hour", true)}
1443
- @blur=${(e3) => {
1444
- const input = e3.target;
1445
- input.value = this.startHour.toString().padStart(2, "0");
1446
- }}
1447
- min="0"
1448
- max="23"
1449
- />
1450
- <div class="date-picker__time-spinners">
1451
- <button
1452
- type="button"
1453
- class="date-picker__time-spinner"
1454
- @click=${() => this.changeTime("hour", 1, true)}
1455
- >
1456
- <svg
1457
- width="10"
1458
- height="10"
1459
- viewBox="0 0 10 10"
1460
- fill="none"
1461
- >
1462
- <path
1463
- d="M2 6L5 3L8 6"
1464
- stroke="currentColor"
1465
- stroke-width="1.5"
1466
- stroke-linecap="round"
1467
- stroke-linejoin="round"
1468
- />
1469
- </svg>
1470
- </button>
1471
- <button
1472
- type="button"
1473
- class="date-picker__time-spinner"
1474
- @click=${() => this.changeTime("hour", -1, true)}
1475
- >
1476
- <svg
1477
- width="10"
1478
- height="10"
1479
- viewBox="0 0 10 10"
1480
- fill="none"
1481
- >
1482
- <path
1483
- d="M2 4L5 7L8 4"
1484
- stroke="currentColor"
1485
- stroke-width="1.5"
1486
- stroke-linecap="round"
1487
- stroke-linejoin="round"
1488
- />
1489
- </svg>
1490
- </button>
1491
- </div>
1492
- </div>
1493
-
1494
- <span class="date-picker__time-separator">:</span>
1495
-
1496
- <div class="date-picker__time-input-group">
1497
- <input
1498
- type="number"
1499
- class="date-picker__time-input"
1500
- .value=${this.startMinute.toString().padStart(2, "0")}
1501
- @input=${(e3) => this.handleTimeInput(e3, "minute", true)}
1502
- @blur=${(e3) => {
1503
- const input = e3.target;
1504
- input.value = this.startMinute.toString().padStart(2, "0");
1505
- }}
1506
- min="0"
1507
- max="59"
1508
- />
1509
- <div class="date-picker__time-spinners">
1510
- <button
1511
- type="button"
1512
- class="date-picker__time-spinner"
1513
- @click=${() => this.changeTime("minute", 1, true)}
1514
- >
1515
- <svg
1516
- width="10"
1517
- height="10"
1518
- viewBox="0 0 10 10"
1519
- fill="none"
1520
- >
1521
- <path
1522
- d="M2 6L5 3L8 6"
1523
- stroke="currentColor"
1524
- stroke-width="1.5"
1525
- stroke-linecap="round"
1526
- stroke-linejoin="round"
1527
- />
1528
- </svg>
1529
- </button>
1530
- <button
1531
- type="button"
1532
- class="date-picker__time-spinner"
1533
- @click=${() => this.changeTime("minute", -1, true)}
1534
- >
1535
- <svg
1536
- width="10"
1537
- height="10"
1538
- viewBox="0 0 10 10"
1539
- fill="none"
1540
- >
1541
- <path
1542
- d="M2 4L5 7L8 4"
1543
- stroke="currentColor"
1544
- stroke-width="1.5"
1545
- stroke-linecap="round"
1546
- stroke-linejoin="round"
1547
- />
1548
- </svg>
1549
- </button>
1550
- </div>
1551
- </div>
1552
-
1553
- <span class="date-picker__time-separator">:</span>
1554
-
1555
- <div class="date-picker__time-input-group">
1556
- <input
1557
- type="number"
1558
- class="date-picker__time-input"
1559
- .value=${this.startSecond.toString().padStart(2, "0")}
1560
- @input=${(e3) => this.handleTimeInput(e3, "second", true)}
1561
- @blur=${(e3) => {
1562
- const input = e3.target;
1563
- input.value = this.startSecond.toString().padStart(2, "0");
1564
- }}
1565
- min="0"
1566
- max="59"
1567
- />
1568
- <div class="date-picker__time-spinners">
1569
- <button
1570
- type="button"
1571
- class="date-picker__time-spinner"
1572
- @click=${() => this.changeTime("second", 1, true)}
1573
- >
1574
- <svg
1575
- width="10"
1576
- height="10"
1577
- viewBox="0 0 10 10"
1578
- fill="none"
1579
- >
1580
- <path
1581
- d="M2 6L5 3L8 6"
1582
- stroke="currentColor"
1583
- stroke-width="1.5"
1584
- stroke-linecap="round"
1585
- stroke-linejoin="round"
1586
- />
1587
- </svg>
1588
- </button>
1589
- <button
1590
- type="button"
1591
- class="date-picker__time-spinner"
1592
- @click=${() => this.changeTime("second", -1, true)}
1593
- >
1594
- <svg
1595
- width="10"
1596
- height="10"
1597
- viewBox="0 0 10 10"
1598
- fill="none"
1599
- >
1600
- <path
1601
- d="M2 4L5 7L8 4"
1602
- stroke="currentColor"
1603
- stroke-width="1.5"
1604
- stroke-linecap="round"
1605
- stroke-linejoin="round"
1606
- />
1607
- </svg>
1608
- </button>
1609
- </div>
1610
- </div>
1611
- </div>
1612
- </div>
1613
-
1614
- ${this.range ? x`
1615
- <span class="date-picker__separator">–</span>
1616
-
1617
- <div class="date-picker__time-section">
1618
- <div class="date-picker__time-inputs">
1619
- <div class="date-picker__time-input-group">
1620
- <input
1621
- type="number"
1622
- class="date-picker__time-input"
1623
- .value=${this.endHour.toString().padStart(2, "0")}
1624
- @input=${(e3) => this.handleTimeInput(e3, "hour", false)}
1625
- @blur=${(e3) => {
1626
- const input = e3.target;
1627
- input.value = this.endHour.toString().padStart(2, "0");
1628
- }}
1629
- min="0"
1630
- max="23"
1631
- />
1632
- <div class="date-picker__time-spinners">
1633
- <button
1634
- type="button"
1635
- class="date-picker__time-spinner"
1636
- @click=${() => this.changeTime("hour", 1, false)}
1637
- >
1638
- <svg
1639
- width="10"
1640
- height="10"
1641
- viewBox="0 0 10 10"
1642
- fill="none"
1643
- >
1644
- <path
1645
- d="M2 6L5 3L8 6"
1646
- stroke="currentColor"
1647
- stroke-width="1.5"
1648
- stroke-linecap="round"
1649
- stroke-linejoin="round"
1650
- />
1651
- </svg>
1652
- </button>
1653
- <button
1654
- type="button"
1655
- class="date-picker__time-spinner"
1656
- @click=${() => this.changeTime("hour", -1, false)}
1657
- >
1658
- <svg
1659
- width="10"
1660
- height="10"
1661
- viewBox="0 0 10 10"
1662
- fill="none"
1663
- >
1664
- <path
1665
- d="M2 4L5 7L8 4"
1666
- stroke="currentColor"
1667
- stroke-width="1.5"
1668
- stroke-linecap="round"
1669
- stroke-linejoin="round"
1670
- />
1671
- </svg>
1672
- </button>
1673
- </div>
1674
- </div>
1675
-
1676
- <span class="date-picker__time-separator">:</span>
1677
-
1678
- <div class="date-picker__time-input-group">
1679
- <input
1680
- type="number"
1681
- class="date-picker__time-input"
1682
- .value=${this.endMinute.toString().padStart(2, "0")}
1683
- @input=${(e3) => this.handleTimeInput(
1684
- e3,
1685
- "minute",
1686
- false
1687
- )}
1688
- @blur=${(e3) => {
1689
- const input = e3.target;
1690
- input.value = this.endMinute.toString().padStart(2, "0");
1691
- }}
1692
- min="0"
1693
- max="59"
1694
- />
1695
- <div class="date-picker__time-spinners">
1696
- <button
1697
- type="button"
1698
- class="date-picker__time-spinner"
1699
- @click=${() => this.changeTime("minute", 1, false)}
1700
- >
1701
- <svg
1702
- width="10"
1703
- height="10"
1704
- viewBox="0 0 10 10"
1705
- fill="none"
1706
- >
1707
- <path
1708
- d="M2 6L5 3L8 6"
1709
- stroke="currentColor"
1710
- stroke-width="1.5"
1711
- stroke-linecap="round"
1712
- stroke-linejoin="round"
1713
- />
1714
- </svg>
1715
- </button>
1716
- <button
1717
- type="button"
1718
- class="date-picker__time-spinner"
1719
- @click=${() => this.changeTime(
1720
- "minute",
1721
- -1,
1722
- false
1723
- )}
1724
- >
1725
- <svg
1726
- width="10"
1727
- height="10"
1728
- viewBox="0 0 10 10"
1729
- fill="none"
1730
- >
1731
- <path
1732
- d="M2 4L5 7L8 4"
1733
- stroke="currentColor"
1734
- stroke-width="1.5"
1735
- stroke-linecap="round"
1736
- stroke-linejoin="round"
1737
- />
1738
- </svg>
1739
- </button>
1740
- </div>
1741
- </div>
1742
-
1743
- <span class="date-picker__time-separator">:</span>
1744
-
1745
- <div class="date-picker__time-input-group">
1746
- <input
1747
- type="number"
1748
- class="date-picker__time-input"
1749
- .value=${this.endSecond.toString().padStart(2, "0")}
1750
- @input=${(e3) => this.handleTimeInput(
1751
- e3,
1752
- "second",
1753
- false
1754
- )}
1755
- @blur=${(e3) => {
1756
- const input = e3.target;
1757
- input.value = this.endSecond.toString().padStart(2, "0");
1758
- }}
1759
- min="0"
1760
- max="59"
1761
- />
1762
- <div class="date-picker__time-spinners">
1763
- <button
1764
- type="button"
1765
- class="date-picker__time-spinner"
1766
- @click=${() => this.changeTime("second", 1, false)}
1767
- >
1768
- <svg
1769
- width="10"
1770
- height="10"
1771
- viewBox="0 0 10 10"
1772
- fill="none"
1773
- >
1774
- <path
1775
- d="M2 6L5 3L8 6"
1776
- stroke="currentColor"
1777
- stroke-width="1.5"
1778
- stroke-linecap="round"
1779
- stroke-linejoin="round"
1780
- />
1781
- </svg>
1782
- </button>
1783
- <button
1784
- type="button"
1785
- class="date-picker__time-spinner"
1786
- @click=${() => this.changeTime(
1787
- "second",
1788
- -1,
1789
- false
1790
- )}
1791
- >
1792
- <svg
1793
- width="10"
1794
- height="10"
1795
- viewBox="0 0 10 10"
1796
- fill="none"
1797
- >
1798
- <path
1799
- d="M2 4L5 7L8 4"
1800
- stroke="currentColor"
1801
- stroke-width="1.5"
1802
- stroke-linecap="round"
1803
- stroke-linejoin="round"
1804
- />
1805
- </svg>
1806
- </button>
1807
- </div>
1808
- </div>
1809
- </div>
1810
- </div>
1811
- ` : ""}
1812
- </div>
1813
- `;
1814
- }
1815
- renderCalendarIcon() {
1816
- return x`
1817
- <svg
1818
- slot="suffix"
1819
- class="date-picker__icon"
1820
- width="20"
1821
- height="20"
1822
- viewBox="0 0 24 24"
1823
- fill="none"
1824
- stroke="currentColor"
1825
- stroke-width="2"
1826
- >
1827
- <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
1828
- <line x1="16" y1="2" x2="16" y2="6"></line>
1829
- <line x1="8" y1="2" x2="8" y2="6"></line>
1830
- <line x1="3" y1="10" x2="21" y2="10"></line>
1831
- </svg>
1832
- `;
1833
- }
1834
- renderCalendarContent() {
1835
- return x`
1836
- <div class="date-picker__dropdown" part="calendar">
1837
- <div class="date-picker__content">
1838
- ${this.showPresets && this.filteredPresets.length > 0 ? x`
1839
- <div class="date-picker__sidebar" part="sidebar">
1840
- <slot name="sidebar-header"></slot>
1841
-
1842
- <div class="presets">
1843
- ${this.filteredPresets.map(
1844
- (preset) => x`
1845
- <button
1846
- type="button"
1847
- class="date-picker__preset"
1848
- @click=${() => this.selectPreset(preset)}
1849
- >
1850
- ${preset.label}
1851
- </button>
1852
- `
1853
- )}
1854
- </div>
1855
-
1856
- <slot name="sidebar-footer"></slot>
1857
- </div>
1858
- ` : ""}
1859
-
1860
- <div class="date-picker__calendars">
1861
- ${this.renderCalendar(this.leftMonth, true)}
1862
- ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
1863
- </div>
1864
- </div>
1865
-
1866
- ${this.enableTime ? this.renderTimePicker() : ""}
1867
- </div>
1868
- `;
1869
- }
1870
- render() {
1871
- const showSplitInputs = this.range && this.splitInputs;
1872
- if (this.inline) {
1873
- return x`
1874
- <div
1875
- class="date-picker date-picker--inline ${showSplitInputs ? "date-picker--split-inputs" : ""}"
1876
- @click=${(e3) => e3.stopPropagation()}
1877
- >
1878
- ${showSplitInputs ? x`
1879
- <div class="date-picker__inputs">
1880
- <terra-input
1881
- .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
1882
- .hideLabel=${this.hideLabel}
1883
- .helpText=${this.startHelpText || this.helpText}
1884
- .value=${this.getStartDateDisplayValue()}
1885
- @terra-blur=${this.handleStartInputBlur}
1886
- @keydown=${this.handleKeydown}
1887
- placeholder=${this.startPlaceholder}
1888
- name="start-date"
1889
- >
1890
- ${this.renderCalendarIcon()}
1891
- </terra-input>
1892
- <terra-input
1893
- .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
1894
- .hideLabel=${this.hideLabel}
1895
- .helpText=${this.endHelpText || this.helpText}
1896
- .value=${this.getEndDateDisplayValue()}
1897
- @terra-blur=${this.handleEndInputBlur}
1898
- @keydown=${this.handleKeydown}
1899
- placeholder=${this.endPlaceholder}
1900
- name="end-date"
1901
- >
1902
- ${this.renderCalendarIcon()}
1903
- </terra-input>
1904
- </div>
1905
- ` : x`
1906
- <terra-input
1907
- .label=${this.label}
1908
- .hideLabel=${this.hideLabel}
1909
- .helpText=${this.helpText}
1910
- .value=${this.getDisplayValue()}
1911
- placeholder=${this.placeholder}
1912
- @terra-blur=${this.handleInputBlur}
1913
- @keydown=${this.handleKeydown}
1914
- name="date"
1915
- >
1916
- ${this.renderCalendarIcon()}
1917
- </terra-input>
1918
- `}
1919
-
1920
- <slot name="additional-text"></slot>
1921
-
1922
- <div class="date-picker__dropdown-wrapper">
1923
- <div
1924
- class="date-picker__dropdown date-picker__dropdown--inline"
1925
- part="calendar"
1926
- >
1927
- <div class="date-picker__content">
1928
- ${this.showPresets && this.filteredPresets.length > 0 ? x`
1929
- <div
1930
- class="date-picker__sidebar"
1931
- part="sidebar"
1932
- >
1933
- ${this.filteredPresets.map(
1934
- (preset) => x`
1935
- <button
1936
- type="button"
1937
- class="date-picker__preset"
1938
- @click=${() => this.selectPreset(
1939
- preset
1940
- )}
1941
- >
1942
- ${preset.label}
1943
- </button>
1944
- `
1945
- )}
1946
- </div>
1947
- ` : ""}
1948
-
1949
- <div class="date-picker__calendars">
1950
- ${this.renderCalendar(this.leftMonth, true)}
1951
- ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
1952
- </div>
1953
- </div>
1954
-
1955
- ${this.enableTime ? this.renderTimePicker() : ""}
1956
- </div>
1957
- </div>
1958
- </div>
1959
- `;
1960
- }
1961
- return x`
1962
- <div
1963
- class="date-picker ${showSplitInputs ? "date-picker--split-inputs" : ""}"
1964
- @click=${(e3) => e3.stopPropagation()}
1965
- >
1966
- ${showSplitInputs ? x`
1967
- <div class="date-picker__inputs">
1968
- <terra-dropdown
1969
- ${n2(this.dropdownRef)}
1970
- placement="bottom-start"
1971
- distance="4"
1972
- @terra-show=${this.handleDropdownShow}
1973
- @terra-hide=${this.handleDropdownHide}
1974
- hoist
1975
- >
1976
- <terra-input
1977
- slot="trigger"
1978
- .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
1979
- .hideLabel=${this.hideLabel}
1980
- .helpText=${this.startHelpText || this.helpText}
1981
- .value=${this.getStartDateDisplayValue()}
1982
- placeholder=${this.startPlaceholder}
1983
- @terra-blur=${this.handleStartInputBlur}
1984
- @keydown=${this.handleKeydown}
1985
- name="start-date"
1986
- >
1987
- ${this.renderCalendarIcon()}
1988
- </terra-input>
1989
- ${this.renderCalendarContent()}
1990
- </terra-dropdown>
1991
- <terra-dropdown
1992
- placement="bottom-start"
1993
- distance="4"
1994
- @terra-show=${this.handleDropdownShow}
1995
- @terra-hide=${this.handleDropdownHide}
1996
- hoist
1997
- >
1998
- <terra-input
1999
- slot="trigger"
2000
- .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2001
- .hideLabel=${this.hideLabel}
2002
- .helpText=${this.endHelpText || this.helpText}
2003
- .value=${this.getEndDateDisplayValue()}
2004
- placeholder=${this.endPlaceholder}
2005
- @terra-blur=${this.handleEndInputBlur}
2006
- @keydown=${this.handleKeydown}
2007
- name="end-date"
2008
- >
2009
- ${this.renderCalendarIcon()}
2010
- </terra-input>
2011
- ${this.renderCalendarContent()}
2012
- </terra-dropdown>
2013
- </div>
2014
- ` : x`
2015
- <terra-dropdown
2016
- ${n2(this.dropdownRef)}
2017
- placement="bottom-start"
2018
- distance="4"
2019
- @terra-show=${this.handleDropdownShow}
2020
- @terra-hide=${this.handleDropdownHide}
2021
- hoist
2022
- >
2023
- <terra-input
2024
- slot="trigger"
2025
- .label=${this.label}
2026
- .hideLabel=${this.hideLabel}
2027
- .helpText=${this.helpText}
2028
- .value=${this.getDisplayValue()}
2029
- placeholder=${this.placeholder}
2030
- @terra-blur=${this.handleInputBlur}
2031
- @keydown=${this.handleKeydown}
2032
- name="date"
2033
- >
2034
- ${this.renderCalendarIcon()}
2035
- </terra-input>
2036
- ${this.renderCalendarContent()}
2037
- </terra-dropdown>
2038
- `}
2039
- </div>
2040
- `;
2041
- }
2042
- };
2043
- TerraDatePicker.styles = [component_styles_default, date_picker_styles_default];
2044
- TerraDatePicker.dependencies = {
2045
- "terra-button": TerraButton,
2046
- "terra-input": TerraInput,
2047
- "terra-dropdown": TerraDropdown
2048
- };
2049
- __decorateClass([
2050
- n()
2051
- ], TerraDatePicker.prototype, "id", 2);
2052
- __decorateClass([
2053
- n({ type: Boolean, reflect: true })
2054
- ], TerraDatePicker.prototype, "range", 2);
2055
- __decorateClass([
2056
- n({ attribute: "min-date", reflect: true })
2057
- ], TerraDatePicker.prototype, "minDate", 2);
2058
- __decorateClass([
2059
- n({ attribute: "max-date", reflect: true })
2060
- ], TerraDatePicker.prototype, "maxDate", 2);
2061
- __decorateClass([
2062
- n({ attribute: "start-date", reflect: true })
2063
- ], TerraDatePicker.prototype, "startDate", 2);
2064
- __decorateClass([
2065
- n({ attribute: "end-date", reflect: true })
2066
- ], TerraDatePicker.prototype, "endDate", 2);
2067
- __decorateClass([
2068
- n({ attribute: "hide-label", type: Boolean })
2069
- ], TerraDatePicker.prototype, "hideLabel", 2);
2070
- __decorateClass([
2071
- n()
2072
- ], TerraDatePicker.prototype, "label", 2);
2073
- __decorateClass([
2074
- n({ attribute: "help-text" })
2075
- ], TerraDatePicker.prototype, "helpText", 2);
2076
- __decorateClass([
2077
- n({ attribute: "start-help-text" })
2078
- ], TerraDatePicker.prototype, "startHelpText", 2);
2079
- __decorateClass([
2080
- n({ attribute: "end-help-text" })
2081
- ], TerraDatePicker.prototype, "endHelpText", 2);
2082
- __decorateClass([
2083
- n({ attribute: "start-label" })
2084
- ], TerraDatePicker.prototype, "startLabel", 2);
2085
- __decorateClass([
2086
- n({ attribute: "end-label" })
2087
- ], TerraDatePicker.prototype, "endLabel", 2);
2088
- __decorateClass([
2089
- n({ type: Boolean, attribute: "show-presets" })
2090
- ], TerraDatePicker.prototype, "showPresets", 2);
2091
- __decorateClass([
2092
- n({ type: Array })
2093
- ], TerraDatePicker.prototype, "presets", 2);
2094
- __decorateClass([
2095
- n({ type: Boolean, attribute: "enable-time" })
2096
- ], TerraDatePicker.prototype, "enableTime", 2);
2097
- __decorateClass([
2098
- n({ attribute: "display-format" })
2099
- ], TerraDatePicker.prototype, "displayFormat", 2);
2100
- __decorateClass([
2101
- n({ type: Boolean })
2102
- ], TerraDatePicker.prototype, "inline", 2);
2103
- __decorateClass([
2104
- n({ type: Boolean, attribute: "split-inputs" })
2105
- ], TerraDatePicker.prototype, "splitInputs", 2);
2106
- __decorateClass([
2107
- n()
2108
- ], TerraDatePicker.prototype, "placeholder", 2);
2109
- __decorateClass([
2110
- n()
2111
- ], TerraDatePicker.prototype, "startPlaceholder", 2);
2112
- __decorateClass([
2113
- n()
2114
- ], TerraDatePicker.prototype, "endPlaceholder", 2);
2115
- __decorateClass([
2116
- n({ reflect: true })
2117
- ], TerraDatePicker.prototype, "role", 2);
2118
- __decorateClass([
2119
- n({ reflect: true, attribute: "aria-label" })
2120
- ], TerraDatePicker.prototype, "ariaLabel", 2);
2121
- __decorateClass([
2122
- r()
2123
- ], TerraDatePicker.prototype, "isOpen", 2);
2124
- __decorateClass([
2125
- r()
2126
- ], TerraDatePicker.prototype, "leftMonth", 2);
2127
- __decorateClass([
2128
- r()
2129
- ], TerraDatePicker.prototype, "rightMonth", 2);
2130
- __decorateClass([
2131
- r()
2132
- ], TerraDatePicker.prototype, "selectedStart", 2);
2133
- __decorateClass([
2134
- r()
2135
- ], TerraDatePicker.prototype, "selectedEnd", 2);
2136
- __decorateClass([
2137
- r()
2138
- ], TerraDatePicker.prototype, "hoverDate", 2);
2139
- __decorateClass([
2140
- r()
2141
- ], TerraDatePicker.prototype, "isSelectingRange", 2);
2142
- __decorateClass([
2143
- r()
2144
- ], TerraDatePicker.prototype, "showLeftMonthDropdown", 2);
2145
- __decorateClass([
2146
- r()
2147
- ], TerraDatePicker.prototype, "showRightMonthDropdown", 2);
2148
- __decorateClass([
2149
- r()
2150
- ], TerraDatePicker.prototype, "startHour", 2);
2151
- __decorateClass([
2152
- r()
2153
- ], TerraDatePicker.prototype, "startMinute", 2);
2154
- __decorateClass([
2155
- r()
2156
- ], TerraDatePicker.prototype, "startSecond", 2);
2157
- __decorateClass([
2158
- r()
2159
- ], TerraDatePicker.prototype, "endHour", 2);
2160
- __decorateClass([
2161
- r()
2162
- ], TerraDatePicker.prototype, "endMinute", 2);
2163
- __decorateClass([
2164
- r()
2165
- ], TerraDatePicker.prototype, "endSecond", 2);
2166
- __decorateClass([
2167
- r()
2168
- ], TerraDatePicker.prototype, "selectedDates", 2);
2169
- __decorateClass([
2170
- e(".date-picker__dropdown")
2171
- ], TerraDatePicker.prototype, "dropdown", 2);
2172
-
2173
- export {
2174
- TerraDatePicker
2175
- };