@nasa-terra/components 0.0.193 → 0.0.194

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 (1255) hide show
  1. package/cdn/chunks/chunk.25HPLSXK.js +19 -0
  2. package/cdn/chunks/chunk.27SIDXC6.js +19 -0
  3. package/cdn/chunks/chunk.2GBZA7X6.js +29 -0
  4. package/cdn/chunks/chunk.2JBOUVTP.js +19 -0
  5. package/cdn/chunks/chunk.2JSCXQW7.js +34 -0
  6. package/cdn/chunks/chunk.2R35TCCR.js +104 -0
  7. package/cdn/chunks/chunk.2VWO27MZ.js +29 -0
  8. package/cdn/chunks/chunk.3CKFHNXJ.js +29 -0
  9. package/cdn/chunks/chunk.3EIEZGDZ.js +33 -0
  10. package/cdn/chunks/chunk.3GKNYXW2.js +151 -0
  11. package/cdn/chunks/chunk.3LHCEEXB.js +29 -0
  12. package/cdn/chunks/chunk.3MOJVWIF.js +19 -0
  13. package/cdn/chunks/chunk.3NMZ6KCW.js +19 -0
  14. package/cdn/chunks/chunk.3PZGPPLB.js +32 -0
  15. package/cdn/chunks/chunk.3VVCAJUS.js +29 -0
  16. package/cdn/chunks/chunk.42HYQORC.js +19 -0
  17. package/cdn/chunks/chunk.4RFHOHAW.js +19 -0
  18. package/cdn/chunks/chunk.4USDETUT.js +19 -0
  19. package/cdn/chunks/chunk.4ZUHP7DV.js +19 -0
  20. package/cdn/chunks/chunk.54QUDEQS.js +19 -0
  21. package/cdn/chunks/chunk.56ESMRJG.js +19 -0
  22. package/cdn/chunks/chunk.57PNGTGL.js +19 -0
  23. package/cdn/chunks/chunk.5AHVOWBD.js +47 -0
  24. package/cdn/chunks/chunk.5AQTORKZ.js +19 -0
  25. package/cdn/chunks/chunk.5ELVELDK.js +32 -0
  26. package/cdn/chunks/chunk.5JA573P2.js +231 -0
  27. package/cdn/chunks/chunk.5JZJ5AAG.js +19 -0
  28. package/cdn/chunks/chunk.5OUTFWGD.js +29 -0
  29. package/cdn/chunks/chunk.5PBKRZ33.js +493 -0
  30. package/cdn/chunks/chunk.5SYNPWHT.js +29 -0
  31. package/cdn/chunks/chunk.62N5Y2AB.js +19 -0
  32. package/cdn/chunks/chunk.64NUK4JL.js +29 -0
  33. package/cdn/chunks/chunk.66YTCHG3.js +32 -0
  34. package/cdn/chunks/chunk.6EBUIW4K.js +19 -0
  35. package/cdn/chunks/chunk.6F5WC2OW.js +82 -0
  36. package/cdn/chunks/chunk.6OMLNJTP.js +60 -0
  37. package/cdn/chunks/chunk.6TECKHZT.js +524 -0
  38. package/cdn/chunks/chunk.76YRBNB2.js +19 -0
  39. package/cdn/chunks/chunk.7C6GWOGP.js +19 -0
  40. package/cdn/chunks/chunk.7RXZ4DIZ.js +29 -0
  41. package/cdn/chunks/chunk.ACQCJRMW.js +33 -0
  42. package/cdn/chunks/chunk.ACXZHLNE.js +19 -0
  43. package/cdn/chunks/chunk.AD6R4VZ6.js +188 -0
  44. package/cdn/chunks/chunk.AFCKIMUZ.js +19 -0
  45. package/cdn/chunks/chunk.AJT4ZPZJ.js +33 -0
  46. package/cdn/chunks/chunk.AO22HKLW.js +19 -0
  47. package/cdn/chunks/chunk.AUXD4HEQ.js +92 -0
  48. package/cdn/chunks/chunk.BBBW7QJ4.js +29 -0
  49. package/cdn/chunks/chunk.BOIW6W57.js +32 -0
  50. package/cdn/chunks/chunk.BRQHBE2V.js +19 -0
  51. package/cdn/chunks/chunk.BRZW6LTV.js +19 -0
  52. package/cdn/chunks/chunk.C2ATZQ5F.js +29 -0
  53. package/cdn/chunks/chunk.CAKC3UCR.js +39 -0
  54. package/cdn/chunks/chunk.CAMTWMJT.js +29 -0
  55. package/cdn/chunks/chunk.CDWI63JL.js +29 -0
  56. package/cdn/chunks/chunk.CIEAG7S4.js +19 -0
  57. package/cdn/chunks/chunk.CPGK37L6.js +19 -0
  58. package/cdn/chunks/chunk.CPRCJFA2.js +19 -0
  59. package/cdn/chunks/chunk.CQNTYZDU.js +34 -0
  60. package/cdn/chunks/chunk.D2JCOO4N.js +19 -0
  61. package/cdn/chunks/chunk.D3BXGIH4.js +29 -0
  62. package/cdn/chunks/chunk.D3SUQHML.js +161 -0
  63. package/cdn/chunks/chunk.D47AKNJC.js +35 -0
  64. package/cdn/chunks/chunk.D5YCEDW5.js +19 -0
  65. package/cdn/chunks/chunk.DDZ3RNNW.js +62 -0
  66. package/cdn/chunks/chunk.DFNIXOB6.js +83 -0
  67. package/cdn/chunks/chunk.DJZRENBK.js +610 -0
  68. package/cdn/chunks/chunk.DRA5MV4R.js +19 -0
  69. package/cdn/chunks/chunk.DREWQEIG.js +19 -0
  70. package/cdn/chunks/chunk.EDE6XYWP.js +19 -0
  71. package/cdn/chunks/chunk.EIKDPG3G.js +32 -0
  72. package/cdn/chunks/chunk.EM46QCN4.js +165 -0
  73. package/cdn/chunks/chunk.ENESQRWD.js +293 -0
  74. package/cdn/chunks/chunk.EORFZZMW.js +19 -0
  75. package/cdn/chunks/chunk.ESMKHLKZ.js +36 -0
  76. package/cdn/chunks/chunk.EU3PNTIG.js +19 -0
  77. package/cdn/chunks/chunk.EURF434X.js +19 -0
  78. package/cdn/chunks/chunk.EUSE5BHV.js +538 -0
  79. package/cdn/chunks/chunk.EVMCVKQH.js +19 -0
  80. package/cdn/chunks/chunk.EZMQUKZA.js +35 -0
  81. package/cdn/chunks/chunk.F3ZA2EFX.js +19 -0
  82. package/cdn/chunks/chunk.FLOBTPDY.js +49 -0
  83. package/cdn/chunks/chunk.FMMWQRF6.js +616 -0
  84. package/cdn/chunks/chunk.FTO5YA7A.js +29 -0
  85. package/cdn/chunks/chunk.FUQGB4UU.js +32 -0
  86. package/cdn/chunks/chunk.FZODCTQW.js +29 -0
  87. package/cdn/chunks/chunk.GM5OAPMU.js +599 -0
  88. package/cdn/chunks/chunk.GPBWYPVI.js +29 -0
  89. package/cdn/chunks/chunk.H5JXHH2F.js +294 -0
  90. package/cdn/chunks/chunk.HBVEZIU6.js +19 -0
  91. package/cdn/chunks/chunk.HDSP7ASR.js +32 -0
  92. package/cdn/chunks/chunk.HT74GBHV.js +19 -0
  93. package/cdn/chunks/chunk.HV4ZOPDY.js +158 -0
  94. package/cdn/chunks/chunk.HWOTHK3U.js +330 -0
  95. package/cdn/chunks/chunk.I6H2QL7V.js +19 -0
  96. package/cdn/chunks/chunk.IAR6FJQ6.js +170 -0
  97. package/cdn/chunks/chunk.ID4RKLO7.js +132 -0
  98. package/cdn/chunks/chunk.IFAC3FEC.js +33 -0
  99. package/cdn/chunks/chunk.IFRZKWBI.js +19 -0
  100. package/cdn/chunks/chunk.IGNHRKWM.js +310 -0
  101. package/cdn/chunks/chunk.IH3AXGEW.js +29 -0
  102. package/cdn/chunks/chunk.INNEOUXN.js +234 -0
  103. package/cdn/chunks/chunk.IZYJIYRD.js +230 -0
  104. package/cdn/chunks/chunk.J2JFFPZR.js +29 -0
  105. package/cdn/chunks/chunk.J2SEB2ET.js +41 -0
  106. package/cdn/chunks/chunk.JAI2Q27H.js +537 -0
  107. package/cdn/chunks/chunk.JBH5HRD4.js +136 -0
  108. package/cdn/chunks/chunk.JFMPGJP3.js +1197 -0
  109. package/cdn/chunks/chunk.JPATOQ2E.js +19 -0
  110. package/cdn/chunks/chunk.JY73LTVA.js +19 -0
  111. package/cdn/chunks/chunk.K43ZWHFO.js +359 -0
  112. package/cdn/chunks/chunk.K6OTID57.js +32 -0
  113. package/cdn/chunks/chunk.K6V3EHME.js +99 -0
  114. package/cdn/chunks/chunk.KIKNUHHR.js +36 -0
  115. package/cdn/chunks/chunk.L67ZDXTQ.js +60 -0
  116. package/cdn/chunks/chunk.LARZNDXR.js +19 -0
  117. package/cdn/chunks/chunk.LEWORS2G.js +19 -0
  118. package/cdn/chunks/chunk.LIJL3O5C.js +29 -0
  119. package/cdn/chunks/chunk.LJ2VRPGW.js +37 -0
  120. package/cdn/chunks/chunk.LPYJTSID.js +19 -0
  121. package/cdn/chunks/chunk.LSDG52RS.js +19 -0
  122. package/cdn/chunks/chunk.LVDHTFCM.js +19 -0
  123. package/cdn/chunks/chunk.LYK67ADV.js +29 -0
  124. package/cdn/chunks/chunk.M2X5WZYA.js +195 -0
  125. package/cdn/chunks/chunk.M6QWSQ6R.js +32 -0
  126. package/cdn/chunks/chunk.MBUMDZWN.js +273 -0
  127. package/cdn/chunks/chunk.MH3KE4F4.js +904 -0
  128. package/cdn/chunks/chunk.MKRIP4AB.js +32 -0
  129. package/cdn/chunks/chunk.ML55JOKI.js +443 -0
  130. package/cdn/chunks/chunk.MNT7EW6Z.js +19 -0
  131. package/cdn/chunks/chunk.MQKU3QFL.js +19 -0
  132. package/cdn/chunks/chunk.N2XXN3TR.js +56075 -0
  133. package/cdn/chunks/chunk.N3RUN4BC.js +589 -0
  134. package/cdn/chunks/chunk.NARFBXIM.js +19 -0
  135. package/cdn/chunks/chunk.NDZ465WZ.js +29 -0
  136. package/cdn/chunks/chunk.NN5FLRAE.js +294 -0
  137. package/cdn/chunks/chunk.NR67OQKA.js +29 -0
  138. package/cdn/chunks/chunk.NVERX3HX.js +37 -0
  139. package/cdn/chunks/chunk.OBYBLUJW.js +29 -0
  140. package/cdn/chunks/chunk.OK7OTDZR.js +99 -0
  141. package/cdn/chunks/chunk.OMH5KBUQ.js +19 -0
  142. package/cdn/chunks/chunk.OZPPRU7T.js +32 -0
  143. package/cdn/chunks/chunk.PNLVMKMG.js +30 -0
  144. package/cdn/chunks/chunk.POXKPQPI.js +138 -0
  145. package/cdn/chunks/chunk.PVE72XKV.js +19 -0
  146. package/cdn/chunks/chunk.PWWCCXHW.js +86 -0
  147. package/cdn/chunks/chunk.PYLMFAYG.js +29 -0
  148. package/cdn/chunks/chunk.Q3MBVDWM.js +155 -0
  149. package/cdn/chunks/chunk.QGJV6ODQ.js +19 -0
  150. package/cdn/chunks/chunk.QNA6DNPH.js +190 -0
  151. package/cdn/chunks/chunk.R6TZC2LN.js +259 -0
  152. package/cdn/chunks/chunk.RA34EXZV.js +266 -0
  153. package/cdn/chunks/chunk.RBJVGVK2.js +19 -0
  154. package/cdn/chunks/chunk.RBRCQLSM.js +224 -0
  155. package/cdn/chunks/chunk.RSYNB7LT.js +2546 -0
  156. package/cdn/chunks/chunk.RTDUSEHR.js +113 -0
  157. package/cdn/chunks/chunk.RU5LYEYT.js +35 -0
  158. package/cdn/chunks/chunk.RYI43APZ.js +1975 -0
  159. package/cdn/chunks/chunk.S6VAJR4I.js +29 -0
  160. package/cdn/chunks/chunk.S7E3FO44.js +46 -0
  161. package/cdn/chunks/chunk.SAJCA6BZ.js +33 -0
  162. package/cdn/chunks/chunk.SF66BMUX.js +93 -0
  163. package/cdn/chunks/chunk.SFU6B27K.js +134 -0
  164. package/cdn/chunks/chunk.SPWNS6NM.js +29 -0
  165. package/cdn/chunks/chunk.SSIULMP4.js +19 -0
  166. package/cdn/chunks/chunk.SWSXHVIH.js +135 -0
  167. package/cdn/chunks/chunk.T23GTDT7.js +36 -0
  168. package/cdn/chunks/chunk.TESOH43L.js +19 -0
  169. package/cdn/chunks/chunk.TLZRGNQD.js +19 -0
  170. package/cdn/chunks/chunk.U2AACUWF.js +19 -0
  171. package/cdn/chunks/chunk.U7TCD5P2.js +960 -0
  172. package/cdn/chunks/chunk.UCT3XAKW.js +658 -0
  173. package/cdn/chunks/chunk.UUADHMC4.js +276 -0
  174. package/cdn/chunks/chunk.UYMVPCQM.js +539 -0
  175. package/cdn/chunks/chunk.UZNUBRSO.js +278 -0
  176. package/cdn/chunks/chunk.VEA2ZOY3.js +377 -0
  177. package/cdn/chunks/chunk.VLH4EKCR.js +29 -0
  178. package/cdn/chunks/chunk.VY3MFEXW.js +29 -0
  179. package/cdn/chunks/chunk.W36ELLE3.js +32 -0
  180. package/cdn/chunks/chunk.W4C6XLXC.js +36 -0
  181. package/cdn/chunks/chunk.WFUSNOGC.js +78 -0
  182. package/cdn/chunks/chunk.WGY4VUHI.js +35 -0
  183. package/cdn/chunks/chunk.WTFB42FU.js +663 -0
  184. package/cdn/chunks/chunk.X2BIJLHO.js +101 -0
  185. package/cdn/chunks/chunk.XA2U365T.js +110 -0
  186. package/cdn/chunks/chunk.XBS3GWMX.js +478 -0
  187. package/cdn/chunks/chunk.XFSSGWZP.js +19 -0
  188. package/cdn/chunks/chunk.XTH2GCFE.js +123 -0
  189. package/cdn/chunks/chunk.Y6HDWQ4L.js +19 -0
  190. package/cdn/chunks/chunk.YAQXBTU6.js +36 -0
  191. package/cdn/chunks/chunk.YHDOC5KN.js +32 -0
  192. package/cdn/chunks/chunk.YMWIHREQ.js +74 -0
  193. package/cdn/chunks/chunk.YQDAO5XG.js +915 -0
  194. package/cdn/chunks/chunk.YS5YJL73.js +29 -0
  195. package/cdn/chunks/chunk.YVHY3OAP.js +35 -0
  196. package/cdn/chunks/chunk.Z4WUWYUD.js +71 -0
  197. package/cdn/chunks/chunk.ZAM5GOI5.js +19 -0
  198. package/cdn/chunks/chunk.ZCHJKRIE.js +19 -0
  199. package/cdn/chunks/chunk.ZFVISD6K.js +357 -0
  200. package/cdn/chunks/chunk.ZITP6N3P.js +68 -0
  201. package/cdn/chunks/chunk.ZK2F6XLW.js +2690 -0
  202. package/cdn/chunks/chunk.ZKOQMCU6.js +32 -0
  203. package/cdn/chunks/chunk.ZTZDXMQ6.js +19 -0
  204. package/cdn/chunks/chunk.ZWLHZBEM.js +1259 -0
  205. package/cdn/components/accordion/accordion.component.js +3 -3
  206. package/cdn/components/accordion/accordion.js +4 -4
  207. package/cdn/components/alert/alert.component.js +2 -2
  208. package/cdn/components/alert/alert.js +3 -3
  209. package/cdn/components/avatar/avatar.component.js +3 -3
  210. package/cdn/components/avatar/avatar.js +4 -4
  211. package/cdn/components/badge/badge.component.js +2 -2
  212. package/cdn/components/badge/badge.js +3 -3
  213. package/cdn/components/banner/banner.component.js +2 -2
  214. package/cdn/components/banner/banner.js +3 -3
  215. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  216. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  217. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  218. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  219. package/cdn/components/browse-variables/browse-variables.component.js +13 -13
  220. package/cdn/components/browse-variables/browse-variables.controller.js +3 -3
  221. package/cdn/components/browse-variables/browse-variables.js +14 -14
  222. package/cdn/components/button/button.component.js +3 -3
  223. package/cdn/components/button/button.js +4 -4
  224. package/cdn/components/button-group/button-group.component.js +2 -2
  225. package/cdn/components/button-group/button-group.js +3 -3
  226. package/cdn/components/caption/caption.component.js +2 -2
  227. package/cdn/components/caption/caption.js +3 -3
  228. package/cdn/components/card/card.component.js +2 -2
  229. package/cdn/components/card/card.js +3 -3
  230. package/cdn/components/checkbox/checkbox.component.js +3 -3
  231. package/cdn/components/checkbox/checkbox.js +4 -4
  232. package/cdn/components/chip/chip.component.js +2 -2
  233. package/cdn/components/chip/chip.js +3 -3
  234. package/cdn/components/combobox/combobox.component.js +2 -2
  235. package/cdn/components/combobox/combobox.js +3 -3
  236. package/cdn/components/data-access/data-access.component.js +17 -17
  237. package/cdn/components/data-access/data-access.js +18 -18
  238. package/cdn/components/data-grid/data-grid.component.js +3 -3
  239. package/cdn/components/data-grid/data-grid.js +4 -4
  240. package/cdn/components/data-rods/data-rods.component.d.ts +2 -0
  241. package/cdn/components/data-rods/data-rods.component.js +25 -25
  242. package/cdn/components/data-rods/data-rods.js +26 -26
  243. package/cdn/components/data-subsetter/data-subsetter.component.js +26 -26
  244. package/cdn/components/data-subsetter/data-subsetter.js +27 -27
  245. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  246. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +27 -27
  247. package/cdn/components/data-subsetter-history/data-subsetter-history.js +28 -28
  248. package/cdn/components/date-picker/date-picker.component.js +8 -8
  249. package/cdn/components/date-picker/date-picker.js +9 -9
  250. package/cdn/components/date-range-slider/date-range-slider.component.js +4 -4
  251. package/cdn/components/date-range-slider/date-range-slider.js +5 -5
  252. package/cdn/components/dialog/dialog.component.js +4 -4
  253. package/cdn/components/dialog/dialog.js +5 -5
  254. package/cdn/components/divider/divider.component.js +2 -2
  255. package/cdn/components/divider/divider.js +3 -3
  256. package/cdn/components/dropdown/dropdown.component.js +3 -3
  257. package/cdn/components/dropdown/dropdown.js +4 -4
  258. package/cdn/components/earthdata-login/earthdata-login.component.js +10 -10
  259. package/cdn/components/earthdata-login/earthdata-login.js +11 -11
  260. package/cdn/components/file-upload/file-upload.component.js +2 -2
  261. package/cdn/components/file-upload/file-upload.js +3 -3
  262. package/cdn/components/harmony-history/harmony-history.component.js +8 -8
  263. package/cdn/components/harmony-history/harmony-history.js +9 -9
  264. package/cdn/components/icon/icon.component.js +2 -2
  265. package/cdn/components/icon/icon.js +3 -3
  266. package/cdn/components/input/input.component.js +3 -3
  267. package/cdn/components/input/input.js +4 -4
  268. package/cdn/components/loader/loader.component.js +2 -2
  269. package/cdn/components/loader/loader.js +3 -3
  270. package/cdn/components/login/login.component.js +8 -8
  271. package/cdn/components/login/login.js +9 -9
  272. package/cdn/components/map/map.component.js +2 -2
  273. package/cdn/components/map/map.js +3 -3
  274. package/cdn/components/menu/menu.component.js +2 -2
  275. package/cdn/components/menu/menu.js +3 -3
  276. package/cdn/components/menu-item/menu-item.component.js +5 -5
  277. package/cdn/components/menu-item/menu-item.js +6 -6
  278. package/cdn/components/option/option.component.js +3 -3
  279. package/cdn/components/option/option.js +4 -4
  280. package/cdn/components/pagination/pagination.component.js +3 -3
  281. package/cdn/components/pagination/pagination.js +4 -4
  282. package/cdn/components/plot/plot.component.js +2 -2
  283. package/cdn/components/plot/plot.js +3 -3
  284. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  285. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  286. package/cdn/components/plot-toolbar/plot-toolbar.component.js +11 -11
  287. package/cdn/components/plot-toolbar/plot-toolbar.js +12 -12
  288. package/cdn/components/popup/popup.component.js +2 -2
  289. package/cdn/components/popup/popup.js +3 -3
  290. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  291. package/cdn/components/progress-bar/progress-bar.js +3 -3
  292. package/cdn/components/radio/radio.component.js +2 -2
  293. package/cdn/components/radio/radio.js +3 -3
  294. package/cdn/components/radio-group/radio-group.component.js +2 -2
  295. package/cdn/components/radio-group/radio-group.js +3 -3
  296. package/cdn/components/scroll-hint/scroll-hint.component.js +3 -3
  297. package/cdn/components/scroll-hint/scroll-hint.js +4 -4
  298. package/cdn/components/select/select.component.js +5 -5
  299. package/cdn/components/select/select.js +6 -6
  300. package/cdn/components/site-header/site-header.component.js +3 -3
  301. package/cdn/components/site-header/site-header.js +3 -3
  302. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  303. package/cdn/components/site-navigation/site-navigation.js +2 -2
  304. package/cdn/components/skeleton/skeleton.component.js +2 -2
  305. package/cdn/components/skeleton/skeleton.js +3 -3
  306. package/cdn/components/slider/slider.component.js +2 -2
  307. package/cdn/components/slider/slider.js +3 -3
  308. package/cdn/components/spatial-picker/spatial-picker.component.js +7 -7
  309. package/cdn/components/spatial-picker/spatial-picker.js +8 -8
  310. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  311. package/cdn/components/status-indicator/status-indicator.js +3 -3
  312. package/cdn/components/stepper/stepper.component.js +2 -2
  313. package/cdn/components/stepper/stepper.js +3 -3
  314. package/cdn/components/stepper-step/stepper-step.component.js +3 -3
  315. package/cdn/components/stepper-step/stepper-step.js +4 -4
  316. package/cdn/components/tab/tab.component.js +3 -3
  317. package/cdn/components/tab/tab.js +4 -4
  318. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  319. package/cdn/components/tab-panel/tab-panel.js +3 -3
  320. package/cdn/components/tabs/tabs.component.js +3 -3
  321. package/cdn/components/tabs/tabs.js +4 -4
  322. package/cdn/components/tag/tag.component.js +3 -3
  323. package/cdn/components/tag/tag.js +4 -4
  324. package/cdn/components/textarea/textarea.component.js +2 -2
  325. package/cdn/components/textarea/textarea.js +3 -3
  326. package/cdn/components/time-average-map/time-average-map.component.js +17 -17
  327. package/cdn/components/time-average-map/time-average-map.controller.js +3 -3
  328. package/cdn/components/time-average-map/time-average-map.js +18 -18
  329. package/cdn/components/time-series/time-series-cache.service.js +1 -1
  330. package/cdn/components/time-series/time-series.component.d.ts +3 -0
  331. package/cdn/components/time-series/time-series.component.js +18 -18
  332. package/cdn/components/time-series/time-series.controller.js +4 -4
  333. package/cdn/components/time-series/time-series.js +19 -19
  334. package/cdn/components/toast/toast.component.js +3 -3
  335. package/cdn/components/toast/toast.js +4 -4
  336. package/cdn/components/toggle/toggle.component.js +2 -2
  337. package/cdn/components/toggle/toggle.js +3 -3
  338. package/cdn/components/tooltip/tooltip.component.js +3 -3
  339. package/cdn/components/tooltip/tooltip.js +4 -4
  340. package/cdn/components/variable-combobox/variable-combobox.component.js +6 -6
  341. package/cdn/components/variable-combobox/variable-combobox.js +7 -7
  342. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +6 -6
  343. package/cdn/components/variable-keyword-search/variable-keyword-search.js +7 -7
  344. package/cdn/custom-elements.json +913 -835
  345. package/cdn/events/events.d.ts +2 -0
  346. package/cdn/events/terra-time-series-chunk-progress-change.d.ts +11 -0
  347. package/cdn/events/terra-time-series-loading-change.d.ts +10 -0
  348. package/cdn/react/accordion/index.js +4 -4
  349. package/cdn/react/alert/index.js +3 -3
  350. package/cdn/react/avatar/index.js +4 -4
  351. package/cdn/react/badge/index.js +3 -3
  352. package/cdn/react/banner/index.js +3 -3
  353. package/cdn/react/breadcrumb/index.js +3 -3
  354. package/cdn/react/breadcrumbs/index.js +3 -3
  355. package/cdn/react/browse-variables/index.js +14 -14
  356. package/cdn/react/button/index.js +4 -4
  357. package/cdn/react/button-group/index.js +3 -3
  358. package/cdn/react/caption/index.js +3 -3
  359. package/cdn/react/card/index.js +3 -3
  360. package/cdn/react/checkbox/index.js +4 -4
  361. package/cdn/react/chip/index.js +3 -3
  362. package/cdn/react/combobox/index.js +3 -3
  363. package/cdn/react/data-access/index.js +18 -18
  364. package/cdn/react/data-grid/index.js +4 -4
  365. package/cdn/react/data-rods/index.js +26 -26
  366. package/cdn/react/data-subsetter/index.js +27 -27
  367. package/cdn/react/data-subsetter-history/index.js +28 -28
  368. package/cdn/react/date-picker/index.js +9 -9
  369. package/cdn/react/date-range-slider/index.js +5 -5
  370. package/cdn/react/dialog/index.js +5 -5
  371. package/cdn/react/divider/index.js +3 -3
  372. package/cdn/react/dropdown/index.js +4 -4
  373. package/cdn/react/earthdata-login/index.js +11 -11
  374. package/cdn/react/file-upload/index.js +3 -3
  375. package/cdn/react/harmony-history/index.js +9 -9
  376. package/cdn/react/icon/index.js +3 -3
  377. package/cdn/react/index.d.ts +3 -3
  378. package/cdn/react/index.js +149 -149
  379. package/cdn/react/input/index.js +4 -4
  380. package/cdn/react/loader/index.js +3 -3
  381. package/cdn/react/login/index.js +9 -9
  382. package/cdn/react/map/index.js +3 -3
  383. package/cdn/react/menu/index.js +3 -3
  384. package/cdn/react/menu-item/index.js +6 -6
  385. package/cdn/react/option/index.js +4 -4
  386. package/cdn/react/pagination/index.js +4 -4
  387. package/cdn/react/plot/index.js +3 -3
  388. package/cdn/react/plot-toolbar/index.js +12 -12
  389. package/cdn/react/popup/index.js +3 -3
  390. package/cdn/react/progress-bar/index.js +3 -3
  391. package/cdn/react/radio/index.js +3 -3
  392. package/cdn/react/radio-group/index.js +3 -3
  393. package/cdn/react/scroll-hint/index.js +4 -4
  394. package/cdn/react/select/index.js +6 -6
  395. package/cdn/react/site-header/index.js +4 -4
  396. package/cdn/react/site-navigation/index.js +3 -3
  397. package/cdn/react/skeleton/index.js +3 -3
  398. package/cdn/react/slider/index.js +3 -3
  399. package/cdn/react/spatial-picker/index.js +8 -8
  400. package/cdn/react/status-indicator/index.js +3 -3
  401. package/cdn/react/stepper/index.js +3 -3
  402. package/cdn/react/stepper-step/index.js +4 -4
  403. package/cdn/react/tab/index.js +4 -4
  404. package/cdn/react/tab-panel/index.js +3 -3
  405. package/cdn/react/tabs/index.js +4 -4
  406. package/cdn/react/tag/index.js +4 -4
  407. package/cdn/react/textarea/index.js +3 -3
  408. package/cdn/react/time-average-map/index.js +18 -18
  409. package/cdn/react/time-series/index.d.ts +8 -0
  410. package/cdn/react/time-series/index.js +19 -19
  411. package/cdn/react/toast/index.js +4 -4
  412. package/cdn/react/toggle/index.js +3 -3
  413. package/cdn/react/tooltip/index.js +4 -4
  414. package/cdn/react/variable-combobox/index.js +7 -7
  415. package/cdn/react/variable-keyword-search/index.js +7 -7
  416. package/cdn/terra-ui-components.js +137 -137
  417. package/cdn/types/vue/index.d.ts +86 -80
  418. package/cdn/utilities/date.d.ts +1 -1
  419. package/cdn/utilities/date.js +2 -2
  420. package/cdn/utilities/variable-task.js +3 -3
  421. package/cdn/vscode.html-custom-data.json +102 -102
  422. package/cdn/web-types.json +120 -102
  423. package/dist/chunks/chunk.26KXEWMN.js +16 -0
  424. package/dist/chunks/chunk.2AQNNAKL.js +1 -0
  425. package/dist/chunks/chunk.2FH6MYZZ.js +154 -0
  426. package/dist/chunks/chunk.2HOQQP26.js +23 -0
  427. package/dist/chunks/chunk.2IV72XUL.js +127 -0
  428. package/dist/chunks/chunk.2YTDL5KY.js +1 -0
  429. package/dist/chunks/chunk.33BFN23F.js +1 -0
  430. package/dist/chunks/chunk.35TL2DA6.js +75 -0
  431. package/dist/chunks/chunk.3FMYX3E6.js +1 -0
  432. package/dist/chunks/chunk.3G3L327Q.js +12 -0
  433. package/dist/chunks/chunk.3JUE7LKC.js +1 -0
  434. package/dist/chunks/chunk.3MYOC5J2.js +1 -0
  435. package/dist/chunks/chunk.3UXNICM5.js +1 -0
  436. package/dist/chunks/chunk.3UYB6TPT.js +33 -0
  437. package/dist/chunks/chunk.45QRM7RA.js +39 -0
  438. package/dist/chunks/chunk.4KYB4FL4.js +1 -0
  439. package/dist/chunks/chunk.4X7V4TVM.js +1 -0
  440. package/dist/chunks/chunk.4Z54QKZJ.js +14 -0
  441. package/dist/chunks/chunk.4ZBS5PPG.js +43 -0
  442. package/dist/chunks/chunk.54PML2SA.js +47 -0
  443. package/dist/chunks/chunk.5IKNWT5H.js +1 -0
  444. package/dist/chunks/chunk.5THA7JYX.js +1 -0
  445. package/dist/chunks/chunk.5V7VFGD5.js +61 -0
  446. package/dist/chunks/chunk.62SHHUCR.js +1 -0
  447. package/dist/chunks/chunk.65LT476V.js +1 -0
  448. package/dist/chunks/chunk.6EVIJKKN.js +1 -0
  449. package/dist/chunks/chunk.6FWVT5YS.js +780 -0
  450. package/dist/chunks/chunk.6NRGGCAP.js +41 -0
  451. package/dist/chunks/chunk.6QFWASSC.js +1 -0
  452. package/dist/chunks/chunk.72Q4Y2S2.js +8 -0
  453. package/dist/chunks/chunk.72VGTCIQ.js +1 -0
  454. package/dist/chunks/chunk.75SIW5FR.js +1 -0
  455. package/dist/chunks/chunk.75UNUTC7.js +1 -0
  456. package/dist/chunks/chunk.7DBXIKTC.js +300 -0
  457. package/dist/chunks/chunk.7MP72TZP.js +1 -0
  458. package/dist/chunks/chunk.7MYAWNRA.js +64 -0
  459. package/dist/chunks/chunk.7RB7NZHP.js +1 -0
  460. package/dist/chunks/chunk.A4TVOKKY.js +4 -0
  461. package/dist/chunks/chunk.ACCIF3CW.js +1 -0
  462. package/dist/chunks/chunk.AFGADJNK.js +1 -0
  463. package/dist/chunks/chunk.AIVIE5YC.js +1 -0
  464. package/dist/chunks/chunk.ATB2QRYD.js +1 -0
  465. package/dist/chunks/chunk.AXHBILJ4.js +300 -0
  466. package/dist/chunks/chunk.B2T3E3EN.js +1 -0
  467. package/dist/chunks/chunk.C62YPWNU.js +1 -0
  468. package/dist/chunks/chunk.C6AKU7WM.js +24 -0
  469. package/dist/chunks/chunk.C7E3R5KU.js +1 -0
  470. package/dist/chunks/chunk.CEHKBT6Q.js +1 -0
  471. package/dist/chunks/chunk.CHAY5OT7.js +35 -0
  472. package/dist/chunks/chunk.CTISMZYA.js +17 -0
  473. package/dist/chunks/chunk.CY5SBRKH.js +148 -0
  474. package/dist/chunks/chunk.CYECGPCS.js +1 -0
  475. package/dist/chunks/chunk.CZAJYJ7Y.js +1 -0
  476. package/dist/chunks/chunk.DADDNQLP.js +1 -0
  477. package/dist/chunks/chunk.DGC76RUW.js +43 -0
  478. package/dist/chunks/chunk.DN4QUBZT.js +1 -0
  479. package/dist/chunks/chunk.DPCU4QNO.js +1 -0
  480. package/dist/chunks/chunk.DQUUBGXN.js +65 -0
  481. package/dist/chunks/chunk.DTGRYWDW.js +1 -0
  482. package/dist/chunks/chunk.DTK4KP3A.js +1 -0
  483. package/dist/chunks/chunk.DWUSSCJJ.js +1 -0
  484. package/dist/chunks/chunk.E2CO7WAC.js +1 -0
  485. package/dist/chunks/chunk.E5J45IZ7.js +1 -0
  486. package/dist/chunks/chunk.E6QEYMFV.js +1 -0
  487. package/dist/chunks/chunk.EGGMNU3M.js +1 -0
  488. package/dist/chunks/chunk.EIXQWEAM.js +2 -0
  489. package/dist/chunks/chunk.EKTAW2GT.js +1 -0
  490. package/dist/chunks/chunk.EMPODODW.js +1 -0
  491. package/dist/chunks/chunk.EUVWT4QC.js +1 -0
  492. package/dist/chunks/chunk.EVUZHRXP.js +1 -0
  493. package/dist/chunks/chunk.F2565BRS.js +1 -0
  494. package/dist/chunks/chunk.FDEYULXK.js +9 -0
  495. package/dist/chunks/chunk.FRPWAKUG.js +1 -0
  496. package/dist/chunks/chunk.FWOBNCDE.js +1 -0
  497. package/dist/chunks/chunk.FWQ7SHUK.js +1 -0
  498. package/dist/chunks/chunk.G27RDTEA.js +1 -0
  499. package/dist/chunks/chunk.G335JMUG.js +11 -0
  500. package/dist/chunks/chunk.GFEVBXEL.js +1 -0
  501. package/dist/chunks/chunk.GIQVOBK7.js +1 -0
  502. package/dist/chunks/chunk.GLZKR6B5.js +1 -0
  503. package/dist/chunks/chunk.GODNPIQP.js +11 -0
  504. package/dist/chunks/chunk.GPNEDD5P.js +1 -0
  505. package/dist/chunks/chunk.GPYZTBOY.js +1 -0
  506. package/dist/chunks/chunk.GRK5N5A6.js +1 -0
  507. package/dist/chunks/chunk.GSHBEMLU.js +1 -0
  508. package/dist/chunks/chunk.GTEDR4QW.js +35 -0
  509. package/dist/chunks/chunk.GUF6ZBAS.js +26 -0
  510. package/dist/chunks/chunk.GUXZYNLH.js +1 -0
  511. package/dist/chunks/chunk.HETQFJKA.js +37 -0
  512. package/dist/chunks/chunk.HFOE6H7K.js +1 -0
  513. package/dist/chunks/chunk.HKVMHATQ.js +1 -0
  514. package/dist/chunks/chunk.HLDG5CW2.js +1 -0
  515. package/dist/chunks/chunk.HQH7ECRG.js +9 -0
  516. package/dist/chunks/chunk.HTATUAK5.js +1 -0
  517. package/dist/chunks/chunk.HWZU5KAS.js +1 -0
  518. package/dist/chunks/chunk.I5QWDHQJ.js +1 -0
  519. package/dist/chunks/chunk.I6ERW6PJ.js +1 -0
  520. package/dist/chunks/chunk.IC6VHV7M.js +1 -0
  521. package/dist/chunks/chunk.IDZK2LDN.js +1 -0
  522. package/dist/chunks/chunk.IL4QZ3ZM.js +1 -0
  523. package/dist/chunks/chunk.INUW5PQ4.js +6 -0
  524. package/dist/chunks/chunk.IUKZUZN7.js +1 -0
  525. package/dist/chunks/chunk.IZHIRL3X.js +1 -0
  526. package/dist/chunks/chunk.J5CDDE2J.js +1 -0
  527. package/dist/chunks/chunk.J6S26VCB.js +30 -0
  528. package/dist/chunks/chunk.JB2RNZRH.js +1 -0
  529. package/dist/chunks/chunk.JEML32HW.js +1 -0
  530. package/dist/chunks/chunk.JLHERDSR.js +1 -0
  531. package/dist/chunks/chunk.JM2I74WK.js +1 -0
  532. package/dist/chunks/chunk.JQCR6OBC.js +1 -0
  533. package/dist/chunks/chunk.JSHDLVPL.js +1 -0
  534. package/dist/chunks/chunk.JWBNPKSD.js +74 -0
  535. package/dist/chunks/chunk.KHDCXDVC.js +1 -0
  536. package/dist/chunks/chunk.L27PY7AR.js +1 -0
  537. package/dist/chunks/chunk.L4SJSJJH.js +1 -0
  538. package/dist/chunks/chunk.LMLDHGQC.js +27 -0
  539. package/dist/chunks/chunk.LMUNJ5G5.js +1 -0
  540. package/dist/chunks/chunk.LNGCGZML.js +145 -0
  541. package/dist/chunks/chunk.M6TRKIQH.js +1 -0
  542. package/dist/chunks/chunk.MG7I2BHN.js +5 -0
  543. package/dist/chunks/chunk.MGRDBN66.js +1 -0
  544. package/dist/chunks/chunk.MJL3WV7Q.js +55 -0
  545. package/dist/chunks/chunk.MPV52EDT.js +1 -0
  546. package/dist/chunks/chunk.MTMYGCXE.js +1 -0
  547. package/dist/chunks/chunk.MVH4BD5E.js +1 -0
  548. package/dist/chunks/chunk.N2J4ZXBP.js +1 -0
  549. package/dist/chunks/chunk.NSXOOZRJ.js +122 -0
  550. package/dist/chunks/chunk.O33GZXIW.js +19 -0
  551. package/dist/chunks/chunk.O5E2D7VI.js +80 -0
  552. package/dist/chunks/chunk.O5FM57JC.js +1 -0
  553. package/dist/chunks/chunk.OBDWHYK6.js +1 -0
  554. package/dist/chunks/chunk.OD4TBRCI.js +20 -0
  555. package/dist/chunks/chunk.OHUBKCFW.js +1 -0
  556. package/dist/chunks/chunk.OK25GRRM.js +1 -0
  557. package/dist/chunks/chunk.OUXNGODQ.js +55 -0
  558. package/dist/chunks/chunk.OYBESMEM.js +55 -0
  559. package/dist/chunks/chunk.OZGKOS7X.js +38 -0
  560. package/dist/chunks/chunk.OZHGY63Y.js +113 -0
  561. package/dist/chunks/chunk.P7GHJ7JX.js +1 -0
  562. package/dist/chunks/chunk.PLUPSVTL.js +1 -0
  563. package/dist/chunks/chunk.POQML7RV.js +1 -0
  564. package/dist/chunks/chunk.PUPEOSOS.js +1 -0
  565. package/dist/chunks/chunk.PWWWIMDG.js +1 -0
  566. package/dist/chunks/chunk.Q2AK6YWC.js +1 -0
  567. package/dist/chunks/chunk.QASYGJ27.js +1 -0
  568. package/dist/chunks/chunk.QBNYAZEC.js +5 -0
  569. package/dist/chunks/chunk.QGXUQL5S.js +1 -0
  570. package/dist/chunks/chunk.QHJOOSNB.js +1 -0
  571. package/dist/chunks/chunk.QHOKD4JQ.js +1 -0
  572. package/dist/chunks/chunk.QJFTPHPW.js +30 -0
  573. package/dist/chunks/chunk.QNDVROWC.js +100 -0
  574. package/dist/chunks/chunk.QQHOPHO5.js +1 -0
  575. package/dist/chunks/chunk.QUEQ5PKP.js +1 -0
  576. package/dist/chunks/chunk.R45UUT4V.js +1 -0
  577. package/dist/chunks/chunk.RBS4URTQ.js +1 -0
  578. package/dist/chunks/chunk.RCEQNCD4.js +1 -0
  579. package/dist/chunks/chunk.RF5XHFQ3.js +20 -0
  580. package/dist/chunks/chunk.RLKWWOLF.js +1 -0
  581. package/dist/chunks/chunk.RMUOTOM3.js +1 -0
  582. package/dist/chunks/chunk.RNPNGSH7.js +157 -0
  583. package/dist/chunks/chunk.RT4QYORC.js +26 -0
  584. package/dist/chunks/chunk.SDWVM2SO.js +1 -0
  585. package/dist/chunks/chunk.SLP6CFPP.js +1182 -0
  586. package/dist/chunks/chunk.SMTUPE7E.js +1 -0
  587. package/dist/chunks/chunk.SPD5O5GO.js +1 -0
  588. package/dist/chunks/chunk.SPGRHFBJ.js +1 -0
  589. package/dist/chunks/chunk.THXTTTK2.js +1 -0
  590. package/dist/chunks/chunk.TJVIISBO.js +1 -0
  591. package/dist/chunks/chunk.TLQJK44I.js +1 -0
  592. package/dist/chunks/chunk.U75IFYWR.js +1 -0
  593. package/dist/chunks/chunk.UBF6BPEZ.js +121 -0
  594. package/dist/chunks/chunk.ULOHDMHW.js +1 -0
  595. package/dist/chunks/chunk.UN5LAOCO.js +1 -0
  596. package/dist/chunks/chunk.UXWER3LW.js +1 -0
  597. package/dist/chunks/chunk.UZT5IB54.js +62 -0
  598. package/dist/chunks/chunk.V7Z7GMTQ.js +1 -0
  599. package/dist/chunks/chunk.VG3AZDMP.js +1 -0
  600. package/dist/chunks/chunk.WDUVKDPP.js +99 -0
  601. package/dist/chunks/chunk.WMQPWMUX.js +115 -0
  602. package/dist/chunks/chunk.WN3SDNIM.js +1 -0
  603. package/dist/chunks/chunk.WTXOFBLG.js +25 -0
  604. package/dist/chunks/chunk.X36ZL2LL.js +1 -0
  605. package/dist/chunks/chunk.XGH7TABE.js +1 -0
  606. package/dist/chunks/chunk.XOG3BCPQ.js +1 -0
  607. package/dist/chunks/chunk.XTX4TR6R.js +1 -0
  608. package/dist/chunks/chunk.XWAIVPGA.js +8 -0
  609. package/dist/chunks/chunk.XXIFAJRB.js +1 -0
  610. package/dist/chunks/chunk.Y6UXJUWB.js +22 -0
  611. package/dist/chunks/chunk.YCOSKKGZ.js +67 -0
  612. package/dist/chunks/chunk.YDK4KHPK.js +1 -0
  613. package/dist/chunks/chunk.YDO3U6BD.js +572 -0
  614. package/dist/chunks/chunk.YG7VEWC4.js +1 -0
  615. package/dist/chunks/chunk.YH3IQ333.js +1 -0
  616. package/dist/chunks/chunk.YS7FAJWI.js +1 -0
  617. package/dist/chunks/chunk.YUPDTNHJ.js +1 -0
  618. package/dist/chunks/chunk.YVTC325R.js +48 -0
  619. package/dist/chunks/chunk.YYB5PPWG.js +1 -0
  620. package/dist/chunks/chunk.YYETMKDA.js +1 -0
  621. package/dist/chunks/chunk.Z4FLHWPR.js +1 -0
  622. package/dist/chunks/chunk.Z5WIAHFZ.js +280 -0
  623. package/dist/chunks/chunk.ZDAPP3SH.js +1 -0
  624. package/dist/chunks/chunk.ZEEJTZFK.js +1 -0
  625. package/dist/chunks/chunk.ZUGFTVEB.js +1 -0
  626. package/dist/components/accordion/accordion.component.js +1 -1
  627. package/dist/components/accordion/accordion.js +1 -1
  628. package/dist/components/alert/alert.component.js +1 -1
  629. package/dist/components/alert/alert.js +1 -1
  630. package/dist/components/avatar/avatar.component.js +1 -1
  631. package/dist/components/avatar/avatar.js +1 -1
  632. package/dist/components/badge/badge.component.js +1 -1
  633. package/dist/components/badge/badge.js +1 -1
  634. package/dist/components/banner/banner.component.js +1 -1
  635. package/dist/components/banner/banner.js +1 -1
  636. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  637. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  638. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  639. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  640. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  641. package/dist/components/browse-variables/browse-variables.controller.js +1 -1
  642. package/dist/components/browse-variables/browse-variables.js +1 -1
  643. package/dist/components/button/button.component.js +1 -1
  644. package/dist/components/button/button.js +1 -1
  645. package/dist/components/button-group/button-group.component.js +1 -1
  646. package/dist/components/button-group/button-group.js +1 -1
  647. package/dist/components/caption/caption.component.js +1 -1
  648. package/dist/components/caption/caption.js +1 -1
  649. package/dist/components/card/card.component.js +1 -1
  650. package/dist/components/card/card.js +1 -1
  651. package/dist/components/checkbox/checkbox.component.js +1 -1
  652. package/dist/components/checkbox/checkbox.js +1 -1
  653. package/dist/components/chip/chip.component.js +1 -1
  654. package/dist/components/chip/chip.js +1 -1
  655. package/dist/components/combobox/combobox.component.js +1 -1
  656. package/dist/components/combobox/combobox.js +1 -1
  657. package/dist/components/data-access/data-access.component.js +1 -1
  658. package/dist/components/data-access/data-access.js +1 -1
  659. package/dist/components/data-grid/data-grid.component.js +1 -1
  660. package/dist/components/data-grid/data-grid.js +1 -1
  661. package/dist/components/data-rods/data-rods.component.d.ts +2 -0
  662. package/dist/components/data-rods/data-rods.component.js +1 -1
  663. package/dist/components/data-rods/data-rods.js +1 -1
  664. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  665. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  666. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  667. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  668. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  669. package/dist/components/date-picker/date-picker.component.js +1 -1
  670. package/dist/components/date-picker/date-picker.js +1 -1
  671. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  672. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  673. package/dist/components/dialog/dialog.component.js +1 -1
  674. package/dist/components/dialog/dialog.js +1 -1
  675. package/dist/components/divider/divider.component.js +1 -1
  676. package/dist/components/divider/divider.js +1 -1
  677. package/dist/components/dropdown/dropdown.component.js +1 -1
  678. package/dist/components/dropdown/dropdown.js +1 -1
  679. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  680. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  681. package/dist/components/file-upload/file-upload.component.js +1 -1
  682. package/dist/components/file-upload/file-upload.js +1 -1
  683. package/dist/components/harmony-history/harmony-history.component.js +1 -1
  684. package/dist/components/harmony-history/harmony-history.js +1 -1
  685. package/dist/components/icon/icon.component.js +1 -1
  686. package/dist/components/icon/icon.js +1 -1
  687. package/dist/components/input/input.component.js +1 -1
  688. package/dist/components/input/input.js +1 -1
  689. package/dist/components/loader/loader.component.js +1 -1
  690. package/dist/components/loader/loader.js +1 -1
  691. package/dist/components/login/login.component.js +1 -1
  692. package/dist/components/login/login.js +1 -1
  693. package/dist/components/map/map.component.js +1 -1
  694. package/dist/components/map/map.js +1 -1
  695. package/dist/components/menu/menu.component.js +1 -1
  696. package/dist/components/menu/menu.js +1 -1
  697. package/dist/components/menu-item/menu-item.component.js +1 -1
  698. package/dist/components/menu-item/menu-item.js +1 -1
  699. package/dist/components/option/option.component.js +1 -1
  700. package/dist/components/option/option.js +1 -1
  701. package/dist/components/pagination/pagination.component.js +1 -1
  702. package/dist/components/pagination/pagination.js +1 -1
  703. package/dist/components/plot/plot.component.js +1 -1
  704. package/dist/components/plot/plot.js +1 -1
  705. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  706. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  707. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  708. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  709. package/dist/components/popup/popup.component.js +1 -1
  710. package/dist/components/popup/popup.js +1 -1
  711. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  712. package/dist/components/progress-bar/progress-bar.js +1 -1
  713. package/dist/components/radio/radio.component.js +1 -1
  714. package/dist/components/radio/radio.js +1 -1
  715. package/dist/components/radio-group/radio-group.component.js +1 -1
  716. package/dist/components/radio-group/radio-group.js +1 -1
  717. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  718. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  719. package/dist/components/select/select.component.js +1 -1
  720. package/dist/components/select/select.js +1 -1
  721. package/dist/components/site-header/site-header.component.js +1 -1
  722. package/dist/components/site-header/site-header.js +1 -1
  723. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  724. package/dist/components/site-navigation/site-navigation.js +1 -1
  725. package/dist/components/skeleton/skeleton.component.js +1 -1
  726. package/dist/components/skeleton/skeleton.js +1 -1
  727. package/dist/components/slider/slider.component.js +1 -1
  728. package/dist/components/slider/slider.js +1 -1
  729. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  730. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  731. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  732. package/dist/components/status-indicator/status-indicator.js +1 -1
  733. package/dist/components/stepper/stepper.component.js +1 -1
  734. package/dist/components/stepper/stepper.js +1 -1
  735. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  736. package/dist/components/stepper-step/stepper-step.js +1 -1
  737. package/dist/components/tab/tab.component.js +1 -1
  738. package/dist/components/tab/tab.js +1 -1
  739. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  740. package/dist/components/tab-panel/tab-panel.js +1 -1
  741. package/dist/components/tabs/tabs.component.js +1 -1
  742. package/dist/components/tabs/tabs.js +1 -1
  743. package/dist/components/tag/tag.component.js +1 -1
  744. package/dist/components/tag/tag.js +1 -1
  745. package/dist/components/textarea/textarea.component.js +1 -1
  746. package/dist/components/textarea/textarea.js +1 -1
  747. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  748. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  749. package/dist/components/time-average-map/time-average-map.js +1 -1
  750. package/dist/components/time-series/time-series-cache.service.js +1 -1
  751. package/dist/components/time-series/time-series.component.d.ts +3 -0
  752. package/dist/components/time-series/time-series.component.js +1 -1
  753. package/dist/components/time-series/time-series.controller.js +1 -1
  754. package/dist/components/time-series/time-series.js +1 -1
  755. package/dist/components/toast/toast.component.js +1 -1
  756. package/dist/components/toast/toast.js +1 -1
  757. package/dist/components/toggle/toggle.component.js +1 -1
  758. package/dist/components/toggle/toggle.js +1 -1
  759. package/dist/components/tooltip/tooltip.component.js +1 -1
  760. package/dist/components/tooltip/tooltip.js +1 -1
  761. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  762. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  763. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  764. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  765. package/dist/custom-elements.json +913 -835
  766. package/dist/events/events.d.ts +2 -0
  767. package/dist/events/terra-time-series-chunk-progress-change.d.ts +11 -0
  768. package/dist/events/terra-time-series-loading-change.d.ts +10 -0
  769. package/dist/react/accordion/index.js +1 -1
  770. package/dist/react/alert/index.js +1 -1
  771. package/dist/react/avatar/index.js +1 -1
  772. package/dist/react/badge/index.js +1 -1
  773. package/dist/react/banner/index.js +1 -1
  774. package/dist/react/breadcrumb/index.js +1 -1
  775. package/dist/react/breadcrumbs/index.js +1 -1
  776. package/dist/react/browse-variables/index.js +1 -1
  777. package/dist/react/button/index.js +1 -1
  778. package/dist/react/button-group/index.js +1 -1
  779. package/dist/react/caption/index.js +1 -1
  780. package/dist/react/card/index.js +1 -1
  781. package/dist/react/checkbox/index.js +1 -1
  782. package/dist/react/chip/index.js +1 -1
  783. package/dist/react/combobox/index.js +1 -1
  784. package/dist/react/data-access/index.js +1 -1
  785. package/dist/react/data-grid/index.js +1 -1
  786. package/dist/react/data-rods/index.js +1 -1
  787. package/dist/react/data-subsetter/index.js +1 -1
  788. package/dist/react/data-subsetter-history/index.js +1 -1
  789. package/dist/react/date-picker/index.js +1 -1
  790. package/dist/react/date-range-slider/index.js +1 -1
  791. package/dist/react/dialog/index.js +1 -1
  792. package/dist/react/divider/index.js +1 -1
  793. package/dist/react/dropdown/index.js +1 -1
  794. package/dist/react/earthdata-login/index.js +1 -1
  795. package/dist/react/file-upload/index.js +1 -1
  796. package/dist/react/harmony-history/index.js +1 -1
  797. package/dist/react/icon/index.js +1 -1
  798. package/dist/react/index.d.ts +3 -3
  799. package/dist/react/index.js +1 -1
  800. package/dist/react/input/index.js +1 -1
  801. package/dist/react/loader/index.js +1 -1
  802. package/dist/react/login/index.js +1 -1
  803. package/dist/react/map/index.js +1 -1
  804. package/dist/react/menu/index.js +1 -1
  805. package/dist/react/menu-item/index.js +1 -1
  806. package/dist/react/option/index.js +1 -1
  807. package/dist/react/pagination/index.js +1 -1
  808. package/dist/react/plot/index.js +1 -1
  809. package/dist/react/plot-toolbar/index.js +1 -1
  810. package/dist/react/popup/index.js +1 -1
  811. package/dist/react/progress-bar/index.js +1 -1
  812. package/dist/react/radio/index.js +1 -1
  813. package/dist/react/radio-group/index.js +1 -1
  814. package/dist/react/scroll-hint/index.js +1 -1
  815. package/dist/react/select/index.js +1 -1
  816. package/dist/react/site-header/index.js +1 -1
  817. package/dist/react/site-navigation/index.js +1 -1
  818. package/dist/react/skeleton/index.js +1 -1
  819. package/dist/react/slider/index.js +1 -1
  820. package/dist/react/spatial-picker/index.js +1 -1
  821. package/dist/react/status-indicator/index.js +1 -1
  822. package/dist/react/stepper/index.js +1 -1
  823. package/dist/react/stepper-step/index.js +1 -1
  824. package/dist/react/tab/index.js +1 -1
  825. package/dist/react/tab-panel/index.js +1 -1
  826. package/dist/react/tabs/index.js +1 -1
  827. package/dist/react/tag/index.js +1 -1
  828. package/dist/react/textarea/index.js +1 -1
  829. package/dist/react/time-average-map/index.js +1 -1
  830. package/dist/react/time-series/index.d.ts +8 -0
  831. package/dist/react/time-series/index.js +1 -1
  832. package/dist/react/toast/index.js +1 -1
  833. package/dist/react/toggle/index.js +1 -1
  834. package/dist/react/tooltip/index.js +1 -1
  835. package/dist/react/variable-combobox/index.js +1 -1
  836. package/dist/react/variable-keyword-search/index.js +1 -1
  837. package/dist/terra-ui-components.js +1 -1
  838. package/dist/terra_ui_components-0.0.193-py3-none-any.whl +0 -0
  839. package/dist/terra_ui_components-0.0.193.tar.gz +0 -0
  840. package/dist/types/vue/index.d.ts +86 -80
  841. package/dist/utilities/date.d.ts +1 -1
  842. package/dist/utilities/date.js +1 -1
  843. package/dist/utilities/variable-task.js +1 -1
  844. package/dist/vscode.html-custom-data.json +102 -102
  845. package/dist/web-types.json +120 -102
  846. package/package.json +1 -1
  847. package/cdn/chunks/chunk.24B62XIT.js +0 -92
  848. package/cdn/chunks/chunk.262HZ2PW.js +0 -19
  849. package/cdn/chunks/chunk.2LTVK44K.js +0 -19
  850. package/cdn/chunks/chunk.2MCGNUNV.js +0 -19
  851. package/cdn/chunks/chunk.2O6SGHAF.js +0 -195
  852. package/cdn/chunks/chunk.2RJ3FMBS.js +0 -19
  853. package/cdn/chunks/chunk.2U6ULWZU.js +0 -33
  854. package/cdn/chunks/chunk.3DMNGIYG.js +0 -538
  855. package/cdn/chunks/chunk.3GGP5B6G.js +0 -188
  856. package/cdn/chunks/chunk.3T4UCNK5.js +0 -19
  857. package/cdn/chunks/chunk.3TBELWQZ.js +0 -134
  858. package/cdn/chunks/chunk.3WOQXSCF.js +0 -93
  859. package/cdn/chunks/chunk.3ZA77B25.js +0 -310
  860. package/cdn/chunks/chunk.42WUI4KL.js +0 -19
  861. package/cdn/chunks/chunk.44AQ22IH.js +0 -36
  862. package/cdn/chunks/chunk.47QZ5O4A.js +0 -35
  863. package/cdn/chunks/chunk.4GSWBELB.js +0 -29
  864. package/cdn/chunks/chunk.4LPZX7ZP.js +0 -32
  865. package/cdn/chunks/chunk.4PK6F7TQ.js +0 -19
  866. package/cdn/chunks/chunk.4PVJJ22O.js +0 -278
  867. package/cdn/chunks/chunk.5A57ZZLC.js +0 -29
  868. package/cdn/chunks/chunk.5CYLRJPB.js +0 -19
  869. package/cdn/chunks/chunk.5EYYSFOL.js +0 -915
  870. package/cdn/chunks/chunk.5GWWMHJ7.js +0 -539
  871. package/cdn/chunks/chunk.5PYHV7EH.js +0 -29
  872. package/cdn/chunks/chunk.5SCR2NWZ.js +0 -19
  873. package/cdn/chunks/chunk.6KXBCS3L.js +0 -32
  874. package/cdn/chunks/chunk.6Q6YGONG.js +0 -29
  875. package/cdn/chunks/chunk.6QCJUKOR.js +0 -904
  876. package/cdn/chunks/chunk.6XVN6LNG.js +0 -19
  877. package/cdn/chunks/chunk.6XYUXMUR.js +0 -478
  878. package/cdn/chunks/chunk.6ZW3X3WH.js +0 -19
  879. package/cdn/chunks/chunk.77KBVOXZ.js +0 -19
  880. package/cdn/chunks/chunk.7CMOFBGK.js +0 -35
  881. package/cdn/chunks/chunk.7DFRD6TL.js +0 -551
  882. package/cdn/chunks/chunk.7NJYVBGM.js +0 -47
  883. package/cdn/chunks/chunk.7PXLIE6Y.js +0 -41
  884. package/cdn/chunks/chunk.7WWAPL3E.js +0 -241
  885. package/cdn/chunks/chunk.A4GKYWCN.js +0 -35
  886. package/cdn/chunks/chunk.AFLJRQ5L.js +0 -19
  887. package/cdn/chunks/chunk.AFOQS2TB.js +0 -493
  888. package/cdn/chunks/chunk.AO5CRLEQ.js +0 -30
  889. package/cdn/chunks/chunk.AOTSW6PN.js +0 -19
  890. package/cdn/chunks/chunk.AQNSTYWZ.js +0 -357
  891. package/cdn/chunks/chunk.ASS72YVP.js +0 -86
  892. package/cdn/chunks/chunk.ATJWBDLK.js +0 -37
  893. package/cdn/chunks/chunk.AVBVAXIQ.js +0 -1197
  894. package/cdn/chunks/chunk.AWAFPU3N.js +0 -1259
  895. package/cdn/chunks/chunk.B3RMBZYQ.js +0 -19
  896. package/cdn/chunks/chunk.BC4ZMQCB.js +0 -35
  897. package/cdn/chunks/chunk.BCZ66TID.js +0 -19
  898. package/cdn/chunks/chunk.BJ53T7YS.js +0 -29
  899. package/cdn/chunks/chunk.BQYY6OOZ.js +0 -36
  900. package/cdn/chunks/chunk.BSJUFDA5.js +0 -1975
  901. package/cdn/chunks/chunk.BTDPXFC4.js +0 -19
  902. package/cdn/chunks/chunk.BW6CO36S.js +0 -36
  903. package/cdn/chunks/chunk.BW6UHDXQ.js +0 -60
  904. package/cdn/chunks/chunk.C4PJTDXM.js +0 -224
  905. package/cdn/chunks/chunk.CACZ53WP.js +0 -49
  906. package/cdn/chunks/chunk.CAP2S4YD.js +0 -19
  907. package/cdn/chunks/chunk.CE24RZ52.js +0 -19
  908. package/cdn/chunks/chunk.CGTVI7DB.js +0 -19
  909. package/cdn/chunks/chunk.CIASH63X.js +0 -19
  910. package/cdn/chunks/chunk.CIEQDZYN.js +0 -19
  911. package/cdn/chunks/chunk.CQER7LGP.js +0 -135
  912. package/cdn/chunks/chunk.CRW7BLZC.js +0 -19
  913. package/cdn/chunks/chunk.CSEUC56Z.js +0 -29
  914. package/cdn/chunks/chunk.CSVBPSJG.js +0 -893
  915. package/cdn/chunks/chunk.CVX3LVBF.js +0 -32
  916. package/cdn/chunks/chunk.CXQ4VJHQ.js +0 -29
  917. package/cdn/chunks/chunk.DMRNFEKK.js +0 -19
  918. package/cdn/chunks/chunk.DNEV52SA.js +0 -19
  919. package/cdn/chunks/chunk.DO2XVOUK.js +0 -19
  920. package/cdn/chunks/chunk.EGKK52TT.js +0 -123
  921. package/cdn/chunks/chunk.ELGWQAWN.js +0 -29
  922. package/cdn/chunks/chunk.EZQMJQVW.js +0 -29
  923. package/cdn/chunks/chunk.F36QQKVA.js +0 -155
  924. package/cdn/chunks/chunk.F55SX2J2.js +0 -47
  925. package/cdn/chunks/chunk.FIEZKD4M.js +0 -170
  926. package/cdn/chunks/chunk.FLEVFZIL.js +0 -132
  927. package/cdn/chunks/chunk.FLXIUURB.js +0 -330
  928. package/cdn/chunks/chunk.FOXSLM3U.js +0 -138
  929. package/cdn/chunks/chunk.FUWO4LKV.js +0 -32
  930. package/cdn/chunks/chunk.FX5L3U44.js +0 -29
  931. package/cdn/chunks/chunk.FZJL3WN4.js +0 -19
  932. package/cdn/chunks/chunk.GILBGDM2.js +0 -663
  933. package/cdn/chunks/chunk.GTRUGE5H.js +0 -19
  934. package/cdn/chunks/chunk.GUVYSWLT.js +0 -32
  935. package/cdn/chunks/chunk.H2UK4RZG.js +0 -29
  936. package/cdn/chunks/chunk.HD56KHLF.js +0 -610
  937. package/cdn/chunks/chunk.HEFAOEHC.js +0 -230
  938. package/cdn/chunks/chunk.HH5XFUTY.js +0 -32
  939. package/cdn/chunks/chunk.HNU53HJR.js +0 -377
  940. package/cdn/chunks/chunk.HO7ISBZY.js +0 -29
  941. package/cdn/chunks/chunk.HXJ25X46.js +0 -599
  942. package/cdn/chunks/chunk.ISO434FT.js +0 -19
  943. package/cdn/chunks/chunk.ITMZI6KX.js +0 -19
  944. package/cdn/chunks/chunk.IUF2TCQV.js +0 -19
  945. package/cdn/chunks/chunk.IUFNCUXD.js +0 -19
  946. package/cdn/chunks/chunk.IWJ76MKB.js +0 -19
  947. package/cdn/chunks/chunk.IZ4OPEJL.js +0 -60
  948. package/cdn/chunks/chunk.J252E7IC.js +0 -56075
  949. package/cdn/chunks/chunk.J4P5RDYK.js +0 -19
  950. package/cdn/chunks/chunk.JNTGTK3Y.js +0 -29
  951. package/cdn/chunks/chunk.JOIINCST.js +0 -616
  952. package/cdn/chunks/chunk.JRI3R6Z4.js +0 -658
  953. package/cdn/chunks/chunk.JRIFL3YL.js +0 -190
  954. package/cdn/chunks/chunk.JUYFC4YQ.js +0 -62
  955. package/cdn/chunks/chunk.JZ3DQBSM.js +0 -34
  956. package/cdn/chunks/chunk.K4MLSCG6.js +0 -29
  957. package/cdn/chunks/chunk.KCHUWH3B.js +0 -158
  958. package/cdn/chunks/chunk.KOGUP64A.js +0 -29
  959. package/cdn/chunks/chunk.KP25A3GD.js +0 -19
  960. package/cdn/chunks/chunk.KPRLGL6V.js +0 -294
  961. package/cdn/chunks/chunk.L5LGMK4B.js +0 -29
  962. package/cdn/chunks/chunk.LHV7DALC.js +0 -19
  963. package/cdn/chunks/chunk.LJDDDHCY.js +0 -234
  964. package/cdn/chunks/chunk.LLZ4T36T.js +0 -276
  965. package/cdn/chunks/chunk.LQZHP5Q5.js +0 -443
  966. package/cdn/chunks/chunk.LTERX6XG.js +0 -29
  967. package/cdn/chunks/chunk.LY225GGQ.js +0 -33
  968. package/cdn/chunks/chunk.MACHE6S2.js +0 -29
  969. package/cdn/chunks/chunk.ME5CNTQ6.js +0 -19
  970. package/cdn/chunks/chunk.MICAEOPF.js +0 -29
  971. package/cdn/chunks/chunk.MJQUICWQ.js +0 -29
  972. package/cdn/chunks/chunk.MN4LTLTG.js +0 -259
  973. package/cdn/chunks/chunk.MOBZATSV.js +0 -68
  974. package/cdn/chunks/chunk.MQWYVNEP.js +0 -32
  975. package/cdn/chunks/chunk.MS4CC6YY.js +0 -19
  976. package/cdn/chunks/chunk.MUGXJ7OD.js +0 -19
  977. package/cdn/chunks/chunk.MWWVSDXP.js +0 -293
  978. package/cdn/chunks/chunk.N2MTELAK.js +0 -19
  979. package/cdn/chunks/chunk.N3W7SNA2.js +0 -359
  980. package/cdn/chunks/chunk.NAVESOCY.js +0 -19
  981. package/cdn/chunks/chunk.NLZDX26M.js +0 -19
  982. package/cdn/chunks/chunk.NQMVUWEO.js +0 -19
  983. package/cdn/chunks/chunk.NZ5K67F5.js +0 -32
  984. package/cdn/chunks/chunk.O4PUDLBX.js +0 -82
  985. package/cdn/chunks/chunk.O4RVOCXY.js +0 -35
  986. package/cdn/chunks/chunk.OH7UMU66.js +0 -537
  987. package/cdn/chunks/chunk.P3Z633U6.js +0 -29
  988. package/cdn/chunks/chunk.PDO3A7SZ.js +0 -19
  989. package/cdn/chunks/chunk.PFBJCAEJ.js +0 -29
  990. package/cdn/chunks/chunk.PJANLDEK.js +0 -19
  991. package/cdn/chunks/chunk.PJVROMSD.js +0 -29
  992. package/cdn/chunks/chunk.PLDCR7N5.js +0 -29
  993. package/cdn/chunks/chunk.PS2PE2TF.js +0 -19
  994. package/cdn/chunks/chunk.QNAYSEGG.js +0 -19
  995. package/cdn/chunks/chunk.QT355OPF.js +0 -78
  996. package/cdn/chunks/chunk.RC2J3PHW.js +0 -29
  997. package/cdn/chunks/chunk.RCIQ4ROW.js +0 -19
  998. package/cdn/chunks/chunk.RCMAF3C2.js +0 -36
  999. package/cdn/chunks/chunk.RD4KWNAE.js +0 -524
  1000. package/cdn/chunks/chunk.RDXA6MDC.js +0 -32
  1001. package/cdn/chunks/chunk.RHY7O2IS.js +0 -110
  1002. package/cdn/chunks/chunk.RIVNZRQK.js +0 -19
  1003. package/cdn/chunks/chunk.RSZW77LZ.js +0 -136
  1004. package/cdn/chunks/chunk.S2OT2J42.js +0 -29
  1005. package/cdn/chunks/chunk.SHOGW7F7.js +0 -19
  1006. package/cdn/chunks/chunk.SHUZWK5L.js +0 -71
  1007. package/cdn/chunks/chunk.SQLQ6EBJ.js +0 -32
  1008. package/cdn/chunks/chunk.T6YUOYL4.js +0 -32
  1009. package/cdn/chunks/chunk.TBVGVLZL.js +0 -19
  1010. package/cdn/chunks/chunk.TDUAL655.js +0 -19
  1011. package/cdn/chunks/chunk.TFYL5E3X.js +0 -33
  1012. package/cdn/chunks/chunk.TICG3KYV.js +0 -19
  1013. package/cdn/chunks/chunk.TJCVSSUM.js +0 -32
  1014. package/cdn/chunks/chunk.TKSEPVAL.js +0 -1697
  1015. package/cdn/chunks/chunk.TWSGI5KV.js +0 -74
  1016. package/cdn/chunks/chunk.U45Q563O.js +0 -19
  1017. package/cdn/chunks/chunk.UAXYHWAH.js +0 -2546
  1018. package/cdn/chunks/chunk.UCILY7QU.js +0 -113
  1019. package/cdn/chunks/chunk.UTVU3EOT.js +0 -99
  1020. package/cdn/chunks/chunk.UXIPJ35C.js +0 -104
  1021. package/cdn/chunks/chunk.UXZGV7OS.js +0 -19
  1022. package/cdn/chunks/chunk.UZKNIZQQ.js +0 -29
  1023. package/cdn/chunks/chunk.VBF5JP2E.js +0 -19
  1024. package/cdn/chunks/chunk.VEM372CX.js +0 -231
  1025. package/cdn/chunks/chunk.VIJH6FVX.js +0 -19
  1026. package/cdn/chunks/chunk.VIUYJZVN.js +0 -34
  1027. package/cdn/chunks/chunk.VJKTJ73J.js +0 -2690
  1028. package/cdn/chunks/chunk.VK3BR2YG.js +0 -19
  1029. package/cdn/chunks/chunk.VU4T4F4P.js +0 -39
  1030. package/cdn/chunks/chunk.W5VXUQDQ.js +0 -19
  1031. package/cdn/chunks/chunk.WCROJ64G.js +0 -19
  1032. package/cdn/chunks/chunk.WCZJQNF6.js +0 -19
  1033. package/cdn/chunks/chunk.WQ2HWOXW.js +0 -29
  1034. package/cdn/chunks/chunk.WQXDVT6E.js +0 -151
  1035. package/cdn/chunks/chunk.XB4O6ZSP.js +0 -139
  1036. package/cdn/chunks/chunk.XB5XP6AB.js +0 -83
  1037. package/cdn/chunks/chunk.XIOI4NMY.js +0 -32
  1038. package/cdn/chunks/chunk.XTPN2WIP.js +0 -29
  1039. package/cdn/chunks/chunk.XWMOTNMD.js +0 -29
  1040. package/cdn/chunks/chunk.Y6ZXBJLT.js +0 -37
  1041. package/cdn/chunks/chunk.YAUBOXKE.js +0 -294
  1042. package/cdn/chunks/chunk.YHWPDVRQ.js +0 -19
  1043. package/cdn/chunks/chunk.YLZNYAVZ.js +0 -19
  1044. package/cdn/chunks/chunk.YO72L3YT.js +0 -34
  1045. package/cdn/chunks/chunk.YWD5NKI4.js +0 -161
  1046. package/cdn/chunks/chunk.Z6WQVHME.js +0 -33
  1047. package/cdn/chunks/chunk.ZC47Q6ZQ.js +0 -266
  1048. package/cdn/chunks/chunk.ZGVYKMM3.js +0 -32
  1049. package/cdn/chunks/chunk.ZV3I4P4N.js +0 -33
  1050. package/cdn/chunks/chunk.ZWWJ6B3Q.js +0 -99
  1051. package/dist/chunks/chunk.2V2ZAAHE.js +0 -1
  1052. package/dist/chunks/chunk.2V5MS7YY.js +0 -1
  1053. package/dist/chunks/chunk.2ZTVRFE7.js +0 -1
  1054. package/dist/chunks/chunk.33ZKKWU3.js +0 -25
  1055. package/dist/chunks/chunk.36EHGABP.js +0 -572
  1056. package/dist/chunks/chunk.3LQIN2JU.js +0 -1
  1057. package/dist/chunks/chunk.3OCVIHWU.js +0 -1
  1058. package/dist/chunks/chunk.3VJXVMKE.js +0 -55
  1059. package/dist/chunks/chunk.45YQHGQZ.js +0 -1
  1060. package/dist/chunks/chunk.4BO4MBK2.js +0 -1
  1061. package/dist/chunks/chunk.4BOK3MZC.js +0 -1
  1062. package/dist/chunks/chunk.4BVODFPK.js +0 -1
  1063. package/dist/chunks/chunk.4CD6OVY4.js +0 -1
  1064. package/dist/chunks/chunk.4DAGIXB2.js +0 -1
  1065. package/dist/chunks/chunk.4DY6HQSZ.js +0 -1
  1066. package/dist/chunks/chunk.4E3RETMA.js +0 -157
  1067. package/dist/chunks/chunk.4G43VCID.js +0 -121
  1068. package/dist/chunks/chunk.4MSU3MLQ.js +0 -1
  1069. package/dist/chunks/chunk.5CKUBBW2.js +0 -1
  1070. package/dist/chunks/chunk.5TSON4Q5.js +0 -1
  1071. package/dist/chunks/chunk.5YPHEG75.js +0 -75
  1072. package/dist/chunks/chunk.65FBQLYR.js +0 -1
  1073. package/dist/chunks/chunk.6BZB4PZZ.js +0 -1
  1074. package/dist/chunks/chunk.6FC5HIHI.js +0 -1
  1075. package/dist/chunks/chunk.6IZOMQPT.js +0 -1
  1076. package/dist/chunks/chunk.6JJQ6HVT.js +0 -1
  1077. package/dist/chunks/chunk.6NXYV57F.js +0 -300
  1078. package/dist/chunks/chunk.6O4CQMGV.js +0 -1
  1079. package/dist/chunks/chunk.6QHJZKK3.js +0 -1
  1080. package/dist/chunks/chunk.6WZG63D5.js +0 -1
  1081. package/dist/chunks/chunk.6YT3T3KW.js +0 -1
  1082. package/dist/chunks/chunk.766YSK2T.js +0 -1
  1083. package/dist/chunks/chunk.7BBV7ST3.js +0 -1
  1084. package/dist/chunks/chunk.7BDICJ3O.js +0 -1
  1085. package/dist/chunks/chunk.7DBDP5D4.js +0 -55
  1086. package/dist/chunks/chunk.7NMKVDOW.js +0 -1
  1087. package/dist/chunks/chunk.7O25L2HN.js +0 -1
  1088. package/dist/chunks/chunk.7PR76PFV.js +0 -14
  1089. package/dist/chunks/chunk.A3XWFCSS.js +0 -22
  1090. package/dist/chunks/chunk.A4TOGQUL.js +0 -1
  1091. package/dist/chunks/chunk.A6NLAVBJ.js +0 -65
  1092. package/dist/chunks/chunk.AEVUVHPU.js +0 -1
  1093. package/dist/chunks/chunk.AMWCH7FP.js +0 -1
  1094. package/dist/chunks/chunk.AUVCF733.js +0 -1
  1095. package/dist/chunks/chunk.AYHRF2PK.js +0 -1
  1096. package/dist/chunks/chunk.B2XTWCNO.js +0 -41
  1097. package/dist/chunks/chunk.B54EK2EK.js +0 -80
  1098. package/dist/chunks/chunk.BCC3MRG7.js +0 -1
  1099. package/dist/chunks/chunk.BEUKYV7G.js +0 -1
  1100. package/dist/chunks/chunk.BIOPLSO5.js +0 -1
  1101. package/dist/chunks/chunk.BLC4MT43.js +0 -1
  1102. package/dist/chunks/chunk.BSZXBHUO.js +0 -1
  1103. package/dist/chunks/chunk.BT3I4VAR.js +0 -74
  1104. package/dist/chunks/chunk.BT4VFR4P.js +0 -1
  1105. package/dist/chunks/chunk.BUCROGVQ.js +0 -11
  1106. package/dist/chunks/chunk.BWCJXCND.js +0 -1
  1107. package/dist/chunks/chunk.BXH6GFYH.js +0 -39
  1108. package/dist/chunks/chunk.C6REVK5V.js +0 -1
  1109. package/dist/chunks/chunk.C7F3JPEA.js +0 -1
  1110. package/dist/chunks/chunk.CDPE3HJI.js +0 -1
  1111. package/dist/chunks/chunk.CFL3PJGS.js +0 -1
  1112. package/dist/chunks/chunk.CFRK32FS.js +0 -1
  1113. package/dist/chunks/chunk.CLI7OLUP.js +0 -1
  1114. package/dist/chunks/chunk.CST73CUF.js +0 -1
  1115. package/dist/chunks/chunk.CYS6XIQ3.js +0 -1
  1116. package/dist/chunks/chunk.DG3TCTHP.js +0 -1
  1117. package/dist/chunks/chunk.DJMIDUIR.js +0 -20
  1118. package/dist/chunks/chunk.DKA4CYZZ.js +0 -1
  1119. package/dist/chunks/chunk.DSVABTPB.js +0 -1
  1120. package/dist/chunks/chunk.DUAYA72N.js +0 -1
  1121. package/dist/chunks/chunk.DVS2JDEU.js +0 -1
  1122. package/dist/chunks/chunk.DZGMHI7M.js +0 -1
  1123. package/dist/chunks/chunk.ENP4BZ2Q.js +0 -1
  1124. package/dist/chunks/chunk.EQKP6QEH.js +0 -1
  1125. package/dist/chunks/chunk.EYHRUT2K.js +0 -1
  1126. package/dist/chunks/chunk.F3XJPGCV.js +0 -1
  1127. package/dist/chunks/chunk.F7QAOPKW.js +0 -1
  1128. package/dist/chunks/chunk.FDVBKERY.js +0 -1
  1129. package/dist/chunks/chunk.FM3UKSO3.js +0 -16
  1130. package/dist/chunks/chunk.FO4YJTSB.js +0 -1
  1131. package/dist/chunks/chunk.FS76W7ON.js +0 -145
  1132. package/dist/chunks/chunk.FTHEBHGR.js +0 -1
  1133. package/dist/chunks/chunk.FVN76A2E.js +0 -9
  1134. package/dist/chunks/chunk.FZUILRGV.js +0 -1
  1135. package/dist/chunks/chunk.G26ZLCMP.js +0 -1
  1136. package/dist/chunks/chunk.GA4Q5FCB.js +0 -1
  1137. package/dist/chunks/chunk.GDVHJLPM.js +0 -1
  1138. package/dist/chunks/chunk.GE6NUEEV.js +0 -8
  1139. package/dist/chunks/chunk.GLBYPT6F.js +0 -1
  1140. package/dist/chunks/chunk.GOJFIDR2.js +0 -1
  1141. package/dist/chunks/chunk.GS7NGP5A.js +0 -1
  1142. package/dist/chunks/chunk.H5WDCMHV.js +0 -1
  1143. package/dist/chunks/chunk.HC3ATGJ6.js +0 -1
  1144. package/dist/chunks/chunk.HHIHBNG2.js +0 -100
  1145. package/dist/chunks/chunk.HRNLETJW.js +0 -1
  1146. package/dist/chunks/chunk.HRS3EZ5O.js +0 -1
  1147. package/dist/chunks/chunk.HTF7A5NR.js +0 -1
  1148. package/dist/chunks/chunk.I6AXQD34.js +0 -1
  1149. package/dist/chunks/chunk.IJUBTAPZ.js +0 -1
  1150. package/dist/chunks/chunk.INQGHKNR.js +0 -1
  1151. package/dist/chunks/chunk.IOFVAK65.js +0 -2
  1152. package/dist/chunks/chunk.IRZLK5CW.js +0 -48
  1153. package/dist/chunks/chunk.IWJHZMTW.js +0 -1
  1154. package/dist/chunks/chunk.J3KUBNWC.js +0 -1
  1155. package/dist/chunks/chunk.JAAVWPAP.js +0 -1
  1156. package/dist/chunks/chunk.JF3ERNLA.js +0 -43
  1157. package/dist/chunks/chunk.JFNAA6AQ.js +0 -64
  1158. package/dist/chunks/chunk.JWRZTYV6.js +0 -6
  1159. package/dist/chunks/chunk.K2GWWTXW.js +0 -11
  1160. package/dist/chunks/chunk.KGDDA7QS.js +0 -1
  1161. package/dist/chunks/chunk.KIZLB2ZY.js +0 -1
  1162. package/dist/chunks/chunk.KNOUB6L7.js +0 -1
  1163. package/dist/chunks/chunk.L5A5OIFC.js +0 -38
  1164. package/dist/chunks/chunk.LGSGZFMY.js +0 -1
  1165. package/dist/chunks/chunk.LLRBT7GW.js +0 -1
  1166. package/dist/chunks/chunk.M7R6RLOP.js +0 -1
  1167. package/dist/chunks/chunk.MARWR2XB.js +0 -1
  1168. package/dist/chunks/chunk.MJ3DWAVJ.js +0 -51
  1169. package/dist/chunks/chunk.MLPT4GL3.js +0 -20
  1170. package/dist/chunks/chunk.MS55ACG4.js +0 -47
  1171. package/dist/chunks/chunk.MTA4NBKZ.js +0 -17
  1172. package/dist/chunks/chunk.MXMW4LIA.js +0 -1
  1173. package/dist/chunks/chunk.MYTNYPQR.js +0 -1
  1174. package/dist/chunks/chunk.MYXTSWP6.js +0 -154
  1175. package/dist/chunks/chunk.MZZ2VFEY.js +0 -113
  1176. package/dist/chunks/chunk.NCU4D7Y7.js +0 -1
  1177. package/dist/chunks/chunk.NIO6L3GW.js +0 -115
  1178. package/dist/chunks/chunk.NIPNHY7U.js +0 -67
  1179. package/dist/chunks/chunk.NWPIYKNB.js +0 -35
  1180. package/dist/chunks/chunk.OC6RDDLO.js +0 -4
  1181. package/dist/chunks/chunk.OJ2CYLXH.js +0 -1
  1182. package/dist/chunks/chunk.OKGA5GXY.js +0 -1
  1183. package/dist/chunks/chunk.OSSHTSO5.js +0 -1
  1184. package/dist/chunks/chunk.OWFT2USF.js +0 -1
  1185. package/dist/chunks/chunk.OXXQPWUT.js +0 -1
  1186. package/dist/chunks/chunk.POHKJIOJ.js +0 -27
  1187. package/dist/chunks/chunk.PQEIPTZS.js +0 -1
  1188. package/dist/chunks/chunk.PQYEANBC.js +0 -1
  1189. package/dist/chunks/chunk.PSIQCTOI.js +0 -142
  1190. package/dist/chunks/chunk.QAOJDTKA.js +0 -1
  1191. package/dist/chunks/chunk.QEFUA4OP.js +0 -30
  1192. package/dist/chunks/chunk.QSDLIEDF.js +0 -1
  1193. package/dist/chunks/chunk.QXAGVUX4.js +0 -1
  1194. package/dist/chunks/chunk.QYUNODYP.js +0 -43
  1195. package/dist/chunks/chunk.R3XLST36.js +0 -1
  1196. package/dist/chunks/chunk.R72JIRAQ.js +0 -127
  1197. package/dist/chunks/chunk.RDEQYEQD.js +0 -1
  1198. package/dist/chunks/chunk.RI5QWEFJ.js +0 -55
  1199. package/dist/chunks/chunk.RIZXW6RX.js +0 -1
  1200. package/dist/chunks/chunk.ROAJDBWY.js +0 -300
  1201. package/dist/chunks/chunk.ROAOJBFK.js +0 -122
  1202. package/dist/chunks/chunk.RQ3NX5RH.js +0 -1
  1203. package/dist/chunks/chunk.RUF3MKNX.js +0 -1
  1204. package/dist/chunks/chunk.RUSJEFXJ.js +0 -1
  1205. package/dist/chunks/chunk.RVPN4DT6.js +0 -1
  1206. package/dist/chunks/chunk.RX7B6M24.js +0 -23
  1207. package/dist/chunks/chunk.SAJXSVRR.js +0 -1
  1208. package/dist/chunks/chunk.SKHJAFUM.js +0 -1
  1209. package/dist/chunks/chunk.SRIQOJ4R.js +0 -1
  1210. package/dist/chunks/chunk.T3ROHJGD.js +0 -99
  1211. package/dist/chunks/chunk.T5LEHOZO.js +0 -33
  1212. package/dist/chunks/chunk.TBKVOYN6.js +0 -1
  1213. package/dist/chunks/chunk.TM7UGCHZ.js +0 -1
  1214. package/dist/chunks/chunk.TSYE26TN.js +0 -1
  1215. package/dist/chunks/chunk.U42TLCPB.js +0 -37
  1216. package/dist/chunks/chunk.U4QYPQ5D.js +0 -1182
  1217. package/dist/chunks/chunk.UHJVEYZR.js +0 -19
  1218. package/dist/chunks/chunk.UHQQDRQE.js +0 -1
  1219. package/dist/chunks/chunk.UT4IMV6Z.js +0 -1
  1220. package/dist/chunks/chunk.UY26P2OL.js +0 -1
  1221. package/dist/chunks/chunk.VCVW26RJ.js +0 -1
  1222. package/dist/chunks/chunk.VPMFNONT.js +0 -5
  1223. package/dist/chunks/chunk.VVD6IBEH.js +0 -8
  1224. package/dist/chunks/chunk.VVJHNG5X.js +0 -1
  1225. package/dist/chunks/chunk.W47TRROJ.js +0 -26
  1226. package/dist/chunks/chunk.WAD5F7IY.js +0 -1
  1227. package/dist/chunks/chunk.WC7YLNKN.js +0 -1
  1228. package/dist/chunks/chunk.WLNKKAQQ.js +0 -1
  1229. package/dist/chunks/chunk.WVXP3DKQ.js +0 -1
  1230. package/dist/chunks/chunk.WXGJBSTY.js +0 -12
  1231. package/dist/chunks/chunk.WXHUYZMM.js +0 -1
  1232. package/dist/chunks/chunk.WYM7XMJM.js +0 -62
  1233. package/dist/chunks/chunk.XE3SMLIS.js +0 -1
  1234. package/dist/chunks/chunk.XMCRPWIT.js +0 -1
  1235. package/dist/chunks/chunk.XQDZ47QL.js +0 -26
  1236. package/dist/chunks/chunk.XQRSTVBA.js +0 -35
  1237. package/dist/chunks/chunk.XUDQZPTV.js +0 -1
  1238. package/dist/chunks/chunk.XXHC6SPN.js +0 -1
  1239. package/dist/chunks/chunk.Y2755SF4.js +0 -1
  1240. package/dist/chunks/chunk.Y2WXU4PN.js +0 -1
  1241. package/dist/chunks/chunk.YFCTJ4N3.js +0 -1
  1242. package/dist/chunks/chunk.YHM2RYSO.js +0 -780
  1243. package/dist/chunks/chunk.YN3KH4A6.js +0 -1
  1244. package/dist/chunks/chunk.YPDAKA67.js +0 -280
  1245. package/dist/chunks/chunk.YXQBVL4N.js +0 -1
  1246. package/dist/chunks/chunk.Z66FJJU6.js +0 -1
  1247. package/dist/chunks/chunk.ZL3KC4DQ.js +0 -24
  1248. package/dist/chunks/chunk.ZLPSNVPK.js +0 -1
  1249. package/dist/chunks/chunk.ZMUYCM4F.js +0 -5
  1250. package/dist/chunks/chunk.ZO3LWU7S.js +0 -9
  1251. package/dist/chunks/chunk.ZO7J6YXK.js +0 -1
  1252. package/dist/chunks/chunk.ZZJIP5QZ.js +0 -30
  1253. package/dist/chunks/chunk.ZZZPW47I.js +0 -1
  1254. package/dist/terra_ui_components-0.0.192-py3-none-any.whl +0 -0
  1255. package/dist/terra_ui_components-0.0.192.tar.gz +0 -0
