@nasa-terra/components 0.0.191 → 0.0.192

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 (1305) hide show
  1. package/cdn/apis/harmony.api.d.ts +10 -1
  2. package/cdn/chunks/chunk.23F22BJH.js +303 -0
  3. package/cdn/chunks/chunk.245STXLU.js +266 -0
  4. package/cdn/chunks/chunk.24INYUDF.js +538 -0
  5. package/cdn/chunks/chunk.26GHOZ7N.js +32 -0
  6. package/cdn/chunks/chunk.27WWEW6V.js +104 -0
  7. package/cdn/chunks/chunk.2ANSTQHT.js +36 -0
  8. package/cdn/chunks/chunk.2C4BQS2H.js +186 -0
  9. package/cdn/chunks/chunk.2GKHFPDG.js +599 -0
  10. package/cdn/chunks/chunk.2KXNVEBU.js +32 -0
  11. package/cdn/chunks/chunk.2NRXB43M.js +19 -0
  12. package/cdn/chunks/chunk.2YVP3FRZ.js +231 -0
  13. package/cdn/chunks/chunk.3HMD5G6A.js +443 -0
  14. package/cdn/chunks/chunk.3JLTI64D.js +19 -0
  15. package/cdn/chunks/chunk.3OZIDRVV.js +29 -0
  16. package/cdn/chunks/chunk.3REYIBPS.js +34 -0
  17. package/cdn/chunks/chunk.3W7NW4IP.js +29 -0
  18. package/cdn/chunks/chunk.44A2OFJE.js +32 -0
  19. package/cdn/chunks/chunk.45RJD3VV.js +151 -0
  20. package/cdn/chunks/chunk.4E6YUD2P.js +294 -0
  21. package/cdn/chunks/chunk.4M4SA4VL.js +155 -0
  22. package/cdn/chunks/chunk.4MXAJRHY.js +663 -0
  23. package/cdn/chunks/chunk.4OEMN3MA.js +190 -0
  24. package/cdn/chunks/chunk.4V3MHTHA.js +19 -0
  25. package/cdn/chunks/chunk.4WNBCYY4.js +134 -0
  26. package/cdn/chunks/chunk.4Y35UDBM.js +35 -0
  27. package/cdn/chunks/chunk.53PUY3ZS.js +110 -0
  28. package/cdn/chunks/chunk.56S57ULO.js +158 -0
  29. package/cdn/chunks/chunk.5MJBTEGL.js +49 -0
  30. package/cdn/chunks/chunk.5QSRCR4F.js +19 -0
  31. package/cdn/chunks/chunk.5ZXZFXF3.js +19 -0
  32. package/cdn/chunks/chunk.64L3DD6Q.js +19 -0
  33. package/cdn/chunks/chunk.6A2ZNIEO.js +19 -0
  34. package/cdn/chunks/chunk.6GG7OO3R.js +19 -0
  35. package/cdn/chunks/chunk.6RVIWT4A.js +188 -0
  36. package/cdn/chunks/chunk.7IQDUVYV.js +33 -0
  37. package/cdn/chunks/chunk.7M4SKAG4.js +19 -0
  38. package/cdn/chunks/chunk.7WSYDEHF.js +19 -0
  39. package/cdn/chunks/chunk.7XJKHZU3.js +39 -0
  40. package/cdn/chunks/chunk.A5N5AY4C.js +29 -0
  41. package/cdn/chunks/chunk.AOCK57QX.js +32 -0
  42. package/cdn/chunks/chunk.AUTKKBC5.js +241 -0
  43. package/cdn/chunks/chunk.AZ6WPUFH.js +19 -0
  44. package/cdn/chunks/chunk.B5S3NM7F.js +19 -0
  45. package/cdn/chunks/chunk.B7WNQ5PO.js +29 -0
  46. package/cdn/chunks/chunk.BAQHLVAK.js +19 -0
  47. package/cdn/chunks/chunk.BD3FY2DX.js +945 -0
  48. package/cdn/chunks/chunk.BH4BHYZF.js +19 -0
  49. package/cdn/chunks/chunk.BJ5T462Y.js +123 -0
  50. package/cdn/chunks/chunk.BPVSVPVN.js +19 -0
  51. package/cdn/chunks/chunk.BTKS3XOS.js +19 -0
  52. package/cdn/chunks/chunk.BUNK6WCA.js +19 -0
  53. package/cdn/chunks/chunk.BX4SOFZN.js +29 -0
  54. package/cdn/chunks/chunk.BXX2TOJD.js +377 -0
  55. package/cdn/chunks/chunk.C5SUSFPR.js +19 -0
  56. package/cdn/chunks/chunk.C6YX7LF2.js +19 -0
  57. package/cdn/chunks/chunk.CFW3RCL2.js +32 -0
  58. package/cdn/chunks/chunk.CQER7LGP.js +135 -0
  59. package/cdn/chunks/chunk.CQNIDQAS.js +29 -0
  60. package/cdn/chunks/chunk.CSUI7ZCT.js +658 -0
  61. package/cdn/chunks/chunk.CSVBPSJG.js +893 -0
  62. package/cdn/chunks/chunk.CWCAKMDC.js +29 -0
  63. package/cdn/chunks/chunk.DPSHTZ6P.js +392 -0
  64. package/cdn/chunks/chunk.DPW4KE3J.js +35 -0
  65. package/cdn/chunks/chunk.DTOJJOLD.js +19 -0
  66. package/cdn/chunks/chunk.DVTAL6AU.js +539 -0
  67. package/cdn/chunks/chunk.E2WN7IE3.js +29 -0
  68. package/cdn/chunks/chunk.EAQXXCFO.js +19 -0
  69. package/cdn/chunks/chunk.ET5DXSTJ.js +230 -0
  70. package/cdn/chunks/chunk.EYJ7P7C5.js +19 -0
  71. package/cdn/chunks/chunk.FIEZKD4M.js +170 -0
  72. package/cdn/chunks/chunk.FLXIUURB.js +330 -0
  73. package/cdn/chunks/chunk.FRXDO4TZ.js +29 -0
  74. package/cdn/chunks/chunk.FSSESF75.js +19 -0
  75. package/cdn/chunks/chunk.FST3PZ4D.js +2546 -0
  76. package/cdn/chunks/chunk.FT3IPXUI.js +32 -0
  77. package/cdn/chunks/chunk.G3CPLL72.js +19 -0
  78. package/cdn/chunks/chunk.G6PX4ZZR.js +78 -0
  79. package/cdn/chunks/chunk.GLC3GLWY.js +359 -0
  80. package/cdn/chunks/chunk.GQYYZEYB.js +29 -0
  81. package/cdn/chunks/chunk.H5WQMCJJ.js +234 -0
  82. package/cdn/chunks/chunk.H6IRY4OL.js +1197 -0
  83. package/cdn/chunks/chunk.HJMZJ4N5.js +32 -0
  84. package/cdn/chunks/chunk.HLQ3QMJC.js +19 -0
  85. package/cdn/chunks/chunk.HMPCGKTE.js +224 -0
  86. package/cdn/chunks/chunk.HTXCIC4D.js +19 -0
  87. package/cdn/chunks/chunk.HWGUV5FW.js +41 -0
  88. package/cdn/chunks/chunk.I2DUTZ2T.js +33 -0
  89. package/cdn/chunks/chunk.IG3H5AIK.js +60 -0
  90. package/cdn/chunks/chunk.IJM6CDFW.js +19 -0
  91. package/cdn/chunks/chunk.IQYQG42U.js +19 -0
  92. package/cdn/chunks/chunk.IUXV7RBL.js +29 -0
  93. package/cdn/chunks/chunk.IXHOSB76.js +19 -0
  94. package/cdn/chunks/chunk.IYDWKATS.js +904 -0
  95. package/cdn/chunks/chunk.JCC5JYVG.js +196 -0
  96. package/cdn/chunks/chunk.JFLGXCKZ.js +19 -0
  97. package/cdn/chunks/chunk.JGY4EGZC.js +60 -0
  98. package/cdn/chunks/chunk.JLQCZDIY.js +29 -0
  99. package/cdn/chunks/chunk.K3RQ7AFD.js +19 -0
  100. package/cdn/chunks/chunk.K4PU2JQ6.js +138 -0
  101. package/cdn/chunks/chunk.K4ZAN4CN.js +35 -0
  102. package/cdn/chunks/chunk.K7U7MVEQ.js +56075 -0
  103. package/cdn/chunks/chunk.KF5FM4UM.js +94 -0
  104. package/cdn/chunks/chunk.KRUULCP6.js +35 -0
  105. package/cdn/chunks/chunk.KTQLYAOB.js +2615 -0
  106. package/cdn/chunks/chunk.L2R7AMTX.js +19 -0
  107. package/cdn/chunks/chunk.L7FYC6LU.js +32 -0
  108. package/cdn/chunks/chunk.LCZ7CTUM.js +19 -0
  109. package/cdn/chunks/chunk.LDXOXMSA.js +19 -0
  110. package/cdn/chunks/chunk.LG32OSKX.js +68 -0
  111. package/cdn/chunks/chunk.LJIY5NZ2.js +30 -0
  112. package/cdn/chunks/chunk.LWNGQ3V4.js +29 -0
  113. package/cdn/chunks/chunk.LYQ6YFGG.js +99 -0
  114. package/cdn/chunks/chunk.MA5VVFFT.js +29 -0
  115. package/cdn/chunks/chunk.MHATFZ67.js +19 -0
  116. package/cdn/chunks/chunk.MRFDIT24.js +29 -0
  117. package/cdn/chunks/chunk.MRRU67I2.js +29 -0
  118. package/cdn/chunks/chunk.MWU5BT2I.js +128 -0
  119. package/cdn/chunks/chunk.N6YE5MVP.js +29 -0
  120. package/cdn/chunks/chunk.N73S5M22.js +32 -0
  121. package/cdn/chunks/chunk.N74CAU67.js +32 -0
  122. package/cdn/chunks/chunk.NBVZOPJI.js +616 -0
  123. package/cdn/chunks/chunk.NDSC57Q5.js +19 -0
  124. package/cdn/chunks/chunk.NQHSSDFG.js +19 -0
  125. package/cdn/chunks/chunk.NUWLRNQB.js +161 -0
  126. package/cdn/chunks/chunk.O5JW24LZ.js +36 -0
  127. package/cdn/chunks/chunk.OG47UMA5.js +1259 -0
  128. package/cdn/chunks/chunk.OK2FJZAC.js +29 -0
  129. package/cdn/chunks/chunk.OQOUFXO5.js +19 -0
  130. package/cdn/chunks/chunk.OQXKI5GJ.js +86 -0
  131. package/cdn/chunks/chunk.P2M4CQ5P.js +33 -0
  132. package/cdn/chunks/chunk.P5TSNROJ.js +537 -0
  133. package/cdn/chunks/chunk.P7CV4I3K.js +74 -0
  134. package/cdn/chunks/chunk.PHUBZRQC.js +83 -0
  135. package/cdn/chunks/chunk.PILWENSQ.js +92 -0
  136. package/cdn/chunks/chunk.PJ3IJJYS.js +19 -0
  137. package/cdn/chunks/chunk.PP3XLO5P.js +34 -0
  138. package/cdn/chunks/chunk.PRQLTMQC.js +136 -0
  139. package/cdn/chunks/chunk.PTCT3TYT.js +357 -0
  140. package/cdn/chunks/chunk.PTK3X5ML.js +9743 -0
  141. package/cdn/chunks/chunk.PUQV3TET.js +99 -0
  142. package/cdn/chunks/chunk.PUS7Y5TV.js +1975 -0
  143. package/cdn/chunks/chunk.PYFO4TDY.js +71 -0
  144. package/cdn/chunks/chunk.PYRLBGCN.js +474 -0
  145. package/cdn/chunks/chunk.Q4J6KRAB.js +310 -0
  146. package/cdn/chunks/chunk.Q6EGX4BU.js +19 -0
  147. package/cdn/chunks/chunk.QB6OILCE.js +19 -0
  148. package/cdn/chunks/chunk.QL6AJSHA.js +19 -0
  149. package/cdn/chunks/chunk.QLVPPBKP.js +19 -0
  150. package/cdn/chunks/chunk.QS2PWRLO.js +293 -0
  151. package/cdn/chunks/chunk.QZTA6VVX.js +32 -0
  152. package/cdn/chunks/chunk.R2AKYP36.js +19 -0
  153. package/cdn/chunks/chunk.RBZCWRRQ.js +29 -0
  154. package/cdn/chunks/chunk.RD6K7VHR.js +19 -0
  155. package/cdn/chunks/chunk.REPAPQYQ.js +19 -0
  156. package/cdn/chunks/chunk.RERDMEOR.js +195 -0
  157. package/cdn/chunks/chunk.RII5KPMA.js +19 -0
  158. package/cdn/chunks/chunk.RLWFZOAQ.js +32 -0
  159. package/cdn/chunks/chunk.RR7Z7BPS.js +19 -0
  160. package/cdn/chunks/chunk.RRZ6U2ME.js +19 -0
  161. package/cdn/chunks/chunk.RXWLUABB.js +47 -0
  162. package/cdn/chunks/chunk.S62TAS73.js +276 -0
  163. package/cdn/chunks/chunk.SPZEQOKO.js +93 -0
  164. package/cdn/chunks/chunk.SQIH7CTF.js +19 -0
  165. package/cdn/chunks/chunk.SSV6F5FN.js +259 -0
  166. package/cdn/chunks/chunk.STFEACGD.js +19 -0
  167. package/cdn/chunks/chunk.SZE3XMGB.js +29 -0
  168. package/cdn/chunks/chunk.T4HBNQKM.js +29 -0
  169. package/cdn/chunks/chunk.TE3JDUXK.js +36 -0
  170. package/cdn/chunks/chunk.TGHIEUXU.js +32 -0
  171. package/cdn/chunks/chunk.TNMUVPYV.js +29 -0
  172. package/cdn/chunks/chunk.TQQ2KJQP.js +493 -0
  173. package/cdn/chunks/chunk.TV5IMGDS.js +82 -0
  174. package/cdn/chunks/chunk.U3IBIDXE.js +19 -0
  175. package/cdn/chunks/chunk.U7Y67S2C.js +19 -0
  176. package/cdn/chunks/chunk.UCCUOTF6.js +19 -0
  177. package/cdn/chunks/chunk.UDACLO72.js +33 -0
  178. package/cdn/chunks/chunk.UKAWFAYP.js +524 -0
  179. package/cdn/chunks/chunk.UTYHZRYG.js +113 -0
  180. package/cdn/chunks/chunk.UWCPGTVV.js +32 -0
  181. package/cdn/chunks/chunk.UWRZGIR3.js +551 -0
  182. package/cdn/chunks/chunk.UZPINX4J.js +610 -0
  183. package/cdn/chunks/chunk.V3MUNLZP.js +29 -0
  184. package/cdn/chunks/chunk.V6KFRX6Q.js +19 -0
  185. package/cdn/chunks/chunk.V6YORIDQ.js +132 -0
  186. package/cdn/chunks/chunk.VB3KDLU6.js +29 -0
  187. package/cdn/chunks/chunk.VDXXAQWU.js +29 -0
  188. package/cdn/chunks/chunk.VGKRX5H5.js +278 -0
  189. package/cdn/chunks/chunk.VHVI2N6K.js +34 -0
  190. package/cdn/chunks/chunk.VPEEKXD6.js +63 -0
  191. package/cdn/chunks/chunk.VWXS72MS.js +19 -0
  192. package/cdn/chunks/chunk.VY4A7VXP.js +19 -0
  193. package/cdn/chunks/chunk.W5OQMP5C.js +29 -0
  194. package/cdn/chunks/chunk.W7YINCCY.js +29 -0
  195. package/cdn/chunks/chunk.WTF7NFZZ.js +36 -0
  196. package/cdn/chunks/chunk.X27AII7Z.js +19 -0
  197. package/cdn/chunks/chunk.X6F5AXSA.js +62 -0
  198. package/cdn/chunks/chunk.XB4O6ZSP.js +139 -0
  199. package/cdn/chunks/chunk.XBQ73UMK.js +37 -0
  200. package/cdn/chunks/chunk.XE4NOQA4.js +19 -0
  201. package/cdn/chunks/chunk.XHVFPYZC.js +19 -0
  202. package/cdn/chunks/chunk.XLP5YNJK.js +19 -0
  203. package/cdn/chunks/chunk.XOOKGSCN.js +35 -0
  204. package/cdn/chunks/chunk.XRKVQYVI.js +294 -0
  205. package/cdn/chunks/chunk.XSL6GUNV.js +45 -0
  206. package/cdn/chunks/chunk.XTQYMH4X.js +915 -0
  207. package/cdn/chunks/chunk.XVNO5RTC.js +478 -0
  208. package/cdn/chunks/chunk.XWUX5XJQ.js +19 -0
  209. package/cdn/chunks/chunk.XZFUPKPW.js +29 -0
  210. package/cdn/chunks/chunk.Y4MUXZI3.js +33 -0
  211. package/cdn/chunks/chunk.Z5JWSUN3.js +19 -0
  212. package/cdn/chunks/chunk.ZJZ2OUC4.js +37 -0
  213. package/cdn/chunks/chunk.ZSNXJ3BL.js +29 -0
  214. package/cdn/chunks/chunk.ZWCA3BKW.js +68 -0
  215. package/cdn/chunks/chunk.ZZATCATC.js +29 -0
  216. package/cdn/components/accordion/accordion.component.js +3 -3
  217. package/cdn/components/accordion/accordion.js +4 -4
  218. package/cdn/components/alert/alert.component.js +2 -2
  219. package/cdn/components/alert/alert.js +3 -3
  220. package/cdn/components/avatar/avatar.component.js +3 -3
  221. package/cdn/components/avatar/avatar.js +4 -4
  222. package/cdn/components/badge/badge.component.js +2 -2
  223. package/cdn/components/badge/badge.js +3 -3
  224. package/cdn/components/banner/banner.component.js +2 -2
  225. package/cdn/components/banner/banner.js +3 -3
  226. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  227. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  228. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  229. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  230. package/cdn/components/browse-variables/browse-variables.component.js +15 -15
  231. package/cdn/components/browse-variables/browse-variables.controller.js +4 -4
  232. package/cdn/components/browse-variables/browse-variables.js +16 -16
  233. package/cdn/components/button/button.component.js +3 -3
  234. package/cdn/components/button/button.js +4 -4
  235. package/cdn/components/button-group/button-group.component.js +2 -2
  236. package/cdn/components/button-group/button-group.js +3 -3
  237. package/cdn/components/caption/caption.component.js +2 -2
  238. package/cdn/components/caption/caption.js +3 -3
  239. package/cdn/components/card/card.component.js +2 -2
  240. package/cdn/components/card/card.js +3 -3
  241. package/cdn/components/checkbox/checkbox.component.js +3 -3
  242. package/cdn/components/checkbox/checkbox.js +4 -4
  243. package/cdn/components/chip/chip.component.js +2 -2
  244. package/cdn/components/chip/chip.js +3 -3
  245. package/cdn/components/combobox/combobox.component.js +2 -2
  246. package/cdn/components/combobox/combobox.js +3 -3
  247. package/cdn/components/data-access/data-access.component.js +23 -23
  248. package/cdn/components/data-access/data-access.js +24 -24
  249. package/cdn/components/data-grid/data-grid.component.js +3 -3
  250. package/cdn/components/data-grid/data-grid.js +4 -4
  251. package/cdn/components/data-rods/data-rods.component.js +34 -34
  252. package/cdn/components/data-rods/data-rods.js +35 -35
  253. package/cdn/components/data-subsetter/data-subsetter.component.d.ts +2 -0
  254. package/cdn/components/data-subsetter/data-subsetter.component.js +34 -33
  255. package/cdn/components/data-subsetter/data-subsetter.js +35 -34
  256. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  257. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +35 -34
  258. package/cdn/components/data-subsetter-history/data-subsetter-history.js +36 -35
  259. package/cdn/components/date-picker/date-picker.component.d.ts +27 -0
  260. package/cdn/components/date-picker/date-picker.component.js +7 -7
  261. package/cdn/components/date-picker/date-picker.js +8 -8
  262. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  263. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  264. package/cdn/components/dialog/dialog.component.js +4 -4
  265. package/cdn/components/dialog/dialog.js +5 -5
  266. package/cdn/components/divider/divider.component.js +2 -2
  267. package/cdn/components/divider/divider.js +3 -3
  268. package/cdn/components/dropdown/dropdown.component.js +3 -3
  269. package/cdn/components/dropdown/dropdown.js +4 -4
  270. package/cdn/components/earthdata-login/earthdata-login.component.js +10 -10
  271. package/cdn/components/earthdata-login/earthdata-login.js +11 -11
  272. package/cdn/components/file-upload/file-upload.component.js +2 -2
  273. package/cdn/components/file-upload/file-upload.js +3 -3
  274. package/cdn/components/harmony-history/harmony-history.component.js +10 -9
  275. package/cdn/components/harmony-history/harmony-history.js +11 -10
  276. package/cdn/components/icon/icon.component.js +2 -2
  277. package/cdn/components/icon/icon.js +3 -3
  278. package/cdn/components/input/input.component.js +3 -3
  279. package/cdn/components/input/input.js +4 -4
  280. package/cdn/components/loader/loader.component.js +2 -2
  281. package/cdn/components/loader/loader.js +3 -3
  282. package/cdn/components/login/login.component.js +8 -8
  283. package/cdn/components/login/login.js +9 -9
  284. package/cdn/components/map/map.component.js +6 -6
  285. package/cdn/components/map/map.js +7 -7
  286. package/cdn/components/map/map.service.js +1 -1
  287. package/cdn/components/map/type.d.ts +2 -0
  288. package/cdn/components/menu/menu.component.js +2 -2
  289. package/cdn/components/menu/menu.js +3 -3
  290. package/cdn/components/menu-item/menu-item.component.js +5 -5
  291. package/cdn/components/menu-item/menu-item.js +6 -6
  292. package/cdn/components/option/option.component.js +3 -3
  293. package/cdn/components/option/option.js +4 -4
  294. package/cdn/components/pagination/pagination.component.js +3 -3
  295. package/cdn/components/pagination/pagination.js +4 -4
  296. package/cdn/components/plot/plot.component.js +2 -2
  297. package/cdn/components/plot/plot.js +3 -3
  298. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  299. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  300. package/cdn/components/plot-toolbar/plot-toolbar.component.js +15 -15
  301. package/cdn/components/plot-toolbar/plot-toolbar.controller.js +3 -3
  302. package/cdn/components/plot-toolbar/plot-toolbar.js +16 -16
  303. package/cdn/components/popup/popup.component.js +2 -2
  304. package/cdn/components/popup/popup.js +3 -3
  305. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  306. package/cdn/components/progress-bar/progress-bar.js +3 -3
  307. package/cdn/components/radio/radio.component.js +2 -2
  308. package/cdn/components/radio/radio.js +3 -3
  309. package/cdn/components/radio-group/radio-group.component.js +2 -2
  310. package/cdn/components/radio-group/radio-group.js +3 -3
  311. package/cdn/components/scroll-hint/scroll-hint.component.js +3 -3
  312. package/cdn/components/scroll-hint/scroll-hint.js +4 -4
  313. package/cdn/components/select/select.component.js +5 -5
  314. package/cdn/components/select/select.js +6 -6
  315. package/cdn/components/site-header/site-header.component.js +3 -3
  316. package/cdn/components/site-header/site-header.js +3 -3
  317. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  318. package/cdn/components/site-navigation/site-navigation.js +2 -2
  319. package/cdn/components/skeleton/skeleton.component.js +2 -2
  320. package/cdn/components/skeleton/skeleton.js +3 -3
  321. package/cdn/components/slider/slider.component.js +2 -2
  322. package/cdn/components/slider/slider.js +3 -3
  323. package/cdn/components/spatial-picker/spatial-picker.component.d.ts +5 -0
  324. package/cdn/components/spatial-picker/spatial-picker.component.js +11 -11
  325. package/cdn/components/spatial-picker/spatial-picker.js +12 -12
  326. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  327. package/cdn/components/status-indicator/status-indicator.js +3 -3
  328. package/cdn/components/stepper/stepper.component.js +2 -2
  329. package/cdn/components/stepper/stepper.js +3 -3
  330. package/cdn/components/stepper-step/stepper-step.component.js +3 -3
  331. package/cdn/components/stepper-step/stepper-step.js +4 -4
  332. package/cdn/components/tab/tab.component.js +3 -3
  333. package/cdn/components/tab/tab.js +4 -4
  334. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  335. package/cdn/components/tab-panel/tab-panel.js +3 -3
  336. package/cdn/components/tabs/tabs.component.js +3 -3
  337. package/cdn/components/tabs/tabs.js +4 -4
  338. package/cdn/components/tag/tag.component.js +3 -3
  339. package/cdn/components/tag/tag.js +4 -4
  340. package/cdn/components/textarea/textarea.component.js +2 -2
  341. package/cdn/components/textarea/textarea.js +3 -3
  342. package/cdn/components/time-average-map/time-average-map.component.js +26 -26
  343. package/cdn/components/time-average-map/time-average-map.controller.js +10 -10
  344. package/cdn/components/time-average-map/time-average-map.js +27 -27
  345. package/cdn/components/time-series/time-series-cache.service.d.ts +6 -0
  346. package/cdn/components/time-series/time-series-cache.service.js +1 -1
  347. package/cdn/components/time-series/time-series.component.js +27 -27
  348. package/cdn/components/time-series/time-series.controller.js +11 -11
  349. package/cdn/components/time-series/time-series.js +28 -28
  350. package/cdn/components/toast/toast.component.js +3 -3
  351. package/cdn/components/toast/toast.js +4 -4
  352. package/cdn/components/toggle/toggle.component.js +2 -2
  353. package/cdn/components/toggle/toggle.js +3 -3
  354. package/cdn/components/tooltip/tooltip.component.js +3 -3
  355. package/cdn/components/tooltip/tooltip.js +4 -4
  356. package/cdn/components/variable-combobox/variable-combobox.component.js +6 -6
  357. package/cdn/components/variable-combobox/variable-combobox.js +7 -7
  358. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +10 -10
  359. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.js +4 -4
  360. package/cdn/components/variable-keyword-search/variable-keyword-search.js +11 -11
  361. package/cdn/custom-elements.json +433 -213
  362. package/cdn/lib/harmony/harmony.request.d.ts +11 -0
  363. package/cdn/react/accordion/index.js +4 -4
  364. package/cdn/react/alert/index.js +3 -3
  365. package/cdn/react/avatar/index.js +4 -4
  366. package/cdn/react/badge/index.js +3 -3
  367. package/cdn/react/banner/index.js +3 -3
  368. package/cdn/react/breadcrumb/index.js +3 -3
  369. package/cdn/react/breadcrumbs/index.js +3 -3
  370. package/cdn/react/browse-variables/index.js +16 -16
  371. package/cdn/react/button/index.js +4 -4
  372. package/cdn/react/button-group/index.js +3 -3
  373. package/cdn/react/caption/index.js +3 -3
  374. package/cdn/react/card/index.js +3 -3
  375. package/cdn/react/checkbox/index.js +4 -4
  376. package/cdn/react/chip/index.js +3 -3
  377. package/cdn/react/combobox/index.js +3 -3
  378. package/cdn/react/data-access/index.js +24 -24
  379. package/cdn/react/data-grid/index.js +4 -4
  380. package/cdn/react/data-rods/index.js +35 -35
  381. package/cdn/react/data-subsetter/index.js +35 -34
  382. package/cdn/react/data-subsetter-history/index.js +36 -35
  383. package/cdn/react/date-picker/index.js +8 -8
  384. package/cdn/react/date-range-slider/index.js +3 -3
  385. package/cdn/react/dialog/index.js +5 -5
  386. package/cdn/react/divider/index.js +3 -3
  387. package/cdn/react/dropdown/index.js +4 -4
  388. package/cdn/react/earthdata-login/index.js +11 -11
  389. package/cdn/react/file-upload/index.js +3 -3
  390. package/cdn/react/harmony-history/index.js +11 -10
  391. package/cdn/react/icon/index.js +3 -3
  392. package/cdn/react/index.d.ts +1 -1
  393. package/cdn/react/index.js +155 -155
  394. package/cdn/react/input/index.js +4 -4
  395. package/cdn/react/loader/index.js +3 -3
  396. package/cdn/react/login/index.js +9 -9
  397. package/cdn/react/map/index.js +7 -7
  398. package/cdn/react/menu/index.js +3 -3
  399. package/cdn/react/menu-item/index.js +6 -6
  400. package/cdn/react/option/index.js +4 -4
  401. package/cdn/react/pagination/index.js +4 -4
  402. package/cdn/react/plot/index.js +3 -3
  403. package/cdn/react/plot-toolbar/index.js +16 -16
  404. package/cdn/react/popup/index.js +3 -3
  405. package/cdn/react/progress-bar/index.js +3 -3
  406. package/cdn/react/radio/index.js +3 -3
  407. package/cdn/react/radio-group/index.js +3 -3
  408. package/cdn/react/scroll-hint/index.js +4 -4
  409. package/cdn/react/select/index.js +6 -6
  410. package/cdn/react/site-header/index.js +4 -4
  411. package/cdn/react/site-navigation/index.js +3 -3
  412. package/cdn/react/skeleton/index.js +3 -3
  413. package/cdn/react/slider/index.js +3 -3
  414. package/cdn/react/spatial-picker/index.js +12 -12
  415. package/cdn/react/status-indicator/index.js +3 -3
  416. package/cdn/react/stepper/index.js +3 -3
  417. package/cdn/react/stepper-step/index.js +4 -4
  418. package/cdn/react/tab/index.js +4 -4
  419. package/cdn/react/tab-panel/index.js +3 -3
  420. package/cdn/react/tabs/index.js +4 -4
  421. package/cdn/react/tag/index.js +4 -4
  422. package/cdn/react/textarea/index.js +3 -3
  423. package/cdn/react/time-average-map/index.js +27 -27
  424. package/cdn/react/time-series/index.js +28 -28
  425. package/cdn/react/toast/index.js +4 -4
  426. package/cdn/react/toggle/index.js +3 -3
  427. package/cdn/react/tooltip/index.js +4 -4
  428. package/cdn/react/variable-combobox/index.js +7 -7
  429. package/cdn/react/variable-keyword-search/index.js +11 -11
  430. package/cdn/terra-ui-components.js +147 -147
  431. package/cdn/types/vue/index.d.ts +88 -77
  432. package/cdn/utilities/harmony.d.ts +11 -0
  433. package/cdn/utilities/harmony.js +5 -3
  434. package/cdn/utilities/variable-task.js +3 -3
  435. package/cdn/vscode.html-custom-data.json +56 -41
  436. package/cdn/web-types.json +145 -113
  437. package/dist/apis/harmony.api.d.ts +10 -1
  438. package/dist/chunks/chunk.2D55HJ64.js +1 -0
  439. package/dist/chunks/chunk.2GO7TMLP.js +1 -0
  440. package/dist/chunks/chunk.2GYNGU2K.js +1 -0
  441. package/dist/chunks/chunk.2HHUVNE2.js +1 -0
  442. package/dist/chunks/chunk.2IJJATB5.js +1 -0
  443. package/dist/chunks/chunk.2PPDUXC4.js +1 -0
  444. package/dist/chunks/chunk.2TZJ5OSU.js +121 -0
  445. package/dist/chunks/chunk.33ODMKXB.js +1 -0
  446. package/dist/chunks/chunk.37B2FLZJ.js +1 -0
  447. package/dist/chunks/chunk.3G3CSN3G.js +1 -0
  448. package/dist/chunks/chunk.3GT4NYNA.js +1 -0
  449. package/dist/chunks/chunk.3OKIF2KP.js +1 -0
  450. package/dist/chunks/chunk.3OLIE46J.js +19 -0
  451. package/dist/chunks/chunk.3S6SXGFQ.js +1 -0
  452. package/dist/chunks/chunk.3UX5QRYF.js +1 -0
  453. package/dist/chunks/chunk.43SHAFPE.js +1 -0
  454. package/dist/chunks/chunk.47FP7IRS.js +1 -0
  455. package/dist/chunks/chunk.4CAGPPMV.js +38 -0
  456. package/dist/chunks/chunk.4CI5DWX7.js +1 -0
  457. package/dist/chunks/chunk.4SKNFNU3.js +1 -0
  458. package/dist/chunks/chunk.4YQGPE6J.js +64 -0
  459. package/dist/chunks/chunk.4ZVIPOSQ.js +1 -0
  460. package/dist/chunks/chunk.567W2YB4.js +1 -0
  461. package/dist/chunks/chunk.57KBJQ5Z.js +1 -0
  462. package/dist/chunks/chunk.5OO3UVJO.js +1 -0
  463. package/dist/chunks/chunk.5TSON4Q5.js +1 -0
  464. package/dist/chunks/chunk.5UG7GGUP.js +1 -0
  465. package/dist/chunks/chunk.5XVYJITF.js +1 -0
  466. package/dist/chunks/chunk.6QTDPCVI.js +1 -0
  467. package/dist/chunks/chunk.6UWS4R34.js +8 -0
  468. package/dist/chunks/chunk.766PN3VI.js +1 -0
  469. package/dist/chunks/chunk.7IS3PQKN.js +1 -0
  470. package/dist/chunks/chunk.7JD2UT6A.js +1 -0
  471. package/dist/chunks/chunk.7VFYUGD6.js +1 -0
  472. package/dist/chunks/chunk.7X2NWNZP.js +55 -0
  473. package/dist/chunks/chunk.ACFE5TVJ.js +25 -0
  474. package/dist/chunks/chunk.AD4SBK65.js +1 -0
  475. package/dist/chunks/chunk.AHFV6WBO.js +113 -0
  476. package/dist/chunks/chunk.AN2CNNH3.js +20 -0
  477. package/dist/chunks/chunk.B2I3FFIQ.js +1 -0
  478. package/dist/chunks/chunk.BAGXAJKO.js +1 -0
  479. package/dist/chunks/chunk.BAYWCQTO.js +1 -0
  480. package/dist/chunks/chunk.BK6SKY54.js +1 -0
  481. package/dist/chunks/chunk.BOBV4O46.js +75 -0
  482. package/dist/chunks/chunk.BT6QLSOO.js +1 -0
  483. package/dist/chunks/chunk.BV6IZ2QN.js +127 -0
  484. package/dist/chunks/chunk.BVG7OM4Q.js +1 -0
  485. package/dist/chunks/chunk.CD6I4VZO.js +1 -0
  486. package/dist/chunks/chunk.CF6D473M.js +280 -0
  487. package/dist/chunks/chunk.CQLL2YKN.js +26 -0
  488. package/dist/chunks/chunk.CW47XTQB.js +1 -0
  489. package/dist/chunks/chunk.D4KXKEFI.js +1 -0
  490. package/dist/chunks/chunk.DF6IRZMZ.js +1157 -0
  491. package/dist/chunks/chunk.E76UUHH4.js +1 -0
  492. package/dist/chunks/chunk.EM4IAMRI.js +1 -0
  493. package/dist/chunks/chunk.ENQAS3E3.js +39 -0
  494. package/dist/chunks/chunk.ENXCABUB.js +1 -0
  495. package/dist/chunks/chunk.EQHUPMJQ.js +1 -0
  496. package/dist/chunks/chunk.EQJX6O4V.js +572 -0
  497. package/dist/chunks/chunk.F3PXS6XR.js +1 -0
  498. package/dist/chunks/chunk.FAWTVVL4.js +1 -0
  499. package/dist/chunks/chunk.FJIJEA4W.js +11 -0
  500. package/dist/chunks/chunk.FRY7JWSR.js +1 -0
  501. package/dist/chunks/chunk.FSHYXKJI.js +300 -0
  502. package/dist/chunks/chunk.G7H6WIM7.js +1 -0
  503. package/dist/chunks/chunk.GJG2G54S.js +62 -0
  504. package/dist/chunks/chunk.GKYP6GCC.js +1 -0
  505. package/dist/chunks/chunk.GQZN3IYC.js +1 -0
  506. package/dist/chunks/chunk.GUKZS6H7.js +1 -0
  507. package/dist/chunks/chunk.GUQPQH73.js +55 -0
  508. package/dist/chunks/chunk.H4TEESQU.js +1 -0
  509. package/dist/chunks/chunk.HEEYAQNP.js +1 -0
  510. package/dist/chunks/chunk.HJIPLW5J.js +37 -0
  511. package/dist/chunks/chunk.HLKDWTZV.js +41 -0
  512. package/dist/chunks/chunk.HVO4YL55.js +4 -0
  513. package/dist/chunks/chunk.HXJR743G.js +1 -0
  514. package/dist/chunks/chunk.HY6RFKDY.js +1 -0
  515. package/dist/chunks/chunk.HZGAYAHT.js +1 -0
  516. package/dist/chunks/chunk.I3GHWZC4.js +16 -0
  517. package/dist/chunks/chunk.I6BL3WPE.js +1 -0
  518. package/dist/chunks/chunk.IHP65UGR.js +33 -0
  519. package/dist/chunks/chunk.IN7ZOX6F.js +1 -0
  520. package/dist/chunks/chunk.IOFVAK65.js +2 -0
  521. package/dist/chunks/chunk.ISBUK3L4.js +1 -0
  522. package/dist/chunks/chunk.IWQ6YFE2.js +145 -0
  523. package/dist/chunks/chunk.JDE47ALB.js +1 -0
  524. package/dist/chunks/chunk.JDUOQDJ3.js +100 -0
  525. package/dist/chunks/chunk.JE6M4M4S.js +65 -0
  526. package/dist/chunks/chunk.JUJ7Y22D.js +74 -0
  527. package/dist/chunks/chunk.JZYLEEB7.js +1 -0
  528. package/dist/chunks/chunk.K6T46UOF.js +1 -0
  529. package/dist/chunks/chunk.KG5CMWFL.js +1 -0
  530. package/dist/chunks/chunk.KGXZLDN7.js +1 -0
  531. package/dist/chunks/chunk.KIZLB2ZY.js +1 -0
  532. package/dist/chunks/chunk.KMMLLCHB.js +1 -0
  533. package/dist/chunks/chunk.KPNCPULO.js +1 -0
  534. package/dist/chunks/chunk.KQD2HFDR.js +1 -0
  535. package/dist/chunks/chunk.KRHZH55I.js +1 -0
  536. package/dist/chunks/chunk.KTSFHPUH.js +26 -0
  537. package/dist/chunks/chunk.KWHNDO3M.js +1 -0
  538. package/dist/chunks/chunk.L2WWAWYC.js +1 -0
  539. package/dist/chunks/chunk.L3PZPPIQ.js +1 -0
  540. package/dist/chunks/chunk.L45W3S3B.js +1 -0
  541. package/dist/chunks/chunk.LFEM3FJX.js +1 -0
  542. package/dist/chunks/chunk.LH7RWUQZ.js +24 -0
  543. package/dist/chunks/chunk.LL6BEIZA.js +5 -0
  544. package/dist/chunks/chunk.LLZSYM64.js +1 -0
  545. package/dist/chunks/chunk.LM4RHNKJ.js +30 -0
  546. package/dist/chunks/chunk.LVWUQXWQ.js +1 -0
  547. package/dist/chunks/chunk.MBFAWLMY.js +9 -0
  548. package/dist/chunks/chunk.MDEHAIAG.js +1 -0
  549. package/dist/chunks/chunk.MK6COBAF.js +43 -0
  550. package/dist/chunks/chunk.MPM3TXSL.js +80 -0
  551. package/dist/chunks/chunk.NA26KJ6N.js +1 -0
  552. package/dist/chunks/chunk.NBJ7ET7E.js +1 -0
  553. package/dist/chunks/chunk.NCDC7TOR.js +1 -0
  554. package/dist/chunks/chunk.NEY2SQ2K.js +14 -0
  555. package/dist/chunks/chunk.NJJIUYH6.js +12 -0
  556. package/dist/chunks/chunk.NXGSNQLW.js +1 -0
  557. package/dist/chunks/chunk.O6Q5WBJ5.js +55 -0
  558. package/dist/chunks/chunk.OCUTIAAQ.js +1 -0
  559. package/dist/chunks/chunk.OFMDUJXM.js +1 -0
  560. package/dist/chunks/chunk.OGQQV2BX.js +1 -0
  561. package/dist/chunks/chunk.ON5BCN2P.js +1 -0
  562. package/dist/chunks/chunk.P5WP3ZNR.js +1 -0
  563. package/dist/chunks/chunk.PALWDZSA.js +1 -0
  564. package/dist/chunks/chunk.PJQAURNT.js +1 -0
  565. package/dist/chunks/chunk.PX2P3YX5.js +142 -0
  566. package/dist/chunks/chunk.PYEHMPWX.js +6 -0
  567. package/dist/chunks/chunk.Q3LRI55J.js +11 -0
  568. package/dist/chunks/chunk.QDUXLZXC.js +51 -0
  569. package/dist/chunks/chunk.QEKD7PQ4.js +1 -0
  570. package/dist/chunks/chunk.QFFYKOAS.js +1 -0
  571. package/dist/chunks/chunk.QH2WOGME.js +1 -0
  572. package/dist/chunks/chunk.QLEWT4JQ.js +23 -0
  573. package/dist/chunks/chunk.QMFEAVMN.js +17 -0
  574. package/dist/chunks/chunk.QV2ZY4DD.js +1 -0
  575. package/dist/chunks/chunk.QV5ITZ7D.js +1 -0
  576. package/dist/chunks/chunk.R5PRDVSU.js +48 -0
  577. package/dist/chunks/chunk.R6Q4JCND.js +1 -0
  578. package/dist/chunks/chunk.REKMTQRY.js +1 -0
  579. package/dist/chunks/chunk.RJML3ZEW.js +1 -0
  580. package/dist/chunks/chunk.ROCTMAMM.js +1 -0
  581. package/dist/chunks/chunk.RTXL2G7J.js +99 -0
  582. package/dist/chunks/chunk.S74OFI5C.js +1 -0
  583. package/dist/chunks/chunk.SBMSU6KI.js +35 -0
  584. package/dist/chunks/chunk.SGESE6DO.js +1 -0
  585. package/dist/chunks/chunk.SIB5Q6QQ.js +1 -0
  586. package/dist/chunks/chunk.SNMZJK77.js +1 -0
  587. package/dist/chunks/chunk.SP77OFFN.js +1 -0
  588. package/dist/chunks/chunk.STV7F7TN.js +1 -0
  589. package/dist/chunks/chunk.SU44CMPF.js +1 -0
  590. package/dist/chunks/chunk.SVLWTIBE.js +1 -0
  591. package/dist/chunks/chunk.SXBEKR3M.js +1 -0
  592. package/dist/chunks/chunk.SYEGBJVG.js +157 -0
  593. package/dist/chunks/chunk.T2BWAH5M.js +1 -0
  594. package/dist/chunks/chunk.T7WOIW6P.js +1 -0
  595. package/dist/chunks/chunk.TAQPGW7M.js +1 -0
  596. package/dist/chunks/chunk.TEOQ7XY3.js +67 -0
  597. package/dist/chunks/chunk.TGY77T44.js +122 -0
  598. package/dist/chunks/chunk.TK2JSJCN.js +12 -0
  599. package/dist/chunks/chunk.TPV33XNJ.js +1 -0
  600. package/dist/chunks/chunk.TTSYVAEW.js +1 -0
  601. package/dist/chunks/chunk.TVO3XZ2N.js +1 -0
  602. package/dist/chunks/chunk.TXOI254L.js +47 -0
  603. package/dist/chunks/chunk.TYI6WGK7.js +1 -0
  604. package/dist/chunks/chunk.U3F7WCPA.js +1 -0
  605. package/dist/chunks/chunk.U465JMCV.js +1 -0
  606. package/dist/chunks/chunk.U6HUBMNB.js +1 -0
  607. package/dist/chunks/chunk.U7OFS4YO.js +1 -0
  608. package/dist/chunks/chunk.UEIOQPHW.js +9 -0
  609. package/dist/chunks/chunk.UKUWK3UY.js +1 -0
  610. package/dist/chunks/chunk.UKWCOY7A.js +1 -0
  611. package/dist/chunks/chunk.UNRENVA4.js +1 -0
  612. package/dist/chunks/chunk.UOWK4M4L.js +1 -0
  613. package/dist/chunks/chunk.V242FK7Q.js +1 -0
  614. package/dist/chunks/chunk.V4CGJNAJ.js +30 -0
  615. package/dist/chunks/chunk.VDIB3NRZ.js +1 -0
  616. package/dist/chunks/chunk.VFE2HBPZ.js +20 -0
  617. package/dist/chunks/chunk.VP5IYIOB.js +8 -0
  618. package/dist/chunks/chunk.W2QZOO6Z.js +1 -0
  619. package/dist/chunks/chunk.W6SU4PRC.js +1 -0
  620. package/dist/chunks/chunk.W7H2V3HN.js +27 -0
  621. package/dist/chunks/chunk.WAD5F7IY.js +1 -0
  622. package/dist/chunks/chunk.WAYKA4GY.js +1 -0
  623. package/dist/chunks/chunk.WEMSJJQN.js +300 -0
  624. package/dist/chunks/chunk.WFNB4UWK.js +1 -0
  625. package/dist/chunks/chunk.WGWLPC2C.js +1 -0
  626. package/dist/chunks/chunk.WLSBHYJK.js +780 -0
  627. package/dist/chunks/chunk.WNP2BTB4.js +43 -0
  628. package/dist/chunks/chunk.WOPNQVFQ.js +5 -0
  629. package/dist/chunks/chunk.WRJYRBGT.js +1 -0
  630. package/dist/chunks/chunk.WZVYVECU.js +1 -0
  631. package/dist/chunks/chunk.X3JEFEVB.js +1 -0
  632. package/dist/chunks/chunk.X5PXI5E6.js +1 -0
  633. package/dist/chunks/chunk.X74ZBUDB.js +22 -0
  634. package/dist/chunks/chunk.XB3O7ORG.js +1 -0
  635. package/dist/chunks/chunk.XFH26EMI.js +1 -0
  636. package/dist/chunks/chunk.XTDTWZSX.js +1 -0
  637. package/dist/chunks/chunk.XVC3SMLN.js +1 -0
  638. package/dist/chunks/chunk.XYMWO3Y6.js +1 -0
  639. package/dist/chunks/chunk.Y2G3I3B3.js +35 -0
  640. package/dist/chunks/chunk.Y4SZNHG5.js +1 -0
  641. package/dist/chunks/chunk.Y4U7SQM2.js +1 -0
  642. package/dist/chunks/chunk.Y5FRCL7O.js +1 -0
  643. package/dist/chunks/chunk.Y5HJPERY.js +1 -0
  644. package/dist/chunks/chunk.YKDLYMHH.js +115 -0
  645. package/dist/chunks/chunk.YN3KH4A6.js +1 -0
  646. package/dist/chunks/chunk.YN755QKE.js +154 -0
  647. package/dist/chunks/chunk.YZLKAK5D.js +1 -0
  648. package/dist/chunks/chunk.Z44ETYQS.js +1 -0
  649. package/dist/chunks/chunk.Z5S2XQG5.js +1 -0
  650. package/dist/chunks/chunk.ZAZOHAFA.js +1 -0
  651. package/dist/chunks/chunk.ZUHRBHV4.js +1 -0
  652. package/dist/components/accordion/accordion.component.js +1 -1
  653. package/dist/components/accordion/accordion.js +1 -1
  654. package/dist/components/alert/alert.component.js +1 -1
  655. package/dist/components/alert/alert.js +1 -1
  656. package/dist/components/avatar/avatar.component.js +1 -1
  657. package/dist/components/avatar/avatar.js +1 -1
  658. package/dist/components/badge/badge.component.js +1 -1
  659. package/dist/components/badge/badge.js +1 -1
  660. package/dist/components/banner/banner.component.js +1 -1
  661. package/dist/components/banner/banner.js +1 -1
  662. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  663. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  664. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  665. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  666. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  667. package/dist/components/browse-variables/browse-variables.controller.js +1 -1
  668. package/dist/components/browse-variables/browse-variables.js +1 -1
  669. package/dist/components/button/button.component.js +1 -1
  670. package/dist/components/button/button.js +1 -1
  671. package/dist/components/button-group/button-group.component.js +1 -1
  672. package/dist/components/button-group/button-group.js +1 -1
  673. package/dist/components/caption/caption.component.js +1 -1
  674. package/dist/components/caption/caption.js +1 -1
  675. package/dist/components/card/card.component.js +1 -1
  676. package/dist/components/card/card.js +1 -1
  677. package/dist/components/checkbox/checkbox.component.js +1 -1
  678. package/dist/components/checkbox/checkbox.js +1 -1
  679. package/dist/components/chip/chip.component.js +1 -1
  680. package/dist/components/chip/chip.js +1 -1
  681. package/dist/components/combobox/combobox.component.js +1 -1
  682. package/dist/components/combobox/combobox.js +1 -1
  683. package/dist/components/data-access/data-access.component.js +1 -1
  684. package/dist/components/data-access/data-access.js +1 -1
  685. package/dist/components/data-grid/data-grid.component.js +1 -1
  686. package/dist/components/data-grid/data-grid.js +1 -1
  687. package/dist/components/data-rods/data-rods.component.js +1 -1
  688. package/dist/components/data-rods/data-rods.js +1 -1
  689. package/dist/components/data-subsetter/data-subsetter.component.d.ts +2 -0
  690. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  691. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  692. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  693. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  694. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  695. package/dist/components/date-picker/date-picker.component.d.ts +27 -0
  696. package/dist/components/date-picker/date-picker.component.js +1 -1
  697. package/dist/components/date-picker/date-picker.js +1 -1
  698. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  699. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  700. package/dist/components/dialog/dialog.component.js +1 -1
  701. package/dist/components/dialog/dialog.js +1 -1
  702. package/dist/components/divider/divider.component.js +1 -1
  703. package/dist/components/divider/divider.js +1 -1
  704. package/dist/components/dropdown/dropdown.component.js +1 -1
  705. package/dist/components/dropdown/dropdown.js +1 -1
  706. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  707. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  708. package/dist/components/file-upload/file-upload.component.js +1 -1
  709. package/dist/components/file-upload/file-upload.js +1 -1
  710. package/dist/components/harmony-history/harmony-history.component.js +1 -1
  711. package/dist/components/harmony-history/harmony-history.js +1 -1
  712. package/dist/components/icon/icon.component.js +1 -1
  713. package/dist/components/icon/icon.js +1 -1
  714. package/dist/components/input/input.component.js +1 -1
  715. package/dist/components/input/input.js +1 -1
  716. package/dist/components/loader/loader.component.js +1 -1
  717. package/dist/components/loader/loader.js +1 -1
  718. package/dist/components/login/login.component.js +1 -1
  719. package/dist/components/login/login.js +1 -1
  720. package/dist/components/map/map.component.js +1 -1
  721. package/dist/components/map/map.js +1 -1
  722. package/dist/components/map/map.service.js +1 -1
  723. package/dist/components/map/type.d.ts +2 -0
  724. package/dist/components/menu/menu.component.js +1 -1
  725. package/dist/components/menu/menu.js +1 -1
  726. package/dist/components/menu-item/menu-item.component.js +1 -1
  727. package/dist/components/menu-item/menu-item.js +1 -1
  728. package/dist/components/option/option.component.js +1 -1
  729. package/dist/components/option/option.js +1 -1
  730. package/dist/components/pagination/pagination.component.js +1 -1
  731. package/dist/components/pagination/pagination.js +1 -1
  732. package/dist/components/plot/plot.component.js +1 -1
  733. package/dist/components/plot/plot.js +1 -1
  734. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  735. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  736. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  737. package/dist/components/plot-toolbar/plot-toolbar.controller.js +1 -1
  738. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  739. package/dist/components/popup/popup.component.js +1 -1
  740. package/dist/components/popup/popup.js +1 -1
  741. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  742. package/dist/components/progress-bar/progress-bar.js +1 -1
  743. package/dist/components/radio/radio.component.js +1 -1
  744. package/dist/components/radio/radio.js +1 -1
  745. package/dist/components/radio-group/radio-group.component.js +1 -1
  746. package/dist/components/radio-group/radio-group.js +1 -1
  747. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  748. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  749. package/dist/components/select/select.component.js +1 -1
  750. package/dist/components/select/select.js +1 -1
  751. package/dist/components/site-header/site-header.component.js +1 -1
  752. package/dist/components/site-header/site-header.js +1 -1
  753. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  754. package/dist/components/site-navigation/site-navigation.js +1 -1
  755. package/dist/components/skeleton/skeleton.component.js +1 -1
  756. package/dist/components/skeleton/skeleton.js +1 -1
  757. package/dist/components/slider/slider.component.js +1 -1
  758. package/dist/components/slider/slider.js +1 -1
  759. package/dist/components/spatial-picker/spatial-picker.component.d.ts +5 -0
  760. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  761. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  762. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  763. package/dist/components/status-indicator/status-indicator.js +1 -1
  764. package/dist/components/stepper/stepper.component.js +1 -1
  765. package/dist/components/stepper/stepper.js +1 -1
  766. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  767. package/dist/components/stepper-step/stepper-step.js +1 -1
  768. package/dist/components/tab/tab.component.js +1 -1
  769. package/dist/components/tab/tab.js +1 -1
  770. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  771. package/dist/components/tab-panel/tab-panel.js +1 -1
  772. package/dist/components/tabs/tabs.component.js +1 -1
  773. package/dist/components/tabs/tabs.js +1 -1
  774. package/dist/components/tag/tag.component.js +1 -1
  775. package/dist/components/tag/tag.js +1 -1
  776. package/dist/components/textarea/textarea.component.js +1 -1
  777. package/dist/components/textarea/textarea.js +1 -1
  778. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  779. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  780. package/dist/components/time-average-map/time-average-map.js +1 -1
  781. package/dist/components/time-series/time-series-cache.service.d.ts +6 -0
  782. package/dist/components/time-series/time-series-cache.service.js +1 -1
  783. package/dist/components/time-series/time-series.component.js +1 -1
  784. package/dist/components/time-series/time-series.controller.js +1 -1
  785. package/dist/components/time-series/time-series.js +1 -1
  786. package/dist/components/toast/toast.component.js +1 -1
  787. package/dist/components/toast/toast.js +1 -1
  788. package/dist/components/toggle/toggle.component.js +1 -1
  789. package/dist/components/toggle/toggle.js +1 -1
  790. package/dist/components/tooltip/tooltip.component.js +1 -1
  791. package/dist/components/tooltip/tooltip.js +1 -1
  792. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  793. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  794. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  795. package/dist/components/variable-keyword-search/variable-keyword-search.controller.js +1 -1
  796. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  797. package/dist/custom-elements.json +433 -213
  798. package/dist/lib/harmony/harmony.request.d.ts +11 -0
  799. package/dist/react/accordion/index.js +1 -1
  800. package/dist/react/alert/index.js +1 -1
  801. package/dist/react/avatar/index.js +1 -1
  802. package/dist/react/badge/index.js +1 -1
  803. package/dist/react/banner/index.js +1 -1
  804. package/dist/react/breadcrumb/index.js +1 -1
  805. package/dist/react/breadcrumbs/index.js +1 -1
  806. package/dist/react/browse-variables/index.js +1 -1
  807. package/dist/react/button/index.js +1 -1
  808. package/dist/react/button-group/index.js +1 -1
  809. package/dist/react/caption/index.js +1 -1
  810. package/dist/react/card/index.js +1 -1
  811. package/dist/react/checkbox/index.js +1 -1
  812. package/dist/react/chip/index.js +1 -1
  813. package/dist/react/combobox/index.js +1 -1
  814. package/dist/react/data-access/index.js +1 -1
  815. package/dist/react/data-grid/index.js +1 -1
  816. package/dist/react/data-rods/index.js +1 -1
  817. package/dist/react/data-subsetter/index.js +1 -1
  818. package/dist/react/data-subsetter-history/index.js +1 -1
  819. package/dist/react/date-picker/index.js +1 -1
  820. package/dist/react/date-range-slider/index.js +1 -1
  821. package/dist/react/dialog/index.js +1 -1
  822. package/dist/react/divider/index.js +1 -1
  823. package/dist/react/dropdown/index.js +1 -1
  824. package/dist/react/earthdata-login/index.js +1 -1
  825. package/dist/react/file-upload/index.js +1 -1
  826. package/dist/react/harmony-history/index.js +1 -1
  827. package/dist/react/icon/index.js +1 -1
  828. package/dist/react/index.d.ts +1 -1
  829. package/dist/react/index.js +1 -1
  830. package/dist/react/input/index.js +1 -1
  831. package/dist/react/loader/index.js +1 -1
  832. package/dist/react/login/index.js +1 -1
  833. package/dist/react/map/index.js +1 -1
  834. package/dist/react/menu/index.js +1 -1
  835. package/dist/react/menu-item/index.js +1 -1
  836. package/dist/react/option/index.js +1 -1
  837. package/dist/react/pagination/index.js +1 -1
  838. package/dist/react/plot/index.js +1 -1
  839. package/dist/react/plot-toolbar/index.js +1 -1
  840. package/dist/react/popup/index.js +1 -1
  841. package/dist/react/progress-bar/index.js +1 -1
  842. package/dist/react/radio/index.js +1 -1
  843. package/dist/react/radio-group/index.js +1 -1
  844. package/dist/react/scroll-hint/index.js +1 -1
  845. package/dist/react/select/index.js +1 -1
  846. package/dist/react/site-header/index.js +1 -1
  847. package/dist/react/site-navigation/index.js +1 -1
  848. package/dist/react/skeleton/index.js +1 -1
  849. package/dist/react/slider/index.js +1 -1
  850. package/dist/react/spatial-picker/index.js +1 -1
  851. package/dist/react/status-indicator/index.js +1 -1
  852. package/dist/react/stepper/index.js +1 -1
  853. package/dist/react/stepper-step/index.js +1 -1
  854. package/dist/react/tab/index.js +1 -1
  855. package/dist/react/tab-panel/index.js +1 -1
  856. package/dist/react/tabs/index.js +1 -1
  857. package/dist/react/tag/index.js +1 -1
  858. package/dist/react/textarea/index.js +1 -1
  859. package/dist/react/time-average-map/index.js +1 -1
  860. package/dist/react/time-series/index.js +1 -1
  861. package/dist/react/toast/index.js +1 -1
  862. package/dist/react/toggle/index.js +1 -1
  863. package/dist/react/tooltip/index.js +1 -1
  864. package/dist/react/variable-combobox/index.js +1 -1
  865. package/dist/react/variable-keyword-search/index.js +1 -1
  866. package/dist/terra-ui-components.js +1 -1
  867. package/dist/terra_ui_components-0.0.191-py3-none-any.whl +0 -0
  868. package/dist/terra_ui_components-0.0.191.tar.gz +0 -0
  869. package/dist/types/vue/index.d.ts +88 -77
  870. package/dist/utilities/harmony.d.ts +11 -0
  871. package/dist/utilities/harmony.js +1 -1
  872. package/dist/utilities/variable-task.js +1 -1
  873. package/dist/vscode.html-custom-data.json +56 -41
  874. package/dist/web-types.json +145 -113
  875. package/package.json +2 -1
  876. package/cdn/chunks/chunk.2254DWDE.js +0 -1197
  877. package/cdn/chunks/chunk.262RP2XE.js +0 -56075
  878. package/cdn/chunks/chunk.26J2HGHO.js +0 -190
  879. package/cdn/chunks/chunk.26UZKSB4.js +0 -352
  880. package/cdn/chunks/chunk.2PEBPN6E.js +0 -241
  881. package/cdn/chunks/chunk.33BHFHKT.js +0 -110
  882. package/cdn/chunks/chunk.35R3FIWH.js +0 -29
  883. package/cdn/chunks/chunk.36UI73QC.js +0 -29
  884. package/cdn/chunks/chunk.3GC3VEPG.js +0 -19
  885. package/cdn/chunks/chunk.3HGY2OQN.js +0 -493
  886. package/cdn/chunks/chunk.3OYBNUEI.js +0 -2263
  887. package/cdn/chunks/chunk.3S7WMMIE.js +0 -478
  888. package/cdn/chunks/chunk.3SWDEX6X.js +0 -83
  889. package/cdn/chunks/chunk.3TXZPWC4.js +0 -303
  890. package/cdn/chunks/chunk.3U6NF62S.js +0 -276
  891. package/cdn/chunks/chunk.3WW575WA.js +0 -60
  892. package/cdn/chunks/chunk.45CXCBSK.js +0 -19
  893. package/cdn/chunks/chunk.47KJF23J.js +0 -35
  894. package/cdn/chunks/chunk.4ISWIXVN.js +0 -19
  895. package/cdn/chunks/chunk.4NQI77PM.js +0 -19
  896. package/cdn/chunks/chunk.564J4JRX.js +0 -19
  897. package/cdn/chunks/chunk.5AQKME2B.js +0 -68
  898. package/cdn/chunks/chunk.5CH4R2XF.js +0 -230
  899. package/cdn/chunks/chunk.5QL2BX3U.js +0 -357
  900. package/cdn/chunks/chunk.5ST44KN5.js +0 -29
  901. package/cdn/chunks/chunk.5T2GTQTE.js +0 -45
  902. package/cdn/chunks/chunk.5WLOWVTH.js +0 -19
  903. package/cdn/chunks/chunk.5XN4CHYS.js +0 -19
  904. package/cdn/chunks/chunk.65NJM3X5.js +0 -234
  905. package/cdn/chunks/chunk.67KZOH4P.js +0 -29
  906. package/cdn/chunks/chunk.6EF3RM53.js +0 -195
  907. package/cdn/chunks/chunk.6F2A5RGO.js +0 -32
  908. package/cdn/chunks/chunk.6SHDOSDX.js +0 -1259
  909. package/cdn/chunks/chunk.6TKJKIGR.js +0 -259
  910. package/cdn/chunks/chunk.6TXAD2M5.js +0 -891
  911. package/cdn/chunks/chunk.6WUVTS5T.js +0 -19
  912. package/cdn/chunks/chunk.6Y2YJ7VI.js +0 -93
  913. package/cdn/chunks/chunk.7ISACLMG.js +0 -19
  914. package/cdn/chunks/chunk.7T63UPCR.js +0 -113
  915. package/cdn/chunks/chunk.A2JK2DEX.js +0 -19
  916. package/cdn/chunks/chunk.A4Z7IIES.js +0 -78
  917. package/cdn/chunks/chunk.A5PVJF4Q.js +0 -132
  918. package/cdn/chunks/chunk.A7RI43SW.js +0 -29
  919. package/cdn/chunks/chunk.AKPUZW7W.js +0 -19
  920. package/cdn/chunks/chunk.AT6JJ7OV.js +0 -19
  921. package/cdn/chunks/chunk.AVBFDPBA.js +0 -19
  922. package/cdn/chunks/chunk.AYVGZCLZ.js +0 -551
  923. package/cdn/chunks/chunk.B4TFLVNP.js +0 -36
  924. package/cdn/chunks/chunk.BA3EXOZR.js +0 -155
  925. package/cdn/chunks/chunk.BP6TJGHY.js +0 -224
  926. package/cdn/chunks/chunk.BPEXBRN7.js +0 -19
  927. package/cdn/chunks/chunk.C2FX7JKT.js +0 -30
  928. package/cdn/chunks/chunk.CCMCLTO5.js +0 -29
  929. package/cdn/chunks/chunk.CDC6ECAD.js +0 -1975
  930. package/cdn/chunks/chunk.CQ2HGWVM.js +0 -19
  931. package/cdn/chunks/chunk.CV6WLSVP.js +0 -19
  932. package/cdn/chunks/chunk.D5UTEPJY.js +0 -29
  933. package/cdn/chunks/chunk.DA5AJNT3.js +0 -19
  934. package/cdn/chunks/chunk.DEHXTBBK.js +0 -33
  935. package/cdn/chunks/chunk.DFLPZEVR.js +0 -32
  936. package/cdn/chunks/chunk.DOUH7RMC.js +0 -41
  937. package/cdn/chunks/chunk.DUCD56DE.js +0 -29
  938. package/cdn/chunks/chunk.ECTHCJK7.js +0 -539
  939. package/cdn/chunks/chunk.EEAYQF6R.js +0 -36
  940. package/cdn/chunks/chunk.EJKUYYF5.js +0 -29
  941. package/cdn/chunks/chunk.EPT3I5PV.js +0 -36
  942. package/cdn/chunks/chunk.EQNEWWN7.js +0 -32
  943. package/cdn/chunks/chunk.EVETX6CC.js +0 -47
  944. package/cdn/chunks/chunk.F2L2AHAX.js +0 -19
  945. package/cdn/chunks/chunk.F3PALOOP.js +0 -124
  946. package/cdn/chunks/chunk.F3PBZ4K2.js +0 -32
  947. package/cdn/chunks/chunk.FFIWGCVU.js +0 -99
  948. package/cdn/chunks/chunk.FHGT252S.js +0 -359
  949. package/cdn/chunks/chunk.FOHMHGWP.js +0 -19
  950. package/cdn/chunks/chunk.FRIENHWD.js +0 -19
  951. package/cdn/chunks/chunk.FSJNUBNL.js +0 -29
  952. package/cdn/chunks/chunk.GBI6BYU7.js +0 -19
  953. package/cdn/chunks/chunk.GDEOUVFA.js +0 -19
  954. package/cdn/chunks/chunk.GEGQWMR7.js +0 -19
  955. package/cdn/chunks/chunk.GF3ZBX77.js +0 -330
  956. package/cdn/chunks/chunk.GLEUAGZQ.js +0 -33
  957. package/cdn/chunks/chunk.GTJW4TWM.js +0 -19
  958. package/cdn/chunks/chunk.H23GKZYM.js +0 -437
  959. package/cdn/chunks/chunk.H5WUFEGF.js +0 -104
  960. package/cdn/chunks/chunk.HAM7CMN5.js +0 -113
  961. package/cdn/chunks/chunk.HJGSBK77.js +0 -19
  962. package/cdn/chunks/chunk.HSILZMCT.js +0 -19
  963. package/cdn/chunks/chunk.HUU6UOOJ.js +0 -663
  964. package/cdn/chunks/chunk.HYIOQ4VO.js +0 -231
  965. package/cdn/chunks/chunk.ICMS2GTW.js +0 -32
  966. package/cdn/chunks/chunk.IMZ2PUUZ.js +0 -29
  967. package/cdn/chunks/chunk.IPP7PQYM.js +0 -33
  968. package/cdn/chunks/chunk.ISJMOZQH.js +0 -74
  969. package/cdn/chunks/chunk.IUVYGTSB.js +0 -33
  970. package/cdn/chunks/chunk.IXC72OPP.js +0 -29
  971. package/cdn/chunks/chunk.IXTOOQL6.js +0 -19
  972. package/cdn/chunks/chunk.J6OYJXBE.js +0 -19
  973. package/cdn/chunks/chunk.JCD27DBZ.js +0 -29
  974. package/cdn/chunks/chunk.JJPMJZVA.js +0 -29
  975. package/cdn/chunks/chunk.JP632EER.js +0 -19
  976. package/cdn/chunks/chunk.JPVE4VMN.js +0 -310
  977. package/cdn/chunks/chunk.JQDLN76T.js +0 -19
  978. package/cdn/chunks/chunk.K7NDNEO3.js +0 -32
  979. package/cdn/chunks/chunk.KALKPFEM.js +0 -29
  980. package/cdn/chunks/chunk.KAZO73JL.js +0 -19
  981. package/cdn/chunks/chunk.KNUKVURG.js +0 -196
  982. package/cdn/chunks/chunk.KOJBQWLN.js +0 -29
  983. package/cdn/chunks/chunk.KQZCVDQH.js +0 -9741
  984. package/cdn/chunks/chunk.KRJ3544T.js +0 -19
  985. package/cdn/chunks/chunk.KRXWPPRW.js +0 -32
  986. package/cdn/chunks/chunk.KYYZNB77.js +0 -538
  987. package/cdn/chunks/chunk.L2HZBTUI.js +0 -19
  988. package/cdn/chunks/chunk.L2LRD76T.js +0 -60
  989. package/cdn/chunks/chunk.L6YIIWMJ.js +0 -39
  990. package/cdn/chunks/chunk.LANTKQ6J.js +0 -19
  991. package/cdn/chunks/chunk.LGASTYNC.js +0 -62
  992. package/cdn/chunks/chunk.LY2MO4WB.js +0 -266
  993. package/cdn/chunks/chunk.LYBULWCK.js +0 -138
  994. package/cdn/chunks/chunk.M2XUBKCS.js +0 -19
  995. package/cdn/chunks/chunk.MF3WDXVC.js +0 -29
  996. package/cdn/chunks/chunk.MFWCWKQW.js +0 -19
  997. package/cdn/chunks/chunk.MGZ4OUHF.js +0 -19
  998. package/cdn/chunks/chunk.MIIW42T5.js +0 -19
  999. package/cdn/chunks/chunk.MJMUGCPO.js +0 -29
  1000. package/cdn/chunks/chunk.MNHYBM5Z.js +0 -82
  1001. package/cdn/chunks/chunk.MTEJSLJ7.js +0 -29
  1002. package/cdn/chunks/chunk.MU7KT4WB.js +0 -19
  1003. package/cdn/chunks/chunk.MVJSUWYZ.js +0 -19
  1004. package/cdn/chunks/chunk.MXF6XQNU.js +0 -19
  1005. package/cdn/chunks/chunk.MXPGGV5E.js +0 -524
  1006. package/cdn/chunks/chunk.N6RPSEYY.js +0 -293
  1007. package/cdn/chunks/chunk.ND3745YQ.js +0 -94
  1008. package/cdn/chunks/chunk.NXTFWRHB.js +0 -86
  1009. package/cdn/chunks/chunk.NYKDNCHN.js +0 -19
  1010. package/cdn/chunks/chunk.O4R7PTMM.js +0 -915
  1011. package/cdn/chunks/chunk.O5PYYEPN.js +0 -35
  1012. package/cdn/chunks/chunk.OF3FMFHW.js +0 -35
  1013. package/cdn/chunks/chunk.OIXADKW2.js +0 -186
  1014. package/cdn/chunks/chunk.P6233WZY.js +0 -532
  1015. package/cdn/chunks/chunk.P6CMO6UZ.js +0 -99
  1016. package/cdn/chunks/chunk.PGYLRQFG.js +0 -19
  1017. package/cdn/chunks/chunk.PJXBIMAE.js +0 -32
  1018. package/cdn/chunks/chunk.PYND2VML.js +0 -599
  1019. package/cdn/chunks/chunk.Q2NWOLHL.js +0 -19
  1020. package/cdn/chunks/chunk.Q44BATKG.js +0 -158
  1021. package/cdn/chunks/chunk.Q73UFZXB.js +0 -29
  1022. package/cdn/chunks/chunk.Q7SV5DAR.js +0 -29
  1023. package/cdn/chunks/chunk.QBPS4V2I.js +0 -19
  1024. package/cdn/chunks/chunk.QCKKTVS2.js +0 -32
  1025. package/cdn/chunks/chunk.QFQLLSEZ.js +0 -29
  1026. package/cdn/chunks/chunk.QG6HLMSI.js +0 -29
  1027. package/cdn/chunks/chunk.QGWK5PB4.js +0 -63
  1028. package/cdn/chunks/chunk.QHZGME7O.js +0 -188
  1029. package/cdn/chunks/chunk.QJQWUFQG.js +0 -19
  1030. package/cdn/chunks/chunk.QREPQHHM.js +0 -32
  1031. package/cdn/chunks/chunk.QU3RKC7F.js +0 -29
  1032. package/cdn/chunks/chunk.QWEARTJZ.js +0 -19
  1033. package/cdn/chunks/chunk.R2K7YI7D.js +0 -128
  1034. package/cdn/chunks/chunk.R6FQRIIQ.js +0 -151
  1035. package/cdn/chunks/chunk.REAGMPVS.js +0 -19
  1036. package/cdn/chunks/chunk.RFMX3Z3J.js +0 -19
  1037. package/cdn/chunks/chunk.RNWMH5KE.js +0 -37
  1038. package/cdn/chunks/chunk.RU34LNOQ.js +0 -2555
  1039. package/cdn/chunks/chunk.RZTDAMTW.js +0 -278
  1040. package/cdn/chunks/chunk.S3KNMW6P.js +0 -32
  1041. package/cdn/chunks/chunk.S5YZQD7X.js +0 -49
  1042. package/cdn/chunks/chunk.SE5BI2SX.js +0 -904
  1043. package/cdn/chunks/chunk.SISTE6BF.js +0 -170
  1044. package/cdn/chunks/chunk.SMQJ5R6S.js +0 -123
  1045. package/cdn/chunks/chunk.SQZOUKTN.js +0 -19
  1046. package/cdn/chunks/chunk.SRN76VVR.js +0 -19
  1047. package/cdn/chunks/chunk.SZVOEV6H.js +0 -29
  1048. package/cdn/chunks/chunk.T4ASJ5DA.js +0 -294
  1049. package/cdn/chunks/chunk.TAKBJ4KW.js +0 -37
  1050. package/cdn/chunks/chunk.TAL5NXNQ.js +0 -19
  1051. package/cdn/chunks/chunk.TJMBLJW2.js +0 -29
  1052. package/cdn/chunks/chunk.TQLLYTCG.js +0 -19
  1053. package/cdn/chunks/chunk.TY4ORAQ7.js +0 -19
  1054. package/cdn/chunks/chunk.U4NYKRMO.js +0 -19
  1055. package/cdn/chunks/chunk.U6NE6OMF.js +0 -19
  1056. package/cdn/chunks/chunk.UBRRAXVT.js +0 -161
  1057. package/cdn/chunks/chunk.UOGPQCIT.js +0 -19
  1058. package/cdn/chunks/chunk.URMJZSQP.js +0 -29
  1059. package/cdn/chunks/chunk.UUH3P6U6.js +0 -29
  1060. package/cdn/chunks/chunk.UXR5JZ2Z.js +0 -34
  1061. package/cdn/chunks/chunk.VCPLLAGP.js +0 -294
  1062. package/cdn/chunks/chunk.VDHEXGOZ.js +0 -36
  1063. package/cdn/chunks/chunk.VJZLDXMR.js +0 -658
  1064. package/cdn/chunks/chunk.VMT2OA4F.js +0 -71
  1065. package/cdn/chunks/chunk.VOVZK7CH.js +0 -19
  1066. package/cdn/chunks/chunk.VXVQVMGN.js +0 -19
  1067. package/cdn/chunks/chunk.W5LR7MI7.js +0 -377
  1068. package/cdn/chunks/chunk.W7II6UEO.js +0 -34
  1069. package/cdn/chunks/chunk.WA5AZ33L.js +0 -134
  1070. package/cdn/chunks/chunk.WV5U6JXW.js +0 -616
  1071. package/cdn/chunks/chunk.XB3WNOCD.js +0 -35
  1072. package/cdn/chunks/chunk.XDKRVIUT.js +0 -33
  1073. package/cdn/chunks/chunk.XMSEFR5A.js +0 -32
  1074. package/cdn/chunks/chunk.XX64ET6U.js +0 -35
  1075. package/cdn/chunks/chunk.Y6E2F5ZU.js +0 -19
  1076. package/cdn/chunks/chunk.YNU663NG.js +0 -29
  1077. package/cdn/chunks/chunk.YOZWKBNL.js +0 -19
  1078. package/cdn/chunks/chunk.YQXMPDBV.js +0 -135
  1079. package/cdn/chunks/chunk.YREZWMUX.js +0 -32
  1080. package/cdn/chunks/chunk.YTZGPIYR.js +0 -92
  1081. package/cdn/chunks/chunk.YWOGPBYJ.js +0 -29
  1082. package/cdn/chunks/chunk.YZJY5KHP.js +0 -443
  1083. package/cdn/chunks/chunk.ZEJSSTEK.js +0 -610
  1084. package/cdn/chunks/chunk.ZFQJ43PN.js +0 -32
  1085. package/cdn/chunks/chunk.ZGP4LK6V.js +0 -19
  1086. package/cdn/chunks/chunk.ZI54JMC5.js +0 -136
  1087. package/cdn/chunks/chunk.ZMWJFNDI.js +0 -19
  1088. package/cdn/chunks/chunk.ZS2NFAQK.js +0 -68
  1089. package/cdn/chunks/chunk.ZXPUZVAS.js +0 -34
  1090. package/dist/chunks/chunk.24AEZQMY.js +0 -1
  1091. package/dist/chunks/chunk.2AUL36FB.js +0 -1
  1092. package/dist/chunks/chunk.2EOIJGD7.js +0 -2
  1093. package/dist/chunks/chunk.2F6VKICO.js +0 -1
  1094. package/dist/chunks/chunk.2K4PQYF7.js +0 -1
  1095. package/dist/chunks/chunk.2KBWAAOZ.js +0 -127
  1096. package/dist/chunks/chunk.2O6UGT2E.js +0 -1
  1097. package/dist/chunks/chunk.2QJ5ILLT.js +0 -5
  1098. package/dist/chunks/chunk.2TEFEWMH.js +0 -1
  1099. package/dist/chunks/chunk.2U6NRRJX.js +0 -55
  1100. package/dist/chunks/chunk.2VBMVTVL.js +0 -1
  1101. package/dist/chunks/chunk.2WJQNEGW.js +0 -1
  1102. package/dist/chunks/chunk.32IM5557.js +0 -1
  1103. package/dist/chunks/chunk.3C5PLPEL.js +0 -1
  1104. package/dist/chunks/chunk.3F7A2YCE.js +0 -80
  1105. package/dist/chunks/chunk.3JJJ3A5W.js +0 -1
  1106. package/dist/chunks/chunk.3L5IUZSR.js +0 -1
  1107. package/dist/chunks/chunk.3PSWPHUS.js +0 -12
  1108. package/dist/chunks/chunk.3QJKE2MF.js +0 -1
  1109. package/dist/chunks/chunk.3QO7J7CV.js +0 -1
  1110. package/dist/chunks/chunk.3TFLBBWR.js +0 -115
  1111. package/dist/chunks/chunk.3TNPGXLM.js +0 -1
  1112. package/dist/chunks/chunk.3TVPBDCY.js +0 -8
  1113. package/dist/chunks/chunk.3YZ7SPS6.js +0 -1
  1114. package/dist/chunks/chunk.3Z6MBEYS.js +0 -1
  1115. package/dist/chunks/chunk.43F6G3ZK.js +0 -12
  1116. package/dist/chunks/chunk.46IN2TSC.js +0 -1
  1117. package/dist/chunks/chunk.4KJESPZX.js +0 -100
  1118. package/dist/chunks/chunk.4V7RXLNV.js +0 -1
  1119. package/dist/chunks/chunk.4XJ7SAR3.js +0 -1
  1120. package/dist/chunks/chunk.53ONDEHK.js +0 -1
  1121. package/dist/chunks/chunk.5AKALBX3.js +0 -1
  1122. package/dist/chunks/chunk.5BDNKYEE.js +0 -1
  1123. package/dist/chunks/chunk.5EIBF6PE.js +0 -1
  1124. package/dist/chunks/chunk.5F27KZSR.js +0 -1
  1125. package/dist/chunks/chunk.5OXOV6YG.js +0 -38
  1126. package/dist/chunks/chunk.5PUVB3CB.js +0 -1
  1127. package/dist/chunks/chunk.5U7A7SNZ.js +0 -1
  1128. package/dist/chunks/chunk.636ADUMN.js +0 -1
  1129. package/dist/chunks/chunk.64RITC43.js +0 -1
  1130. package/dist/chunks/chunk.6HYILGKL.js +0 -1
  1131. package/dist/chunks/chunk.6LOHOD46.js +0 -1
  1132. package/dist/chunks/chunk.73MWC6LT.js +0 -1
  1133. package/dist/chunks/chunk.7ATPABHJ.js +0 -6
  1134. package/dist/chunks/chunk.7CBI6OMZ.js +0 -1
  1135. package/dist/chunks/chunk.7F4GNB3D.js +0 -1
  1136. package/dist/chunks/chunk.7G5XKBQX.js +0 -1
  1137. package/dist/chunks/chunk.7SLBI5EP.js +0 -30
  1138. package/dist/chunks/chunk.7SQQMJNR.js +0 -1
  1139. package/dist/chunks/chunk.7UWDBFRT.js +0 -1
  1140. package/dist/chunks/chunk.7W6I25NB.js +0 -1
  1141. package/dist/chunks/chunk.A6GLN7RV.js +0 -157
  1142. package/dist/chunks/chunk.ACTAEVBU.js +0 -62
  1143. package/dist/chunks/chunk.ANNK5AL5.js +0 -23
  1144. package/dist/chunks/chunk.B34XIVQZ.js +0 -1
  1145. package/dist/chunks/chunk.B6POOW4T.js +0 -1
  1146. package/dist/chunks/chunk.BL6I47ZQ.js +0 -1
  1147. package/dist/chunks/chunk.BM6R6HEQ.js +0 -1
  1148. package/dist/chunks/chunk.BX3GH3KL.js +0 -51
  1149. package/dist/chunks/chunk.BYFR372D.js +0 -64
  1150. package/dist/chunks/chunk.C2TBND2R.js +0 -1
  1151. package/dist/chunks/chunk.CDF2IKHX.js +0 -1
  1152. package/dist/chunks/chunk.CH4OTUSN.js +0 -1
  1153. package/dist/chunks/chunk.CS34YHPW.js +0 -75
  1154. package/dist/chunks/chunk.CVFM4CTZ.js +0 -1
  1155. package/dist/chunks/chunk.CVHVZQHF.js +0 -55
  1156. package/dist/chunks/chunk.DMGD52HA.js +0 -17
  1157. package/dist/chunks/chunk.DNTGG6CH.js +0 -1
  1158. package/dist/chunks/chunk.DQO5T3TC.js +0 -1
  1159. package/dist/chunks/chunk.DVGRZOZN.js +0 -1
  1160. package/dist/chunks/chunk.E4E5YW6S.js +0 -67
  1161. package/dist/chunks/chunk.EC5X7NCS.js +0 -1
  1162. package/dist/chunks/chunk.EH52QKIC.js +0 -4
  1163. package/dist/chunks/chunk.EMPX6UWB.js +0 -1
  1164. package/dist/chunks/chunk.EXDUEHTD.js +0 -1
  1165. package/dist/chunks/chunk.F6AIFJPN.js +0 -1
  1166. package/dist/chunks/chunk.F7R7YK2O.js +0 -1
  1167. package/dist/chunks/chunk.FARMGJW3.js +0 -1
  1168. package/dist/chunks/chunk.FIWFVJ3D.js +0 -1
  1169. package/dist/chunks/chunk.FNR2LCIP.js +0 -5
  1170. package/dist/chunks/chunk.FQUIUPSV.js +0 -1
  1171. package/dist/chunks/chunk.FSL3CFV7.js +0 -8
  1172. package/dist/chunks/chunk.FTS3NXLZ.js +0 -16
  1173. package/dist/chunks/chunk.G6ZHYUA3.js +0 -1
  1174. package/dist/chunks/chunk.GBM6TJGZ.js +0 -1
  1175. package/dist/chunks/chunk.GMMPKXT2.js +0 -65
  1176. package/dist/chunks/chunk.GTDDKRIN.js +0 -1
  1177. package/dist/chunks/chunk.GV5S63SB.js +0 -1
  1178. package/dist/chunks/chunk.GVXMLVLW.js +0 -121
  1179. package/dist/chunks/chunk.GZVB4XR2.js +0 -1
  1180. package/dist/chunks/chunk.HA3PA5QZ.js +0 -145
  1181. package/dist/chunks/chunk.HFNA3AAG.js +0 -1
  1182. package/dist/chunks/chunk.HGWEW6YY.js +0 -24
  1183. package/dist/chunks/chunk.HJWKRT2R.js +0 -55
  1184. package/dist/chunks/chunk.HLEMQAKN.js +0 -1
  1185. package/dist/chunks/chunk.HV3NQBOM.js +0 -14
  1186. package/dist/chunks/chunk.I24KQBGT.js +0 -1
  1187. package/dist/chunks/chunk.I4XKMXRT.js +0 -1
  1188. package/dist/chunks/chunk.IA2ZHXCK.js +0 -1
  1189. package/dist/chunks/chunk.ILU2FM4L.js +0 -1
  1190. package/dist/chunks/chunk.INVCWNTC.js +0 -41
  1191. package/dist/chunks/chunk.IT5QPTVP.js +0 -1
  1192. package/dist/chunks/chunk.J53MLXIQ.js +0 -1
  1193. package/dist/chunks/chunk.JEE5UHSS.js +0 -1
  1194. package/dist/chunks/chunk.JNX2LPPS.js +0 -1
  1195. package/dist/chunks/chunk.JSEYNLAE.js +0 -48
  1196. package/dist/chunks/chunk.JXF5TQDT.js +0 -1
  1197. package/dist/chunks/chunk.K63TORTJ.js +0 -1
  1198. package/dist/chunks/chunk.KCEHKGQU.js +0 -1
  1199. package/dist/chunks/chunk.KGLV6NBY.js +0 -1
  1200. package/dist/chunks/chunk.KI4IENJB.js +0 -1
  1201. package/dist/chunks/chunk.KLHF3ADP.js +0 -1
  1202. package/dist/chunks/chunk.KN2ZSH5I.js +0 -1
  1203. package/dist/chunks/chunk.KRY24B2Z.js +0 -1
  1204. package/dist/chunks/chunk.KV7QXEB2.js +0 -142
  1205. package/dist/chunks/chunk.L2FOML4Z.js +0 -1
  1206. package/dist/chunks/chunk.L4FZBNJZ.js +0 -20
  1207. package/dist/chunks/chunk.L7ADVOTR.js +0 -1
  1208. package/dist/chunks/chunk.LGQNDGC2.js +0 -22
  1209. package/dist/chunks/chunk.LJ3C6YXE.js +0 -1
  1210. package/dist/chunks/chunk.LLYICQ3I.js +0 -1
  1211. package/dist/chunks/chunk.LT5BSY7X.js +0 -1
  1212. package/dist/chunks/chunk.MBRHBIVR.js +0 -1
  1213. package/dist/chunks/chunk.MJJLSP6W.js +0 -1
  1214. package/dist/chunks/chunk.MQO2Z6JR.js +0 -1
  1215. package/dist/chunks/chunk.MUMOGZM7.js +0 -572
  1216. package/dist/chunks/chunk.MVQVCZMV.js +0 -1
  1217. package/dist/chunks/chunk.MY53SBVE.js +0 -43
  1218. package/dist/chunks/chunk.N2ZA3AN3.js +0 -35
  1219. package/dist/chunks/chunk.NAMM3J43.js +0 -300
  1220. package/dist/chunks/chunk.NQZCGWQT.js +0 -1
  1221. package/dist/chunks/chunk.NSKI4HXF.js +0 -19
  1222. package/dist/chunks/chunk.NTY7GIBX.js +0 -1
  1223. package/dist/chunks/chunk.NX7TNGI4.js +0 -1
  1224. package/dist/chunks/chunk.NZ2EQTLJ.js +0 -1
  1225. package/dist/chunks/chunk.OF5IIYCM.js +0 -1
  1226. package/dist/chunks/chunk.OOOGWVDH.js +0 -1
  1227. package/dist/chunks/chunk.OQU2SEYR.js +0 -1
  1228. package/dist/chunks/chunk.P35VRJSU.js +0 -1
  1229. package/dist/chunks/chunk.PBY3SOJT.js +0 -1
  1230. package/dist/chunks/chunk.PEBGUL65.js +0 -1
  1231. package/dist/chunks/chunk.PHJXLU2K.js +0 -1
  1232. package/dist/chunks/chunk.PHTTNFIA.js +0 -1
  1233. package/dist/chunks/chunk.PICICWOI.js +0 -300
  1234. package/dist/chunks/chunk.PJYZ4R4F.js +0 -1
  1235. package/dist/chunks/chunk.PKYBMF7D.js +0 -30
  1236. package/dist/chunks/chunk.PNIB7OCC.js +0 -1
  1237. package/dist/chunks/chunk.PPDNREE3.js +0 -37
  1238. package/dist/chunks/chunk.PPHWYBMI.js +0 -35
  1239. package/dist/chunks/chunk.PVRQVGN6.js +0 -99
  1240. package/dist/chunks/chunk.QNMFOQMN.js +0 -9
  1241. package/dist/chunks/chunk.QWRFOCPZ.js +0 -1
  1242. package/dist/chunks/chunk.R5KJU6SA.js +0 -47
  1243. package/dist/chunks/chunk.R5YBBFHE.js +0 -11
  1244. package/dist/chunks/chunk.RALU3ZHR.js +0 -1
  1245. package/dist/chunks/chunk.RB2ISNUH.js +0 -11
  1246. package/dist/chunks/chunk.REKHGQMI.js +0 -1
  1247. package/dist/chunks/chunk.RFGG22O7.js +0 -1
  1248. package/dist/chunks/chunk.RFPACV7B.js +0 -760
  1249. package/dist/chunks/chunk.RGRNY7OY.js +0 -1
  1250. package/dist/chunks/chunk.RH5XP3UV.js +0 -1
  1251. package/dist/chunks/chunk.S3L7GNQT.js +0 -1
  1252. package/dist/chunks/chunk.S4TDVG2W.js +0 -1
  1253. package/dist/chunks/chunk.SO45NDQI.js +0 -1
  1254. package/dist/chunks/chunk.SRZGR2LP.js +0 -1
  1255. package/dist/chunks/chunk.SU55MP2P.js +0 -27
  1256. package/dist/chunks/chunk.SUNBQSGV.js +0 -1
  1257. package/dist/chunks/chunk.T4IJSKKI.js +0 -1
  1258. package/dist/chunks/chunk.TISMRXXU.js +0 -1
  1259. package/dist/chunks/chunk.TVNCK67F.js +0 -1
  1260. package/dist/chunks/chunk.TYO47TNX.js +0 -1
  1261. package/dist/chunks/chunk.U2YGT52C.js +0 -74
  1262. package/dist/chunks/chunk.U3QRH2D5.js +0 -25
  1263. package/dist/chunks/chunk.UBGGJOZN.js +0 -1
  1264. package/dist/chunks/chunk.UDLHCCS6.js +0 -1
  1265. package/dist/chunks/chunk.UJSQVL34.js +0 -1
  1266. package/dist/chunks/chunk.USM5KDQR.js +0 -1
  1267. package/dist/chunks/chunk.UTSAP2NZ.js +0 -1
  1268. package/dist/chunks/chunk.V3JACKIW.js +0 -1
  1269. package/dist/chunks/chunk.VGGWQYPT.js +0 -154
  1270. package/dist/chunks/chunk.VOIIKZBP.js +0 -26
  1271. package/dist/chunks/chunk.VR6KDGCO.js +0 -280
  1272. package/dist/chunks/chunk.VYMDLQKW.js +0 -33
  1273. package/dist/chunks/chunk.W43XN23E.js +0 -1
  1274. package/dist/chunks/chunk.W5A5SC27.js +0 -26
  1275. package/dist/chunks/chunk.W5BWSIPL.js +0 -1
  1276. package/dist/chunks/chunk.W7APBRIA.js +0 -43
  1277. package/dist/chunks/chunk.WBPL3IO2.js +0 -1
  1278. package/dist/chunks/chunk.WUOLVIQC.js +0 -1
  1279. package/dist/chunks/chunk.WWCNUU6Q.js +0 -1
  1280. package/dist/chunks/chunk.WZ74OBKA.js +0 -1
  1281. package/dist/chunks/chunk.X2PL4Y4D.js +0 -1
  1282. package/dist/chunks/chunk.XKL57T4O.js +0 -1
  1283. package/dist/chunks/chunk.XMDSQBKG.js +0 -112
  1284. package/dist/chunks/chunk.XMHPYUCZ.js +0 -1155
  1285. package/dist/chunks/chunk.XNB4V2JD.js +0 -9
  1286. package/dist/chunks/chunk.XPKY74HM.js +0 -1
  1287. package/dist/chunks/chunk.XUWJW3FD.js +0 -122
  1288. package/dist/chunks/chunk.XYVKWI2L.js +0 -1
  1289. package/dist/chunks/chunk.Y6JLPDVR.js +0 -1
  1290. package/dist/chunks/chunk.YBLDTPN7.js +0 -1
  1291. package/dist/chunks/chunk.YGK2DL4Z.js +0 -1
  1292. package/dist/chunks/chunk.YIGG3C7R.js +0 -1
  1293. package/dist/chunks/chunk.YJYTTQML.js +0 -1
  1294. package/dist/chunks/chunk.YMDQXJV5.js +0 -1
  1295. package/dist/chunks/chunk.YNS5FOJW.js +0 -1
  1296. package/dist/chunks/chunk.YU2YXPZA.js +0 -20
  1297. package/dist/chunks/chunk.YV46PDX2.js +0 -1
  1298. package/dist/chunks/chunk.YWHOA5CV.js +0 -1
  1299. package/dist/chunks/chunk.YXSAWSTP.js +0 -1
  1300. package/dist/chunks/chunk.ZF2UFMLE.js +0 -1
  1301. package/dist/chunks/chunk.ZJMVR6SU.js +0 -1
  1302. package/dist/chunks/chunk.ZJWPN6CD.js +0 -39
  1303. package/dist/chunks/chunk.ZSBHPO6G.js +0 -1
  1304. package/dist/terra_ui_components-0.0.190-py3-none-any.whl +0 -0
  1305. package/dist/terra_ui_components-0.0.190.tar.gz +0 -0
@@ -0,0 +1,2546 @@
1
+ import {
2
+ date_picker_styles_default
3
+ } from "./chunk.MQZHN2NY.js";
4
+ import {
5
+ TerraDropdown
6
+ } from "./chunk.24INYUDF.js";
7
+ import {
8
+ TerraInput
9
+ } from "./chunk.UZPINX4J.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.XVNO5RTC.js";
20
+ import {
21
+ TerraElement,
22
+ component_styles_default,
23
+ e,
24
+ n,
25
+ r
26
+ } from "./chunk.4MXAJRHY.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
+ };