@@ -1,2546 +0,0 @@
1
- import {
2
- date_picker_styles_default
3
- } from "./chunk.MQZHN2NY.js";
4
- import {
5
- TerraDropdown
6
- } from "./chunk.3DMNGIYG.js";
7
- import {
8
- TerraInput
9
- } from "./chunk.HD56KHLF.js";
10
- import {
11
- e as e2,
12
- n as n2
13
- } from "./chunk.LRZIT4M2.js";
14
- import {
15
- isValid
16
- } from "./chunk.7NJYVBGM.js";
17
- import {
18
- TerraButton
19
- } from "./chunk.6XYUXMUR.js";
20
- import {
21
- TerraElement,
22
- component_styles_default,
23
- e,
24
- n,
25
- r
26
- } from "./chunk.GILBGDM2.js";
27
- import {
28
- A,
29
- b
30
- } from "./chunk.RRCYT4LP.js";
31
- import {
32
- __decorateClass,
33
- init_buffer,
34
- init_dirname,
35
- init_process
36
- } from "./chunk.ZEOVK2FE.js";
37
-
38
- // src/components/date-picker/date-picker.component.ts
39
- init_dirname();
40
- init_buffer();
41
- init_process();
42
- var TerraDatePicker = class extends TerraElement {
43
- constructor() {
44
- super();
45
- this.range = false;
46
- this.hideLabel = false;
47
- this.label = "Select Date";
48
- this.helpText = "";
49
- this.startHelpText = "";
50
- this.endHelpText = "";
51
- this.showPresets = false;
52
- this.presets = [];
53
- this.enableTime = false;
54
- this.inline = false;
55
- this.splitInputs = false;
56
- this.placeholder = "Select Date";
57
- this.startPlaceholder = "Start Date";
58
- this.endPlaceholder = "End Date";
59
- this.role = "group";
60
- this.ariaLabel = "Date picker";
61
- this.hideClearAll = false;
62
- this.clearAllLabel = "Clear Dates";
63
- this.useEndOfDay = true;
64
- this.showClose = false;
65
- this.twelveHour = false;
66
- this.isOpen = false;
67
- this.leftMonth = /* @__PURE__ */ new Date();
68
- this.rightMonth = /* @__PURE__ */ new Date();
69
- this.selectedStart = null;
70
- this.selectedEnd = null;
71
- this.hoverDate = null;
72
- this.isSelectingRange = false;
73
- this.showLeftMonthDropdown = false;
74
- this.showRightMonthDropdown = false;
75
- this.startHour = 0;
76
- this.startMinute = 0;
77
- this.startSecond = 0;
78
- this.endHour = 23;
79
- this.endMinute = 59;
80
- this.endSecond = 59;
81
- this.selectedDates = {
82
- startDate: (/* @__PURE__ */ new Date()).toString(),
83
- endDate: (/* @__PURE__ */ new Date()).toString()
84
- };
85
- this.dropdownRef = e2();
86
- this.DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
87
- this.MONTHS = [
88
- "January",
89
- "February",
90
- "March",
91
- "April",
92
- "May",
93
- "June",
94
- "July",
95
- "August",
96
- "September",
97
- "October",
98
- "November",
99
- "December"
100
- ];
101
- this.initializePresets();
102
- }
103
- getDefaultEndHour() {
104
- return this.useEndOfDay ? 23 : 0;
105
- }
106
- getDefaultEndMinute() {
107
- return this.useEndOfDay ? 59 : 0;
108
- }
109
- getDefaultEndSecond() {
110
- return this.useEndOfDay ? 59 : 0;
111
- }
112
- /**
113
- * Get the display timezone offset in minutes relative to UTC for a given reference date.
114
- * Returns a positive value for timezones ahead of UTC (e.g. Asia/Kolkata = +330),
115
- * and a negative value for timezones behind UTC (e.g. America/New_York EST = -300).
116
- * Returns 0 if no timezone is configured or if the identifier is invalid.
117
- */
118
- getTimezoneOffsetMinutes(ref) {
119
- if (!this.timezone)
120
- return 0;
121
- try {
122
- const fmt = new Intl.DateTimeFormat("en-US", {
123
- timeZone: this.timezone,
124
- year: "numeric",
125
- month: "numeric",
126
- day: "numeric",
127
- hour: "numeric",
128
- minute: "numeric",
129
- second: "numeric",
130
- hour12: false
131
- });
132
- const parts = fmt.formatToParts(ref);
133
- const get = (type) => {
134
- var _a, _b;
135
- return parseInt((_b = (_a = parts.find((p) => p.type === type)) == null ? void 0 : _a.value) != null ? _b : "0", 10);
136
- };
137
- const tzYear = get("year");
138
- const tzMonth = get("month");
139
- const tzDay = get("day");
140
- const tzHour = get("hour") % 24;
141
- const tzMinute = get("minute");
142
- const tzSecond = get("second");
143
- const tzAsIfUtc = Date.UTC(
144
- tzYear,
145
- tzMonth - 1,
146
- tzDay,
147
- tzHour,
148
- tzMinute,
149
- tzSecond
150
- );
151
- return Math.round((tzAsIfUtc - ref.getTime()) / 6e4);
152
- } catch (e3) {
153
- return 0;
154
- }
155
- }
156
- /**
157
- * Convert UTC time components to display time in the configured timezone.
158
- * When no timezone is set, returns the input values unchanged.
159
- */
160
- getDisplayTimeComponents(utcH, utcM, utcS, ref) {
161
- if (!this.timezone || !ref)
162
- return { hour: utcH, minute: utcM, second: utcS };
163
- const offsetMinutes = this.getTimezoneOffsetMinutes(ref);
164
- let totalMinutes = utcH * 60 + utcM + offsetMinutes;
165
- totalMinutes = (totalMinutes % 1440 + 1440) % 1440;
166
- return {
167
- hour: Math.floor(totalMinutes / 60),
168
- minute: totalMinutes % 60,
169
- second: utcS
170
- };
171
- }
172
- /**
173
- * Convert display time (in the configured timezone) back to UTC time components.
174
- * When no timezone is set, returns the input values unchanged.
175
- */
176
- getUtcTimeFromDisplay(dispH, dispM, dispS, ref) {
177
- if (!this.timezone || !ref)
178
- return { hour: dispH, minute: dispM, second: dispS };
179
- const offsetMinutes = this.getTimezoneOffsetMinutes(ref);
180
- let totalMinutes = dispH * 60 + dispM - offsetMinutes;
181
- totalMinutes = (totalMinutes % 1440 + 1440) % 1440;
182
- return {
183
- hour: Math.floor(totalMinutes / 60),
184
- minute: totalMinutes % 60,
185
- second: dispS
186
- };
187
- }
188
- /** Convert a 24-hour value to 12-hour with AM/PM period. */
189
- to12Hour(hour24) {
190
- const period = hour24 < 12 ? "AM" : "PM";
191
- const hour = hour24 % 12 || 12;
192
- return { hour, period };
193
- }
194
- /** Convert a 12-hour value with AM/PM period to 24-hour. */
195
- to24Hour(hour12, period) {
196
- if (period === "AM") {
197
- return hour12 === 12 ? 0 : hour12;
198
- } else {
199
- return hour12 === 12 ? 12 : hour12 + 12;
200
- }
201
- }
202
- /** Toggle the AM/PM period for the start or end time picker. */
203
- togglePeriod(isStart) {
204
- const utcH = isStart ? this.startHour : this.endHour;
205
- const utcM = isStart ? this.startMinute : this.endMinute;
206
- const utcS = isStart ? this.startSecond : this.endSecond;
207
- const ref = isStart ? this.selectedStart : this.selectedEnd;
208
- const display = this.getDisplayTimeComponents(utcH, utcM, utcS, ref);
209
- const d12 = this.to12Hour(display.hour);
210
- const newPeriod = d12.period === "AM" ? "PM" : "AM";
211
- const newDisplayH = this.to24Hour(d12.hour, newPeriod);
212
- const utc = this.getUtcTimeFromDisplay(
213
- newDisplayH,
214
- display.minute,
215
- display.second,
216
- ref
217
- );
218
- if (isStart) {
219
- this.startHour = utc.hour;
220
- this.startMinute = utc.minute;
221
- this.startSecond = utc.second;
222
- } else {
223
- this.endHour = utc.hour;
224
- this.endMinute = utc.minute;
225
- this.endSecond = utc.second;
226
- }
227
- this.emitChange();
228
- this.requestUpdate();
229
- }
230
- /**
231
- * Parse a date string (YYYY-MM-DD or ISO datetime) as a local date, avoiding timezone issues.
232
- * When you do `new Date("2024-03-20")`, JavaScript interprets it as UTC midnight,
233
- * which can cause off-by-one day errors when using getDate() in local timezone.
234
- * This function parses the date as a local date instead.
235
- *
236
- * When enableTime is true, datetime strings are parsed as UTC to match API min/max dates.
237
- */
238
- parseLocalDate(dateString) {
239
- const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
240
- if (dateOnlyPattern.test(dateString)) {
241
- const [year, month, day] = dateString.split("-").map(Number);
242
- if (this.enableTime) {
243
- return new Date(Date.UTC(year, month - 1, day, 0, 0, 0));
244
- }
245
- return new Date(year, month - 1, day);
246
- }
247
- const dateTimePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/;
248
- if (dateTimePattern.test(dateString)) {
249
- const [datePart, timePart] = dateString.split("T");
250
- const [year, month, day] = datePart.split("-").map(Number);
251
- const [hours, minutes, seconds] = timePart.split(":").map(Number);
252
- return new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
253
- }
254
- return new Date(dateString);
255
- }
256
- /**
257
- * Check if two dates are in the same calendar month and year
258
- */
259
- isSameMonth(date1, date2) {
260
- if (this.enableTime) {
261
- return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth();
262
- }
263
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();
264
- }
265
- /**
266
- * Check if a date's month/year matches a given month Date
267
- */
268
- isDateInMonth(date, monthDate) {
269
- if (this.enableTime) {
270
- return date.getUTCFullYear() === monthDate.getUTCFullYear() && date.getUTCMonth() === monthDate.getUTCMonth();
271
- }
272
- return date.getFullYear() === monthDate.getFullYear() && date.getMonth() === monthDate.getMonth();
273
- }
274
- getBounds() {
275
- const min = this.minDate ? this.parseLocalDate(this.minDate) : void 0;
276
- const max = this.maxDate ? this.parseLocalDate(this.maxDate) : void 0;
277
- return { min, max };
278
- }
279
- doesRangeOverlapBounds(range) {
280
- const { startDate, endDate } = range;
281
- const { min, max } = this.getBounds();
282
- if (!this.range) {
283
- if (!startDate)
284
- return false;
285
- if (min && startDate < min)
286
- return false;
287
- if (max && startDate > max)
288
- return false;
289
- return true;
290
- }
291
- const start = startDate != null ? startDate : /* @__PURE__ */ new Date(-864e13);
292
- const end = endDate != null ? endDate : /* @__PURE__ */ new Date(864e13);
293
- if (!min && !max)
294
- return true;
295
- const windowStart = min != null ? min : /* @__PURE__ */ new Date(-864e13);
296
- const windowEnd = max != null ? max : /* @__PURE__ */ new Date(864e13);
297
- return end >= windowStart && start <= windowEnd;
298
- }
299
- isPresetWithinBounds(range) {
300
- return this.doesRangeOverlapBounds(range);
301
- }
302
- get filteredPresets() {
303
- return (this.presets || []).filter(
304
- (preset) => this.isPresetWithinBounds(preset.getValue())
305
- );
306
- }
307
- open() {
308
- this.isOpen = true;
309
- if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
310
- const max = this.parseLocalDate(this.maxDate);
311
- if (!isNaN(max.getTime())) {
312
- if (this.range) {
313
- this.rightMonth = new Date(max);
314
- const left = new Date(max);
315
- left.setMonth(left.getMonth() - 1);
316
- this.leftMonth = left;
317
- } else {
318
- this.leftMonth = new Date(max);
319
- }
320
- }
321
- }
322
- if (!this.inline && this.dropdownRef.value) {
323
- this.dropdownRef.value.show();
324
- }
325
- this.requestUpdate();
326
- }
327
- close() {
328
- this.isOpen = false;
329
- if (!this.inline && this.dropdownRef.value) {
330
- this.dropdownRef.value.hide();
331
- }
332
- this.requestUpdate();
333
- }
334
- /**
335
- * Clears the selected date(s) and resets the date picker to its initial state.
336
- */
337
- clear() {
338
- this.selectedStart = null;
339
- this.selectedEnd = null;
340
- this.hoverDate = null;
341
- this.isSelectingRange = false;
342
- this.startHour = 0;
343
- this.startMinute = 0;
344
- this.startSecond = 0;
345
- this.endHour = this.getDefaultEndHour();
346
- this.endMinute = this.getDefaultEndMinute();
347
- this.endSecond = this.getDefaultEndSecond();
348
- this.clearInputValidation();
349
- this.requestUpdate();
350
- this.emitChange();
351
- }
352
- setOpen(open) {
353
- if (open) {
354
- this.open();
355
- } else {
356
- this.close();
357
- }
358
- }
359
- willUpdate(changedProperties) {
360
- super.willUpdate(changedProperties);
361
- if (changedProperties.has("useEndOfDay")) {
362
- this.endHour = this.getDefaultEndHour();
363
- this.endMinute = this.getDefaultEndMinute();
364
- this.endSecond = this.getDefaultEndSecond();
365
- }
366
- if (changedProperties.has("inline")) {
367
- if (this.inline) {
368
- this.isOpen = true;
369
- if (this.dropdownRef.value) {
370
- this.dropdownRef.value.hide();
371
- }
372
- }
373
- }
374
- if (changedProperties.has("minDate") || changedProperties.has("maxDate")) {
375
- if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
376
- const max = this.parseLocalDate(this.maxDate);
377
- if (!isNaN(max.getTime())) {
378
- if (this.range) {
379
- this.rightMonth = new Date(max);
380
- const left = new Date(max);
381
- left.setMonth(left.getMonth() - 1);
382
- this.leftMonth = left;
383
- } else {
384
- this.leftMonth = new Date(max);
385
- }
386
- }
387
- }
388
- }
389
- if (changedProperties.has("startDate") || changedProperties.has("endDate")) {
390
- if (this.startDate) {
391
- const start = this.parseLocalDate(this.startDate);
392
- if (!isNaN(start.getTime())) {
393
- this.selectedStart = start;
394
- if (this.enableTime) {
395
- this.initializeTimeFromDate(start, true);
396
- }
397
- }
398
- } else {
399
- this.selectedStart = null;
400
- }
401
- if (this.range) {
402
- if (this.endDate) {
403
- const end = this.parseLocalDate(this.endDate);
404
- if (!isNaN(end.getTime())) {
405
- this.selectedEnd = end;
406
- if (this.enableTime) {
407
- this.initializeTimeFromDate(end, false);
408
- }
409
- }
410
- } else {
411
- this.selectedEnd = null;
412
- }
413
- if (this.selectedStart && this.selectedEnd) {
414
- const isSingleMonthRange = this.isSameMonth(
415
- this.selectedStart,
416
- this.selectedEnd
417
- );
418
- if (isSingleMonthRange) {
419
- if (this.isDateInMonth(this.selectedStart, this.leftMonth)) {
420
- this.leftMonth = new Date(this.selectedStart);
421
- if (this.isDateInMonth(
422
- this.selectedStart,
423
- this.rightMonth
424
- )) {
425
- this.rightMonth = new Date(this.selectedStart);
426
- this.rightMonth.setMonth(
427
- this.rightMonth.getMonth() + 1
428
- );
429
- }
430
- } else if (this.isDateInMonth(this.selectedStart, this.rightMonth)) {
431
- this.rightMonth = new Date(this.selectedStart);
432
- } else {
433
- this.leftMonth = new Date(this.selectedStart);
434
- }
435
- } else {
436
- this.leftMonth = new Date(this.selectedStart);
437
- this.rightMonth = new Date(this.selectedEnd);
438
- }
439
- } else if (this.selectedStart) {
440
- this.leftMonth = new Date(this.selectedStart);
441
- this.rightMonth = new Date(this.leftMonth);
442
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
443
- }
444
- } else {
445
- if (this.selectedStart) {
446
- this.leftMonth = new Date(this.selectedStart);
447
- }
448
- this.selectedEnd = null;
449
- }
450
- }
451
- }
452
- initializePresets() {
453
- if (this.presets.length === 0) {
454
- this.presets = [
455
- {
456
- label: "Today",
457
- getValue: () => {
458
- const today = /* @__PURE__ */ new Date();
459
- return {
460
- startDate: today,
461
- endDate: this.range ? today : null
462
- };
463
- }
464
- },
465
- {
466
- label: "Yesterday",
467
- getValue: () => {
468
- const yesterday = /* @__PURE__ */ new Date();
469
- yesterday.setDate(yesterday.getDate() - 1);
470
- return {
471
- startDate: yesterday,
472
- endDate: this.range ? yesterday : null
473
- };
474
- }
475
- },
476
- {
477
- label: "Last 7 days",
478
- getValue: () => {
479
- const end = /* @__PURE__ */ new Date();
480
- const start = /* @__PURE__ */ new Date();
481
- start.setDate(start.getDate() - 6);
482
- return { startDate: start, endDate: end };
483
- }
484
- },
485
- {
486
- label: "Last 30 days",
487
- getValue: () => {
488
- const end = /* @__PURE__ */ new Date();
489
- const start = /* @__PURE__ */ new Date();
490
- start.setDate(start.getDate() - 29);
491
- return { startDate: start, endDate: end };
492
- }
493
- },
494
- {
495
- label: "Last 6 months",
496
- getValue: () => {
497
- const end = /* @__PURE__ */ new Date();
498
- const start = /* @__PURE__ */ new Date();
499
- start.setMonth(start.getMonth() - 6);
500
- return { startDate: start, endDate: end };
501
- }
502
- },
503
- {
504
- label: "Last year",
505
- getValue: () => {
506
- const end = /* @__PURE__ */ new Date();
507
- const start = /* @__PURE__ */ new Date();
508
- start.setFullYear(start.getFullYear() - 1);
509
- return { startDate: start, endDate: end };
510
- }
511
- },
512
- {
513
- label: "All time",
514
- getValue: () => {
515
- const { min, max } = this.getBounds();
516
- return {
517
- startDate: min || null,
518
- endDate: max || null
519
- };
520
- }
521
- }
522
- ];
523
- }
524
- }
525
- firstUpdated() {
526
- const params = new URLSearchParams(window.location.search);
527
- const timeStartParam = params.get("time_start") || this.startDate;
528
- const timeEndParam = params.get("time_end") || this.endDate;
529
- if (timeStartParam) {
530
- this.selectedStart = this.parseLocalDate(timeStartParam);
531
- this.leftMonth = new Date(this.selectedStart);
532
- if (this.enableTime) {
533
- this.initializeTimeFromDate(this.selectedStart, true);
534
- }
535
- }
536
- if (this.range && timeEndParam) {
537
- this.selectedEnd = this.parseLocalDate(timeEndParam);
538
- if (this.enableTime) {
539
- this.initializeTimeFromDate(this.selectedEnd, false);
540
- }
541
- if (this.selectedStart && this.selectedEnd) {
542
- const isSingleMonthRange = this.isSameMonth(
543
- this.selectedStart,
544
- this.selectedEnd
545
- );
546
- if (isSingleMonthRange) {
547
- this.rightMonth = new Date(this.selectedStart);
548
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
549
- } else {
550
- this.rightMonth = new Date(this.selectedEnd);
551
- }
552
- } else if (this.selectedEnd) {
553
- this.rightMonth = new Date(this.selectedEnd);
554
- }
555
- }
556
- if (this.range && !timeEndParam) {
557
- this.rightMonth = new Date(this.leftMonth);
558
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
559
- }
560
- if (this.inline) {
561
- this.isOpen = true;
562
- }
563
- }
564
- disconnectedCallback() {
565
- super.disconnectedCallback();
566
- }
567
- handleDropdownShow() {
568
- this.isOpen = true;
569
- }
570
- handleDropdownHide() {
571
- this.isOpen = false;
572
- }
573
- formatDisplayDate(date, isStart = true) {
574
- if (!date)
575
- return "";
576
- const format = this.displayFormat || (this.enableTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
577
- if (this.enableTime) {
578
- const year2 = date.getUTCFullYear();
579
- const month2 = String(date.getUTCMonth() + 1).padStart(2, "0");
580
- const day2 = String(date.getUTCDate()).padStart(2, "0");
581
- const display = this.getDisplayTimeComponents(
582
- isStart ? this.startHour : this.endHour,
583
- isStart ? this.startMinute : this.endMinute,
584
- isStart ? this.startSecond : this.endSecond,
585
- date
586
- );
587
- if (this.twelveHour && !this.displayFormat) {
588
- const d12 = this.to12Hour(display.hour);
589
- const hours2 = String(d12.hour).padStart(2, "0");
590
- const minutes2 = String(display.minute).padStart(2, "0");
591
- const seconds2 = String(display.second).padStart(2, "0");
592
- return `${year2}-${month2}-${day2} ${hours2}:${minutes2}:${seconds2} ${d12.period}`;
593
- }
594
- const hours = String(display.hour).padStart(2, "0");
595
- const minutes = String(display.minute).padStart(2, "0");
596
- const seconds = String(display.second).padStart(2, "0");
597
- const effectiveFormat = this.displayFormat || "YYYY-MM-DD HH:mm:ss";
598
- return effectiveFormat.replace("YYYY", year2.toString()).replace("MM", month2).replace("DD", day2).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
599
- }
600
- const year = date.getFullYear();
601
- const month = String(date.getMonth() + 1).padStart(2, "0");
602
- const day = String(date.getDate()).padStart(2, "0");
603
- return format.replace("YYYY", year.toString()).replace("MM", month).replace("DD", day);
604
- }
605
- getDisplayValue() {
606
- if (this.range) {
607
- if (this.selectedStart && this.selectedEnd) {
608
- return `${this.formatDisplayDate(this.selectedStart, true)} \u2013 ${this.formatDisplayDate(this.selectedEnd, false)}`;
609
- } else if (this.selectedStart) {
610
- return this.formatDisplayDate(this.selectedStart, true);
611
- }
612
- return "";
613
- } else {
614
- return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
615
- }
616
- }
617
- getStartDateDisplayValue() {
618
- return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
619
- }
620
- getEndDateDisplayValue() {
621
- return this.selectedEnd ? this.formatDisplayDate(this.selectedEnd, false) : "";
622
- }
623
- parseAndFormatDate(dateStr) {
624
- const trimmed = dateStr.trim();
625
- if (!trimmed)
626
- return null;
627
- const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
628
- const dateTimePattern = /^\d{4}-\d{2}-\d{2}[T\s]\d{1,2}:\d{2}(:\d{2})?(\s*(AM|PM))?$/i;
629
- let date;
630
- if (dateOnlyPattern.test(trimmed)) {
631
- date = this.parseLocalDate(trimmed);
632
- } else if (this.enableTime && dateTimePattern.test(trimmed)) {
633
- const amPmMatch = trimmed.match(/\s*(AM|PM)$/i);
634
- const amPm = amPmMatch ? amPmMatch[1].toUpperCase() : null;
635
- const withoutAmPm = amPm ? trimmed.slice(0, -amPmMatch[0].length).trim() : trimmed;
636
- const [datePart, timePart] = withoutAmPm.split(/[T\s]+/);
637
- const [year, month, day] = datePart.split("-").map(Number);
638
- const timeComponents = timePart.split(":").map(Number);
639
- let hours = timeComponents[0] || 0;
640
- const minutes = timeComponents[1] || 0;
641
- const seconds = timeComponents[2] || 0;
642
- if (amPm) {
643
- hours = this.to24Hour(hours, amPm);
644
- }
645
- date = new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
646
- } else {
647
- date = new Date(trimmed);
648
- if (!isValid(date)) {
649
- return null;
650
- }
651
- }
652
- if (!isValid(date)) {
653
- return null;
654
- }
655
- if (this.enableTime) {
656
- if (dateOnlyPattern.test(trimmed)) {
657
- return trimmed;
658
- } else {
659
- const utcYear = date.getUTCFullYear();
660
- const utcMonth = date.getUTCMonth() + 1;
661
- const utcDay = date.getUTCDate();
662
- const utcHours = date.getUTCHours();
663
- const utcMinutes = date.getUTCMinutes();
664
- const utcSeconds = date.getUTCSeconds();
665
- return `${utcYear}-${String(utcMonth).padStart(2, "0")}-${String(utcDay).padStart(2, "0")} ${String(utcHours).padStart(2, "0")}:${String(utcMinutes).padStart(2, "0")}:${String(utcSeconds).padStart(2, "0")}`;
666
- }
667
- } else {
668
- const year = date.getFullYear();
669
- const month = date.getMonth() + 1;
670
- const day = date.getDate();
671
- return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
672
- }
673
- }
674
- clearInputValidation() {
675
- const inputs = this.renderRoot.querySelectorAll("terra-input");
676
- inputs.forEach((input) => {
677
- input.setCustomValidity("");
678
- });
679
- }
680
- /**
681
- * Format a date string for display in error messages
682
- * When time is disabled, only show the date portion (YYYY-MM-DD)
683
- */
684
- formatDateForError(dateString) {
685
- if (!this.enableTime) {
686
- return dateString.split("T")[0];
687
- }
688
- return dateString;
689
- }
690
- /**
691
- * Set validation error on input and emit invalid event
692
- */
693
- setInputValidationError(input, message) {
694
- input.setCustomValidity(message);
695
- requestAnimationFrame(() => {
696
- ;
697
- input.validationErrorMessage = message;
698
- input.requestUpdate();
699
- });
700
- this.emit("terra-date-selection-invalid", {
701
- detail: { message }
702
- });
703
- }
704
- handleInputBlur(event) {
705
- const input = event.target;
706
- const value = input.value || "";
707
- if (!value.trim()) {
708
- this.selectedStart = null;
709
- this.selectedEnd = null;
710
- input.setCustomValidity("");
711
- this.emitChange();
712
- return;
713
- }
714
- if (this.range) {
715
- const normalized = value.replace(/(\d{2})-(\d{4})/, "$1 - $2");
716
- const parts = normalized.split(/\s*–\s*|\s+-\s+/);
717
- if (parts.length !== 2) {
718
- const message = "Date range must be in format: YYYY-MM-DD \u2013 YYYY-MM-DD";
719
- this.setInputValidationError(input, message);
720
- return;
721
- }
722
- const startFormatted = this.parseAndFormatDate(parts[0]);
723
- const endFormatted = this.parseAndFormatDate(parts[1]);
724
- if (!startFormatted) {
725
- const message = "Invalid start date format";
726
- this.setInputValidationError(input, message);
727
- return;
728
- }
729
- if (!endFormatted) {
730
- const message = "Invalid end date format";
731
- this.setInputValidationError(input, message);
732
- return;
733
- }
734
- let start;
735
- let end;
736
- if (this.enableTime && startFormatted.length > 10) {
737
- const [sdp, stp] = startFormatted.split(/[T\s]+/);
738
- const [sy, sm, sd] = sdp.split("-").map(Number);
739
- const stc = stp.split(":").map(Number);
740
- const sRefDate = new Date(Date.UTC(sy, sm - 1, sd));
741
- const sUtc = this.getUtcTimeFromDisplay(
742
- stc[0] || 0,
743
- stc[1] || 0,
744
- stc[2] || 0,
745
- sRefDate
746
- );
747
- start = new Date(
748
- Date.UTC(sy, sm - 1, sd, sUtc.hour, sUtc.minute, sUtc.second)
749
- );
750
- this.startHour = sUtc.hour;
751
- this.startMinute = sUtc.minute;
752
- this.startSecond = sUtc.second;
753
- } else if (this.enableTime) {
754
- const [year, month, day] = startFormatted.split("-").map(Number);
755
- start = new Date(
756
- Date.UTC(
757
- year,
758
- month - 1,
759
- day,
760
- this.startHour,
761
- this.startMinute,
762
- this.startSecond
763
- )
764
- );
765
- } else {
766
- start = this.parseLocalDate(startFormatted);
767
- }
768
- if (this.enableTime && endFormatted.length > 10) {
769
- const [edp, etp] = endFormatted.split(/[T\s]+/);
770
- const [ey, em, ed] = edp.split("-").map(Number);
771
- const etc = etp.split(":").map(Number);
772
- const eRefDate = new Date(Date.UTC(ey, em - 1, ed));
773
- const eUtc = this.getUtcTimeFromDisplay(
774
- etc[0] || 0,
775
- etc[1] || 0,
776
- etc[2] || 0,
777
- eRefDate
778
- );
779
- end = new Date(
780
- Date.UTC(ey, em - 1, ed, eUtc.hour, eUtc.minute, eUtc.second)
781
- );
782
- this.endHour = eUtc.hour;
783
- this.endMinute = eUtc.minute;
784
- this.endSecond = eUtc.second;
785
- } else if (this.enableTime) {
786
- const [year, month, day] = endFormatted.split("-").map(Number);
787
- end = new Date(
788
- Date.UTC(
789
- year,
790
- month - 1,
791
- day,
792
- this.endHour,
793
- this.endMinute,
794
- this.endSecond
795
- )
796
- );
797
- } else {
798
- end = this.parseLocalDate(endFormatted);
799
- }
800
- let finalStart = start;
801
- let finalEnd = end;
802
- if (start > end) {
803
- finalStart = end;
804
- finalEnd = start;
805
- }
806
- if (this.minDate) {
807
- const min = this.parseLocalDate(this.minDate);
808
- if (finalStart < min) {
809
- const message = `Start date must be on or after ${this.formatDateForError(this.minDate)}`;
810
- this.setInputValidationError(input, message);
811
- return;
812
- }
813
- }
814
- if (this.maxDate) {
815
- const max = this.parseLocalDate(this.maxDate);
816
- if (finalEnd > max) {
817
- const message = `End date must be on or before ${this.formatDateForError(this.maxDate)}`;
818
- this.setInputValidationError(input, message);
819
- return;
820
- }
821
- }
822
- this.selectedStart = finalStart;
823
- this.selectedEnd = finalEnd;
824
- this.updateMonthViews();
825
- input.value = `${this.formatDisplayDate(finalStart, true)} \u2013 ${this.formatDisplayDate(finalEnd, false)}`;
826
- input.setCustomValidity("");
827
- this.emitChange();
828
- } else {
829
- const formatted = this.parseAndFormatDate(value);
830
- if (!formatted) {
831
- const message = "Invalid date format";
832
- this.setInputValidationError(input, message);
833
- return;
834
- }
835
- let date;
836
- if (this.enableTime && formatted.length > 10) {
837
- const [dp, tp] = formatted.split(/[T\s]+/);
838
- const [y, mo, d] = dp.split("-").map(Number);
839
- const tc = tp.split(":").map(Number);
840
- const refDate = new Date(Date.UTC(y, mo - 1, d));
841
- const utc = this.getUtcTimeFromDisplay(
842
- tc[0] || 0,
843
- tc[1] || 0,
844
- tc[2] || 0,
845
- refDate
846
- );
847
- date = new Date(
848
- Date.UTC(y, mo - 1, d, utc.hour, utc.minute, utc.second)
849
- );
850
- this.startHour = utc.hour;
851
- this.startMinute = utc.minute;
852
- this.startSecond = utc.second;
853
- } else if (this.enableTime) {
854
- const [year, month, day] = formatted.split("-").map(Number);
855
- date = new Date(
856
- Date.UTC(
857
- year,
858
- month - 1,
859
- day,
860
- this.startHour,
861
- this.startMinute,
862
- this.startSecond
863
- )
864
- );
865
- } else {
866
- date = this.parseLocalDate(formatted);
867
- }
868
- if (this.minDate) {
869
- const min = this.parseLocalDate(this.minDate);
870
- if (date < min) {
871
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
872
- this.setInputValidationError(input, message);
873
- return;
874
- }
875
- }
876
- if (this.maxDate) {
877
- const max = this.parseLocalDate(this.maxDate);
878
- if (date > max) {
879
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
880
- this.setInputValidationError(input, message);
881
- return;
882
- }
883
- }
884
- this.selectedStart = date;
885
- this.selectedEnd = null;
886
- this.updateMonthViews();
887
- input.value = this.formatDisplayDate(date, true);
888
- input.setCustomValidity("");
889
- this.emitChange();
890
- }
891
- }
892
- handleStartInputBlur(event) {
893
- const input = event.target;
894
- const value = input.value || "";
895
- if (!value.trim()) {
896
- this.selectedStart = null;
897
- input.setCustomValidity("");
898
- this.emitChange();
899
- return;
900
- }
901
- const formatted = this.parseAndFormatDate(value);
902
- if (!formatted) {
903
- const message = "Invalid date format";
904
- this.setInputValidationError(input, message);
905
- return;
906
- }
907
- let date;
908
- if (this.enableTime && formatted.length > 10) {
909
- const [dp, tp] = formatted.split(/[T\s]+/);
910
- const [y, mo, d] = dp.split("-").map(Number);
911
- const tc = tp.split(":").map(Number);
912
- const refDate = new Date(Date.UTC(y, mo - 1, d));
913
- const utc = this.getUtcTimeFromDisplay(
914
- tc[0] || 0,
915
- tc[1] || 0,
916
- tc[2] || 0,
917
- refDate
918
- );
919
- date = new Date(Date.UTC(y, mo - 1, d, utc.hour, utc.minute, utc.second));
920
- this.startHour = utc.hour;
921
- this.startMinute = utc.minute;
922
- this.startSecond = utc.second;
923
- } else if (this.enableTime) {
924
- const [year, month, day] = formatted.split("-").map(Number);
925
- date = new Date(
926
- Date.UTC(
927
- year,
928
- month - 1,
929
- day,
930
- this.startHour,
931
- this.startMinute,
932
- this.startSecond
933
- )
934
- );
935
- } else {
936
- date = this.parseLocalDate(formatted);
937
- }
938
- if (this.minDate) {
939
- const min = this.parseLocalDate(this.minDate);
940
- if (date < min) {
941
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
942
- this.setInputValidationError(input, message);
943
- return;
944
- }
945
- }
946
- if (this.maxDate) {
947
- const max = this.parseLocalDate(this.maxDate);
948
- if (date > max) {
949
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
950
- this.setInputValidationError(input, message);
951
- return;
952
- }
953
- }
954
- if (this.selectedEnd && date > this.selectedEnd) {
955
- const message = "Start date must be before end date";
956
- this.setInputValidationError(input, message);
957
- return;
958
- }
959
- this.selectedStart = date;
960
- this.leftMonth = new Date(date);
961
- input.value = this.formatDisplayDate(date, true);
962
- input.setCustomValidity("");
963
- this.emitChange();
964
- }
965
- handleEndInputBlur(event) {
966
- const input = event.target;
967
- const value = input.value || "";
968
- if (!value.trim()) {
969
- this.selectedEnd = null;
970
- input.setCustomValidity("");
971
- this.emitChange();
972
- return;
973
- }
974
- const formatted = this.parseAndFormatDate(value);
975
- if (!formatted) {
976
- const message = "Invalid date format";
977
- this.setInputValidationError(input, message);
978
- return;
979
- }
980
- let date;
981
- if (this.enableTime && formatted.length > 10) {
982
- const [dp, tp] = formatted.split(/[T\s]+/);
983
- const [y, mo, d] = dp.split("-").map(Number);
984
- const tc = tp.split(":").map(Number);
985
- const refDate = new Date(Date.UTC(y, mo - 1, d));
986
- const utc = this.getUtcTimeFromDisplay(
987
- tc[0] || 0,
988
- tc[1] || 0,
989
- tc[2] || 0,
990
- refDate
991
- );
992
- date = new Date(Date.UTC(y, mo - 1, d, utc.hour, utc.minute, utc.second));
993
- this.endHour = utc.hour;
994
- this.endMinute = utc.minute;
995
- this.endSecond = utc.second;
996
- } else if (this.enableTime) {
997
- const [year, month, day] = formatted.split("-").map(Number);
998
- date = new Date(
999
- Date.UTC(
1000
- year,
1001
- month - 1,
1002
- day,
1003
- this.endHour,
1004
- this.endMinute,
1005
- this.endSecond
1006
- )
1007
- );
1008
- } else {
1009
- date = this.parseLocalDate(formatted);
1010
- }
1011
- if (this.minDate) {
1012
- const min = this.parseLocalDate(this.minDate);
1013
- if (date < min) {
1014
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
1015
- this.setInputValidationError(input, message);
1016
- return;
1017
- }
1018
- }
1019
- if (this.maxDate) {
1020
- const max = this.parseLocalDate(this.maxDate);
1021
- if (date > max) {
1022
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
1023
- this.setInputValidationError(input, message);
1024
- return;
1025
- }
1026
- }
1027
- if (this.selectedStart) {
1028
- if (this.enableTime && this.isSameDay(date, this.selectedStart)) {
1029
- const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1030
- const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1031
- if (endTimeSeconds < startTimeSeconds) {
1032
- const message = "End time must be after start time when dates are the same";
1033
- this.setInputValidationError(input, message);
1034
- return;
1035
- }
1036
- } else if (date < this.selectedStart) {
1037
- const message = "End date must be after start date";
1038
- this.setInputValidationError(input, message);
1039
- return;
1040
- }
1041
- }
1042
- this.selectedEnd = date;
1043
- if (this.selectedStart && this.isSameMonth(this.selectedStart, this.selectedEnd)) {
1044
- this.rightMonth = new Date(this.selectedStart);
1045
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
1046
- } else {
1047
- this.rightMonth = new Date(date);
1048
- }
1049
- input.value = this.formatDisplayDate(date, false);
1050
- input.setCustomValidity("");
1051
- this.emitChange();
1052
- }
1053
- updateMonthViews() {
1054
- if (this.selectedStart) {
1055
- this.leftMonth = new Date(this.selectedStart);
1056
- if (this.range && this.selectedEnd) {
1057
- if (this.isSameMonth(this.selectedStart, this.selectedEnd)) {
1058
- this.rightMonth = new Date(this.selectedStart);
1059
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
1060
- } else {
1061
- this.rightMonth = new Date(this.selectedEnd);
1062
- }
1063
- }
1064
- }
1065
- }
1066
- handleKeydown(event) {
1067
- if (event.key === " ") {
1068
- event.stopPropagation();
1069
- return;
1070
- }
1071
- if (event.key === "Enter") {
1072
- event.preventDefault();
1073
- this.handleInputBlur(event);
1074
- }
1075
- }
1076
- previousMonth(isLeft) {
1077
- if (isLeft) {
1078
- const newMonth = new Date(this.leftMonth);
1079
- newMonth.setMonth(newMonth.getMonth() - 1);
1080
- this.leftMonth = newMonth;
1081
- } else {
1082
- const newMonth = new Date(this.rightMonth);
1083
- newMonth.setMonth(newMonth.getMonth() - 1);
1084
- this.rightMonth = newMonth;
1085
- }
1086
- }
1087
- nextMonth(isLeft) {
1088
- if (isLeft) {
1089
- const newMonth = new Date(this.leftMonth);
1090
- newMonth.setMonth(newMonth.getMonth() + 1);
1091
- this.leftMonth = newMonth;
1092
- } else {
1093
- const newMonth = new Date(this.rightMonth);
1094
- newMonth.setMonth(newMonth.getMonth() + 1);
1095
- this.rightMonth = newMonth;
1096
- }
1097
- }
1098
- toggleMonthDropdown(isLeft, event) {
1099
- event.stopPropagation();
1100
- if (isLeft) {
1101
- this.showLeftMonthDropdown = !this.showLeftMonthDropdown;
1102
- this.showRightMonthDropdown = false;
1103
- } else {
1104
- this.showRightMonthDropdown = !this.showRightMonthDropdown;
1105
- this.showLeftMonthDropdown = false;
1106
- }
1107
- }
1108
- selectMonth(month, isLeft) {
1109
- if (isLeft) {
1110
- const newMonth = new Date(this.leftMonth);
1111
- newMonth.setDate(1);
1112
- newMonth.setMonth(month);
1113
- this.leftMonth = newMonth;
1114
- this.showLeftMonthDropdown = false;
1115
- } else {
1116
- const newMonth = new Date(this.rightMonth);
1117
- newMonth.setDate(1);
1118
- newMonth.setMonth(month);
1119
- this.rightMonth = newMonth;
1120
- this.showRightMonthDropdown = false;
1121
- }
1122
- }
1123
- changeYear(delta, isLeft) {
1124
- if (isLeft) {
1125
- const newMonth = new Date(this.leftMonth);
1126
- newMonth.setFullYear(newMonth.getFullYear() + delta);
1127
- this.leftMonth = newMonth;
1128
- } else {
1129
- const newMonth = new Date(this.rightMonth);
1130
- newMonth.setFullYear(newMonth.getFullYear() + delta);
1131
- this.rightMonth = newMonth;
1132
- }
1133
- }
1134
- handleYearInput(event, isLeft) {
1135
- const input = event.target;
1136
- const year = parseInt(input.value, 10);
1137
- if (!isNaN(year) && year >= 1900 && year <= 2100) {
1138
- if (isLeft) {
1139
- const newMonth = new Date(this.leftMonth);
1140
- newMonth.setFullYear(year);
1141
- this.leftMonth = newMonth;
1142
- } else {
1143
- const newMonth = new Date(this.rightMonth);
1144
- newMonth.setFullYear(year);
1145
- this.rightMonth = newMonth;
1146
- }
1147
- }
1148
- }
1149
- getDaysInMonth(date) {
1150
- const year = date.getFullYear();
1151
- const month = date.getMonth();
1152
- const createDate = (y, m, d) => {
1153
- if (this.enableTime) {
1154
- return new Date(Date.UTC(y, m, d, 0, 0, 0));
1155
- }
1156
- return new Date(y, m, d);
1157
- };
1158
- const firstDay = createDate(year, month, 1);
1159
- const lastDay = new Date(year, month + 1, 0);
1160
- const days = [];
1161
- const firstDayOfWeek = this.enableTime ? firstDay.getUTCDay() : firstDay.getDay();
1162
- for (let i = firstDayOfWeek - 1; i >= 0; i--) {
1163
- const day = createDate(year, month, -i);
1164
- days.push(day);
1165
- }
1166
- for (let i = 1; i <= lastDay.getDate(); i++) {
1167
- days.push(createDate(year, month, i));
1168
- }
1169
- const remainingDays = 7 - days.length % 7;
1170
- if (remainingDays < 7) {
1171
- for (let i = 1; i <= remainingDays; i++) {
1172
- days.push(createDate(year, month + 1, i));
1173
- }
1174
- }
1175
- return days;
1176
- }
1177
- isSameDay(date1, date2) {
1178
- if (!date1 || !date2)
1179
- return false;
1180
- if (this.enableTime) {
1181
- return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth() && date1.getUTCDate() === date2.getUTCDate();
1182
- }
1183
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
1184
- }
1185
- isInRange(date) {
1186
- if (!this.selectedStart || !this.selectedEnd)
1187
- return false;
1188
- const time = date.getTime();
1189
- return time >= this.selectedStart.getTime() && time <= this.selectedEnd.getTime();
1190
- }
1191
- isInHoverRange(date) {
1192
- if (!this.range || !this.selectedStart || !this.hoverDate || this.selectedEnd)
1193
- return false;
1194
- const time = date.getTime();
1195
- const start = Math.min(this.selectedStart.getTime(), this.hoverDate.getTime());
1196
- const end = Math.max(this.selectedStart.getTime(), this.hoverDate.getTime());
1197
- return time >= start && time <= end;
1198
- }
1199
- isDisabled(date) {
1200
- if (this.minDate) {
1201
- const min = this.parseLocalDate(this.minDate);
1202
- const minMidnight = new Date(
1203
- Date.UTC(min.getUTCFullYear(), min.getUTCMonth(), min.getUTCDate())
1204
- );
1205
- const dateMidnight = new Date(
1206
- Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1207
- );
1208
- if (dateMidnight < minMidnight)
1209
- return true;
1210
- }
1211
- if (this.maxDate) {
1212
- const max = this.parseLocalDate(this.maxDate);
1213
- const maxMidnight = new Date(
1214
- Date.UTC(max.getUTCFullYear(), max.getUTCMonth(), max.getUTCDate())
1215
- );
1216
- const dateMidnight = new Date(
1217
- Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1218
- );
1219
- if (dateMidnight > maxMidnight)
1220
- return true;
1221
- }
1222
- return false;
1223
- }
1224
- selectDate(date) {
1225
- if (this.isDisabled(date)) {
1226
- this.emit("terra-date-selection-invalid", {
1227
- detail: {
1228
- message: `You are not allowed to select dates outside ${this.minDate} to ${this.maxDate}.`
1229
- }
1230
- });
1231
- return;
1232
- }
1233
- this.clearInputValidation();
1234
- if (this.range) {
1235
- if (!this.selectedStart || this.selectedEnd) {
1236
- this.selectedStart = date;
1237
- this.selectedEnd = null;
1238
- this.isSelectingRange = true;
1239
- } else {
1240
- if (date < this.selectedStart) {
1241
- this.selectedEnd = this.selectedStart;
1242
- this.selectedStart = date;
1243
- } else {
1244
- this.selectedEnd = date;
1245
- }
1246
- this.isSelectingRange = false;
1247
- if (this.enableTime && this.selectedStart && this.selectedEnd && this.isSameDay(this.selectedStart, this.selectedEnd)) {
1248
- const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1249
- const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1250
- if (endTimeSeconds < startTimeSeconds) {
1251
- this.emit("terra-date-selection-invalid", {
1252
- detail: {
1253
- message: "End time is before start time. Please adjust the time values."
1254
- }
1255
- });
1256
- }
1257
- }
1258
- this.emitChange();
1259
- if (!this.inline) {
1260
- this.isOpen = false;
1261
- }
1262
- }
1263
- } else {
1264
- this.selectedStart = date;
1265
- this.selectedEnd = null;
1266
- this.emitChange();
1267
- if (!this.inline) {
1268
- this.isOpen = false;
1269
- }
1270
- }
1271
- }
1272
- handleDateHover(date) {
1273
- if (this.range && this.selectedStart && !this.selectedEnd) {
1274
- this.hoverDate = date;
1275
- }
1276
- }
1277
- selectPreset(preset) {
1278
- const { startDate, endDate } = preset.getValue();
1279
- if (!this.isPresetWithinBounds({ startDate, endDate })) {
1280
- this.emit("terra-date-selection-invalid", {
1281
- detail: {
1282
- message: `The preset "${preset.label}" is not available within the allowed date range ${this.minDate} to ${this.maxDate}.`
1283
- }
1284
- });
1285
- return;
1286
- }
1287
- this.clearInputValidation();
1288
- const { min, max } = this.getBounds();
1289
- if (this.range) {
1290
- let s = startDate;
1291
- let e3 = endDate;
1292
- if (s && min && s < min)
1293
- s = new Date(min);
1294
- if (s && max && s > max)
1295
- s = new Date(max);
1296
- if (e3 && min && e3 < min)
1297
- e3 = new Date(min);
1298
- if (e3 && max && e3 > max)
1299
- e3 = new Date(max);
1300
- if (s && e3 && e3 < s) {
1301
- const tmp = s;
1302
- s = e3;
1303
- e3 = tmp;
1304
- }
1305
- this.selectedStart = s;
1306
- this.selectedEnd = e3;
1307
- } else {
1308
- let s = startDate;
1309
- if (s && min && s < min)
1310
- s = new Date(min);
1311
- if (s && max && s > max)
1312
- s = new Date(max);
1313
- this.selectedStart = s;
1314
- this.selectedEnd = null;
1315
- }
1316
- if (this.selectedStart) {
1317
- this.leftMonth = new Date(this.selectedStart);
1318
- if (this.range && this.selectedEnd) {
1319
- this.rightMonth = new Date(this.selectedEnd);
1320
- }
1321
- }
1322
- this.emitChange();
1323
- if (!this.range && !this.inline) {
1324
- this.isOpen = false;
1325
- }
1326
- }
1327
- emitChange() {
1328
- let startDateTime = "";
1329
- let endDateTime = "";
1330
- if (this.selectedStart) {
1331
- if (this.enableTime) {
1332
- const startDate = new Date(this.selectedStart);
1333
- startDate.setUTCHours(
1334
- this.startHour,
1335
- this.startMinute,
1336
- this.startSecond,
1337
- 0
1338
- );
1339
- startDateTime = startDate.toISOString();
1340
- } else {
1341
- const year = this.selectedStart.getFullYear();
1342
- const month = String(this.selectedStart.getMonth() + 1).padStart(
1343
- 2,
1344
- "0"
1345
- );
1346
- const day = String(this.selectedStart.getDate()).padStart(2, "0");
1347
- startDateTime = `${year}-${month}-${day}`;
1348
- }
1349
- }
1350
- if (this.selectedEnd) {
1351
- if (this.enableTime) {
1352
- const endDate = new Date(this.selectedEnd);
1353
- endDate.setUTCHours(this.endHour, this.endMinute, this.endSecond, 0);
1354
- endDateTime = endDate.toISOString();
1355
- } else {
1356
- const year = this.selectedEnd.getFullYear();
1357
- const month = String(this.selectedEnd.getMonth() + 1).padStart(2, "0");
1358
- const day = String(this.selectedEnd.getDate()).padStart(2, "0");
1359
- endDateTime = `${year}-${month}-${day}`;
1360
- }
1361
- }
1362
- this.emit("terra-date-range-change", {
1363
- detail: {
1364
- startDate: startDateTime,
1365
- endDate: endDateTime
1366
- }
1367
- });
1368
- }
1369
- initializeTimeFromDate(date, isStart) {
1370
- const hours = date.getUTCHours();
1371
- const minutes = date.getUTCMinutes();
1372
- const seconds = date.getUTCSeconds();
1373
- if (isStart) {
1374
- this.startHour = hours;
1375
- this.startMinute = minutes;
1376
- this.startSecond = seconds;
1377
- } else {
1378
- this.endHour = hours;
1379
- this.endMinute = minutes;
1380
- this.endSecond = seconds;
1381
- }
1382
- }
1383
- changeTime(type, delta, isStart) {
1384
- const utcH = isStart ? this.startHour : this.endHour;
1385
- const utcM = isStart ? this.startMinute : this.endMinute;
1386
- const utcS = isStart ? this.startSecond : this.endSecond;
1387
- const ref = isStart ? this.selectedStart : this.selectedEnd;
1388
- const display = this.getDisplayTimeComponents(utcH, utcM, utcS, ref);
1389
- let newDisplayH = display.hour;
1390
- let newDisplayM = display.minute;
1391
- let newDisplayS = display.second;
1392
- if (type === "hour") {
1393
- if (this.twelveHour) {
1394
- const d12 = this.to12Hour(display.hour);
1395
- const newHour12 = ((d12.hour - 1 + delta) % 12 + 12) % 12 + 1;
1396
- newDisplayH = this.to24Hour(newHour12, d12.period);
1397
- } else {
1398
- newDisplayH = ((display.hour + delta) % 24 + 24) % 24;
1399
- }
1400
- } else if (type === "minute") {
1401
- newDisplayM = ((display.minute + delta) % 60 + 60) % 60;
1402
- } else {
1403
- newDisplayS = ((display.second + delta) % 60 + 60) % 60;
1404
- }
1405
- const utc = this.getUtcTimeFromDisplay(
1406
- newDisplayH,
1407
- newDisplayM,
1408
- newDisplayS,
1409
- ref
1410
- );
1411
- if (isStart) {
1412
- this.startHour = utc.hour;
1413
- this.startMinute = utc.minute;
1414
- this.startSecond = utc.second;
1415
- } else {
1416
- this.endHour = utc.hour;
1417
- this.endMinute = utc.minute;
1418
- this.endSecond = utc.second;
1419
- }
1420
- this.emitChange();
1421
- this.requestUpdate();
1422
- }
1423
- handleTimeInput(event, type, isStart) {
1424
- const input = event.target;
1425
- const value = parseInt(input.value, 10);
1426
- const utcH = isStart ? this.startHour : this.endHour;
1427
- const utcM = isStart ? this.startMinute : this.endMinute;
1428
- const utcS = isStart ? this.startSecond : this.endSecond;
1429
- const ref = isStart ? this.selectedStart : this.selectedEnd;
1430
- const display = this.getDisplayTimeComponents(utcH, utcM, utcS, ref);
1431
- const d12 = this.twelveHour ? this.to12Hour(display.hour) : null;
1432
- let newDisplayH = display.hour;
1433
- let newDisplayM = display.minute;
1434
- let newDisplayS = display.second;
1435
- if (type === "hour") {
1436
- const min = this.twelveHour ? 1 : 0;
1437
- const max = this.twelveHour ? 12 : 23;
1438
- if (isNaN(value) || value < min || value > max) {
1439
- input.value = (d12 ? d12.hour : display.hour).toString().padStart(2, "0");
1440
- return;
1441
- }
1442
- newDisplayH = this.twelveHour ? this.to24Hour(value, d12.period) : value;
1443
- } else if (type === "minute") {
1444
- if (isNaN(value) || value < 0 || value >= 60) {
1445
- input.value = display.minute.toString().padStart(2, "0");
1446
- return;
1447
- }
1448
- newDisplayM = value;
1449
- } else {
1450
- if (isNaN(value) || value < 0 || value >= 60) {
1451
- input.value = display.second.toString().padStart(2, "0");
1452
- return;
1453
- }
1454
- newDisplayS = value;
1455
- }
1456
- const utc = this.getUtcTimeFromDisplay(
1457
- newDisplayH,
1458
- newDisplayM,
1459
- newDisplayS,
1460
- ref
1461
- );
1462
- if (isStart) {
1463
- this.startHour = utc.hour;
1464
- this.startMinute = utc.minute;
1465
- this.startSecond = utc.second;
1466
- } else {
1467
- this.endHour = utc.hour;
1468
- this.endMinute = utc.minute;
1469
- this.endSecond = utc.second;
1470
- }
1471
- this.emitChange();
1472
- this.requestUpdate();
1473
- }
1474
- renderCalendar(month, isLeft = true) {
1475
- const days = this.getDaysInMonth(month);
1476
- const currentMonth = month.getMonth();
1477
- const showDropdown = isLeft ? this.showLeftMonthDropdown : this.showRightMonthDropdown;
1478
- return b`
1479
- <div class="calendar">
1480
- <div class="calendar__header">
1481
- <button
1482
- type="button"
1483
- class="calendar__nav"
1484
- @click=${() => this.previousMonth(isLeft)}
1485
- >
1486
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1487
- <path
1488
- d="M10 12L6 8L10 4"
1489
- stroke="currentColor"
1490
- stroke-width="2"
1491
- stroke-linecap="round"
1492
- stroke-linejoin="round"
1493
- />
1494
- </svg>
1495
- </button>
1496
-
1497
- <div class="calendar__month-year">
1498
- <div class="calendar__month-dropdown-wrapper">
1499
- <button
1500
- type="button"
1501
- class="calendar__month-button"
1502
- @click=${(e3) => this.toggleMonthDropdown(isLeft, e3)}
1503
- >
1504
- ${this.MONTHS[month.getMonth()]}
1505
- <svg
1506
- width="12"
1507
- height="12"
1508
- viewBox="0 0 12 12"
1509
- fill="none"
1510
- class="calendar__month-icon"
1511
- >
1512
- <path
1513
- d="M3 5L6 8L9 5"
1514
- stroke="currentColor"
1515
- stroke-width="1.5"
1516
- stroke-linecap="round"
1517
- stroke-linejoin="round"
1518
- />
1519
- </svg>
1520
- </button>
1521
-
1522
- ${showDropdown ? b`
1523
- <div class="calendar__month-dropdown">
1524
- ${this.MONTHS.map(
1525
- (monthName, index) => b`
1526
- <button
1527
- type="button"
1528
- class="calendar__month-option ${index === month.getMonth() ? "calendar__month-option--selected" : ""}"
1529
- @click=${() => this.selectMonth(
1530
- index,
1531
- isLeft
1532
- )}
1533
- >
1534
- ${index === month.getMonth() ? b`
1535
- <svg
1536
- width="16"
1537
- height="16"
1538
- viewBox="0 0 16 16"
1539
- fill="none"
1540
- class="calendar__month-check"
1541
- >
1542
- <path
1543
- d="M13 4L6 11L3 8"
1544
- stroke="currentColor"
1545
- stroke-width="2"
1546
- stroke-linecap="round"
1547
- stroke-linejoin="round"
1548
- />
1549
- </svg>
1550
- ` : ""}
1551
- ${monthName}
1552
- </button>
1553
- `
1554
- )}
1555
- </div>
1556
- ` : ""}
1557
- </div>
1558
-
1559
- <div class="calendar__year-input-wrapper">
1560
- <input
1561
- type="number"
1562
- class="calendar__year-input"
1563
- .value=${month.getFullYear().toString()}
1564
- @input=${(e3) => this.handleYearInput(e3, isLeft)}
1565
- @blur=${(e3) => {
1566
- const input = e3.target;
1567
- input.value = month.getFullYear().toString();
1568
- }}
1569
- min="1900"
1570
- max="2100"
1571
- />
1572
- <div class="calendar__year-spinners">
1573
- <button
1574
- type="button"
1575
- class="calendar__year-spinner calendar__year-spinner--up"
1576
- @click=${() => this.changeYear(1, isLeft)}
1577
- >
1578
- <svg
1579
- width="10"
1580
- height="10"
1581
- viewBox="0 0 10 10"
1582
- fill="none"
1583
- >
1584
- <path
1585
- d="M2 6L5 3L8 6"
1586
- stroke="currentColor"
1587
- stroke-width="1.5"
1588
- stroke-linecap="round"
1589
- stroke-linejoin="round"
1590
- />
1591
- </svg>
1592
- </button>
1593
- <button
1594
- type="button"
1595
- class="calendar__year-spinner calendar__year-spinner--down"
1596
- @click=${() => this.changeYear(-1, isLeft)}
1597
- >
1598
- <svg
1599
- width="10"
1600
- height="10"
1601
- viewBox="0 0 10 10"
1602
- fill="none"
1603
- >
1604
- <path
1605
- d="M2 4L5 7L8 4"
1606
- stroke="currentColor"
1607
- stroke-width="1.5"
1608
- stroke-linecap="round"
1609
- stroke-linejoin="round"
1610
- />
1611
- </svg>
1612
- </button>
1613
- </div>
1614
- </div>
1615
- </div>
1616
-
1617
- <button
1618
- type="button"
1619
- class="calendar__nav"
1620
- @click=${() => this.nextMonth(isLeft)}
1621
- >
1622
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1623
- <path
1624
- d="M6 12L10 8L6 4"
1625
- stroke="currentColor"
1626
- stroke-width="2"
1627
- stroke-linecap="round"
1628
- stroke-linejoin="round"
1629
- />
1630
- </svg>
1631
- </button>
1632
- </div>
1633
- <div class="calendar__weekdays">
1634
- ${this.DAYS.map(
1635
- (day) => b`<div class="calendar__weekday">${day}</div>`
1636
- )}
1637
- </div>
1638
- <div class="calendar__days">
1639
- ${days.map((date) => {
1640
- const dateMonth = this.enableTime ? date.getUTCMonth() : date.getMonth();
1641
- const dateDay = this.enableTime ? date.getUTCDate() : date.getDate();
1642
- const isCurrentMonth = dateMonth === currentMonth;
1643
- const isSelected = this.isSameDay(date, this.selectedStart) || this.isSameDay(date, this.selectedEnd);
1644
- const isStart = this.isSameDay(date, this.selectedStart);
1645
- const isEnd = this.isSameDay(date, this.selectedEnd);
1646
- const inRange = this.isInRange(date);
1647
- const inHoverRange = this.isInHoverRange(date);
1648
- const isDisabled = this.isDisabled(date);
1649
- return b`
1650
- <button
1651
- type="button"
1652
- class="calendar__day ${!isCurrentMonth ? "calendar__day--outside" : ""}
1653
- ${isSelected ? "calendar__day--selected" : ""}
1654
- ${isStart ? "calendar__day--start" : ""}
1655
- ${isEnd ? "calendar__day--end" : ""}
1656
- ${inRange ? "calendar__day--in-range" : ""}
1657
- ${inHoverRange ? "calendar__day--hover-range" : ""}
1658
- ${isDisabled ? "calendar__day--disabled" : ""}"
1659
- @click=${() => this.selectDate(date)}
1660
- @mouseenter=${() => this.handleDateHover(date)}
1661
- ?disabled=${isDisabled}
1662
- >
1663
- ${dateDay}
1664
- </button>
1665
- `;
1666
- })}
1667
- </div>
1668
- </div>
1669
- `;
1670
- }
1671
- renderTimePicker() {
1672
- if (!this.enableTime)
1673
- return "";
1674
- const startDisplay = this.getDisplayTimeComponents(
1675
- this.startHour,
1676
- this.startMinute,
1677
- this.startSecond,
1678
- this.selectedStart
1679
- );
1680
- const endDisplay = this.getDisplayTimeComponents(
1681
- this.endHour,
1682
- this.endMinute,
1683
- this.endSecond,
1684
- this.selectedEnd
1685
- );
1686
- const startD12 = this.twelveHour ? this.to12Hour(startDisplay.hour) : null;
1687
- const endD12 = this.twelveHour ? this.to12Hour(endDisplay.hour) : null;
1688
- const hourMin = this.twelveHour ? "1" : "0";
1689
- const hourMax = this.twelveHour ? "12" : "23";
1690
- return b`
1691
- <div class="date-picker__time">
1692
- <div class="date-picker__time-section">
1693
- <div class="date-picker__time-inputs">
1694
- <div class="date-picker__time-input-group">
1695
- <input
1696
- type="number"
1697
- class="date-picker__time-input"
1698
- .value=${(startD12 ? startD12.hour : startDisplay.hour).toString().padStart(2, "0")}
1699
- @input=${(e3) => this.handleTimeInput(e3, "hour", true)}
1700
- @blur=${(e3) => {
1701
- const input = e3.target;
1702
- const d = this.getDisplayTimeComponents(
1703
- this.startHour,
1704
- this.startMinute,
1705
- this.startSecond,
1706
- this.selectedStart
1707
- );
1708
- const d12 = this.twelveHour ? this.to12Hour(d.hour) : null;
1709
- input.value = (d12 ? d12.hour : d.hour).toString().padStart(2, "0");
1710
- }}
1711
- min=${hourMin}
1712
- max=${hourMax}
1713
- />
1714
- <div class="date-picker__time-spinners">
1715
- <button
1716
- type="button"
1717
- class="date-picker__time-spinner"
1718
- @click=${() => this.changeTime("hour", 1, true)}
1719
- >
1720
- <svg
1721
- width="10"
1722
- height="10"
1723
- viewBox="0 0 10 10"
1724
- fill="none"
1725
- >
1726
- <path
1727
- d="M2 6L5 3L8 6"
1728
- stroke="currentColor"
1729
- stroke-width="1.5"
1730
- stroke-linecap="round"
1731
- stroke-linejoin="round"
1732
- />
1733
- </svg>
1734
- </button>
1735
- <button
1736
- type="button"
1737
- class="date-picker__time-spinner"
1738
- @click=${() => this.changeTime("hour", -1, true)}
1739
- >
1740
- <svg
1741
- width="10"
1742
- height="10"
1743
- viewBox="0 0 10 10"
1744
- fill="none"
1745
- >
1746
- <path
1747
- d="M2 4L5 7L8 4"
1748
- stroke="currentColor"
1749
- stroke-width="1.5"
1750
- stroke-linecap="round"
1751
- stroke-linejoin="round"
1752
- />
1753
- </svg>
1754
- </button>
1755
- </div>
1756
- </div>
1757
-
1758
- <span class="date-picker__time-separator">:</span>
1759
-
1760
- <div class="date-picker__time-input-group">
1761
- <input
1762
- type="number"
1763
- class="date-picker__time-input"
1764
- .value=${startDisplay.minute.toString().padStart(2, "0")}
1765
- @input=${(e3) => this.handleTimeInput(e3, "minute", true)}
1766
- @blur=${(e3) => {
1767
- const input = e3.target;
1768
- const d = this.getDisplayTimeComponents(
1769
- this.startHour,
1770
- this.startMinute,
1771
- this.startSecond,
1772
- this.selectedStart
1773
- );
1774
- input.value = d.minute.toString().padStart(2, "0");
1775
- }}
1776
- min="0"
1777
- max="59"
1778
- />
1779
- <div class="date-picker__time-spinners">
1780
- <button
1781
- type="button"
1782
- class="date-picker__time-spinner"
1783
- @click=${() => this.changeTime("minute", 1, true)}
1784
- >
1785
- <svg
1786
- width="10"
1787
- height="10"
1788
- viewBox="0 0 10 10"
1789
- fill="none"
1790
- >
1791
- <path
1792
- d="M2 6L5 3L8 6"
1793
- stroke="currentColor"
1794
- stroke-width="1.5"
1795
- stroke-linecap="round"
1796
- stroke-linejoin="round"
1797
- />
1798
- </svg>
1799
- </button>
1800
- <button
1801
- type="button"
1802
- class="date-picker__time-spinner"
1803
- @click=${() => this.changeTime("minute", -1, true)}
1804
- >
1805
- <svg
1806
- width="10"
1807
- height="10"
1808
- viewBox="0 0 10 10"
1809
- fill="none"
1810
- >
1811
- <path
1812
- d="M2 4L5 7L8 4"
1813
- stroke="currentColor"
1814
- stroke-width="1.5"
1815
- stroke-linecap="round"
1816
- stroke-linejoin="round"
1817
- />
1818
- </svg>
1819
- </button>
1820
- </div>
1821
- </div>
1822
-
1823
- <span class="date-picker__time-separator">:</span>
1824
-
1825
- <div class="date-picker__time-input-group">
1826
- <input
1827
- type="number"
1828
- class="date-picker__time-input"
1829
- .value=${startDisplay.second.toString().padStart(2, "0")}
1830
- @input=${(e3) => this.handleTimeInput(e3, "second", true)}
1831
- @blur=${(e3) => {
1832
- const input = e3.target;
1833
- const d = this.getDisplayTimeComponents(
1834
- this.startHour,
1835
- this.startMinute,
1836
- this.startSecond,
1837
- this.selectedStart
1838
- );
1839
- input.value = d.second.toString().padStart(2, "0");
1840
- }}
1841
- min="0"
1842
- max="59"
1843
- />
1844
- <div class="date-picker__time-spinners">
1845
- <button
1846
- type="button"
1847
- class="date-picker__time-spinner"
1848
- @click=${() => this.changeTime("second", 1, true)}
1849
- >
1850
- <svg
1851
- width="10"
1852
- height="10"
1853
- viewBox="0 0 10 10"
1854
- fill="none"
1855
- >
1856
- <path
1857
- d="M2 6L5 3L8 6"
1858
- stroke="currentColor"
1859
- stroke-width="1.5"
1860
- stroke-linecap="round"
1861
- stroke-linejoin="round"
1862
- />
1863
- </svg>
1864
- </button>
1865
- <button
1866
- type="button"
1867
- class="date-picker__time-spinner"
1868
- @click=${() => this.changeTime("second", -1, true)}
1869
- >
1870
- <svg
1871
- width="10"
1872
- height="10"
1873
- viewBox="0 0 10 10"
1874
- fill="none"
1875
- >
1876
- <path
1877
- d="M2 4L5 7L8 4"
1878
- stroke="currentColor"
1879
- stroke-width="1.5"
1880
- stroke-linecap="round"
1881
- stroke-linejoin="round"
1882
- />
1883
- </svg>
1884
- </button>
1885
- </div>
1886
- </div>
1887
-
1888
- ${this.twelveHour ? b`
1889
- <button
1890
- type="button"
1891
- class="date-picker__time-period"
1892
- @click=${() => this.togglePeriod(true)}
1893
- >
1894
- ${startD12.period}
1895
- </button>
1896
- ` : ""}
1897
- </div>
1898
- </div>
1899
-
1900
- ${this.range ? b`
1901
- <span class="date-picker__separator">–</span>
1902
-
1903
- <div class="date-picker__time-section">
1904
- <div class="date-picker__time-inputs">
1905
- <div class="date-picker__time-input-group">
1906
- <input
1907
- type="number"
1908
- class="date-picker__time-input"
1909
- .value=${(endD12 ? endD12.hour : endDisplay.hour).toString().padStart(2, "0")}
1910
- @input=${(e3) => this.handleTimeInput(e3, "hour", false)}
1911
- @blur=${(e3) => {
1912
- const input = e3.target;
1913
- const d = this.getDisplayTimeComponents(
1914
- this.endHour,
1915
- this.endMinute,
1916
- this.endSecond,
1917
- this.selectedEnd
1918
- );
1919
- const d12 = this.twelveHour ? this.to12Hour(d.hour) : null;
1920
- input.value = (d12 ? d12.hour : d.hour).toString().padStart(2, "0");
1921
- }}
1922
- min=${hourMin}
1923
- max=${hourMax}
1924
- />
1925
- <div class="date-picker__time-spinners">
1926
- <button
1927
- type="button"
1928
- class="date-picker__time-spinner"
1929
- @click=${() => this.changeTime("hour", 1, false)}
1930
- >
1931
- <svg
1932
- width="10"
1933
- height="10"
1934
- viewBox="0 0 10 10"
1935
- fill="none"
1936
- >
1937
- <path
1938
- d="M2 6L5 3L8 6"
1939
- stroke="currentColor"
1940
- stroke-width="1.5"
1941
- stroke-linecap="round"
1942
- stroke-linejoin="round"
1943
- />
1944
- </svg>
1945
- </button>
1946
- <button
1947
- type="button"
1948
- class="date-picker__time-spinner"
1949
- @click=${() => this.changeTime("hour", -1, false)}
1950
- >
1951
- <svg
1952
- width="10"
1953
- height="10"
1954
- viewBox="0 0 10 10"
1955
- fill="none"
1956
- >
1957
- <path
1958
- d="M2 4L5 7L8 4"
1959
- stroke="currentColor"
1960
- stroke-width="1.5"
1961
- stroke-linecap="round"
1962
- stroke-linejoin="round"
1963
- />
1964
- </svg>
1965
- </button>
1966
- </div>
1967
- </div>
1968
-
1969
- <span class="date-picker__time-separator">:</span>
1970
-
1971
- <div class="date-picker__time-input-group">
1972
- <input
1973
- type="number"
1974
- class="date-picker__time-input"
1975
- .value=${endDisplay.minute.toString().padStart(2, "0")}
1976
- @input=${(e3) => this.handleTimeInput(
1977
- e3,
1978
- "minute",
1979
- false
1980
- )}
1981
- @blur=${(e3) => {
1982
- const input = e3.target;
1983
- const d = this.getDisplayTimeComponents(
1984
- this.endHour,
1985
- this.endMinute,
1986
- this.endSecond,
1987
- this.selectedEnd
1988
- );
1989
- input.value = d.minute.toString().padStart(2, "0");
1990
- }}
1991
- min="0"
1992
- max="59"
1993
- />
1994
- <div class="date-picker__time-spinners">
1995
- <button
1996
- type="button"
1997
- class="date-picker__time-spinner"
1998
- @click=${() => this.changeTime("minute", 1, false)}
1999
- >
2000
- <svg
2001
- width="10"
2002
- height="10"
2003
- viewBox="0 0 10 10"
2004
- fill="none"
2005
- >
2006
- <path
2007
- d="M2 6L5 3L8 6"
2008
- stroke="currentColor"
2009
- stroke-width="1.5"
2010
- stroke-linecap="round"
2011
- stroke-linejoin="round"
2012
- />
2013
- </svg>
2014
- </button>
2015
- <button
2016
- type="button"
2017
- class="date-picker__time-spinner"
2018
- @click=${() => this.changeTime(
2019
- "minute",
2020
- -1,
2021
- false
2022
- )}
2023
- >
2024
- <svg
2025
- width="10"
2026
- height="10"
2027
- viewBox="0 0 10 10"
2028
- fill="none"
2029
- >
2030
- <path
2031
- d="M2 4L5 7L8 4"
2032
- stroke="currentColor"
2033
- stroke-width="1.5"
2034
- stroke-linecap="round"
2035
- stroke-linejoin="round"
2036
- />
2037
- </svg>
2038
- </button>
2039
- </div>
2040
- </div>
2041
-
2042
- <span class="date-picker__time-separator">:</span>
2043
-
2044
- <div class="date-picker__time-input-group">
2045
- <input
2046
- type="number"
2047
- class="date-picker__time-input"
2048
- .value=${endDisplay.second.toString().padStart(2, "0")}
2049
- @input=${(e3) => this.handleTimeInput(
2050
- e3,
2051
- "second",
2052
- false
2053
- )}
2054
- @blur=${(e3) => {
2055
- const input = e3.target;
2056
- const d = this.getDisplayTimeComponents(
2057
- this.endHour,
2058
- this.endMinute,
2059
- this.endSecond,
2060
- this.selectedEnd
2061
- );
2062
- input.value = d.second.toString().padStart(2, "0");
2063
- }}
2064
- min="0"
2065
- max="59"
2066
- />
2067
- <div class="date-picker__time-spinners">
2068
- <button
2069
- type="button"
2070
- class="date-picker__time-spinner"
2071
- @click=${() => this.changeTime("second", 1, false)}
2072
- >
2073
- <svg
2074
- width="10"
2075
- height="10"
2076
- viewBox="0 0 10 10"
2077
- fill="none"
2078
- >
2079
- <path
2080
- d="M2 6L5 3L8 6"
2081
- stroke="currentColor"
2082
- stroke-width="1.5"
2083
- stroke-linecap="round"
2084
- stroke-linejoin="round"
2085
- />
2086
- </svg>
2087
- </button>
2088
- <button
2089
- type="button"
2090
- class="date-picker__time-spinner"
2091
- @click=${() => this.changeTime(
2092
- "second",
2093
- -1,
2094
- false
2095
- )}
2096
- >
2097
- <svg
2098
- width="10"
2099
- height="10"
2100
- viewBox="0 0 10 10"
2101
- fill="none"
2102
- >
2103
- <path
2104
- d="M2 4L5 7L8 4"
2105
- stroke="currentColor"
2106
- stroke-width="1.5"
2107
- stroke-linecap="round"
2108
- stroke-linejoin="round"
2109
- />
2110
- </svg>
2111
- </button>
2112
- </div>
2113
- </div>
2114
- </div>
2115
-
2116
- ${this.twelveHour ? b`
2117
- <button
2118
- type="button"
2119
- class="date-picker__time-period"
2120
- @click=${() => this.togglePeriod(false)}
2121
- >
2122
- ${endD12.period}
2123
- </button>
2124
- ` : ""}
2125
- </div>
2126
- ` : ""}
2127
- </div>
2128
- `;
2129
- }
2130
- renderCalendarIcon() {
2131
- return b`
2132
- <svg
2133
- slot="suffix"
2134
- class="date-picker__icon"
2135
- width="20"
2136
- height="20"
2137
- viewBox="0 0 24 24"
2138
- fill="none"
2139
- stroke="currentColor"
2140
- stroke-width="2"
2141
- >
2142
- <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
2143
- <line x1="16" y1="2" x2="16" y2="6"></line>
2144
- <line x1="8" y1="2" x2="8" y2="6"></line>
2145
- <line x1="3" y1="10" x2="21" y2="10"></line>
2146
- </svg>
2147
- `;
2148
- }
2149
- renderCalendarContent() {
2150
- return b`
2151
- <div class="date-picker__dropdown" part="calendar">
2152
- ${this.showClose ? b`
2153
- <div class="dropdown-header">
2154
- <button
2155
- class="date-picker__close-btn"
2156
- @click=${(e3) => {
2157
- e3.stopPropagation();
2158
- this.close();
2159
- }}
2160
- aria-label="Close"
2161
- >
2162
-
2163
- </button>
2164
- </div>
2165
- ` : A}
2166
- <div class="date-picker__content">
2167
- ${this.showPresets && this.filteredPresets.length > 0 ? b`
2168
- <div class="date-picker__sidebar" part="sidebar">
2169
- <slot name="sidebar-header"></slot>
2170
-
2171
- <div class="presets">
2172
- ${this.filteredPresets.map(
2173
- (preset) => b`
2174
- <button
2175
- type="button"
2176
- class="date-picker__preset"
2177
- @click=${() => this.selectPreset(preset)}
2178
- >
2179
- ${preset.label}
2180
- </button>
2181
- `
2182
- )}
2183
- </div>
2184
-
2185
- <slot name="sidebar-footer">
2186
- <terra-button
2187
- outline
2188
- variant="default"
2189
- size="small"
2190
- @click=${() => this.clear()}
2191
- >
2192
- ${this.clearAllLabel}
2193
- </terra-button>
2194
- </slot>
2195
- </div>
2196
- ` : ""}
2197
-
2198
- <div class="date-picker__calendars">
2199
- ${this.renderCalendar(this.leftMonth, true)}
2200
- ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
2201
- </div>
2202
- </div>
2203
-
2204
- ${this.enableTime ? this.renderTimePicker() : ""}
2205
- </div>
2206
- `;
2207
- }
2208
- render() {
2209
- const showSplitInputs = this.range && this.splitInputs;
2210
- if (this.inline) {
2211
- return b`
2212
- <div
2213
- class="date-picker date-picker--inline ${showSplitInputs ? "date-picker--split-inputs" : ""}"
2214
- @click=${(e3) => e3.stopPropagation()}
2215
- >
2216
- ${showSplitInputs ? b`
2217
- <div class="date-picker__inputs">
2218
- <terra-input
2219
- .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
2220
- .hideLabel=${this.hideLabel}
2221
- .helpText=${this.startHelpText || this.helpText}
2222
- .value=${this.getStartDateDisplayValue()}
2223
- @terra-blur=${this.handleStartInputBlur}
2224
- @keydown=${this.handleKeydown}
2225
- placeholder=${this.startPlaceholder}
2226
- name="start-date"
2227
- >
2228
- ${this.renderCalendarIcon()}
2229
- </terra-input>
2230
- <terra-input
2231
- .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2232
- .hideLabel=${this.hideLabel}
2233
- .helpText=${this.endHelpText || this.helpText}
2234
- .value=${this.getEndDateDisplayValue()}
2235
- @terra-blur=${this.handleEndInputBlur}
2236
- @keydown=${this.handleKeydown}
2237
- placeholder=${this.endPlaceholder}
2238
- name="end-date"
2239
- >
2240
- ${this.renderCalendarIcon()}
2241
- </terra-input>
2242
- </div>
2243
- ` : b`
2244
- <terra-input
2245
- .label=${this.label}
2246
- .hideLabel=${this.hideLabel}
2247
- .helpText=${this.helpText}
2248
- .value=${this.getDisplayValue()}
2249
- placeholder=${this.placeholder}
2250
- @terra-blur=${this.handleInputBlur}
2251
- @keydown=${this.handleKeydown}
2252
- name="date"
2253
- >
2254
- ${this.renderCalendarIcon()}
2255
- </terra-input>
2256
- `}
2257
-
2258
- <slot name="additional-text"></slot>
2259
-
2260
- <div class="date-picker__dropdown-wrapper">
2261
- <div
2262
- class="date-picker__dropdown date-picker__dropdown--inline"
2263
- part="calendar"
2264
- >
2265
- <div class="date-picker__content">
2266
- ${this.showPresets && this.filteredPresets.length > 0 ? b`
2267
- <div
2268
- class="date-picker__sidebar"
2269
- part="sidebar"
2270
- >
2271
- <slot name="sidebar-header"></slot>
2272
-
2273
- <div class="presets">
2274
- ${this.filteredPresets.map(
2275
- (preset) => b`
2276
- <button
2277
- type="button"
2278
- class="date-picker__preset"
2279
- @click=${() => this.selectPreset(
2280
- preset
2281
- )}
2282
- >
2283
- ${preset.label}
2284
- </button>
2285
- `
2286
- )}
2287
- </div>
2288
-
2289
- <slot name="sidebar-footer">
2290
- <terra-button
2291
- outline
2292
- variant="default"
2293
- size="small"
2294
- @click=${() => this.clear()}
2295
- >
2296
- ${this.clearAllLabel}
2297
- </terra-button>
2298
- </slot>
2299
- </div>
2300
- ` : ""}
2301
-
2302
- <div class="date-picker__calendars">
2303
- ${this.renderCalendar(this.leftMonth, true)}
2304
- ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
2305
- </div>
2306
- </div>
2307
-
2308
- ${this.enableTime ? this.renderTimePicker() : ""}
2309
- </div>
2310
- </div>
2311
- </div>
2312
- `;
2313
- }
2314
- return b`
2315
- <div
2316
- class="date-picker ${showSplitInputs ? "date-picker--split-inputs" : ""}"
2317
- @click=${(e3) => e3.stopPropagation()}
2318
- >
2319
- ${showSplitInputs ? b`
2320
- <div class="date-picker__inputs">
2321
- <terra-dropdown
2322
- ${n2(this.dropdownRef)}
2323
- placement="bottom-start"
2324
- distance="4"
2325
- @terra-show=${this.handleDropdownShow}
2326
- @terra-hide=${this.handleDropdownHide}
2327
- hoist
2328
- >
2329
- <terra-input
2330
- slot="trigger"
2331
- .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
2332
- .hideLabel=${this.hideLabel}
2333
- .helpText=${this.startHelpText || this.helpText}
2334
- .value=${this.getStartDateDisplayValue()}
2335
- placeholder=${this.startPlaceholder}
2336
- @terra-blur=${this.handleStartInputBlur}
2337
- @keydown=${this.handleKeydown}
2338
- name="start-date"
2339
- >
2340
- ${this.renderCalendarIcon()}
2341
- </terra-input>
2342
- ${this.renderCalendarContent()}
2343
- </terra-dropdown>
2344
- <terra-dropdown
2345
- placement="bottom-start"
2346
- distance="4"
2347
- @terra-show=${this.handleDropdownShow}
2348
- @terra-hide=${this.handleDropdownHide}
2349
- hoist
2350
- >
2351
- <terra-input
2352
- slot="trigger"
2353
- .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2354
- .hideLabel=${this.hideLabel}
2355
- .helpText=${this.endHelpText || this.helpText}
2356
- .value=${this.getEndDateDisplayValue()}
2357
- placeholder=${this.endPlaceholder}
2358
- @terra-blur=${this.handleEndInputBlur}
2359
- @keydown=${this.handleKeydown}
2360
- name="end-date"
2361
- >
2362
- ${this.renderCalendarIcon()}
2363
- </terra-input>
2364
- ${this.renderCalendarContent()}
2365
- </terra-dropdown>
2366
- </div>
2367
- ` : b`
2368
- <terra-dropdown
2369
- ${n2(this.dropdownRef)}
2370
- placement="bottom-start"
2371
- distance="4"
2372
- @terra-show=${this.handleDropdownShow}
2373
- @terra-hide=${this.handleDropdownHide}
2374
- hoist
2375
- >
2376
- <terra-input
2377
- slot="trigger"
2378
- .label=${this.label}
2379
- .hideLabel=${this.hideLabel}
2380
- .helpText=${this.helpText}
2381
- .value=${this.getDisplayValue()}
2382
- placeholder=${this.placeholder}
2383
- @terra-blur=${this.handleInputBlur}
2384
- @keydown=${this.handleKeydown}
2385
- name="date"
2386
- >
2387
- ${this.renderCalendarIcon()}
2388
- </terra-input>
2389
- ${this.renderCalendarContent()}
2390
- </terra-dropdown>
2391
- `}
2392
- </div>
2393
- `;
2394
- }
2395
- };
2396
- TerraDatePicker.styles = [component_styles_default, date_picker_styles_default];
2397
- TerraDatePicker.dependencies = {
2398
- "terra-button": TerraButton,
2399
- "terra-input": TerraInput,
2400
- "terra-dropdown": TerraDropdown
2401
- };
2402
- __decorateClass([
2403
- n()
2404
- ], TerraDatePicker.prototype, "id", 2);
2405
- __decorateClass([
2406
- n({ type: Boolean, reflect: true })
2407
- ], TerraDatePicker.prototype, "range", 2);
2408
- __decorateClass([
2409
- n({ attribute: "min-date", reflect: true })
2410
- ], TerraDatePicker.prototype, "minDate", 2);
2411
- __decorateClass([
2412
- n({ attribute: "max-date", reflect: true })
2413
- ], TerraDatePicker.prototype, "maxDate", 2);
2414
- __decorateClass([
2415
- n({ attribute: "start-date", reflect: true })
2416
- ], TerraDatePicker.prototype, "startDate", 2);
2417
- __decorateClass([
2418
- n({ attribute: "end-date", reflect: true })
2419
- ], TerraDatePicker.prototype, "endDate", 2);
2420
- __decorateClass([
2421
- n({ attribute: "hide-label", type: Boolean })
2422
- ], TerraDatePicker.prototype, "hideLabel", 2);
2423
- __decorateClass([
2424
- n()
2425
- ], TerraDatePicker.prototype, "label", 2);
2426
- __decorateClass([
2427
- n({ attribute: "help-text" })
2428
- ], TerraDatePicker.prototype, "helpText", 2);
2429
- __decorateClass([
2430
- n({ attribute: "start-help-text" })
2431
- ], TerraDatePicker.prototype, "startHelpText", 2);
2432
- __decorateClass([
2433
- n({ attribute: "end-help-text" })
2434
- ], TerraDatePicker.prototype, "endHelpText", 2);
2435
- __decorateClass([
2436
- n({ attribute: "start-label" })
2437
- ], TerraDatePicker.prototype, "startLabel", 2);
2438
- __decorateClass([
2439
- n({ attribute: "end-label" })
2440
- ], TerraDatePicker.prototype, "endLabel", 2);
2441
- __decorateClass([
2442
- n({ type: Boolean, attribute: "show-presets" })
2443
- ], TerraDatePicker.prototype, "showPresets", 2);
2444
- __decorateClass([
2445
- n({ type: Array })
2446
- ], TerraDatePicker.prototype, "presets", 2);
2447
- __decorateClass([
2448
- n({ type: Boolean, attribute: "enable-time" })
2449
- ], TerraDatePicker.prototype, "enableTime", 2);
2450
- __decorateClass([
2451
- n({ attribute: "display-format" })
2452
- ], TerraDatePicker.prototype, "displayFormat", 2);
2453
- __decorateClass([
2454
- n({ type: Boolean })
2455
- ], TerraDatePicker.prototype, "inline", 2);
2456
- __decorateClass([
2457
- n({ type: Boolean, attribute: "split-inputs" })
2458
- ], TerraDatePicker.prototype, "splitInputs", 2);
2459
- __decorateClass([
2460
- n()
2461
- ], TerraDatePicker.prototype, "placeholder", 2);
2462
- __decorateClass([
2463
- n()
2464
- ], TerraDatePicker.prototype, "startPlaceholder", 2);
2465
- __decorateClass([
2466
- n()
2467
- ], TerraDatePicker.prototype, "endPlaceholder", 2);
2468
- __decorateClass([
2469
- n({ reflect: true })
2470
- ], TerraDatePicker.prototype, "role", 2);
2471
- __decorateClass([
2472
- n({ reflect: true, attribute: "aria-label" })
2473
- ], TerraDatePicker.prototype, "ariaLabel", 2);
2474
- __decorateClass([
2475
- n({ type: Boolean })
2476
- ], TerraDatePicker.prototype, "hideClearAll", 2);
2477
- __decorateClass([
2478
- n()
2479
- ], TerraDatePicker.prototype, "clearAllLabel", 2);
2480
- __decorateClass([
2481
- n({ type: Boolean, attribute: "use-end-of-day" })
2482
- ], TerraDatePicker.prototype, "useEndOfDay", 2);
2483
- __decorateClass([
2484
- n({ attribute: "closable", type: Boolean })
2485
- ], TerraDatePicker.prototype, "showClose", 2);
2486
- __decorateClass([
2487
- n()
2488
- ], TerraDatePicker.prototype, "timezone", 2);
2489
- __decorateClass([
2490
- n({ type: Boolean, attribute: "twelve-hour" })
2491
- ], TerraDatePicker.prototype, "twelveHour", 2);
2492
- __decorateClass([
2493
- r()
2494
- ], TerraDatePicker.prototype, "isOpen", 2);
2495
- __decorateClass([
2496
- r()
2497
- ], TerraDatePicker.prototype, "leftMonth", 2);
2498
- __decorateClass([
2499
- r()
2500
- ], TerraDatePicker.prototype, "rightMonth", 2);
2501
- __decorateClass([
2502
- r()
2503
- ], TerraDatePicker.prototype, "selectedStart", 2);
2504
- __decorateClass([
2505
- r()
2506
- ], TerraDatePicker.prototype, "selectedEnd", 2);
2507
- __decorateClass([
2508
- r()
2509
- ], TerraDatePicker.prototype, "hoverDate", 2);
2510
- __decorateClass([
2511
- r()
2512
- ], TerraDatePicker.prototype, "isSelectingRange", 2);
2513
- __decorateClass([
2514
- r()
2515
- ], TerraDatePicker.prototype, "showLeftMonthDropdown", 2);
2516
- __decorateClass([
2517
- r()
2518
- ], TerraDatePicker.prototype, "showRightMonthDropdown", 2);
2519
- __decorateClass([
2520
- r()
2521
- ], TerraDatePicker.prototype, "startHour", 2);
2522
- __decorateClass([
2523
- r()
2524
- ], TerraDatePicker.prototype, "startMinute", 2);
2525
- __decorateClass([
2526
- r()
2527
- ], TerraDatePicker.prototype, "startSecond", 2);
2528
- __decorateClass([
2529
- r()
2530
- ], TerraDatePicker.prototype, "endHour", 2);
2531
- __decorateClass([
2532
- r()
2533
- ], TerraDatePicker.prototype, "endMinute", 2);
2534
- __decorateClass([
2535
- r()
2536
- ], TerraDatePicker.prototype, "endSecond", 2);
2537
- __decorateClass([
2538
- r()
2539
- ], TerraDatePicker.prototype, "selectedDates", 2);
2540
- __decorateClass([
2541
- e(".date-picker__dropdown")
2542
- ], TerraDatePicker.prototype, "dropdown", 2);
2543
-
2544
- export {
2545
- TerraDatePicker
2546
- };