@nasa-terra/components 0.0.171 → 0.0.173

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 (1269) hide show
  1. package/cdn/chunks/chunk.22JAM2GR.js +149 -0
  2. package/cdn/chunks/chunk.24OQ3U5Z.js +78 -0
  3. package/cdn/chunks/chunk.2EMPB3LW.js +32 -0
  4. package/cdn/chunks/chunk.2QGWAQJN.js +60 -0
  5. package/cdn/chunks/chunk.2WSE4WVS.js +29 -0
  6. package/cdn/chunks/chunk.3CZEYNCY.js +904 -0
  7. package/cdn/chunks/chunk.3HQLWECM.js +29 -0
  8. package/cdn/chunks/chunk.3JEMFKES.js +33 -0
  9. package/cdn/chunks/chunk.3UQERGOR.js +29 -0
  10. package/cdn/chunks/chunk.3X2FJVEK.js +99 -0
  11. package/cdn/chunks/chunk.4ALIIVCJ.js +83 -0
  12. package/cdn/chunks/chunk.4EOFZSCU.js +1220 -0
  13. package/cdn/chunks/chunk.4HB34IXR.js +113 -0
  14. package/cdn/chunks/chunk.4JC5MYYJ.js +19 -0
  15. package/cdn/chunks/chunk.4L3USJ7V.js +534 -0
  16. package/cdn/chunks/chunk.4LU3KPCC.js +99 -0
  17. package/cdn/chunks/chunk.5EGW6TYF.js +19 -0
  18. package/cdn/chunks/chunk.5EQCDBI5.js +19 -0
  19. package/cdn/chunks/chunk.5QNDTK5C.js +359 -0
  20. package/cdn/chunks/chunk.5T4HKCSZ.js +599 -0
  21. package/cdn/chunks/chunk.5TZHMOT6.js +19 -0
  22. package/cdn/chunks/chunk.5VEXUMPS.js +19 -0
  23. package/cdn/chunks/chunk.5X6UVUGO.js +35 -0
  24. package/cdn/chunks/chunk.5X7RGYH5.js +32 -0
  25. package/cdn/chunks/chunk.6A4AJL6I.js +493 -0
  26. package/cdn/chunks/chunk.6UPWJJ2H.js +37 -0
  27. package/cdn/chunks/chunk.6VKKERLY.js +29 -0
  28. package/cdn/chunks/chunk.6ZB5UDLH.js +32 -0
  29. package/cdn/chunks/chunk.77VJOBXN.js +99 -0
  30. package/cdn/chunks/chunk.7AIWYMSZ.js +33 -0
  31. package/cdn/chunks/chunk.7EWNP3RB.js +29 -0
  32. package/cdn/chunks/chunk.7F5GSKQM.js +662 -0
  33. package/cdn/chunks/chunk.7FHHLKG6.js +29 -0
  34. package/cdn/chunks/chunk.7GX73K7N.js +2332 -0
  35. package/cdn/chunks/chunk.7ICSIANV.js +32 -0
  36. package/cdn/chunks/chunk.7RRJB53A.js +19 -0
  37. package/cdn/chunks/chunk.7ZMAPG7T.js +621 -0
  38. package/cdn/chunks/chunk.AD6X2QDQ.js +19 -0
  39. package/cdn/chunks/chunk.AHC4D5WX.js +62 -0
  40. package/cdn/chunks/chunk.ALPGOTDF.js +29 -0
  41. package/cdn/chunks/chunk.AM4Z34M4.js +19 -0
  42. package/cdn/chunks/chunk.AUIY7R6I.js +19 -0
  43. package/cdn/chunks/chunk.AW74RV3M.js +538 -0
  44. package/cdn/chunks/chunk.B5GLZH36.js +36 -0
  45. package/cdn/chunks/chunk.BE6HWR6X.js +29 -0
  46. package/cdn/chunks/chunk.BFQEE74Y.js +29 -0
  47. package/cdn/chunks/chunk.BN3PBA2B.js +71 -0
  48. package/cdn/chunks/chunk.BO6TADCP.js +19 -0
  49. package/cdn/chunks/chunk.BPHO2VWY.js +231 -0
  50. package/cdn/chunks/chunk.CKILXR3B.js +19 -0
  51. package/cdn/chunks/chunk.CY32PXBP.js +2243 -0
  52. package/cdn/chunks/chunk.DLQNZ2FX.js +201 -0
  53. package/cdn/chunks/chunk.DSLKDLXO.js +19 -0
  54. package/cdn/chunks/chunk.DYFH5JEO.js +19 -0
  55. package/cdn/chunks/chunk.DYKLRO6T.js +35 -0
  56. package/cdn/chunks/chunk.E3S6VMGP.js +19 -0
  57. package/cdn/chunks/chunk.E66SUBT2.js +239 -0
  58. package/cdn/chunks/chunk.EBUYGPEO.js +19 -0
  59. package/cdn/chunks/chunk.EQNTIAGK.js +276 -0
  60. package/cdn/chunks/chunk.ES6LHVLZ.js +19 -0
  61. package/cdn/chunks/chunk.EVC2CEFV.js +19 -0
  62. package/cdn/chunks/chunk.EZWUKXVV.js +19 -0
  63. package/cdn/chunks/chunk.FC3AWXRS.js +155 -0
  64. package/cdn/chunks/chunk.FLOGSDAN.js +19 -0
  65. package/cdn/chunks/chunk.FPTZZYCQ.js +224 -0
  66. package/cdn/chunks/chunk.FRALPL3Q.js +293 -0
  67. package/cdn/chunks/chunk.FU7IAQIE.js +68 -0
  68. package/cdn/chunks/chunk.FZV4OMYG.js +288 -0
  69. package/cdn/chunks/chunk.G2BTQOI4.js +19 -0
  70. package/cdn/chunks/chunk.G36TYQOW.js +29 -0
  71. package/cdn/chunks/chunk.G4B744X5.js +19 -0
  72. package/cdn/chunks/chunk.G7MEGQNN.js +19 -0
  73. package/cdn/chunks/chunk.G7OQ4UBX.js +19 -0
  74. package/cdn/chunks/chunk.GE3CTCQG.js +33 -0
  75. package/cdn/chunks/chunk.GIIHXR4P.js +19 -0
  76. package/cdn/chunks/chunk.GNZVPN27.js +36 -0
  77. package/cdn/chunks/chunk.GYVP3NOI.js +1966 -0
  78. package/cdn/chunks/chunk.GZTBKCUK.js +19 -0
  79. package/cdn/chunks/chunk.HBGW5SQC.js +19 -0
  80. package/cdn/chunks/chunk.HJAU5PN5.js +29 -0
  81. package/cdn/chunks/chunk.HP6UV3RE.js +32 -0
  82. package/cdn/chunks/chunk.HSIYR3FC.js +19 -0
  83. package/cdn/chunks/chunk.I2UYPPHL.js +264 -0
  84. package/cdn/chunks/chunk.I47ZAQQN.js +19 -0
  85. package/cdn/chunks/chunk.I4S4YXM5.js +29 -0
  86. package/cdn/chunks/chunk.I4T4MXJJ.js +92 -0
  87. package/cdn/chunks/chunk.I4T7Z53M.js +19 -0
  88. package/cdn/chunks/chunk.I66FHP4Y.js +29 -0
  89. package/cdn/chunks/chunk.IN56UYZQ.js +29 -0
  90. package/cdn/chunks/chunk.IQN4B7Y7.js +19 -0
  91. package/cdn/chunks/chunk.ISAHQUKK.js +35 -0
  92. package/cdn/chunks/chunk.ITCNMUXT.js +56 -0
  93. package/cdn/chunks/chunk.J7I3DOXG.js +272 -0
  94. package/cdn/chunks/chunk.JFNG2LKN.js +19 -0
  95. package/cdn/chunks/chunk.JNRKAHDP.js +29 -0
  96. package/cdn/chunks/chunk.JOJEZOCB.js +19 -0
  97. package/cdn/chunks/chunk.K3QRL5Y6.js +190 -0
  98. package/cdn/chunks/chunk.K4A2NEU3.js +136 -0
  99. package/cdn/chunks/chunk.KA3H7JGW.js +1025 -0
  100. package/cdn/chunks/chunk.KCZYTXMI.js +39 -0
  101. package/cdn/chunks/chunk.KHWCHARR.js +19 -0
  102. package/cdn/chunks/chunk.KO6SLJFY.js +123 -0
  103. package/cdn/chunks/chunk.KQSHHYSQ.js +19 -0
  104. package/cdn/chunks/chunk.KU7DMHGO.js +151 -0
  105. package/cdn/chunks/chunk.L3GNI6LM.js +19 -0
  106. package/cdn/chunks/chunk.L3QWU3UW.js +29 -0
  107. package/cdn/chunks/chunk.LIKPLLCC.js +107 -0
  108. package/cdn/chunks/chunk.LRT2XG3L.js +616 -0
  109. package/cdn/chunks/chunk.LSYPQ7PW.js +32 -0
  110. package/cdn/chunks/chunk.LTDOAGWI.js +104 -0
  111. package/cdn/chunks/chunk.LYWYTMHK.js +234 -0
  112. package/cdn/chunks/chunk.LZOHYBPS.js +19 -0
  113. package/cdn/chunks/chunk.LZZ25OTP.js +32 -0
  114. package/cdn/chunks/chunk.M3TUVN5Y.js +238 -0
  115. package/cdn/chunks/chunk.M6P6WDUR.js +32 -0
  116. package/cdn/chunks/chunk.MIKGSP7L.js +74 -0
  117. package/cdn/chunks/chunk.MILFV3KV.js +435 -0
  118. package/cdn/chunks/chunk.MQD7Z7N3.js +230 -0
  119. package/cdn/chunks/chunk.MVNXBNGE.js +372 -0
  120. package/cdn/chunks/chunk.MXIIRHCA.js +134 -0
  121. package/cdn/chunks/chunk.NGC2G3XI.js +36 -0
  122. package/cdn/chunks/chunk.NMYRPCZA.js +33 -0
  123. package/cdn/chunks/chunk.NPOBS2JX.js +19 -0
  124. package/cdn/chunks/chunk.NV36A5Z6.js +19 -0
  125. package/cdn/chunks/chunk.O74TYRUF.js +32 -0
  126. package/cdn/chunks/chunk.OAOCKV6H.js +60 -0
  127. package/cdn/chunks/chunk.OBI6ZI34.js +35 -0
  128. package/cdn/chunks/chunk.OE6XHIPX.js +19 -0
  129. package/cdn/chunks/chunk.OHQA5DPR.js +165 -0
  130. package/cdn/chunks/chunk.OQ4GD3XR.js +39 -0
  131. package/cdn/chunks/chunk.OQAA7OWT.js +302 -0
  132. package/cdn/chunks/chunk.ORJ6A53B.js +49 -0
  133. package/cdn/chunks/chunk.P4OWV3H2.js +412 -0
  134. package/cdn/chunks/chunk.PEPJCBYF.js +524 -0
  135. package/cdn/chunks/chunk.Q67OTTO2.js +145 -0
  136. package/cdn/chunks/chunk.QB3T7EJ4.js +19 -0
  137. package/cdn/chunks/chunk.QGTUAQAZ.js +19 -0
  138. package/cdn/chunks/chunk.QGVWP6VG.js +610 -0
  139. package/cdn/chunks/chunk.QKYO7WPQ.js +55346 -0
  140. package/cdn/chunks/chunk.QMBFLUKN.js +731 -0
  141. package/cdn/chunks/chunk.QPDPH7NW.js +29 -0
  142. package/cdn/chunks/chunk.QTE3KUQ6.js +19 -0
  143. package/cdn/chunks/chunk.QTQPTVMW.js +32 -0
  144. package/cdn/chunks/chunk.QV3ZCV3M.js +132 -0
  145. package/cdn/chunks/chunk.QWJMHXVY.js +19 -0
  146. package/cdn/chunks/chunk.QYHVVT4H.js +29 -0
  147. package/cdn/chunks/chunk.R4MB4WYH.js +32 -0
  148. package/cdn/chunks/chunk.RDME4J6Q.js +29 -0
  149. package/cdn/chunks/chunk.RE3Z4A4F.js +19 -0
  150. package/cdn/chunks/chunk.RLCMUUAK.js +19 -0
  151. package/cdn/chunks/chunk.RMUPWRTZ.js +19 -0
  152. package/cdn/chunks/chunk.RP2SMXHU.js +34 -0
  153. package/cdn/chunks/chunk.RSZSP46A.js +19 -0
  154. package/cdn/chunks/chunk.RUZCRHU3.js +29 -0
  155. package/cdn/chunks/chunk.S3H4TLGW.js +29 -0
  156. package/cdn/chunks/chunk.SBHDH5CL.js +188 -0
  157. package/cdn/chunks/chunk.SDKXYMAS.js +19 -0
  158. package/cdn/chunks/chunk.SNYW5TXG.js +19 -0
  159. package/cdn/chunks/chunk.SOWG5O4K.js +29 -0
  160. package/cdn/chunks/chunk.SSGBTE4V.js +93 -0
  161. package/cdn/chunks/chunk.STMD4U7K.js +29 -0
  162. package/cdn/chunks/chunk.SVMVRTXH.js +19 -0
  163. package/cdn/chunks/chunk.T4TZVWGQ.js +19 -0
  164. package/cdn/chunks/chunk.TANHGTQ7.js +99 -0
  165. package/cdn/chunks/chunk.TF5WXJIH.js +791 -0
  166. package/cdn/chunks/chunk.TJNRJLBI.js +29 -0
  167. package/cdn/chunks/chunk.TLGXE7WV.js +52 -0
  168. package/cdn/chunks/chunk.TPAETHPF.js +19 -0
  169. package/cdn/chunks/chunk.TQSOW7QR.js +37 -0
  170. package/cdn/chunks/chunk.TZ2WH25G.js +19 -0
  171. package/cdn/chunks/chunk.U3CPUAJE.js +19 -0
  172. package/cdn/chunks/chunk.U526HMEQ.js +106 -0
  173. package/cdn/chunks/chunk.U6QPPQHL.js +19 -0
  174. package/cdn/chunks/chunk.U6SF42PX.js +189 -0
  175. package/cdn/chunks/chunk.UCISI3ZS.js +33858 -0
  176. package/cdn/chunks/chunk.UEKK5TEZ.js +32 -0
  177. package/cdn/chunks/chunk.UIJH7DPY.js +33 -0
  178. package/cdn/chunks/chunk.UR4UTWS4.js +259 -0
  179. package/cdn/chunks/chunk.UU42GYUM.js +47 -0
  180. package/cdn/chunks/chunk.UVXY67XF.js +34 -0
  181. package/cdn/chunks/chunk.UWTJE5D4.js +19 -0
  182. package/cdn/chunks/chunk.UZ3KFAXP.js +32 -0
  183. package/cdn/chunks/chunk.V7L3VTZE.js +19 -0
  184. package/cdn/chunks/chunk.VCHCYTYY.js +30 -0
  185. package/cdn/chunks/chunk.VQDXXFBL.js +36 -0
  186. package/cdn/chunks/chunk.VX5246B7.js +29 -0
  187. package/cdn/chunks/chunk.VZA7APUB.js +41 -0
  188. package/cdn/chunks/chunk.WCG6WGZ5.js +29 -0
  189. package/cdn/chunks/chunk.WIVXANPA.js +1056 -0
  190. package/cdn/chunks/chunk.X6OBGADR.js +287 -0
  191. package/cdn/chunks/chunk.XBA57JZY.js +357 -0
  192. package/cdn/chunks/chunk.XDTTOAJ6.js +158 -0
  193. package/cdn/chunks/chunk.XEKIF2VZ.js +19 -0
  194. package/cdn/chunks/chunk.XI64QDOY.js +19 -0
  195. package/cdn/chunks/chunk.XL6577SH.js +32 -0
  196. package/cdn/chunks/chunk.XWEQGNWE.js +278 -0
  197. package/cdn/chunks/chunk.XWR4HUTF.js +86 -0
  198. package/cdn/chunks/chunk.YEMVOBEF.js +83 -0
  199. package/cdn/chunks/chunk.YGGYFPT5.js +19 -0
  200. package/cdn/chunks/chunk.YQUKMT7J.js +29 -0
  201. package/cdn/chunks/chunk.YRKRXSPK.js +19 -0
  202. package/cdn/chunks/chunk.YUB4JXQX.js +29 -0
  203. package/cdn/chunks/chunk.YY5IIXF7.js +29 -0
  204. package/cdn/chunks/chunk.ZE67XCUB.js +29 -0
  205. package/cdn/chunks/chunk.ZNGF37XN.js +477 -0
  206. package/cdn/components/accordion/accordion.component.js +3 -3
  207. package/cdn/components/accordion/accordion.js +4 -4
  208. package/cdn/components/alert/alert.component.js +2 -2
  209. package/cdn/components/alert/alert.js +3 -3
  210. package/cdn/components/avatar/avatar.component.js +3 -3
  211. package/cdn/components/avatar/avatar.js +4 -4
  212. package/cdn/components/badge/badge.component.js +2 -2
  213. package/cdn/components/badge/badge.js +3 -3
  214. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  215. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  216. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  217. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  218. package/cdn/components/browse-variables/browse-variables.component.js +13 -13
  219. package/cdn/components/browse-variables/browse-variables.controller.js +3 -3
  220. package/cdn/components/browse-variables/browse-variables.js +14 -14
  221. package/cdn/components/button/button.component.js +3 -3
  222. package/cdn/components/button/button.js +4 -4
  223. package/cdn/components/button-group/button-group.component.js +2 -2
  224. package/cdn/components/button-group/button-group.js +3 -3
  225. package/cdn/components/caption/caption.component.js +2 -2
  226. package/cdn/components/caption/caption.js +3 -3
  227. package/cdn/components/card/card.component.js +2 -2
  228. package/cdn/components/card/card.js +3 -3
  229. package/cdn/components/checkbox/checkbox.component.js +3 -3
  230. package/cdn/components/checkbox/checkbox.js +4 -4
  231. package/cdn/components/chip/chip.component.js +2 -2
  232. package/cdn/components/chip/chip.js +3 -3
  233. package/cdn/components/combobox/combobox.component.js +2 -2
  234. package/cdn/components/combobox/combobox.js +3 -3
  235. package/cdn/components/data-access/data-access.component.d.ts +2 -0
  236. package/cdn/components/data-access/data-access.component.js +21 -19
  237. package/cdn/components/data-access/data-access.controller.js +4 -4
  238. package/cdn/components/data-access/data-access.js +22 -20
  239. package/cdn/components/data-grid/data-grid.component.js +3 -3
  240. package/cdn/components/data-grid/data-grid.js +4 -4
  241. package/cdn/components/data-rods/data-rods.component.js +27 -27
  242. package/cdn/components/data-rods/data-rods.js +28 -28
  243. package/cdn/components/data-subsetter/data-subsetter.component.d.ts +2 -1
  244. package/cdn/components/data-subsetter/data-subsetter.component.js +32 -32
  245. package/cdn/components/data-subsetter/data-subsetter.controller.d.ts +3 -1
  246. package/cdn/components/data-subsetter/data-subsetter.controller.js +3 -3
  247. package/cdn/components/data-subsetter/data-subsetter.js +33 -33
  248. package/cdn/components/data-subsetter/data-subsetter.styles.js +1 -1
  249. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  250. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +33 -33
  251. package/cdn/components/data-subsetter-history/data-subsetter-history.js +34 -34
  252. package/cdn/components/date-picker/date-picker.component.d.ts +4 -0
  253. package/cdn/components/date-picker/date-picker.component.js +7 -7
  254. package/cdn/components/date-picker/date-picker.js +8 -8
  255. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  256. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  257. package/cdn/components/dialog/dialog.component.js +5 -5
  258. package/cdn/components/dialog/dialog.js +6 -6
  259. package/cdn/components/dialog/dialog.styles.js +1 -1
  260. package/cdn/components/divider/divider.component.js +2 -2
  261. package/cdn/components/divider/divider.js +3 -3
  262. package/cdn/components/dropdown/dropdown.component.js +3 -3
  263. package/cdn/components/dropdown/dropdown.js +4 -4
  264. package/cdn/components/earthdata-login/earthdata-login.component.js +10 -10
  265. package/cdn/components/earthdata-login/earthdata-login.js +11 -11
  266. package/cdn/components/file-upload/file-upload.component.js +2 -2
  267. package/cdn/components/file-upload/file-upload.js +3 -3
  268. package/cdn/components/icon/icon.component.js +2 -2
  269. package/cdn/components/icon/icon.js +3 -3
  270. package/cdn/components/input/input.component.js +3 -3
  271. package/cdn/components/input/input.js +4 -4
  272. package/cdn/components/loader/loader.component.js +2 -2
  273. package/cdn/components/loader/loader.js +3 -3
  274. package/cdn/components/login/login.component.js +8 -8
  275. package/cdn/components/login/login.js +9 -9
  276. package/cdn/components/map/map.component.js +2 -2
  277. package/cdn/components/map/map.js +3 -3
  278. package/cdn/components/menu/menu.component.js +2 -2
  279. package/cdn/components/menu/menu.js +3 -3
  280. package/cdn/components/menu-item/menu-item.component.js +5 -5
  281. package/cdn/components/menu-item/menu-item.js +6 -6
  282. package/cdn/components/option/option.component.js +3 -3
  283. package/cdn/components/option/option.js +4 -4
  284. package/cdn/components/pagination/pagination.component.js +3 -3
  285. package/cdn/components/pagination/pagination.js +4 -4
  286. package/cdn/components/plot/plot.component.js +2 -2
  287. package/cdn/components/plot/plot.js +3 -3
  288. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  289. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  290. package/cdn/components/plot-toolbar/plot-toolbar.component.d.ts +0 -4
  291. package/cdn/components/plot-toolbar/plot-toolbar.component.js +10 -10
  292. package/cdn/components/plot-toolbar/plot-toolbar.controller.js +3 -3
  293. package/cdn/components/plot-toolbar/plot-toolbar.js +11 -11
  294. package/cdn/components/popup/popup.component.js +2 -2
  295. package/cdn/components/popup/popup.js +3 -3
  296. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  297. package/cdn/components/progress-bar/progress-bar.js +3 -3
  298. package/cdn/components/radio/radio.component.js +2 -2
  299. package/cdn/components/radio/radio.js +3 -3
  300. package/cdn/components/radio-group/radio-group.component.js +2 -2
  301. package/cdn/components/radio-group/radio-group.js +3 -3
  302. package/cdn/components/scroll-hint/scroll-hint.component.js +3 -3
  303. package/cdn/components/scroll-hint/scroll-hint.js +4 -4
  304. package/cdn/components/select/select.component.js +5 -5
  305. package/cdn/components/select/select.js +6 -6
  306. package/cdn/components/site-header/site-header.component.js +3 -3
  307. package/cdn/components/site-header/site-header.js +3 -3
  308. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  309. package/cdn/components/site-navigation/site-navigation.js +2 -2
  310. package/cdn/components/skeleton/skeleton.component.js +2 -2
  311. package/cdn/components/skeleton/skeleton.js +3 -3
  312. package/cdn/components/slider/slider.component.js +2 -2
  313. package/cdn/components/slider/slider.js +3 -3
  314. package/cdn/components/spatial-picker/spatial-picker.component.js +7 -7
  315. package/cdn/components/spatial-picker/spatial-picker.js +8 -8
  316. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  317. package/cdn/components/status-indicator/status-indicator.js +3 -3
  318. package/cdn/components/stepper/stepper.component.js +2 -2
  319. package/cdn/components/stepper/stepper.js +3 -3
  320. package/cdn/components/stepper-step/stepper-step.component.js +3 -3
  321. package/cdn/components/stepper-step/stepper-step.js +4 -4
  322. package/cdn/components/tab/tab.component.js +3 -3
  323. package/cdn/components/tab/tab.js +4 -4
  324. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  325. package/cdn/components/tab-panel/tab-panel.js +3 -3
  326. package/cdn/components/tabs/tabs.component.js +3 -3
  327. package/cdn/components/tabs/tabs.js +4 -4
  328. package/cdn/components/tag/tag.component.js +3 -3
  329. package/cdn/components/tag/tag.js +4 -4
  330. package/cdn/components/textarea/textarea.component.js +2 -2
  331. package/cdn/components/textarea/textarea.js +3 -3
  332. package/cdn/components/time-average-map/time-average-map.component.d.ts +0 -4
  333. package/cdn/components/time-average-map/time-average-map.component.js +17 -17
  334. package/cdn/components/time-average-map/time-average-map.js +18 -18
  335. package/cdn/components/time-series/time-series.component.d.ts +6 -4
  336. package/cdn/components/time-series/time-series.component.js +18 -18
  337. package/cdn/components/time-series/time-series.controller.d.ts +2 -0
  338. package/cdn/components/time-series/time-series.controller.js +1 -1
  339. package/cdn/components/time-series/time-series.js +19 -19
  340. package/cdn/components/toast/toast.component.js +3 -3
  341. package/cdn/components/toast/toast.js +4 -4
  342. package/cdn/components/toggle/toggle.component.js +2 -2
  343. package/cdn/components/toggle/toggle.js +3 -3
  344. package/cdn/components/tooltip/tooltip.component.js +3 -3
  345. package/cdn/components/tooltip/tooltip.js +4 -4
  346. package/cdn/components/variable-combobox/variable-combobox.component.js +6 -6
  347. package/cdn/components/variable-combobox/variable-combobox.js +7 -7
  348. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +9 -9
  349. package/cdn/components/variable-keyword-search/variable-keyword-search.controller.js +3 -3
  350. package/cdn/components/variable-keyword-search/variable-keyword-search.js +10 -10
  351. package/cdn/custom-elements.json +202 -189
  352. package/cdn/events/terra-time-series-data-change.d.ts +4 -0
  353. package/cdn/metadata-catalog/cmr-catalog.d.ts +2 -1
  354. package/cdn/metadata-catalog/queries.d.ts +1 -0
  355. package/cdn/metadata-catalog/types.d.ts +15 -0
  356. package/cdn/metadata-catalog/utilities.d.ts +1 -0
  357. package/cdn/react/accordion/index.js +4 -4
  358. package/cdn/react/alert/index.js +3 -3
  359. package/cdn/react/avatar/index.js +4 -4
  360. package/cdn/react/badge/index.js +3 -3
  361. package/cdn/react/breadcrumb/index.js +3 -3
  362. package/cdn/react/breadcrumbs/index.js +3 -3
  363. package/cdn/react/browse-variables/index.js +14 -14
  364. package/cdn/react/button/index.js +4 -4
  365. package/cdn/react/button-group/index.js +3 -3
  366. package/cdn/react/caption/index.js +3 -3
  367. package/cdn/react/card/index.js +3 -3
  368. package/cdn/react/checkbox/index.js +4 -4
  369. package/cdn/react/chip/index.js +3 -3
  370. package/cdn/react/combobox/index.js +3 -3
  371. package/cdn/react/data-access/index.js +22 -20
  372. package/cdn/react/data-grid/index.js +4 -4
  373. package/cdn/react/data-rods/index.js +28 -28
  374. package/cdn/react/data-subsetter/index.js +33 -33
  375. package/cdn/react/data-subsetter-history/index.js +34 -34
  376. package/cdn/react/date-picker/index.js +8 -8
  377. package/cdn/react/date-range-slider/index.js +3 -3
  378. package/cdn/react/dialog/index.js +6 -6
  379. package/cdn/react/divider/index.js +3 -3
  380. package/cdn/react/dropdown/index.js +4 -4
  381. package/cdn/react/earthdata-login/index.js +11 -11
  382. package/cdn/react/file-upload/index.js +3 -3
  383. package/cdn/react/icon/index.js +3 -3
  384. package/cdn/react/index.d.ts +1 -1
  385. package/cdn/react/index.js +148 -148
  386. package/cdn/react/input/index.js +4 -4
  387. package/cdn/react/loader/index.js +3 -3
  388. package/cdn/react/login/index.js +9 -9
  389. package/cdn/react/map/index.js +3 -3
  390. package/cdn/react/menu/index.js +3 -3
  391. package/cdn/react/menu-item/index.js +6 -6
  392. package/cdn/react/option/index.js +4 -4
  393. package/cdn/react/pagination/index.js +4 -4
  394. package/cdn/react/plot/index.js +3 -3
  395. package/cdn/react/plot-toolbar/index.js +11 -11
  396. package/cdn/react/popup/index.js +3 -3
  397. package/cdn/react/progress-bar/index.js +3 -3
  398. package/cdn/react/radio/index.js +3 -3
  399. package/cdn/react/radio-group/index.js +3 -3
  400. package/cdn/react/scroll-hint/index.js +4 -4
  401. package/cdn/react/select/index.js +6 -6
  402. package/cdn/react/site-header/index.js +4 -4
  403. package/cdn/react/site-navigation/index.js +3 -3
  404. package/cdn/react/skeleton/index.js +3 -3
  405. package/cdn/react/slider/index.js +3 -3
  406. package/cdn/react/spatial-picker/index.js +8 -8
  407. package/cdn/react/status-indicator/index.js +3 -3
  408. package/cdn/react/stepper/index.js +3 -3
  409. package/cdn/react/stepper-step/index.js +4 -4
  410. package/cdn/react/tab/index.js +4 -4
  411. package/cdn/react/tab-panel/index.js +3 -3
  412. package/cdn/react/tabs/index.js +4 -4
  413. package/cdn/react/tag/index.js +4 -4
  414. package/cdn/react/textarea/index.js +3 -3
  415. package/cdn/react/time-average-map/index.js +18 -18
  416. package/cdn/react/time-series/index.js +19 -19
  417. package/cdn/react/toast/index.js +4 -4
  418. package/cdn/react/toggle/index.js +3 -3
  419. package/cdn/react/tooltip/index.js +4 -4
  420. package/cdn/react/variable-combobox/index.js +7 -7
  421. package/cdn/react/variable-keyword-search/index.js +10 -10
  422. package/cdn/terra-ui-components.js +140 -140
  423. package/cdn/types/vue/index.d.ts +48 -45
  424. package/cdn/utilities/mimetypes.d.ts +1 -1
  425. package/cdn/utilities/mimetypes.js +1 -1
  426. package/cdn/vscode.html-custom-data.json +30 -29
  427. package/cdn/web-types.json +104 -104
  428. package/dist/chunks/chunk.25M3GQVI.js +21 -0
  429. package/dist/chunks/chunk.2F65ILU7.js +25 -0
  430. package/dist/chunks/chunk.2VOCMZOH.js +28 -0
  431. package/dist/chunks/chunk.2VZ64HEA.js +21 -0
  432. package/dist/chunks/chunk.2WRM4UX6.js +21 -0
  433. package/dist/chunks/chunk.2ZJ5N5W2.js +11 -0
  434. package/dist/chunks/chunk.37I6WAMP.js +770 -0
  435. package/dist/chunks/chunk.3BVEL3JW.js +24 -0
  436. package/dist/chunks/chunk.3CRW4NCZ.js +11 -0
  437. package/dist/chunks/chunk.3FOA2VZO.js +11 -0
  438. package/dist/chunks/chunk.3GW3RBL6.js +11 -0
  439. package/dist/chunks/chunk.3NOU5S4K.js +91 -0
  440. package/dist/chunks/chunk.3RS5FX7Z.js +180 -0
  441. package/dist/chunks/chunk.4EAOYZ4Y.js +90 -0
  442. package/dist/chunks/chunk.4JOCKMP4.js +24 -0
  443. package/dist/chunks/chunk.4OIPW4IN.js +21 -0
  444. package/dist/chunks/chunk.4QHN5BCR.js +11 -0
  445. package/dist/chunks/chunk.4Y2WEDVE.js +11 -0
  446. package/dist/chunks/chunk.4Y5DQUZI.js +121 -0
  447. package/dist/chunks/chunk.53H2EA5M.js +27 -0
  448. package/dist/chunks/chunk.5LKH3K3W.js +11 -0
  449. package/dist/chunks/chunk.5RVVREBJ.js +21 -0
  450. package/dist/chunks/chunk.5YMG2KJ6.js +21 -0
  451. package/dist/chunks/chunk.62ZIAEQG.js +24 -0
  452. package/dist/chunks/chunk.6AVQFT4P.js +48 -0
  453. package/dist/chunks/chunk.6EBJ6G3H.js +11 -0
  454. package/dist/chunks/chunk.6F4S57QO.js +11 -0
  455. package/dist/chunks/chunk.6GEV2AQL.js +355 -0
  456. package/dist/chunks/chunk.6GPT2252.js +43 -0
  457. package/dist/chunks/chunk.6KIZ2657.js +11 -0
  458. package/dist/chunks/chunk.6Q4CBJWL.js +2319 -0
  459. package/dist/chunks/chunk.6SGZCYGQ.js +74 -0
  460. package/dist/chunks/chunk.72H2HDXK.js +25 -0
  461. package/dist/chunks/chunk.755I6E44.js +11 -0
  462. package/dist/chunks/chunk.76VSG6I2.js +124 -0
  463. package/dist/chunks/chunk.7BKNXEME.js +24 -0
  464. package/dist/chunks/chunk.7GOUVYOD.js +581 -0
  465. package/dist/chunks/chunk.7HRBKVAR.js +21 -0
  466. package/dist/chunks/chunk.7HXWVCYI.js +21 -0
  467. package/dist/chunks/chunk.7P7PZ5XC.js +21 -0
  468. package/dist/chunks/chunk.7PMNU4UI.js +112 -0
  469. package/dist/chunks/chunk.7RZEKEUZ.js +11 -0
  470. package/dist/chunks/chunk.7WDXD466.js +1008 -0
  471. package/dist/chunks/chunk.AFOTW6DH.js +21 -0
  472. package/dist/chunks/chunk.AG377SDY.js +11 -0
  473. package/dist/chunks/chunk.AH7PYVLD.js +21 -0
  474. package/dist/chunks/chunk.AQSBCRI5.js +252 -0
  475. package/dist/chunks/chunk.BAVBPYAO.js +20 -0
  476. package/dist/chunks/chunk.BBGOFH62.js +11 -0
  477. package/dist/chunks/chunk.BDPPKWS4.js +21 -0
  478. package/dist/chunks/chunk.BFCPSAZ2.js +264 -0
  479. package/dist/chunks/chunk.BNB533SF.js +21 -0
  480. package/dist/chunks/chunk.BRZC353M.js +11 -0
  481. package/dist/chunks/chunk.BSNPOPHM.js +11 -0
  482. package/dist/chunks/chunk.BYOBOQF2.js +844 -0
  483. package/dist/chunks/chunk.BZVSSKVU.js +345 -0
  484. package/dist/chunks/chunk.CKVKXIMR.js +11 -0
  485. package/dist/chunks/chunk.CPYHFNC3.js +86 -0
  486. package/dist/chunks/chunk.CTBGPRH4.js +11 -0
  487. package/dist/chunks/chunk.CUAHYDDE.js +11 -0
  488. package/dist/chunks/chunk.CXLQ4RKA.js +21 -0
  489. package/dist/chunks/chunk.D2MYFCNZ.js +245 -0
  490. package/dist/chunks/chunk.D76BZEAN.js +97 -0
  491. package/dist/chunks/chunk.DBJRHMP4.js +214 -0
  492. package/dist/chunks/chunk.DKMOZLOI.js +75 -0
  493. package/dist/chunks/chunk.DLWOS6BW.js +26 -0
  494. package/dist/chunks/chunk.DMCP56YP.js +11 -0
  495. package/dist/chunks/chunk.DR3V64PI.js +11 -0
  496. package/dist/chunks/chunk.E3QFHJY2.js +11 -0
  497. package/dist/chunks/chunk.E4EZDH7G.js +21 -0
  498. package/dist/chunks/chunk.E6KQAVJM.js +272 -0
  499. package/dist/chunks/chunk.ECRQXDDF.js +11 -0
  500. package/dist/chunks/chunk.EFLG5YIG.js +11 -0
  501. package/dist/chunks/chunk.ELCUB5EP.js +21 -0
  502. package/dist/chunks/chunk.EQKCYK3K.js +21 -0
  503. package/dist/chunks/chunk.EQS7AC27.js +11 -0
  504. package/dist/chunks/chunk.ETNOCBXV.js +259 -0
  505. package/dist/chunks/chunk.EW3VHFI7.js +39 -0
  506. package/dist/chunks/chunk.FFTIB26T.js +443 -0
  507. package/dist/chunks/chunk.FJ26ILHV.js +21 -0
  508. package/dist/chunks/chunk.FLXEZUJP.js +220 -0
  509. package/dist/chunks/chunk.FQFJCEW7.js +402 -0
  510. package/dist/chunks/chunk.FUAMU57O.js +11 -0
  511. package/dist/chunks/chunk.FYVT2G5Y.js +27 -0
  512. package/dist/chunks/chunk.G42Z5PNT.js +91 -0
  513. package/dist/chunks/chunk.GA7IOZ65.js +180 -0
  514. package/dist/chunks/chunk.H3V5S4TR.js +153 -0
  515. package/dist/chunks/chunk.H5NGFDVG.js +11 -0
  516. package/dist/chunks/chunk.H6ABLMXN.js +11 -0
  517. package/dist/chunks/chunk.HDV5F3YJ.js +11 -0
  518. package/dist/chunks/chunk.HTMQKXQS.js +230 -0
  519. package/dist/chunks/chunk.HTYRZ5JY.js +93 -0
  520. package/dist/chunks/chunk.HVOD6QWA.js +474 -0
  521. package/dist/chunks/chunk.HWQLXN5G.js +247 -0
  522. package/dist/chunks/chunk.I4IIVOUZ.js +2228 -0
  523. package/dist/chunks/chunk.I5WFZXLP.js +213 -0
  524. package/dist/chunks/chunk.IFX2N2F2.js +596 -0
  525. package/dist/chunks/chunk.IGGF3WON.js +28 -0
  526. package/dist/chunks/chunk.II2UMQ6I.js +720 -0
  527. package/dist/chunks/chunk.IMJC2C4A.js +24 -0
  528. package/dist/chunks/chunk.INL4U3SG.js +25 -0
  529. package/dist/chunks/chunk.IT44PAE5.js +262 -0
  530. package/dist/chunks/chunk.IUMJQD3V.js +11 -0
  531. package/dist/chunks/chunk.JC4GIFCM.js +11 -0
  532. package/dist/chunks/chunk.JDW7JFHB.js +21 -0
  533. package/dist/chunks/chunk.JF7QMJJ3.js +409 -0
  534. package/dist/chunks/chunk.JIVWM74C.js +11 -0
  535. package/dist/chunks/chunk.JRNIARZZ.js +477 -0
  536. package/dist/chunks/chunk.JYANJSE7.js +97 -0
  537. package/dist/chunks/chunk.K36I4ALN.js +519 -0
  538. package/dist/chunks/chunk.K4VRA66U.js +11 -0
  539. package/dist/chunks/chunk.KI6OEH42.js +26 -0
  540. package/dist/chunks/chunk.KO3QHRQJ.js +25 -0
  541. package/dist/chunks/chunk.KPCSQEKP.js +11 -0
  542. package/dist/chunks/chunk.L3NM2AUU.js +29 -0
  543. package/dist/chunks/chunk.L3QGS6DM.js +78 -0
  544. package/dist/chunks/chunk.L4B374JT.js +11 -0
  545. package/dist/chunks/chunk.LA7VFVVR.js +61 -0
  546. package/dist/chunks/chunk.LEEJVM2M.js +11 -0
  547. package/dist/chunks/chunk.LFNDOUX7.js +11 -0
  548. package/dist/chunks/chunk.LKV5CBWU.js +11 -0
  549. package/dist/chunks/chunk.LUYFVAMD.js +64 -0
  550. package/dist/chunks/chunk.LWVBMC7M.js +11 -0
  551. package/dist/chunks/chunk.LXWNTIYK.js +24 -0
  552. package/dist/chunks/chunk.MBFDYBJM.js +21 -0
  553. package/dist/chunks/chunk.MDNKZRSM.js +11 -0
  554. package/dist/chunks/chunk.MLOFLEMG.js +525 -0
  555. package/dist/chunks/chunk.MMSWR2XT.js +21 -0
  556. package/dist/chunks/chunk.MPVMQTJ6.js +21 -0
  557. package/dist/chunks/chunk.MZ4FDVFI.js +139 -0
  558. package/dist/chunks/chunk.NCH2U7UJ.js +33 -0
  559. package/dist/chunks/chunk.NZVVOWVO.js +11 -0
  560. package/dist/chunks/chunk.OEBQ6WWW.js +25 -0
  561. package/dist/chunks/chunk.OEVC7AGS.js +11 -0
  562. package/dist/chunks/chunk.OIVARBKI.js +27 -0
  563. package/dist/chunks/chunk.OIZOD35Q.js +24 -0
  564. package/dist/chunks/chunk.ON3YVM46.js +138 -0
  565. package/dist/chunks/chunk.OQ2S3AA5.js +11 -0
  566. package/dist/chunks/chunk.PFMNPA56.js +83 -0
  567. package/dist/chunks/chunk.PJP7JBDX.js +31 -0
  568. package/dist/chunks/chunk.PNHCGL4K.js +28 -0
  569. package/dist/chunks/chunk.PZSNM7Y7.js +592 -0
  570. package/dist/chunks/chunk.Q22TEDZU.js +24 -0
  571. package/dist/chunks/chunk.Q2H33KB6.js +24 -0
  572. package/dist/chunks/chunk.Q7IXF3O6.js +11 -0
  573. package/dist/chunks/chunk.QJ45BQFQ.js +145 -0
  574. package/dist/chunks/chunk.QKPKEV3T.js +11 -0
  575. package/dist/chunks/chunk.QQMW6GT2.js +1045 -0
  576. package/dist/chunks/chunk.QSJY2DSS.js +11 -0
  577. package/dist/chunks/chunk.QXGHD6IW.js +11 -0
  578. package/dist/chunks/chunk.QZNCXWFL.js +11 -0
  579. package/dist/chunks/chunk.R3OFHVHU.js +11 -0
  580. package/dist/chunks/chunk.R5VHVPBY.js +24 -0
  581. package/dist/chunks/chunk.RDEOS3ZG.js +85 -0
  582. package/dist/chunks/chunk.RH4LHJHZ.js +21 -0
  583. package/dist/chunks/chunk.RN4VCRRV.js +89 -0
  584. package/dist/chunks/chunk.RSE4IMJD.js +11 -0
  585. package/dist/chunks/chunk.RTKDNTRV.js +11 -0
  586. package/dist/chunks/chunk.SIGIBUV3.js +24 -0
  587. package/dist/chunks/chunk.SJVXFIWD.js +43 -0
  588. package/dist/chunks/chunk.SNI3GRL7.js +180 -0
  589. package/dist/chunks/chunk.SRLQTM4M.js +291 -0
  590. package/dist/chunks/chunk.SUOLYC4C.js +1122 -0
  591. package/dist/chunks/chunk.SXPM42XO.js +220 -0
  592. package/dist/chunks/chunk.T6Q62CEN.js +11 -0
  593. package/dist/chunks/chunk.TEYRIQPX.js +11 -0
  594. package/dist/chunks/chunk.TFKL5DJ5.js +21 -0
  595. package/dist/chunks/chunk.THWLNG2A.js +52 -0
  596. package/dist/chunks/chunk.TMXVDFSE.js +21 -0
  597. package/dist/chunks/chunk.TNMLOQZS.js +24 -0
  598. package/dist/chunks/chunk.TQQ36LCR.js +52 -0
  599. package/dist/chunks/chunk.TRXSEINU.js +21 -0
  600. package/dist/chunks/chunk.TVXTIOPO.js +11 -0
  601. package/dist/chunks/chunk.TY4H6MKT.js +21 -0
  602. package/dist/chunks/chunk.UFSZ7IUJ.js +101 -0
  603. package/dist/chunks/chunk.UH7BQYXA.js +28 -0
  604. package/dist/chunks/chunk.UH7KMM6W.js +280 -0
  605. package/dist/chunks/chunk.UTPOSXTC.js +11 -0
  606. package/dist/chunks/chunk.UU2S72KN.js +30 -0
  607. package/dist/chunks/chunk.UZLFME7D.js +230 -0
  608. package/dist/chunks/chunk.VB6VSQRC.js +345 -0
  609. package/dist/chunks/chunk.VG2ESYPS.js +67 -0
  610. package/dist/chunks/chunk.VGNT6ULL.js +609 -0
  611. package/dist/chunks/chunk.VIEWRBBY.js +422 -0
  612. package/dist/chunks/chunk.VSKUQ46Q.js +48 -0
  613. package/dist/chunks/chunk.VT5KHE7G.js +451 -0
  614. package/dist/chunks/chunk.WRMEED2V.js +11 -0
  615. package/dist/chunks/chunk.X3BWD77K.js +11 -0
  616. package/dist/chunks/chunk.XEPTHU2I.js +143 -0
  617. package/dist/chunks/chunk.XJNO4Q3R.js +21 -0
  618. package/dist/chunks/chunk.XN574D6F.js +11 -0
  619. package/dist/chunks/chunk.XNUE63XD.js +58 -0
  620. package/dist/chunks/chunk.XPSSVTGP.js +24 -0
  621. package/dist/chunks/chunk.XX2ELX62.js +11 -0
  622. package/dist/chunks/chunk.XYOXCRL4.js +277 -0
  623. package/dist/chunks/chunk.XYQ5OEQP.js +190 -0
  624. package/dist/chunks/chunk.Y2VTLMTQ.js +21 -0
  625. package/dist/chunks/chunk.Y3OYYVP2.js +27 -0
  626. package/dist/chunks/chunk.Y5YDIDOR.js +11 -0
  627. package/dist/chunks/chunk.YG577JJA.js +1204 -0
  628. package/dist/chunks/chunk.YW6LTV2C.js +21 -0
  629. package/dist/chunks/chunk.Z3X4AUAX.js +123 -0
  630. package/dist/chunks/chunk.Z4XSQL3L.js +29 -0
  631. package/dist/chunks/chunk.ZCJX3EMS.js +11 -0
  632. package/dist/chunks/chunk.ZILKHT37.js +24 -0
  633. package/dist/components/accordion/accordion.component.js +3 -3
  634. package/dist/components/accordion/accordion.js +4 -4
  635. package/dist/components/alert/alert.component.js +2 -2
  636. package/dist/components/alert/alert.js +3 -3
  637. package/dist/components/avatar/avatar.component.js +3 -3
  638. package/dist/components/avatar/avatar.js +4 -4
  639. package/dist/components/badge/badge.component.js +2 -2
  640. package/dist/components/badge/badge.js +3 -3
  641. package/dist/components/breadcrumb/breadcrumb.component.js +2 -2
  642. package/dist/components/breadcrumb/breadcrumb.js +3 -3
  643. package/dist/components/breadcrumbs/breadcrumbs.component.js +2 -2
  644. package/dist/components/breadcrumbs/breadcrumbs.js +3 -3
  645. package/dist/components/browse-variables/browse-variables.component.js +13 -13
  646. package/dist/components/browse-variables/browse-variables.controller.js +3 -3
  647. package/dist/components/browse-variables/browse-variables.js +14 -14
  648. package/dist/components/button/button.component.js +3 -3
  649. package/dist/components/button/button.js +4 -4
  650. package/dist/components/button-group/button-group.component.js +2 -2
  651. package/dist/components/button-group/button-group.js +3 -3
  652. package/dist/components/caption/caption.component.js +2 -2
  653. package/dist/components/caption/caption.js +3 -3
  654. package/dist/components/card/card.component.js +2 -2
  655. package/dist/components/card/card.js +3 -3
  656. package/dist/components/checkbox/checkbox.component.js +3 -3
  657. package/dist/components/checkbox/checkbox.js +4 -4
  658. package/dist/components/chip/chip.component.js +2 -2
  659. package/dist/components/chip/chip.js +3 -3
  660. package/dist/components/combobox/combobox.component.js +2 -2
  661. package/dist/components/combobox/combobox.js +3 -3
  662. package/dist/components/data-access/data-access.component.d.ts +2 -0
  663. package/dist/components/data-access/data-access.component.js +21 -19
  664. package/dist/components/data-access/data-access.controller.js +4 -4
  665. package/dist/components/data-access/data-access.js +22 -20
  666. package/dist/components/data-grid/data-grid.component.js +3 -3
  667. package/dist/components/data-grid/data-grid.js +4 -4
  668. package/dist/components/data-rods/data-rods.component.js +27 -27
  669. package/dist/components/data-rods/data-rods.js +28 -28
  670. package/dist/components/data-subsetter/data-subsetter.component.d.ts +2 -1
  671. package/dist/components/data-subsetter/data-subsetter.component.js +32 -32
  672. package/dist/components/data-subsetter/data-subsetter.controller.d.ts +3 -1
  673. package/dist/components/data-subsetter/data-subsetter.controller.js +3 -3
  674. package/dist/components/data-subsetter/data-subsetter.js +33 -33
  675. package/dist/components/data-subsetter/data-subsetter.styles.js +1 -1
  676. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  677. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +33 -33
  678. package/dist/components/data-subsetter-history/data-subsetter-history.js +34 -34
  679. package/dist/components/date-picker/date-picker.component.d.ts +4 -0
  680. package/dist/components/date-picker/date-picker.component.js +7 -7
  681. package/dist/components/date-picker/date-picker.js +8 -8
  682. package/dist/components/date-range-slider/date-range-slider.component.js +2 -2
  683. package/dist/components/date-range-slider/date-range-slider.js +3 -3
  684. package/dist/components/dialog/dialog.component.js +5 -5
  685. package/dist/components/dialog/dialog.js +6 -6
  686. package/dist/components/dialog/dialog.styles.js +1 -1
  687. package/dist/components/divider/divider.component.js +2 -2
  688. package/dist/components/divider/divider.js +3 -3
  689. package/dist/components/dropdown/dropdown.component.js +3 -3
  690. package/dist/components/dropdown/dropdown.js +4 -4
  691. package/dist/components/earthdata-login/earthdata-login.component.js +10 -10
  692. package/dist/components/earthdata-login/earthdata-login.js +11 -11
  693. package/dist/components/file-upload/file-upload.component.js +2 -2
  694. package/dist/components/file-upload/file-upload.js +3 -3
  695. package/dist/components/icon/icon.component.js +2 -2
  696. package/dist/components/icon/icon.js +3 -3
  697. package/dist/components/input/input.component.js +3 -3
  698. package/dist/components/input/input.js +4 -4
  699. package/dist/components/loader/loader.component.js +2 -2
  700. package/dist/components/loader/loader.js +3 -3
  701. package/dist/components/login/login.component.js +8 -8
  702. package/dist/components/login/login.js +9 -9
  703. package/dist/components/map/map.component.js +2 -2
  704. package/dist/components/map/map.js +3 -3
  705. package/dist/components/menu/menu.component.js +2 -2
  706. package/dist/components/menu/menu.js +3 -3
  707. package/dist/components/menu-item/menu-item.component.js +5 -5
  708. package/dist/components/menu-item/menu-item.js +6 -6
  709. package/dist/components/option/option.component.js +3 -3
  710. package/dist/components/option/option.js +4 -4
  711. package/dist/components/pagination/pagination.component.js +3 -3
  712. package/dist/components/pagination/pagination.js +4 -4
  713. package/dist/components/plot/plot.component.js +2 -2
  714. package/dist/components/plot/plot.js +3 -3
  715. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  716. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  717. package/dist/components/plot-toolbar/plot-toolbar.component.d.ts +0 -4
  718. package/dist/components/plot-toolbar/plot-toolbar.component.js +10 -10
  719. package/dist/components/plot-toolbar/plot-toolbar.controller.js +3 -3
  720. package/dist/components/plot-toolbar/plot-toolbar.js +11 -11
  721. package/dist/components/popup/popup.component.js +2 -2
  722. package/dist/components/popup/popup.js +3 -3
  723. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  724. package/dist/components/progress-bar/progress-bar.js +3 -3
  725. package/dist/components/radio/radio.component.js +2 -2
  726. package/dist/components/radio/radio.js +3 -3
  727. package/dist/components/radio-group/radio-group.component.js +2 -2
  728. package/dist/components/radio-group/radio-group.js +3 -3
  729. package/dist/components/scroll-hint/scroll-hint.component.js +3 -3
  730. package/dist/components/scroll-hint/scroll-hint.js +4 -4
  731. package/dist/components/select/select.component.js +5 -5
  732. package/dist/components/select/select.js +6 -6
  733. package/dist/components/site-header/site-header.component.js +3 -3
  734. package/dist/components/site-header/site-header.js +3 -3
  735. package/dist/components/site-navigation/site-navigation.component.js +2 -2
  736. package/dist/components/site-navigation/site-navigation.js +2 -2
  737. package/dist/components/skeleton/skeleton.component.js +2 -2
  738. package/dist/components/skeleton/skeleton.js +3 -3
  739. package/dist/components/slider/slider.component.js +2 -2
  740. package/dist/components/slider/slider.js +3 -3
  741. package/dist/components/spatial-picker/spatial-picker.component.js +7 -7
  742. package/dist/components/spatial-picker/spatial-picker.js +8 -8
  743. package/dist/components/status-indicator/status-indicator.component.js +2 -2
  744. package/dist/components/status-indicator/status-indicator.js +3 -3
  745. package/dist/components/stepper/stepper.component.js +2 -2
  746. package/dist/components/stepper/stepper.js +3 -3
  747. package/dist/components/stepper-step/stepper-step.component.js +3 -3
  748. package/dist/components/stepper-step/stepper-step.js +4 -4
  749. package/dist/components/tab/tab.component.js +3 -3
  750. package/dist/components/tab/tab.js +4 -4
  751. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  752. package/dist/components/tab-panel/tab-panel.js +3 -3
  753. package/dist/components/tabs/tabs.component.js +3 -3
  754. package/dist/components/tabs/tabs.js +4 -4
  755. package/dist/components/tag/tag.component.js +3 -3
  756. package/dist/components/tag/tag.js +4 -4
  757. package/dist/components/textarea/textarea.component.js +2 -2
  758. package/dist/components/textarea/textarea.js +3 -3
  759. package/dist/components/time-average-map/time-average-map.component.d.ts +0 -4
  760. package/dist/components/time-average-map/time-average-map.component.js +17 -17
  761. package/dist/components/time-average-map/time-average-map.js +18 -18
  762. package/dist/components/time-series/time-series.component.d.ts +6 -4
  763. package/dist/components/time-series/time-series.component.js +18 -18
  764. package/dist/components/time-series/time-series.controller.d.ts +2 -0
  765. package/dist/components/time-series/time-series.controller.js +1 -1
  766. package/dist/components/time-series/time-series.js +19 -19
  767. package/dist/components/toast/toast.component.js +3 -3
  768. package/dist/components/toast/toast.js +4 -4
  769. package/dist/components/toggle/toggle.component.js +2 -2
  770. package/dist/components/toggle/toggle.js +3 -3
  771. package/dist/components/tooltip/tooltip.component.js +3 -3
  772. package/dist/components/tooltip/tooltip.js +4 -4
  773. package/dist/components/variable-combobox/variable-combobox.component.js +6 -6
  774. package/dist/components/variable-combobox/variable-combobox.js +7 -7
  775. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +9 -9
  776. package/dist/components/variable-keyword-search/variable-keyword-search.controller.js +3 -3
  777. package/dist/components/variable-keyword-search/variable-keyword-search.js +10 -10
  778. package/dist/custom-elements.json +202 -189
  779. package/dist/events/terra-time-series-data-change.d.ts +4 -0
  780. package/dist/metadata-catalog/cmr-catalog.d.ts +2 -1
  781. package/dist/metadata-catalog/queries.d.ts +1 -0
  782. package/dist/metadata-catalog/types.d.ts +15 -0
  783. package/dist/metadata-catalog/utilities.d.ts +1 -0
  784. package/dist/react/accordion/index.js +4 -4
  785. package/dist/react/alert/index.js +3 -3
  786. package/dist/react/avatar/index.js +4 -4
  787. package/dist/react/badge/index.js +3 -3
  788. package/dist/react/breadcrumb/index.js +3 -3
  789. package/dist/react/breadcrumbs/index.js +3 -3
  790. package/dist/react/browse-variables/index.js +14 -14
  791. package/dist/react/button/index.js +4 -4
  792. package/dist/react/button-group/index.js +3 -3
  793. package/dist/react/caption/index.js +3 -3
  794. package/dist/react/card/index.js +3 -3
  795. package/dist/react/checkbox/index.js +4 -4
  796. package/dist/react/chip/index.js +3 -3
  797. package/dist/react/combobox/index.js +3 -3
  798. package/dist/react/data-access/index.js +22 -20
  799. package/dist/react/data-grid/index.js +4 -4
  800. package/dist/react/data-rods/index.js +28 -28
  801. package/dist/react/data-subsetter/index.js +33 -33
  802. package/dist/react/data-subsetter-history/index.js +34 -34
  803. package/dist/react/date-picker/index.js +8 -8
  804. package/dist/react/date-range-slider/index.js +3 -3
  805. package/dist/react/dialog/index.js +6 -6
  806. package/dist/react/divider/index.js +3 -3
  807. package/dist/react/dropdown/index.js +4 -4
  808. package/dist/react/earthdata-login/index.js +11 -11
  809. package/dist/react/file-upload/index.js +3 -3
  810. package/dist/react/icon/index.js +3 -3
  811. package/dist/react/index.d.ts +1 -1
  812. package/dist/react/index.js +148 -148
  813. package/dist/react/input/index.js +4 -4
  814. package/dist/react/loader/index.js +3 -3
  815. package/dist/react/login/index.js +9 -9
  816. package/dist/react/map/index.js +3 -3
  817. package/dist/react/menu/index.js +3 -3
  818. package/dist/react/menu-item/index.js +6 -6
  819. package/dist/react/option/index.js +4 -4
  820. package/dist/react/pagination/index.js +4 -4
  821. package/dist/react/plot/index.js +3 -3
  822. package/dist/react/plot-toolbar/index.js +11 -11
  823. package/dist/react/popup/index.js +3 -3
  824. package/dist/react/progress-bar/index.js +3 -3
  825. package/dist/react/radio/index.js +3 -3
  826. package/dist/react/radio-group/index.js +3 -3
  827. package/dist/react/scroll-hint/index.js +4 -4
  828. package/dist/react/select/index.js +6 -6
  829. package/dist/react/site-header/index.js +4 -4
  830. package/dist/react/site-navigation/index.js +3 -3
  831. package/dist/react/skeleton/index.js +3 -3
  832. package/dist/react/slider/index.js +3 -3
  833. package/dist/react/spatial-picker/index.js +8 -8
  834. package/dist/react/status-indicator/index.js +3 -3
  835. package/dist/react/stepper/index.js +3 -3
  836. package/dist/react/stepper-step/index.js +4 -4
  837. package/dist/react/tab/index.js +4 -4
  838. package/dist/react/tab-panel/index.js +3 -3
  839. package/dist/react/tabs/index.js +4 -4
  840. package/dist/react/tag/index.js +4 -4
  841. package/dist/react/textarea/index.js +3 -3
  842. package/dist/react/time-average-map/index.js +18 -18
  843. package/dist/react/time-series/index.js +19 -19
  844. package/dist/react/toast/index.js +4 -4
  845. package/dist/react/toggle/index.js +3 -3
  846. package/dist/react/tooltip/index.js +4 -4
  847. package/dist/react/variable-combobox/index.js +7 -7
  848. package/dist/react/variable-keyword-search/index.js +10 -10
  849. package/dist/terra-ui-components.js +140 -140
  850. package/dist/terra_ui_components-0.0.172-py3-none-any.whl +0 -0
  851. package/dist/terra_ui_components-0.0.172.tar.gz +0 -0
  852. package/dist/types/vue/index.d.ts +48 -45
  853. package/dist/utilities/mimetypes.d.ts +1 -1
  854. package/dist/utilities/mimetypes.js +1 -1
  855. package/dist/vscode.html-custom-data.json +30 -29
  856. package/dist/web-types.json +104 -104
  857. package/package.json +1 -1
  858. package/cdn/chunks/chunk.23GZXEK4.js +0 -35
  859. package/cdn/chunks/chunk.23Y7QMN5.js +0 -753
  860. package/cdn/chunks/chunk.27NLN3JG.js +0 -731
  861. package/cdn/chunks/chunk.2KC5CEMV.js +0 -32
  862. package/cdn/chunks/chunk.2KR556CY.js +0 -32
  863. package/cdn/chunks/chunk.2NM4U2LU.js +0 -187
  864. package/cdn/chunks/chunk.2Q7QYGFT.js +0 -19
  865. package/cdn/chunks/chunk.2ZIP42OV.js +0 -288
  866. package/cdn/chunks/chunk.37NX7Z2A.js +0 -19
  867. package/cdn/chunks/chunk.3A7R3CQ6.js +0 -19
  868. package/cdn/chunks/chunk.3GB6TUVS.js +0 -39
  869. package/cdn/chunks/chunk.3HPEDHS7.js +0 -132
  870. package/cdn/chunks/chunk.3ROH53UR.js +0 -19
  871. package/cdn/chunks/chunk.4AZPGWEN.js +0 -19
  872. package/cdn/chunks/chunk.4CUQOFXS.js +0 -29
  873. package/cdn/chunks/chunk.4JWX5ORP.js +0 -19
  874. package/cdn/chunks/chunk.4P3ADQYH.js +0 -37
  875. package/cdn/chunks/chunk.4VP5R3DP.js +0 -36
  876. package/cdn/chunks/chunk.57EK43E2.js +0 -29
  877. package/cdn/chunks/chunk.5CEANRJM.js +0 -123
  878. package/cdn/chunks/chunk.5FHIINV4.js +0 -610
  879. package/cdn/chunks/chunk.5HCDLSYA.js +0 -30
  880. package/cdn/chunks/chunk.5IXKWLY6.js +0 -151
  881. package/cdn/chunks/chunk.5LKGET77.js +0 -19
  882. package/cdn/chunks/chunk.5NBONPFS.js +0 -19
  883. package/cdn/chunks/chunk.5O6EWOEQ.js +0 -29
  884. package/cdn/chunks/chunk.5RWLMEHZ.js +0 -19
  885. package/cdn/chunks/chunk.5U7FXBSP.js +0 -33
  886. package/cdn/chunks/chunk.6ATT4NML.js +0 -19
  887. package/cdn/chunks/chunk.6HPFTF7W.js +0 -19
  888. package/cdn/chunks/chunk.6NCG3DLN.js +0 -35
  889. package/cdn/chunks/chunk.6PFP4JDY.js +0 -372
  890. package/cdn/chunks/chunk.6R63CY42.js +0 -189
  891. package/cdn/chunks/chunk.6SLG3RUK.js +0 -29
  892. package/cdn/chunks/chunk.6XG4EOVX.js +0 -259
  893. package/cdn/chunks/chunk.6Y5VXGVN.js +0 -36
  894. package/cdn/chunks/chunk.733K2FSO.js +0 -32
  895. package/cdn/chunks/chunk.754SCLEA.js +0 -621
  896. package/cdn/chunks/chunk.7C537P4Y.js +0 -32
  897. package/cdn/chunks/chunk.7OKBWKVY.js +0 -32
  898. package/cdn/chunks/chunk.7QW2SRSF.js +0 -29
  899. package/cdn/chunks/chunk.7VKNM7C7.js +0 -136
  900. package/cdn/chunks/chunk.7XYSMHGT.js +0 -293
  901. package/cdn/chunks/chunk.AE5I65PB.js +0 -2313
  902. package/cdn/chunks/chunk.ATIGJSKH.js +0 -32
  903. package/cdn/chunks/chunk.AU5422IG.js +0 -19
  904. package/cdn/chunks/chunk.AYT5HXVZ.js +0 -19
  905. package/cdn/chunks/chunk.B6Z7S2RJ.js +0 -524
  906. package/cdn/chunks/chunk.BEWXJBUD.js +0 -29
  907. package/cdn/chunks/chunk.BFS2NXOO.js +0 -32
  908. package/cdn/chunks/chunk.BJEMOBM6.js +0 -35
  909. package/cdn/chunks/chunk.BLNFBFEC.js +0 -19
  910. package/cdn/chunks/chunk.BNLPA42D.js +0 -359
  911. package/cdn/chunks/chunk.BZ2Y4J4D.js +0 -477
  912. package/cdn/chunks/chunk.C237BS74.js +0 -19
  913. package/cdn/chunks/chunk.C3Y4QVHX.js +0 -32
  914. package/cdn/chunks/chunk.C6WX6TLS.js +0 -19
  915. package/cdn/chunks/chunk.CQ3TUSLS.js +0 -32
  916. package/cdn/chunks/chunk.D2GB3UX7.js +0 -34
  917. package/cdn/chunks/chunk.D5SAON7L.js +0 -19
  918. package/cdn/chunks/chunk.DACWIRZG.js +0 -19
  919. package/cdn/chunks/chunk.DCPXDVO3.js +0 -71
  920. package/cdn/chunks/chunk.DGKCMLRD.js +0 -29
  921. package/cdn/chunks/chunk.DGMRX45K.js +0 -904
  922. package/cdn/chunks/chunk.DLST2D6L.js +0 -32
  923. package/cdn/chunks/chunk.DM4JRT4A.js +0 -93
  924. package/cdn/chunks/chunk.DTD73FAO.js +0 -83
  925. package/cdn/chunks/chunk.DZISTF6N.js +0 -1010
  926. package/cdn/chunks/chunk.E4Y5BG5N.js +0 -509
  927. package/cdn/chunks/chunk.ELMFDV2G.js +0 -247
  928. package/cdn/chunks/chunk.EUPQ33DJ.js +0 -33
  929. package/cdn/chunks/chunk.EY4VNPJ2.js +0 -19
  930. package/cdn/chunks/chunk.F3J4RXQV.js +0 -19
  931. package/cdn/chunks/chunk.F753RR5Q.js +0 -19
  932. package/cdn/chunks/chunk.FELOKZ54.js +0 -19
  933. package/cdn/chunks/chunk.FJEMKM6L.js +0 -99
  934. package/cdn/chunks/chunk.FLAI3PUI.js +0 -29
  935. package/cdn/chunks/chunk.FN5FAARP.js +0 -19
  936. package/cdn/chunks/chunk.FO37M2VG.js +0 -41
  937. package/cdn/chunks/chunk.G4PR2N27.js +0 -19
  938. package/cdn/chunks/chunk.GHTLJCT7.js +0 -239
  939. package/cdn/chunks/chunk.GU4XX4QI.js +0 -29
  940. package/cdn/chunks/chunk.GVI2UZCY.js +0 -1048
  941. package/cdn/chunks/chunk.GYUZ4R2A.js +0 -662
  942. package/cdn/chunks/chunk.GZ26Q2FP.js +0 -36
  943. package/cdn/chunks/chunk.HI33WW4T.js +0 -35
  944. package/cdn/chunks/chunk.HLOMAVME.js +0 -86
  945. package/cdn/chunks/chunk.I2R2ZBU5.js +0 -29
  946. package/cdn/chunks/chunk.I3UVXV4L.js +0 -29
  947. package/cdn/chunks/chunk.I44LHN7L.js +0 -99
  948. package/cdn/chunks/chunk.I4NS6DRL.js +0 -78
  949. package/cdn/chunks/chunk.IG7FYJ3U.js +0 -19
  950. package/cdn/chunks/chunk.IHZC4VE3.js +0 -19
  951. package/cdn/chunks/chunk.IL7BYPM7.js +0 -92
  952. package/cdn/chunks/chunk.ILA4A7U5.js +0 -99
  953. package/cdn/chunks/chunk.INANLV5F.js +0 -19
  954. package/cdn/chunks/chunk.ISBKM2OB.js +0 -238
  955. package/cdn/chunks/chunk.IYU24ABO.js +0 -29
  956. package/cdn/chunks/chunk.J54QLLZQ.js +0 -29
  957. package/cdn/chunks/chunk.JF2F7SBD.js +0 -19
  958. package/cdn/chunks/chunk.JMFLFZGJ.js +0 -19
  959. package/cdn/chunks/chunk.JW3UB6CJ.js +0 -231
  960. package/cdn/chunks/chunk.JWEQ2GM5.js +0 -19
  961. package/cdn/chunks/chunk.K7EC2QO6.js +0 -145
  962. package/cdn/chunks/chunk.KCLJIVSE.js +0 -60
  963. package/cdn/chunks/chunk.KEXZGUQN.js +0 -19
  964. package/cdn/chunks/chunk.KFAY3AAP.js +0 -19
  965. package/cdn/chunks/chunk.KKHOQMCP.js +0 -19
  966. package/cdn/chunks/chunk.KLHKIEFR.js +0 -29
  967. package/cdn/chunks/chunk.L75PJFAL.js +0 -29
  968. package/cdn/chunks/chunk.L7YV27S6.js +0 -19
  969. package/cdn/chunks/chunk.LBABTGAS.js +0 -146
  970. package/cdn/chunks/chunk.LKTIVLAU.js +0 -47
  971. package/cdn/chunks/chunk.LXFTWXOV.js +0 -29
  972. package/cdn/chunks/chunk.LZJ3KUZ3.js +0 -19
  973. package/cdn/chunks/chunk.MEGOGKT6.js +0 -134
  974. package/cdn/chunks/chunk.MMUVQEIP.js +0 -83
  975. package/cdn/chunks/chunk.MYUULQOT.js +0 -538
  976. package/cdn/chunks/chunk.NJPRE2SS.js +0 -37
  977. package/cdn/chunks/chunk.NLXOFVES.js +0 -85
  978. package/cdn/chunks/chunk.NQ4GG7TD.js +0 -29
  979. package/cdn/chunks/chunk.NSRAVHBY.js +0 -29
  980. package/cdn/chunks/chunk.O6HASOHR.js +0 -19
  981. package/cdn/chunks/chunk.OAFP43OF.js +0 -302
  982. package/cdn/chunks/chunk.OZHLTGMH.js +0 -55346
  983. package/cdn/chunks/chunk.P32GFSGR.js +0 -62
  984. package/cdn/chunks/chunk.P4P52CEF.js +0 -234
  985. package/cdn/chunks/chunk.PDOV4E5N.js +0 -375
  986. package/cdn/chunks/chunk.PHOAPIHQ.js +0 -19
  987. package/cdn/chunks/chunk.PKXN5OOU.js +0 -29
  988. package/cdn/chunks/chunk.PM64E5LE.js +0 -278
  989. package/cdn/chunks/chunk.PRWVQUGW.js +0 -165
  990. package/cdn/chunks/chunk.QAENJTBJ.js +0 -19
  991. package/cdn/chunks/chunk.QHH26OJS.js +0 -155
  992. package/cdn/chunks/chunk.QIXBAY6V.js +0 -33
  993. package/cdn/chunks/chunk.QJ2I4KIQ.js +0 -224
  994. package/cdn/chunks/chunk.QJ5QKGXV.js +0 -19
  995. package/cdn/chunks/chunk.QTVYZYDT.js +0 -29
  996. package/cdn/chunks/chunk.QWLLB44M.js +0 -19
  997. package/cdn/chunks/chunk.R2LK7SNC.js +0 -56
  998. package/cdn/chunks/chunk.R6LEPKVA.js +0 -19
  999. package/cdn/chunks/chunk.RXJOFC36.js +0 -19
  1000. package/cdn/chunks/chunk.RYKFP3WL.js +0 -68
  1001. package/cdn/chunks/chunk.S2F2564D.js +0 -77
  1002. package/cdn/chunks/chunk.S3K4NMB3.js +0 -104
  1003. package/cdn/chunks/chunk.SC6LYTWL.js +0 -190
  1004. package/cdn/chunks/chunk.SDVDBP7O.js +0 -32
  1005. package/cdn/chunks/chunk.SEQFSNN4.js +0 -33
  1006. package/cdn/chunks/chunk.SIIB4WFQ.js +0 -19
  1007. package/cdn/chunks/chunk.SJR4SXU4.js +0 -19
  1008. package/cdn/chunks/chunk.SJVQASHW.js +0 -33869
  1009. package/cdn/chunks/chunk.SNHL23LZ.js +0 -33
  1010. package/cdn/chunks/chunk.SVGVZCGA.js +0 -19
  1011. package/cdn/chunks/chunk.SXICRS6V.js +0 -19
  1012. package/cdn/chunks/chunk.T4OKS2DZ.js +0 -29
  1013. package/cdn/chunks/chunk.TAWZUB2D.js +0 -616
  1014. package/cdn/chunks/chunk.TJN5EHVN.js +0 -19
  1015. package/cdn/chunks/chunk.TLZAPLTZ.js +0 -230
  1016. package/cdn/chunks/chunk.TWOOSYEE.js +0 -19
  1017. package/cdn/chunks/chunk.U6S43WN5.js +0 -19
  1018. package/cdn/chunks/chunk.U7AVIRNM.js +0 -29
  1019. package/cdn/chunks/chunk.UJBJMJRL.js +0 -106
  1020. package/cdn/chunks/chunk.UJWZ4J2G.js +0 -29
  1021. package/cdn/chunks/chunk.UMMQ2YUX.js +0 -49
  1022. package/cdn/chunks/chunk.UO7OZ7OO.js +0 -36
  1023. package/cdn/chunks/chunk.UPNDFQWX.js +0 -2225
  1024. package/cdn/chunks/chunk.UWKRZT5O.js +0 -19
  1025. package/cdn/chunks/chunk.UYENPC3S.js +0 -357
  1026. package/cdn/chunks/chunk.V2DCOUEK.js +0 -188
  1027. package/cdn/chunks/chunk.V2KJPY7I.js +0 -29
  1028. package/cdn/chunks/chunk.V4X5FDK4.js +0 -276
  1029. package/cdn/chunks/chunk.VA2JWVUG.js +0 -113
  1030. package/cdn/chunks/chunk.VMXK4KER.js +0 -19
  1031. package/cdn/chunks/chunk.VOC3X5OA.js +0 -29
  1032. package/cdn/chunks/chunk.VZU77MYC.js +0 -19
  1033. package/cdn/chunks/chunk.W437TB2N.js +0 -33
  1034. package/cdn/chunks/chunk.W7KGVFJQ.js +0 -52
  1035. package/cdn/chunks/chunk.WAQPOIY5.js +0 -29
  1036. package/cdn/chunks/chunk.WJVXVFAT.js +0 -32
  1037. package/cdn/chunks/chunk.WKDKVHQJ.js +0 -19
  1038. package/cdn/chunks/chunk.WYGBTBWC.js +0 -287
  1039. package/cdn/chunks/chunk.WZARQJQ2.js +0 -19
  1040. package/cdn/chunks/chunk.XAW4QMPU.js +0 -19
  1041. package/cdn/chunks/chunk.XCAUHP7C.js +0 -34
  1042. package/cdn/chunks/chunk.XJRNXPZS.js +0 -493
  1043. package/cdn/chunks/chunk.XNKB3ERT.js +0 -19
  1044. package/cdn/chunks/chunk.XTQQNWK6.js +0 -32
  1045. package/cdn/chunks/chunk.Y5ILAS42.js +0 -435
  1046. package/cdn/chunks/chunk.YISZNUYH.js +0 -32
  1047. package/cdn/chunks/chunk.YLK7PBY6.js +0 -19
  1048. package/cdn/chunks/chunk.YNAGUPSL.js +0 -1966
  1049. package/cdn/chunks/chunk.YRAZYEY6.js +0 -158
  1050. package/cdn/chunks/chunk.YS2M7OUV.js +0 -19
  1051. package/cdn/chunks/chunk.YTRA44CP.js +0 -1224
  1052. package/cdn/chunks/chunk.YWMO5CYY.js +0 -74
  1053. package/cdn/chunks/chunk.Z3PGBEPN.js +0 -599
  1054. package/cdn/chunks/chunk.Z4AOMRTY.js +0 -19
  1055. package/cdn/chunks/chunk.ZAISFV66.js +0 -264
  1056. package/cdn/chunks/chunk.ZE32JWMO.js +0 -19
  1057. package/cdn/chunks/chunk.ZFRBMO23.js +0 -19
  1058. package/cdn/chunks/chunk.ZJZRTDCI.js +0 -29
  1059. package/cdn/chunks/chunk.ZQC4DWU5.js +0 -29
  1060. package/cdn/chunks/chunk.ZQVTH76A.js +0 -29
  1061. package/cdn/chunks/chunk.ZTIOE2ND.js +0 -29
  1062. package/cdn/chunks/chunk.ZWBGF5IE.js +0 -60
  1063. package/dist/chunks/chunk.2ANMQFJ4.js +0 -21
  1064. package/dist/chunks/chunk.2B3XGCJP.js +0 -21
  1065. package/dist/chunks/chunk.2EDS77WI.js +0 -11
  1066. package/dist/chunks/chunk.2FTQWXVI.js +0 -11
  1067. package/dist/chunks/chunk.2JK6ZAHX.js +0 -24
  1068. package/dist/chunks/chunk.2JLEP7WV.js +0 -135
  1069. package/dist/chunks/chunk.2KTQMIDH.js +0 -474
  1070. package/dist/chunks/chunk.2M2C5XW7.js +0 -11
  1071. package/dist/chunks/chunk.2OMXG6QD.js +0 -11
  1072. package/dist/chunks/chunk.2ST4WVQN.js +0 -11
  1073. package/dist/chunks/chunk.2V3IA7AN.js +0 -11
  1074. package/dist/chunks/chunk.2ZK53E32.js +0 -21
  1075. package/dist/chunks/chunk.3CS4SHZC.js +0 -24
  1076. package/dist/chunks/chunk.3KLCTNFP.js +0 -29
  1077. package/dist/chunks/chunk.3PMRYAJZ.js +0 -27
  1078. package/dist/chunks/chunk.3RLSNGDP.js +0 -20
  1079. package/dist/chunks/chunk.43IMTXNY.js +0 -11
  1080. package/dist/chunks/chunk.4LZ4DUDB.js +0 -720
  1081. package/dist/chunks/chunk.4SRSZ64S.js +0 -844
  1082. package/dist/chunks/chunk.4Z7LBUW6.js +0 -443
  1083. package/dist/chunks/chunk.5EALSVRW.js +0 -422
  1084. package/dist/chunks/chunk.5FAZJWFQ.js +0 -345
  1085. package/dist/chunks/chunk.5FIKGOOU.js +0 -11
  1086. package/dist/chunks/chunk.5KL7PLGM.js +0 -24
  1087. package/dist/chunks/chunk.5SMRHQ23.js +0 -262
  1088. package/dist/chunks/chunk.64NZFI6G.js +0 -25
  1089. package/dist/chunks/chunk.66BWREPD.js +0 -89
  1090. package/dist/chunks/chunk.67FOSYOY.js +0 -61
  1091. package/dist/chunks/chunk.6BTIRLS4.js +0 -494
  1092. package/dist/chunks/chunk.6JWHPMOL.js +0 -43
  1093. package/dist/chunks/chunk.6KZPGAUU.js +0 -277
  1094. package/dist/chunks/chunk.6ODK2VJU.js +0 -11
  1095. package/dist/chunks/chunk.6OWWYTVJ.js +0 -139
  1096. package/dist/chunks/chunk.6V5NQDVJ.js +0 -11
  1097. package/dist/chunks/chunk.76QXQJJA.js +0 -11
  1098. package/dist/chunks/chunk.7AH6EKOQ.js +0 -477
  1099. package/dist/chunks/chunk.7FPD4K27.js +0 -230
  1100. package/dist/chunks/chunk.7ILUKA4M.js +0 -525
  1101. package/dist/chunks/chunk.7JEMYKMQ.js +0 -27
  1102. package/dist/chunks/chunk.7MF2CYC7.js +0 -11
  1103. package/dist/chunks/chunk.7SMNRGXD.js +0 -123
  1104. package/dist/chunks/chunk.7W3PFQDU.js +0 -28
  1105. package/dist/chunks/chunk.A2IMSLAM.js +0 -21
  1106. package/dist/chunks/chunk.A42TZYSR.js +0 -78
  1107. package/dist/chunks/chunk.A7S2XBR4.js +0 -91
  1108. package/dist/chunks/chunk.AB5ZMWTR.js +0 -25
  1109. package/dist/chunks/chunk.ABQ5SKZI.js +0 -24
  1110. package/dist/chunks/chunk.AQ7D47XH.js +0 -11
  1111. package/dist/chunks/chunk.AVXYOGLQ.js +0 -11
  1112. package/dist/chunks/chunk.B2ZB7WBO.js +0 -29
  1113. package/dist/chunks/chunk.B4CO7KZS.js +0 -21
  1114. package/dist/chunks/chunk.B65EMJX6.js +0 -21
  1115. package/dist/chunks/chunk.BADHWJPB.js +0 -230
  1116. package/dist/chunks/chunk.BDQWXKQP.js +0 -11
  1117. package/dist/chunks/chunk.BFWW4FQR.js +0 -11
  1118. package/dist/chunks/chunk.BJDVG6P4.js +0 -234
  1119. package/dist/chunks/chunk.BL3RC3NY.js +0 -247
  1120. package/dist/chunks/chunk.BT7HPCEV.js +0 -1133
  1121. package/dist/chunks/chunk.C2GCFZIA.js +0 -43
  1122. package/dist/chunks/chunk.CERMDF55.js +0 -176
  1123. package/dist/chunks/chunk.CGVPVXTX.js +0 -76
  1124. package/dist/chunks/chunk.CL554ZTN.js +0 -2210
  1125. package/dist/chunks/chunk.CRCCJDPB.js +0 -52
  1126. package/dist/chunks/chunk.CWS5UNLN.js +0 -24
  1127. package/dist/chunks/chunk.CXKVKZAT.js +0 -21
  1128. package/dist/chunks/chunk.CZKGOZBR.js +0 -21
  1129. package/dist/chunks/chunk.D4HKM4BD.js +0 -24
  1130. package/dist/chunks/chunk.DDZOBF6U.js +0 -97
  1131. package/dist/chunks/chunk.DLYI2NFI.js +0 -355
  1132. package/dist/chunks/chunk.DOYQTOTG.js +0 -2300
  1133. package/dist/chunks/chunk.DRD5K4ZA.js +0 -28
  1134. package/dist/chunks/chunk.DTRE2LA7.js +0 -21
  1135. package/dist/chunks/chunk.DZTB26BO.js +0 -21
  1136. package/dist/chunks/chunk.EBHNLEDS.js +0 -11
  1137. package/dist/chunks/chunk.EFOIGG4J.js +0 -11
  1138. package/dist/chunks/chunk.EJ6ZUMCI.js +0 -21
  1139. package/dist/chunks/chunk.EOW57DGX.js +0 -11
  1140. package/dist/chunks/chunk.EPWFNMMQ.js +0 -28
  1141. package/dist/chunks/chunk.EQ62D7RW.js +0 -11
  1142. package/dist/chunks/chunk.ETBKTWEW.js +0 -11
  1143. package/dist/chunks/chunk.FCI3B5PM.js +0 -11
  1144. package/dist/chunks/chunk.FPKW4HNF.js +0 -101
  1145. package/dist/chunks/chunk.FSNKANRN.js +0 -21
  1146. package/dist/chunks/chunk.FWZUHYXY.js +0 -11
  1147. package/dist/chunks/chunk.G24FAMYT.js +0 -245
  1148. package/dist/chunks/chunk.G4QA4SSD.js +0 -112
  1149. package/dist/chunks/chunk.GOZYOSGP.js +0 -11
  1150. package/dist/chunks/chunk.GPWLUWAH.js +0 -25
  1151. package/dist/chunks/chunk.GQT373WX.js +0 -11
  1152. package/dist/chunks/chunk.H3DIQWAZ.js +0 -21
  1153. package/dist/chunks/chunk.HABSD5WX.js +0 -11
  1154. package/dist/chunks/chunk.HBFI75EO.js +0 -26
  1155. package/dist/chunks/chunk.HBVGLN6J.js +0 -21
  1156. package/dist/chunks/chunk.HLQNPW2B.js +0 -180
  1157. package/dist/chunks/chunk.HNQZMZDK.js +0 -52
  1158. package/dist/chunks/chunk.HS2AS3KR.js +0 -21
  1159. package/dist/chunks/chunk.HSSBAR3V.js +0 -11
  1160. package/dist/chunks/chunk.HTZCYJPN.js +0 -11
  1161. package/dist/chunks/chunk.HUOOKVSC.js +0 -27
  1162. package/dist/chunks/chunk.I55ABPPU.js +0 -74
  1163. package/dist/chunks/chunk.I5S7VMNW.js +0 -409
  1164. package/dist/chunks/chunk.I6VINFNV.js +0 -180
  1165. package/dist/chunks/chunk.IEIPNC7C.js +0 -11
  1166. package/dist/chunks/chunk.IGGGETAB.js +0 -180
  1167. package/dist/chunks/chunk.INWDQT67.js +0 -732
  1168. package/dist/chunks/chunk.IQ3WHN3C.js +0 -11
  1169. package/dist/chunks/chunk.IQD73NGE.js +0 -39
  1170. package/dist/chunks/chunk.J3MO2NTY.js +0 -11
  1171. package/dist/chunks/chunk.J53MSEZ6.js +0 -31
  1172. package/dist/chunks/chunk.JP5ESC3H.js +0 -214
  1173. package/dist/chunks/chunk.JX7WGPTU.js +0 -11
  1174. package/dist/chunks/chunk.JYB4QXY4.js +0 -592
  1175. package/dist/chunks/chunk.JZOQS3VV.js +0 -11
  1176. package/dist/chunks/chunk.KEXASARO.js +0 -24
  1177. package/dist/chunks/chunk.KJFH6JUY.js +0 -21
  1178. package/dist/chunks/chunk.KSVPP6MB.js +0 -596
  1179. package/dist/chunks/chunk.KY4GOJ4D.js +0 -85
  1180. package/dist/chunks/chunk.KYOU6GFE.js +0 -11
  1181. package/dist/chunks/chunk.L2IJKFHB.js +0 -21
  1182. package/dist/chunks/chunk.L2K33SBP.js +0 -11
  1183. package/dist/chunks/chunk.LALFP5BA.js +0 -21
  1184. package/dist/chunks/chunk.LIUUOC56.js +0 -124
  1185. package/dist/chunks/chunk.LQ62AWJV.js +0 -21
  1186. package/dist/chunks/chunk.M3NS4PVA.js +0 -11
  1187. package/dist/chunks/chunk.M5LGIIHQ.js +0 -21
  1188. package/dist/chunks/chunk.M5XLUDYR.js +0 -11
  1189. package/dist/chunks/chunk.MH6ZT2SE.js +0 -27
  1190. package/dist/chunks/chunk.MMTZYMPU.js +0 -365
  1191. package/dist/chunks/chunk.MQLTZKYS.js +0 -48
  1192. package/dist/chunks/chunk.NAOO3Y2C.js +0 -21
  1193. package/dist/chunks/chunk.NBHZJ5KL.js +0 -21
  1194. package/dist/chunks/chunk.NEWFIRAS.js +0 -11
  1195. package/dist/chunks/chunk.NFX3MKHA.js +0 -24
  1196. package/dist/chunks/chunk.NMOGBJVA.js +0 -11
  1197. package/dist/chunks/chunk.NNI5VQD3.js +0 -11
  1198. package/dist/chunks/chunk.NPG4Z7RX.js +0 -11
  1199. package/dist/chunks/chunk.NVHODLAG.js +0 -21
  1200. package/dist/chunks/chunk.NYHVFU6P.js +0 -21
  1201. package/dist/chunks/chunk.O3S5K3AP.js +0 -143
  1202. package/dist/chunks/chunk.ODW2SC3J.js +0 -264
  1203. package/dist/chunks/chunk.OFUJJYKR.js +0 -1037
  1204. package/dist/chunks/chunk.OIOD6WKF.js +0 -83
  1205. package/dist/chunks/chunk.OXUS6AWV.js +0 -11
  1206. package/dist/chunks/chunk.PGENV5B2.js +0 -11
  1207. package/dist/chunks/chunk.PKG2IX5P.js +0 -25
  1208. package/dist/chunks/chunk.PLVBAX7K.js +0 -11
  1209. package/dist/chunks/chunk.PN7XB7V2.js +0 -86
  1210. package/dist/chunks/chunk.PPWNIJSM.js +0 -21
  1211. package/dist/chunks/chunk.QB4YBDPO.js +0 -581
  1212. package/dist/chunks/chunk.QBKGBXWO.js +0 -11
  1213. package/dist/chunks/chunk.QDGFDNGX.js +0 -252
  1214. package/dist/chunks/chunk.QDYBG6MV.js +0 -11
  1215. package/dist/chunks/chunk.QHGSRGU6.js +0 -121
  1216. package/dist/chunks/chunk.QX7MBK3C.js +0 -11
  1217. package/dist/chunks/chunk.R6QSAML7.js +0 -21
  1218. package/dist/chunks/chunk.RGYYQDUV.js +0 -25
  1219. package/dist/chunks/chunk.RO4MUFVF.js +0 -67
  1220. package/dist/chunks/chunk.RRBKKYWU.js +0 -75
  1221. package/dist/chunks/chunk.S7BJBUGE.js +0 -24
  1222. package/dist/chunks/chunk.SLEQS7Q2.js +0 -11
  1223. package/dist/chunks/chunk.SLWT34ZG.js +0 -11
  1224. package/dist/chunks/chunk.SRE4C4D2.js +0 -24
  1225. package/dist/chunks/chunk.SRWFPP3W.js +0 -11
  1226. package/dist/chunks/chunk.STTQ7YY4.js +0 -21
  1227. package/dist/chunks/chunk.SU5KHWCD.js +0 -48
  1228. package/dist/chunks/chunk.SVSQUGOX.js +0 -11
  1229. package/dist/chunks/chunk.TDJ56I3Q.js +0 -28
  1230. package/dist/chunks/chunk.TQIB6NRA.js +0 -153
  1231. package/dist/chunks/chunk.UGOIQXRG.js +0 -11
  1232. package/dist/chunks/chunk.UJEZYIHG.js +0 -58
  1233. package/dist/chunks/chunk.UL6YVM7N.js +0 -145
  1234. package/dist/chunks/chunk.USPJIVXJ.js +0 -24
  1235. package/dist/chunks/chunk.UTTPWTFY.js +0 -24
  1236. package/dist/chunks/chunk.VAJ6RO6C.js +0 -11
  1237. package/dist/chunks/chunk.VJSTHFWD.js +0 -11
  1238. package/dist/chunks/chunk.VSUOMZH3.js +0 -24
  1239. package/dist/chunks/chunk.VT2J4KET.js +0 -11
  1240. package/dist/chunks/chunk.W2JNGNBS.js +0 -26
  1241. package/dist/chunks/chunk.WC3AMI6M.js +0 -64
  1242. package/dist/chunks/chunk.WFGWX2UR.js +0 -11
  1243. package/dist/chunks/chunk.WFSXOBIP.js +0 -33
  1244. package/dist/chunks/chunk.WHB35BIS.js +0 -451
  1245. package/dist/chunks/chunk.WKBGYLSO.js +0 -11
  1246. package/dist/chunks/chunk.WPMCISBB.js +0 -345
  1247. package/dist/chunks/chunk.WRSO2HXE.js +0 -93
  1248. package/dist/chunks/chunk.WVBNGI2U.js +0 -21
  1249. package/dist/chunks/chunk.WWU7U5TB.js +0 -11
  1250. package/dist/chunks/chunk.WXQQSB25.js +0 -11
  1251. package/dist/chunks/chunk.XDQPGAL5.js +0 -220
  1252. package/dist/chunks/chunk.XR75EBXL.js +0 -24
  1253. package/dist/chunks/chunk.XUEN7MZQ.js +0 -21
  1254. package/dist/chunks/chunk.XV4AJCSB.js +0 -11
  1255. package/dist/chunks/chunk.XWGMSTQ7.js +0 -280
  1256. package/dist/chunks/chunk.XZTZVISY.js +0 -91
  1257. package/dist/chunks/chunk.Y34EGQGE.js +0 -21
  1258. package/dist/chunks/chunk.YEUYEP6O.js +0 -609
  1259. package/dist/chunks/chunk.YLR7C6NK.js +0 -213
  1260. package/dist/chunks/chunk.YQGVUCOP.js +0 -272
  1261. package/dist/chunks/chunk.YT2XMMC5.js +0 -24
  1262. package/dist/chunks/chunk.Z6HFXKR5.js +0 -291
  1263. package/dist/chunks/chunk.Z6YCUGMQ.js +0 -67
  1264. package/dist/chunks/chunk.ZBWOSTXK.js +0 -1208
  1265. package/dist/chunks/chunk.ZKNQYPN4.js +0 -220
  1266. package/dist/chunks/chunk.ZY2PO6KK.js +0 -993
  1267. package/dist/chunks/chunk.ZZY4BYTX.js +0 -11
  1268. package/dist/terra_ui_components-0.0.170-py3-none-any.whl +0 -0
  1269. package/dist/terra_ui_components-0.0.170.tar.gz +0 -0
@@ -0,0 +1,2228 @@
1
+ import {
2
+ date_picker_styles_default
3
+ } from "./chunk.6BJRMCOW.js";
4
+ import {
5
+ TerraInput
6
+ } from "./chunk.IFX2N2F2.js";
7
+ import {
8
+ TerraDropdown
9
+ } from "./chunk.MLOFLEMG.js";
10
+ import {
11
+ TerraButton
12
+ } from "./chunk.JF7QMJJ3.js";
13
+ import {
14
+ TerraElement,
15
+ component_styles_default
16
+ } from "./chunk.VT5KHE7G.js";
17
+ import {
18
+ __decorateClass
19
+ } from "./chunk.SHKVBVTI.js";
20
+
21
+ // src/components/date-picker/date-picker.component.ts
22
+ import { property, state, query } from "lit/decorators.js";
23
+ import { html } from "lit";
24
+ import { createRef, ref } from "lit/directives/ref.js";
25
+ import { isValid } from "date-fns";
26
+ var TerraDatePicker = class extends TerraElement {
27
+ constructor() {
28
+ super();
29
+ this.range = false;
30
+ this.hideLabel = false;
31
+ this.label = "Select Date";
32
+ this.helpText = "";
33
+ this.startHelpText = "";
34
+ this.endHelpText = "";
35
+ this.showPresets = false;
36
+ this.presets = [];
37
+ this.enableTime = false;
38
+ this.inline = false;
39
+ this.splitInputs = false;
40
+ this.placeholder = "Select Date";
41
+ this.startPlaceholder = "Start Date";
42
+ this.endPlaceholder = "End Date";
43
+ this.role = "group";
44
+ this.ariaLabel = "Date picker";
45
+ this.hideClearAll = false;
46
+ this.clearAllLabel = "Clear Dates";
47
+ this.useEndOfDay = true;
48
+ this.isOpen = false;
49
+ this.leftMonth = /* @__PURE__ */ new Date();
50
+ this.rightMonth = /* @__PURE__ */ new Date();
51
+ this.selectedStart = null;
52
+ this.selectedEnd = null;
53
+ this.hoverDate = null;
54
+ this.isSelectingRange = false;
55
+ this.showLeftMonthDropdown = false;
56
+ this.showRightMonthDropdown = false;
57
+ this.startHour = 0;
58
+ this.startMinute = 0;
59
+ this.startSecond = 0;
60
+ this.endHour = 23;
61
+ this.endMinute = 59;
62
+ this.endSecond = 59;
63
+ this.selectedDates = {
64
+ startDate: (/* @__PURE__ */ new Date()).toString(),
65
+ endDate: (/* @__PURE__ */ new Date()).toString()
66
+ };
67
+ this.dropdownRef = createRef();
68
+ this.DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
69
+ this.MONTHS = [
70
+ "January",
71
+ "February",
72
+ "March",
73
+ "April",
74
+ "May",
75
+ "June",
76
+ "July",
77
+ "August",
78
+ "September",
79
+ "October",
80
+ "November",
81
+ "December"
82
+ ];
83
+ this.initializePresets();
84
+ }
85
+ getDefaultEndHour() {
86
+ return this.useEndOfDay ? 23 : 0;
87
+ }
88
+ getDefaultEndMinute() {
89
+ return this.useEndOfDay ? 59 : 0;
90
+ }
91
+ getDefaultEndSecond() {
92
+ return this.useEndOfDay ? 59 : 0;
93
+ }
94
+ /**
95
+ * Parse a date string (YYYY-MM-DD or ISO datetime) as a local date, avoiding timezone issues.
96
+ * When you do `new Date("2024-03-20")`, JavaScript interprets it as UTC midnight,
97
+ * which can cause off-by-one day errors when using getDate() in local timezone.
98
+ * This function parses the date as a local date instead.
99
+ *
100
+ * When enableTime is true, datetime strings are parsed as UTC to match API min/max dates.
101
+ */
102
+ parseLocalDate(dateString) {
103
+ const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
104
+ if (dateOnlyPattern.test(dateString)) {
105
+ const [year, month, day] = dateString.split("-").map(Number);
106
+ if (this.enableTime) {
107
+ return new Date(Date.UTC(year, month - 1, day, 0, 0, 0));
108
+ }
109
+ return new Date(year, month - 1, day);
110
+ }
111
+ const dateTimePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/;
112
+ if (dateTimePattern.test(dateString)) {
113
+ const [datePart, timePart] = dateString.split("T");
114
+ const [year, month, day] = datePart.split("-").map(Number);
115
+ const [hours, minutes, seconds] = timePart.split(":").map(Number);
116
+ return new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
117
+ }
118
+ return new Date(dateString);
119
+ }
120
+ /**
121
+ * Check if two dates are in the same calendar month and year
122
+ */
123
+ isSameMonth(date1, date2) {
124
+ if (this.enableTime) {
125
+ return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth();
126
+ }
127
+ return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();
128
+ }
129
+ /**
130
+ * Check if a date's month/year matches a given month Date
131
+ */
132
+ isDateInMonth(date, monthDate) {
133
+ if (this.enableTime) {
134
+ return date.getUTCFullYear() === monthDate.getUTCFullYear() && date.getUTCMonth() === monthDate.getUTCMonth();
135
+ }
136
+ return date.getFullYear() === monthDate.getFullYear() && date.getMonth() === monthDate.getMonth();
137
+ }
138
+ getBounds() {
139
+ const min = this.minDate ? this.parseLocalDate(this.minDate) : void 0;
140
+ const max = this.maxDate ? this.parseLocalDate(this.maxDate) : void 0;
141
+ return { min, max };
142
+ }
143
+ doesRangeOverlapBounds(range) {
144
+ const { startDate, endDate } = range;
145
+ const { min, max } = this.getBounds();
146
+ if (!this.range) {
147
+ if (!startDate)
148
+ return false;
149
+ if (min && startDate < min)
150
+ return false;
151
+ if (max && startDate > max)
152
+ return false;
153
+ return true;
154
+ }
155
+ const start = startDate != null ? startDate : /* @__PURE__ */ new Date(-864e13);
156
+ const end = endDate != null ? endDate : /* @__PURE__ */ new Date(864e13);
157
+ if (!min && !max)
158
+ return true;
159
+ const windowStart = min != null ? min : /* @__PURE__ */ new Date(-864e13);
160
+ const windowEnd = max != null ? max : /* @__PURE__ */ new Date(864e13);
161
+ return end >= windowStart && start <= windowEnd;
162
+ }
163
+ isPresetWithinBounds(range) {
164
+ return this.doesRangeOverlapBounds(range);
165
+ }
166
+ get filteredPresets() {
167
+ return (this.presets || []).filter(
168
+ (preset) => this.isPresetWithinBounds(preset.getValue())
169
+ );
170
+ }
171
+ open() {
172
+ this.isOpen = true;
173
+ if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
174
+ const max = this.parseLocalDate(this.maxDate);
175
+ if (!isNaN(max.getTime())) {
176
+ if (this.range) {
177
+ this.rightMonth = new Date(max);
178
+ const left = new Date(max);
179
+ left.setMonth(left.getMonth() - 1);
180
+ this.leftMonth = left;
181
+ } else {
182
+ this.leftMonth = new Date(max);
183
+ }
184
+ }
185
+ }
186
+ if (!this.inline && this.dropdownRef.value) {
187
+ this.dropdownRef.value.show();
188
+ }
189
+ this.requestUpdate();
190
+ }
191
+ close() {
192
+ this.isOpen = false;
193
+ if (!this.inline && this.dropdownRef.value) {
194
+ this.dropdownRef.value.hide();
195
+ }
196
+ this.requestUpdate();
197
+ }
198
+ /**
199
+ * Clears the selected date(s) and resets the date picker to its initial state.
200
+ */
201
+ clear() {
202
+ this.selectedStart = null;
203
+ this.selectedEnd = null;
204
+ this.hoverDate = null;
205
+ this.isSelectingRange = false;
206
+ this.startHour = 0;
207
+ this.startMinute = 0;
208
+ this.startSecond = 0;
209
+ this.endHour = this.getDefaultEndHour();
210
+ this.endMinute = this.getDefaultEndMinute();
211
+ this.endSecond = this.getDefaultEndSecond();
212
+ this.clearInputValidation();
213
+ this.requestUpdate();
214
+ this.emitChange();
215
+ }
216
+ setOpen(open) {
217
+ if (open) {
218
+ this.open();
219
+ } else {
220
+ this.close();
221
+ }
222
+ }
223
+ willUpdate(changedProperties) {
224
+ super.willUpdate(changedProperties);
225
+ if (changedProperties.has("useEndOfDay")) {
226
+ this.endHour = this.getDefaultEndHour();
227
+ this.endMinute = this.getDefaultEndMinute();
228
+ this.endSecond = this.getDefaultEndSecond();
229
+ }
230
+ if (changedProperties.has("inline")) {
231
+ if (this.inline) {
232
+ this.isOpen = true;
233
+ if (this.dropdownRef.value) {
234
+ this.dropdownRef.value.hide();
235
+ }
236
+ }
237
+ }
238
+ if (changedProperties.has("minDate") || changedProperties.has("maxDate")) {
239
+ if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
240
+ const max = this.parseLocalDate(this.maxDate);
241
+ if (!isNaN(max.getTime())) {
242
+ if (this.range) {
243
+ this.rightMonth = new Date(max);
244
+ const left = new Date(max);
245
+ left.setMonth(left.getMonth() - 1);
246
+ this.leftMonth = left;
247
+ } else {
248
+ this.leftMonth = new Date(max);
249
+ }
250
+ }
251
+ }
252
+ }
253
+ if (changedProperties.has("startDate") || changedProperties.has("endDate")) {
254
+ if (this.startDate) {
255
+ const start = this.parseLocalDate(this.startDate);
256
+ if (!isNaN(start.getTime())) {
257
+ this.selectedStart = start;
258
+ if (this.enableTime) {
259
+ this.initializeTimeFromDate(start, true);
260
+ }
261
+ }
262
+ } else {
263
+ this.selectedStart = null;
264
+ }
265
+ if (this.range) {
266
+ if (this.endDate) {
267
+ const end = this.parseLocalDate(this.endDate);
268
+ if (!isNaN(end.getTime())) {
269
+ this.selectedEnd = end;
270
+ if (this.enableTime) {
271
+ this.initializeTimeFromDate(end, false);
272
+ }
273
+ }
274
+ } else {
275
+ this.selectedEnd = null;
276
+ }
277
+ if (this.selectedStart && this.selectedEnd) {
278
+ const isSingleMonthRange = this.isSameMonth(
279
+ this.selectedStart,
280
+ this.selectedEnd
281
+ );
282
+ if (isSingleMonthRange) {
283
+ if (this.isDateInMonth(this.selectedStart, this.leftMonth)) {
284
+ this.leftMonth = new Date(this.selectedStart);
285
+ if (this.isDateInMonth(
286
+ this.selectedStart,
287
+ this.rightMonth
288
+ )) {
289
+ this.rightMonth = new Date(this.selectedStart);
290
+ this.rightMonth.setMonth(
291
+ this.rightMonth.getMonth() + 1
292
+ );
293
+ }
294
+ } else if (this.isDateInMonth(this.selectedStart, this.rightMonth)) {
295
+ this.rightMonth = new Date(this.selectedStart);
296
+ } else {
297
+ this.leftMonth = new Date(this.selectedStart);
298
+ }
299
+ } else {
300
+ this.leftMonth = new Date(this.selectedStart);
301
+ this.rightMonth = new Date(this.selectedEnd);
302
+ }
303
+ } else if (this.selectedStart) {
304
+ this.leftMonth = new Date(this.selectedStart);
305
+ this.rightMonth = new Date(this.leftMonth);
306
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
307
+ }
308
+ } else {
309
+ if (this.selectedStart) {
310
+ this.leftMonth = new Date(this.selectedStart);
311
+ }
312
+ this.selectedEnd = null;
313
+ }
314
+ }
315
+ }
316
+ initializePresets() {
317
+ if (this.presets.length === 0) {
318
+ this.presets = [
319
+ {
320
+ label: "Today",
321
+ getValue: () => {
322
+ const today = /* @__PURE__ */ new Date();
323
+ return {
324
+ startDate: today,
325
+ endDate: this.range ? today : null
326
+ };
327
+ }
328
+ },
329
+ {
330
+ label: "Yesterday",
331
+ getValue: () => {
332
+ const yesterday = /* @__PURE__ */ new Date();
333
+ yesterday.setDate(yesterday.getDate() - 1);
334
+ return {
335
+ startDate: yesterday,
336
+ endDate: this.range ? yesterday : null
337
+ };
338
+ }
339
+ },
340
+ {
341
+ label: "Last 7 days",
342
+ getValue: () => {
343
+ const end = /* @__PURE__ */ new Date();
344
+ const start = /* @__PURE__ */ new Date();
345
+ start.setDate(start.getDate() - 6);
346
+ return { startDate: start, endDate: end };
347
+ }
348
+ },
349
+ {
350
+ label: "Last 30 days",
351
+ getValue: () => {
352
+ const end = /* @__PURE__ */ new Date();
353
+ const start = /* @__PURE__ */ new Date();
354
+ start.setDate(start.getDate() - 29);
355
+ return { startDate: start, endDate: end };
356
+ }
357
+ },
358
+ {
359
+ label: "Last 6 months",
360
+ getValue: () => {
361
+ const end = /* @__PURE__ */ new Date();
362
+ const start = /* @__PURE__ */ new Date();
363
+ start.setMonth(start.getMonth() - 6);
364
+ return { startDate: start, endDate: end };
365
+ }
366
+ },
367
+ {
368
+ label: "Last year",
369
+ getValue: () => {
370
+ const end = /* @__PURE__ */ new Date();
371
+ const start = /* @__PURE__ */ new Date();
372
+ start.setFullYear(start.getFullYear() - 1);
373
+ return { startDate: start, endDate: end };
374
+ }
375
+ },
376
+ {
377
+ label: "All time",
378
+ getValue: () => {
379
+ const { min, max } = this.getBounds();
380
+ return {
381
+ startDate: min || null,
382
+ endDate: max || null
383
+ };
384
+ }
385
+ }
386
+ ];
387
+ }
388
+ }
389
+ firstUpdated() {
390
+ const params = new URLSearchParams(window.location.search);
391
+ const timeStartParam = params.get("time_start") || this.startDate;
392
+ const timeEndParam = params.get("time_end") || this.endDate;
393
+ if (timeStartParam) {
394
+ this.selectedStart = this.parseLocalDate(timeStartParam);
395
+ this.leftMonth = new Date(this.selectedStart);
396
+ if (this.enableTime) {
397
+ this.initializeTimeFromDate(this.selectedStart, true);
398
+ }
399
+ }
400
+ if (this.range && timeEndParam) {
401
+ this.selectedEnd = this.parseLocalDate(timeEndParam);
402
+ if (this.enableTime) {
403
+ this.initializeTimeFromDate(this.selectedEnd, false);
404
+ }
405
+ if (this.selectedStart && this.selectedEnd) {
406
+ const isSingleMonthRange = this.isSameMonth(
407
+ this.selectedStart,
408
+ this.selectedEnd
409
+ );
410
+ if (isSingleMonthRange) {
411
+ this.rightMonth = new Date(this.selectedStart);
412
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
413
+ } else {
414
+ this.rightMonth = new Date(this.selectedEnd);
415
+ }
416
+ } else if (this.selectedEnd) {
417
+ this.rightMonth = new Date(this.selectedEnd);
418
+ }
419
+ }
420
+ if (this.range && !timeEndParam) {
421
+ this.rightMonth = new Date(this.leftMonth);
422
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
423
+ }
424
+ if (this.inline) {
425
+ this.isOpen = true;
426
+ }
427
+ }
428
+ disconnectedCallback() {
429
+ super.disconnectedCallback();
430
+ }
431
+ handleDropdownShow() {
432
+ this.isOpen = true;
433
+ }
434
+ handleDropdownHide() {
435
+ this.isOpen = false;
436
+ }
437
+ formatDisplayDate(date, isStart = true) {
438
+ if (!date)
439
+ return "";
440
+ const format = this.displayFormat || (this.enableTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
441
+ if (this.enableTime) {
442
+ const year2 = date.getUTCFullYear();
443
+ const month2 = String(date.getUTCMonth() + 1).padStart(2, "0");
444
+ const day2 = String(date.getUTCDate()).padStart(2, "0");
445
+ const hours = String(isStart ? this.startHour : this.endHour).padStart(
446
+ 2,
447
+ "0"
448
+ );
449
+ const minutes = String(
450
+ isStart ? this.startMinute : this.endMinute
451
+ ).padStart(2, "0");
452
+ const seconds = String(
453
+ isStart ? this.startSecond : this.endSecond
454
+ ).padStart(2, "0");
455
+ return format.replace("YYYY", year2.toString()).replace("MM", month2).replace("DD", day2).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
456
+ }
457
+ const year = date.getFullYear();
458
+ const month = String(date.getMonth() + 1).padStart(2, "0");
459
+ const day = String(date.getDate()).padStart(2, "0");
460
+ return format.replace("YYYY", year.toString()).replace("MM", month).replace("DD", day);
461
+ }
462
+ getDisplayValue() {
463
+ if (this.range) {
464
+ if (this.selectedStart && this.selectedEnd) {
465
+ return `${this.formatDisplayDate(this.selectedStart, true)} \u2013 ${this.formatDisplayDate(this.selectedEnd, false)}`;
466
+ } else if (this.selectedStart) {
467
+ return this.formatDisplayDate(this.selectedStart, true);
468
+ }
469
+ return "";
470
+ } else {
471
+ return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
472
+ }
473
+ }
474
+ getStartDateDisplayValue() {
475
+ return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
476
+ }
477
+ getEndDateDisplayValue() {
478
+ return this.selectedEnd ? this.formatDisplayDate(this.selectedEnd, false) : "";
479
+ }
480
+ parseAndFormatDate(dateStr) {
481
+ const trimmed = dateStr.trim();
482
+ if (!trimmed)
483
+ return null;
484
+ const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
485
+ const dateTimePattern = /^\d{4}-\d{2}-\d{2}[T\s]\d{1,2}:\d{2}(:\d{2})?$/;
486
+ let date;
487
+ if (dateOnlyPattern.test(trimmed)) {
488
+ date = this.parseLocalDate(trimmed);
489
+ } else if (this.enableTime && dateTimePattern.test(trimmed)) {
490
+ const [datePart, timePart] = trimmed.split(/[T\s]+/);
491
+ const [year, month, day] = datePart.split("-").map(Number);
492
+ const timeComponents = timePart.split(":").map(Number);
493
+ const hours = timeComponents[0] || 0;
494
+ const minutes = timeComponents[1] || 0;
495
+ const seconds = timeComponents[2] || 0;
496
+ date = new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
497
+ } else {
498
+ date = new Date(trimmed);
499
+ if (!isValid(date)) {
500
+ return null;
501
+ }
502
+ }
503
+ if (!isValid(date)) {
504
+ return null;
505
+ }
506
+ if (this.enableTime) {
507
+ if (dateOnlyPattern.test(trimmed)) {
508
+ return trimmed;
509
+ } else {
510
+ const utcYear = date.getUTCFullYear();
511
+ const utcMonth = date.getUTCMonth() + 1;
512
+ const utcDay = date.getUTCDate();
513
+ const utcHours = date.getUTCHours();
514
+ const utcMinutes = date.getUTCMinutes();
515
+ const utcSeconds = date.getUTCSeconds();
516
+ return `${utcYear}-${String(utcMonth).padStart(2, "0")}-${String(utcDay).padStart(2, "0")}T${String(utcHours).padStart(2, "0")}:${String(utcMinutes).padStart(2, "0")}:${String(utcSeconds).padStart(2, "0")}`;
517
+ }
518
+ } else {
519
+ const year = date.getFullYear();
520
+ const month = date.getMonth() + 1;
521
+ const day = date.getDate();
522
+ return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
523
+ }
524
+ }
525
+ clearInputValidation() {
526
+ const inputs = this.renderRoot.querySelectorAll("terra-input");
527
+ inputs.forEach((input) => {
528
+ input.setCustomValidity("");
529
+ });
530
+ }
531
+ /**
532
+ * Format a date string for display in error messages
533
+ * When time is disabled, only show the date portion (YYYY-MM-DD)
534
+ */
535
+ formatDateForError(dateString) {
536
+ if (!this.enableTime) {
537
+ return dateString.split("T")[0];
538
+ }
539
+ return dateString;
540
+ }
541
+ /**
542
+ * Set validation error on input and emit invalid event
543
+ */
544
+ setInputValidationError(input, message) {
545
+ input.setCustomValidity(message);
546
+ requestAnimationFrame(() => {
547
+ ;
548
+ input.validationErrorMessage = message;
549
+ input.requestUpdate();
550
+ });
551
+ this.emit("terra-date-selection-invalid", {
552
+ detail: { message }
553
+ });
554
+ }
555
+ handleInputBlur(event) {
556
+ const input = event.target;
557
+ const value = input.value || "";
558
+ if (!value.trim()) {
559
+ this.selectedStart = null;
560
+ this.selectedEnd = null;
561
+ input.setCustomValidity("");
562
+ this.emitChange();
563
+ return;
564
+ }
565
+ if (this.range) {
566
+ const parts = value.split(" - ");
567
+ if (parts.length !== 2) {
568
+ const message = "Date range must be in format: YYYY-MM-DD - YYYY-MM-DD";
569
+ this.setInputValidationError(input, message);
570
+ return;
571
+ }
572
+ const startFormatted = this.parseAndFormatDate(parts[0]);
573
+ const endFormatted = this.parseAndFormatDate(parts[1]);
574
+ if (!startFormatted) {
575
+ const message = "Invalid start date format";
576
+ this.setInputValidationError(input, message);
577
+ return;
578
+ }
579
+ if (!endFormatted) {
580
+ const message = "Invalid end date format";
581
+ this.setInputValidationError(input, message);
582
+ return;
583
+ }
584
+ let start;
585
+ let end;
586
+ if (this.enableTime && startFormatted.includes("T")) {
587
+ start = new Date(startFormatted);
588
+ this.initializeTimeFromDate(start, true);
589
+ } else if (this.enableTime) {
590
+ const [year, month, day] = startFormatted.split("-").map(Number);
591
+ start = new Date(
592
+ Date.UTC(
593
+ year,
594
+ month - 1,
595
+ day,
596
+ this.startHour,
597
+ this.startMinute,
598
+ this.startSecond
599
+ )
600
+ );
601
+ } else {
602
+ start = this.parseLocalDate(startFormatted);
603
+ }
604
+ if (this.enableTime && endFormatted.includes("T")) {
605
+ end = new Date(endFormatted);
606
+ this.initializeTimeFromDate(end, false);
607
+ } else if (this.enableTime) {
608
+ const [year, month, day] = endFormatted.split("-").map(Number);
609
+ end = new Date(
610
+ Date.UTC(
611
+ year,
612
+ month - 1,
613
+ day,
614
+ this.endHour,
615
+ this.endMinute,
616
+ this.endSecond
617
+ )
618
+ );
619
+ } else {
620
+ end = this.parseLocalDate(endFormatted);
621
+ }
622
+ let finalStart = start;
623
+ let finalEnd = end;
624
+ if (start > end) {
625
+ finalStart = end;
626
+ finalEnd = start;
627
+ }
628
+ if (this.minDate) {
629
+ const min = this.parseLocalDate(this.minDate);
630
+ if (finalStart < min) {
631
+ const message = `Start date must be on or after ${this.formatDateForError(this.minDate)}`;
632
+ this.setInputValidationError(input, message);
633
+ return;
634
+ }
635
+ }
636
+ if (this.maxDate) {
637
+ const max = this.parseLocalDate(this.maxDate);
638
+ if (finalEnd > max) {
639
+ const message = `End date must be on or before ${this.formatDateForError(this.maxDate)}`;
640
+ this.setInputValidationError(input, message);
641
+ return;
642
+ }
643
+ }
644
+ this.selectedStart = finalStart;
645
+ this.selectedEnd = finalEnd;
646
+ this.updateMonthViews();
647
+ input.value = `${startFormatted} - ${endFormatted}`;
648
+ input.setCustomValidity("");
649
+ this.emitChange();
650
+ } else {
651
+ const formatted = this.parseAndFormatDate(value);
652
+ if (!formatted) {
653
+ const message = "Invalid date format";
654
+ this.setInputValidationError(input, message);
655
+ return;
656
+ }
657
+ let date;
658
+ if (this.enableTime && formatted.includes("T")) {
659
+ date = new Date(formatted);
660
+ this.initializeTimeFromDate(date, true);
661
+ } else if (this.enableTime) {
662
+ const [year, month, day] = formatted.split("-").map(Number);
663
+ date = new Date(
664
+ Date.UTC(
665
+ year,
666
+ month - 1,
667
+ day,
668
+ this.startHour,
669
+ this.startMinute,
670
+ this.startSecond
671
+ )
672
+ );
673
+ } else {
674
+ date = this.parseLocalDate(formatted);
675
+ }
676
+ if (this.minDate) {
677
+ const min = this.parseLocalDate(this.minDate);
678
+ if (date < min) {
679
+ const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
680
+ this.setInputValidationError(input, message);
681
+ return;
682
+ }
683
+ }
684
+ if (this.maxDate) {
685
+ const max = this.parseLocalDate(this.maxDate);
686
+ if (date > max) {
687
+ const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
688
+ this.setInputValidationError(input, message);
689
+ return;
690
+ }
691
+ }
692
+ this.selectedStart = date;
693
+ this.selectedEnd = null;
694
+ this.updateMonthViews();
695
+ input.value = formatted;
696
+ input.setCustomValidity("");
697
+ this.emitChange();
698
+ }
699
+ }
700
+ handleStartInputBlur(event) {
701
+ const input = event.target;
702
+ const value = input.value || "";
703
+ if (!value.trim()) {
704
+ this.selectedStart = null;
705
+ input.setCustomValidity("");
706
+ this.emitChange();
707
+ return;
708
+ }
709
+ const formatted = this.parseAndFormatDate(value);
710
+ if (!formatted) {
711
+ const message = "Invalid date format";
712
+ this.setInputValidationError(input, message);
713
+ return;
714
+ }
715
+ let date;
716
+ if (this.enableTime && formatted.includes("T")) {
717
+ date = new Date(formatted);
718
+ this.initializeTimeFromDate(date, true);
719
+ } else if (this.enableTime) {
720
+ const [year, month, day] = formatted.split("-").map(Number);
721
+ date = new Date(
722
+ Date.UTC(
723
+ year,
724
+ month - 1,
725
+ day,
726
+ this.startHour,
727
+ this.startMinute,
728
+ this.startSecond
729
+ )
730
+ );
731
+ } else {
732
+ date = this.parseLocalDate(formatted);
733
+ }
734
+ if (this.minDate) {
735
+ const min = this.parseLocalDate(this.minDate);
736
+ if (date < min) {
737
+ const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
738
+ this.setInputValidationError(input, message);
739
+ return;
740
+ }
741
+ }
742
+ if (this.maxDate) {
743
+ const max = this.parseLocalDate(this.maxDate);
744
+ if (date > max) {
745
+ const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
746
+ this.setInputValidationError(input, message);
747
+ return;
748
+ }
749
+ }
750
+ if (this.selectedEnd && date > this.selectedEnd) {
751
+ const message = "Start date must be before end date";
752
+ this.setInputValidationError(input, message);
753
+ return;
754
+ }
755
+ this.selectedStart = date;
756
+ this.leftMonth = new Date(date);
757
+ input.value = formatted;
758
+ input.setCustomValidity("");
759
+ this.emitChange();
760
+ }
761
+ handleEndInputBlur(event) {
762
+ const input = event.target;
763
+ const value = input.value || "";
764
+ if (!value.trim()) {
765
+ this.selectedEnd = null;
766
+ input.setCustomValidity("");
767
+ this.emitChange();
768
+ return;
769
+ }
770
+ const formatted = this.parseAndFormatDate(value);
771
+ if (!formatted) {
772
+ const message = "Invalid date format";
773
+ this.setInputValidationError(input, message);
774
+ return;
775
+ }
776
+ let date;
777
+ if (this.enableTime && formatted.includes("T")) {
778
+ date = new Date(formatted);
779
+ this.initializeTimeFromDate(date, false);
780
+ } else if (this.enableTime) {
781
+ const [year, month, day] = formatted.split("-").map(Number);
782
+ date = new Date(
783
+ Date.UTC(
784
+ year,
785
+ month - 1,
786
+ day,
787
+ this.endHour,
788
+ this.endMinute,
789
+ this.endSecond
790
+ )
791
+ );
792
+ } else {
793
+ date = this.parseLocalDate(formatted);
794
+ }
795
+ if (this.minDate) {
796
+ const min = this.parseLocalDate(this.minDate);
797
+ if (date < min) {
798
+ const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
799
+ this.setInputValidationError(input, message);
800
+ return;
801
+ }
802
+ }
803
+ if (this.maxDate) {
804
+ const max = this.parseLocalDate(this.maxDate);
805
+ if (date > max) {
806
+ const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
807
+ this.setInputValidationError(input, message);
808
+ return;
809
+ }
810
+ }
811
+ if (this.selectedStart) {
812
+ if (this.enableTime && this.isSameDay(date, this.selectedStart)) {
813
+ const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
814
+ const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
815
+ if (endTimeSeconds < startTimeSeconds) {
816
+ const message = "End time must be after start time when dates are the same";
817
+ this.setInputValidationError(input, message);
818
+ return;
819
+ }
820
+ } else if (date < this.selectedStart) {
821
+ const message = "End date must be after start date";
822
+ this.setInputValidationError(input, message);
823
+ return;
824
+ }
825
+ }
826
+ this.selectedEnd = date;
827
+ if (this.selectedStart && this.isSameMonth(this.selectedStart, this.selectedEnd)) {
828
+ this.rightMonth = new Date(this.selectedStart);
829
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
830
+ } else {
831
+ this.rightMonth = new Date(date);
832
+ }
833
+ input.setCustomValidity("");
834
+ this.emitChange();
835
+ }
836
+ updateMonthViews() {
837
+ if (this.selectedStart) {
838
+ this.leftMonth = new Date(this.selectedStart);
839
+ if (this.range && this.selectedEnd) {
840
+ if (this.isSameMonth(this.selectedStart, this.selectedEnd)) {
841
+ this.rightMonth = new Date(this.selectedStart);
842
+ this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
843
+ } else {
844
+ this.rightMonth = new Date(this.selectedEnd);
845
+ }
846
+ }
847
+ }
848
+ }
849
+ handleKeydown(event) {
850
+ if (event.key === " ") {
851
+ event.stopPropagation();
852
+ return;
853
+ }
854
+ if (event.key === "Enter") {
855
+ event.preventDefault();
856
+ this.handleInputBlur(event);
857
+ }
858
+ }
859
+ previousMonth(isLeft) {
860
+ if (isLeft) {
861
+ const newMonth = new Date(this.leftMonth);
862
+ newMonth.setMonth(newMonth.getMonth() - 1);
863
+ this.leftMonth = newMonth;
864
+ } else {
865
+ const newMonth = new Date(this.rightMonth);
866
+ newMonth.setMonth(newMonth.getMonth() - 1);
867
+ this.rightMonth = newMonth;
868
+ }
869
+ }
870
+ nextMonth(isLeft) {
871
+ if (isLeft) {
872
+ const newMonth = new Date(this.leftMonth);
873
+ newMonth.setMonth(newMonth.getMonth() + 1);
874
+ this.leftMonth = newMonth;
875
+ } else {
876
+ const newMonth = new Date(this.rightMonth);
877
+ newMonth.setMonth(newMonth.getMonth() + 1);
878
+ this.rightMonth = newMonth;
879
+ }
880
+ }
881
+ toggleMonthDropdown(isLeft, event) {
882
+ event.stopPropagation();
883
+ if (isLeft) {
884
+ this.showLeftMonthDropdown = !this.showLeftMonthDropdown;
885
+ this.showRightMonthDropdown = false;
886
+ } else {
887
+ this.showRightMonthDropdown = !this.showRightMonthDropdown;
888
+ this.showLeftMonthDropdown = false;
889
+ }
890
+ }
891
+ selectMonth(month, isLeft) {
892
+ if (isLeft) {
893
+ const newMonth = new Date(this.leftMonth);
894
+ newMonth.setDate(1);
895
+ newMonth.setMonth(month);
896
+ this.leftMonth = newMonth;
897
+ this.showLeftMonthDropdown = false;
898
+ } else {
899
+ const newMonth = new Date(this.rightMonth);
900
+ newMonth.setDate(1);
901
+ newMonth.setMonth(month);
902
+ this.rightMonth = newMonth;
903
+ this.showRightMonthDropdown = false;
904
+ }
905
+ }
906
+ changeYear(delta, isLeft) {
907
+ if (isLeft) {
908
+ const newMonth = new Date(this.leftMonth);
909
+ newMonth.setFullYear(newMonth.getFullYear() + delta);
910
+ this.leftMonth = newMonth;
911
+ } else {
912
+ const newMonth = new Date(this.rightMonth);
913
+ newMonth.setFullYear(newMonth.getFullYear() + delta);
914
+ this.rightMonth = newMonth;
915
+ }
916
+ }
917
+ handleYearInput(event, isLeft) {
918
+ const input = event.target;
919
+ const year = parseInt(input.value, 10);
920
+ if (!isNaN(year) && year >= 1900 && year <= 2100) {
921
+ if (isLeft) {
922
+ const newMonth = new Date(this.leftMonth);
923
+ newMonth.setFullYear(year);
924
+ this.leftMonth = newMonth;
925
+ } else {
926
+ const newMonth = new Date(this.rightMonth);
927
+ newMonth.setFullYear(year);
928
+ this.rightMonth = newMonth;
929
+ }
930
+ }
931
+ }
932
+ getDaysInMonth(date) {
933
+ const year = date.getFullYear();
934
+ const month = date.getMonth();
935
+ const createDate = (y, m, d) => {
936
+ if (this.enableTime) {
937
+ return new Date(Date.UTC(y, m, d, 0, 0, 0));
938
+ }
939
+ return new Date(y, m, d);
940
+ };
941
+ const firstDay = createDate(year, month, 1);
942
+ const lastDay = new Date(year, month + 1, 0);
943
+ const days = [];
944
+ const firstDayOfWeek = this.enableTime ? firstDay.getUTCDay() : firstDay.getDay();
945
+ for (let i = firstDayOfWeek - 1; i >= 0; i--) {
946
+ const day = createDate(year, month, -i);
947
+ days.push(day);
948
+ }
949
+ for (let i = 1; i <= lastDay.getDate(); i++) {
950
+ days.push(createDate(year, month, i));
951
+ }
952
+ const remainingDays = 7 - days.length % 7;
953
+ if (remainingDays < 7) {
954
+ for (let i = 1; i <= remainingDays; i++) {
955
+ days.push(createDate(year, month + 1, i));
956
+ }
957
+ }
958
+ return days;
959
+ }
960
+ isSameDay(date1, date2) {
961
+ if (!date1 || !date2)
962
+ return false;
963
+ if (this.enableTime) {
964
+ return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth() && date1.getUTCDate() === date2.getUTCDate();
965
+ }
966
+ return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
967
+ }
968
+ isInRange(date) {
969
+ if (!this.selectedStart || !this.selectedEnd)
970
+ return false;
971
+ const time = date.getTime();
972
+ return time >= this.selectedStart.getTime() && time <= this.selectedEnd.getTime();
973
+ }
974
+ isInHoverRange(date) {
975
+ if (!this.range || !this.selectedStart || !this.hoverDate || this.selectedEnd)
976
+ return false;
977
+ const time = date.getTime();
978
+ const start = Math.min(this.selectedStart.getTime(), this.hoverDate.getTime());
979
+ const end = Math.max(this.selectedStart.getTime(), this.hoverDate.getTime());
980
+ return time >= start && time <= end;
981
+ }
982
+ isDisabled(date) {
983
+ if (this.minDate) {
984
+ const min = this.parseLocalDate(this.minDate);
985
+ const minMidnight = new Date(
986
+ Date.UTC(min.getUTCFullYear(), min.getUTCMonth(), min.getUTCDate())
987
+ );
988
+ const dateMidnight = new Date(
989
+ Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
990
+ );
991
+ if (dateMidnight < minMidnight)
992
+ return true;
993
+ }
994
+ if (this.maxDate) {
995
+ const max = this.parseLocalDate(this.maxDate);
996
+ const maxMidnight = new Date(
997
+ Date.UTC(max.getUTCFullYear(), max.getUTCMonth(), max.getUTCDate())
998
+ );
999
+ const dateMidnight = new Date(
1000
+ Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1001
+ );
1002
+ if (dateMidnight > maxMidnight)
1003
+ return true;
1004
+ }
1005
+ return false;
1006
+ }
1007
+ selectDate(date) {
1008
+ if (this.isDisabled(date)) {
1009
+ this.emit("terra-date-selection-invalid", {
1010
+ detail: {
1011
+ message: `You are not allowed to select dates outside ${this.minDate} to ${this.maxDate}.`
1012
+ }
1013
+ });
1014
+ return;
1015
+ }
1016
+ this.clearInputValidation();
1017
+ if (this.range) {
1018
+ if (!this.selectedStart || this.selectedEnd) {
1019
+ this.selectedStart = date;
1020
+ this.selectedEnd = null;
1021
+ this.isSelectingRange = true;
1022
+ } else {
1023
+ if (date < this.selectedStart) {
1024
+ this.selectedEnd = this.selectedStart;
1025
+ this.selectedStart = date;
1026
+ } else {
1027
+ this.selectedEnd = date;
1028
+ }
1029
+ this.isSelectingRange = false;
1030
+ if (this.enableTime && this.selectedStart && this.selectedEnd && this.isSameDay(this.selectedStart, this.selectedEnd)) {
1031
+ const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1032
+ const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1033
+ if (endTimeSeconds < startTimeSeconds) {
1034
+ this.emit("terra-date-selection-invalid", {
1035
+ detail: {
1036
+ message: "End time is before start time. Please adjust the time values."
1037
+ }
1038
+ });
1039
+ }
1040
+ }
1041
+ this.emitChange();
1042
+ if (!this.inline) {
1043
+ this.isOpen = false;
1044
+ }
1045
+ }
1046
+ } else {
1047
+ this.selectedStart = date;
1048
+ this.selectedEnd = null;
1049
+ this.emitChange();
1050
+ if (!this.inline) {
1051
+ this.isOpen = false;
1052
+ }
1053
+ }
1054
+ }
1055
+ handleDateHover(date) {
1056
+ if (this.range && this.selectedStart && !this.selectedEnd) {
1057
+ this.hoverDate = date;
1058
+ }
1059
+ }
1060
+ selectPreset(preset) {
1061
+ const { startDate, endDate } = preset.getValue();
1062
+ if (!this.isPresetWithinBounds({ startDate, endDate })) {
1063
+ this.emit("terra-date-selection-invalid", {
1064
+ detail: {
1065
+ message: `The preset "${preset.label}" is not available within the allowed date range ${this.minDate} to ${this.maxDate}.`
1066
+ }
1067
+ });
1068
+ return;
1069
+ }
1070
+ this.clearInputValidation();
1071
+ const { min, max } = this.getBounds();
1072
+ if (this.range) {
1073
+ let s = startDate;
1074
+ let e = endDate;
1075
+ if (s && min && s < min)
1076
+ s = new Date(min);
1077
+ if (s && max && s > max)
1078
+ s = new Date(max);
1079
+ if (e && min && e < min)
1080
+ e = new Date(min);
1081
+ if (e && max && e > max)
1082
+ e = new Date(max);
1083
+ if (s && e && e < s) {
1084
+ const tmp = s;
1085
+ s = e;
1086
+ e = tmp;
1087
+ }
1088
+ this.selectedStart = s;
1089
+ this.selectedEnd = e;
1090
+ } else {
1091
+ let s = startDate;
1092
+ if (s && min && s < min)
1093
+ s = new Date(min);
1094
+ if (s && max && s > max)
1095
+ s = new Date(max);
1096
+ this.selectedStart = s;
1097
+ this.selectedEnd = null;
1098
+ }
1099
+ if (this.selectedStart) {
1100
+ this.leftMonth = new Date(this.selectedStart);
1101
+ if (this.range && this.selectedEnd) {
1102
+ this.rightMonth = new Date(this.selectedEnd);
1103
+ }
1104
+ }
1105
+ this.emitChange();
1106
+ if (!this.range && !this.inline) {
1107
+ this.isOpen = false;
1108
+ }
1109
+ }
1110
+ emitChange() {
1111
+ let startDateTime = "";
1112
+ let endDateTime = "";
1113
+ if (this.selectedStart) {
1114
+ if (this.enableTime) {
1115
+ const startDate = new Date(this.selectedStart);
1116
+ startDate.setUTCHours(
1117
+ this.startHour,
1118
+ this.startMinute,
1119
+ this.startSecond,
1120
+ 0
1121
+ );
1122
+ startDateTime = startDate.toISOString();
1123
+ } else {
1124
+ const year = this.selectedStart.getFullYear();
1125
+ const month = String(this.selectedStart.getMonth() + 1).padStart(
1126
+ 2,
1127
+ "0"
1128
+ );
1129
+ const day = String(this.selectedStart.getDate()).padStart(2, "0");
1130
+ startDateTime = `${year}-${month}-${day}`;
1131
+ }
1132
+ }
1133
+ if (this.selectedEnd) {
1134
+ if (this.enableTime) {
1135
+ const endDate = new Date(this.selectedEnd);
1136
+ endDate.setUTCHours(this.endHour, this.endMinute, this.endSecond, 0);
1137
+ endDateTime = endDate.toISOString();
1138
+ } else {
1139
+ const year = this.selectedEnd.getFullYear();
1140
+ const month = String(this.selectedEnd.getMonth() + 1).padStart(2, "0");
1141
+ const day = String(this.selectedEnd.getDate()).padStart(2, "0");
1142
+ endDateTime = `${year}-${month}-${day}`;
1143
+ }
1144
+ }
1145
+ this.emit("terra-date-range-change", {
1146
+ detail: {
1147
+ startDate: startDateTime,
1148
+ endDate: endDateTime
1149
+ }
1150
+ });
1151
+ }
1152
+ initializeTimeFromDate(date, isStart) {
1153
+ const hours = date.getUTCHours();
1154
+ const minutes = date.getUTCMinutes();
1155
+ const seconds = date.getUTCSeconds();
1156
+ if (isStart) {
1157
+ this.startHour = hours;
1158
+ this.startMinute = minutes;
1159
+ this.startSecond = seconds;
1160
+ } else {
1161
+ this.endHour = hours;
1162
+ this.endMinute = minutes;
1163
+ this.endSecond = seconds;
1164
+ }
1165
+ }
1166
+ changeTime(type, delta, isStart) {
1167
+ if (type === "hour") {
1168
+ if (isStart) {
1169
+ let newHour = this.startHour + delta;
1170
+ if (newHour > 23)
1171
+ newHour = 0;
1172
+ if (newHour < 0)
1173
+ newHour = 23;
1174
+ this.startHour = newHour;
1175
+ } else {
1176
+ let newHour = this.endHour + delta;
1177
+ if (newHour > 23)
1178
+ newHour = 0;
1179
+ if (newHour < 0)
1180
+ newHour = 23;
1181
+ this.endHour = newHour;
1182
+ }
1183
+ } else if (type === "minute") {
1184
+ if (isStart) {
1185
+ let newMinute = this.startMinute + delta;
1186
+ if (newMinute >= 60)
1187
+ newMinute = 0;
1188
+ if (newMinute < 0)
1189
+ newMinute = 59;
1190
+ this.startMinute = newMinute;
1191
+ } else {
1192
+ let newMinute = this.endMinute + delta;
1193
+ if (newMinute >= 60)
1194
+ newMinute = 0;
1195
+ if (newMinute < 0)
1196
+ newMinute = 59;
1197
+ this.endMinute = newMinute;
1198
+ }
1199
+ } else {
1200
+ if (isStart) {
1201
+ let newSecond = this.startSecond + delta;
1202
+ if (newSecond >= 60)
1203
+ newSecond = 0;
1204
+ if (newSecond < 0)
1205
+ newSecond = 59;
1206
+ this.startSecond = newSecond;
1207
+ } else {
1208
+ let newSecond = this.endSecond + delta;
1209
+ if (newSecond >= 60)
1210
+ newSecond = 0;
1211
+ if (newSecond < 0)
1212
+ newSecond = 59;
1213
+ this.endSecond = newSecond;
1214
+ }
1215
+ }
1216
+ this.emitChange();
1217
+ this.requestUpdate();
1218
+ }
1219
+ handleTimeInput(event, type, isStart) {
1220
+ const input = event.target;
1221
+ let value = parseInt(input.value, 10);
1222
+ if (type === "hour") {
1223
+ if (isNaN(value) || value < 0 || value > 23) {
1224
+ input.value = isStart ? this.startHour.toString().padStart(2, "0") : this.endHour.toString().padStart(2, "0");
1225
+ return;
1226
+ }
1227
+ if (isStart)
1228
+ this.startHour = value;
1229
+ else
1230
+ this.endHour = value;
1231
+ } else if (type === "minute") {
1232
+ if (isNaN(value) || value < 0 || value >= 60) {
1233
+ input.value = isStart ? this.startMinute.toString().padStart(2, "0") : this.endMinute.toString().padStart(2, "0");
1234
+ return;
1235
+ }
1236
+ if (isStart)
1237
+ this.startMinute = value;
1238
+ else
1239
+ this.endMinute = value;
1240
+ } else {
1241
+ if (isNaN(value) || value < 0 || value >= 60) {
1242
+ input.value = isStart ? this.startSecond.toString().padStart(2, "0") : this.endSecond.toString().padStart(2, "0");
1243
+ return;
1244
+ }
1245
+ if (isStart)
1246
+ this.startSecond = value;
1247
+ else
1248
+ this.endSecond = value;
1249
+ }
1250
+ this.emitChange();
1251
+ this.requestUpdate();
1252
+ }
1253
+ renderCalendar(month, isLeft = true) {
1254
+ const days = this.getDaysInMonth(month);
1255
+ const currentMonth = month.getMonth();
1256
+ const showDropdown = isLeft ? this.showLeftMonthDropdown : this.showRightMonthDropdown;
1257
+ return html`
1258
+ <div class="calendar">
1259
+ <div class="calendar__header">
1260
+ <button
1261
+ type="button"
1262
+ class="calendar__nav"
1263
+ @click=${() => this.previousMonth(isLeft)}
1264
+ >
1265
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1266
+ <path
1267
+ d="M10 12L6 8L10 4"
1268
+ stroke="currentColor"
1269
+ stroke-width="2"
1270
+ stroke-linecap="round"
1271
+ stroke-linejoin="round"
1272
+ />
1273
+ </svg>
1274
+ </button>
1275
+
1276
+ <div class="calendar__month-year">
1277
+ <div class="calendar__month-dropdown-wrapper">
1278
+ <button
1279
+ type="button"
1280
+ class="calendar__month-button"
1281
+ @click=${(e) => this.toggleMonthDropdown(isLeft, e)}
1282
+ >
1283
+ ${this.MONTHS[month.getMonth()]}
1284
+ <svg
1285
+ width="12"
1286
+ height="12"
1287
+ viewBox="0 0 12 12"
1288
+ fill="none"
1289
+ class="calendar__month-icon"
1290
+ >
1291
+ <path
1292
+ d="M3 5L6 8L9 5"
1293
+ stroke="currentColor"
1294
+ stroke-width="1.5"
1295
+ stroke-linecap="round"
1296
+ stroke-linejoin="round"
1297
+ />
1298
+ </svg>
1299
+ </button>
1300
+
1301
+ ${showDropdown ? html`
1302
+ <div class="calendar__month-dropdown">
1303
+ ${this.MONTHS.map(
1304
+ (monthName, index) => html`
1305
+ <button
1306
+ type="button"
1307
+ class="calendar__month-option ${index === month.getMonth() ? "calendar__month-option--selected" : ""}"
1308
+ @click=${() => this.selectMonth(
1309
+ index,
1310
+ isLeft
1311
+ )}
1312
+ >
1313
+ ${index === month.getMonth() ? html`
1314
+ <svg
1315
+ width="16"
1316
+ height="16"
1317
+ viewBox="0 0 16 16"
1318
+ fill="none"
1319
+ class="calendar__month-check"
1320
+ >
1321
+ <path
1322
+ d="M13 4L6 11L3 8"
1323
+ stroke="currentColor"
1324
+ stroke-width="2"
1325
+ stroke-linecap="round"
1326
+ stroke-linejoin="round"
1327
+ />
1328
+ </svg>
1329
+ ` : ""}
1330
+ ${monthName}
1331
+ </button>
1332
+ `
1333
+ )}
1334
+ </div>
1335
+ ` : ""}
1336
+ </div>
1337
+
1338
+ <div class="calendar__year-input-wrapper">
1339
+ <input
1340
+ type="number"
1341
+ class="calendar__year-input"
1342
+ .value=${month.getFullYear().toString()}
1343
+ @input=${(e) => this.handleYearInput(e, isLeft)}
1344
+ @blur=${(e) => {
1345
+ const input = e.target;
1346
+ input.value = month.getFullYear().toString();
1347
+ }}
1348
+ min="1900"
1349
+ max="2100"
1350
+ />
1351
+ <div class="calendar__year-spinners">
1352
+ <button
1353
+ type="button"
1354
+ class="calendar__year-spinner calendar__year-spinner--up"
1355
+ @click=${() => this.changeYear(1, isLeft)}
1356
+ >
1357
+ <svg
1358
+ width="10"
1359
+ height="10"
1360
+ viewBox="0 0 10 10"
1361
+ fill="none"
1362
+ >
1363
+ <path
1364
+ d="M2 6L5 3L8 6"
1365
+ stroke="currentColor"
1366
+ stroke-width="1.5"
1367
+ stroke-linecap="round"
1368
+ stroke-linejoin="round"
1369
+ />
1370
+ </svg>
1371
+ </button>
1372
+ <button
1373
+ type="button"
1374
+ class="calendar__year-spinner calendar__year-spinner--down"
1375
+ @click=${() => this.changeYear(-1, isLeft)}
1376
+ >
1377
+ <svg
1378
+ width="10"
1379
+ height="10"
1380
+ viewBox="0 0 10 10"
1381
+ fill="none"
1382
+ >
1383
+ <path
1384
+ d="M2 4L5 7L8 4"
1385
+ stroke="currentColor"
1386
+ stroke-width="1.5"
1387
+ stroke-linecap="round"
1388
+ stroke-linejoin="round"
1389
+ />
1390
+ </svg>
1391
+ </button>
1392
+ </div>
1393
+ </div>
1394
+ </div>
1395
+
1396
+ <button
1397
+ type="button"
1398
+ class="calendar__nav"
1399
+ @click=${() => this.nextMonth(isLeft)}
1400
+ >
1401
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1402
+ <path
1403
+ d="M6 12L10 8L6 4"
1404
+ stroke="currentColor"
1405
+ stroke-width="2"
1406
+ stroke-linecap="round"
1407
+ stroke-linejoin="round"
1408
+ />
1409
+ </svg>
1410
+ </button>
1411
+ </div>
1412
+ <div class="calendar__weekdays">
1413
+ ${this.DAYS.map(
1414
+ (day) => html`<div class="calendar__weekday">${day}</div>`
1415
+ )}
1416
+ </div>
1417
+ <div class="calendar__days">
1418
+ ${days.map((date) => {
1419
+ const dateMonth = this.enableTime ? date.getUTCMonth() : date.getMonth();
1420
+ const dateDay = this.enableTime ? date.getUTCDate() : date.getDate();
1421
+ const isCurrentMonth = dateMonth === currentMonth;
1422
+ const isSelected = this.isSameDay(date, this.selectedStart) || this.isSameDay(date, this.selectedEnd);
1423
+ const isStart = this.isSameDay(date, this.selectedStart);
1424
+ const isEnd = this.isSameDay(date, this.selectedEnd);
1425
+ const inRange = this.isInRange(date);
1426
+ const inHoverRange = this.isInHoverRange(date);
1427
+ const isDisabled = this.isDisabled(date);
1428
+ return html`
1429
+ <button
1430
+ type="button"
1431
+ class="calendar__day ${!isCurrentMonth ? "calendar__day--outside" : ""}
1432
+ ${isSelected ? "calendar__day--selected" : ""}
1433
+ ${isStart ? "calendar__day--start" : ""}
1434
+ ${isEnd ? "calendar__day--end" : ""}
1435
+ ${inRange ? "calendar__day--in-range" : ""}
1436
+ ${inHoverRange ? "calendar__day--hover-range" : ""}
1437
+ ${isDisabled ? "calendar__day--disabled" : ""}"
1438
+ @click=${() => this.selectDate(date)}
1439
+ @mouseenter=${() => this.handleDateHover(date)}
1440
+ ?disabled=${isDisabled}
1441
+ >
1442
+ ${dateDay}
1443
+ </button>
1444
+ `;
1445
+ })}
1446
+ </div>
1447
+ </div>
1448
+ `;
1449
+ }
1450
+ renderTimePicker() {
1451
+ if (!this.enableTime)
1452
+ return "";
1453
+ return html`
1454
+ <div class="date-picker__time">
1455
+ <div class="date-picker__time-section">
1456
+ <div class="date-picker__time-inputs">
1457
+ <div class="date-picker__time-input-group">
1458
+ <input
1459
+ type="number"
1460
+ class="date-picker__time-input"
1461
+ .value=${this.startHour.toString().padStart(2, "0")}
1462
+ @input=${(e) => this.handleTimeInput(e, "hour", true)}
1463
+ @blur=${(e) => {
1464
+ const input = e.target;
1465
+ input.value = this.startHour.toString().padStart(2, "0");
1466
+ }}
1467
+ min="0"
1468
+ max="23"
1469
+ />
1470
+ <div class="date-picker__time-spinners">
1471
+ <button
1472
+ type="button"
1473
+ class="date-picker__time-spinner"
1474
+ @click=${() => this.changeTime("hour", 1, true)}
1475
+ >
1476
+ <svg
1477
+ width="10"
1478
+ height="10"
1479
+ viewBox="0 0 10 10"
1480
+ fill="none"
1481
+ >
1482
+ <path
1483
+ d="M2 6L5 3L8 6"
1484
+ stroke="currentColor"
1485
+ stroke-width="1.5"
1486
+ stroke-linecap="round"
1487
+ stroke-linejoin="round"
1488
+ />
1489
+ </svg>
1490
+ </button>
1491
+ <button
1492
+ type="button"
1493
+ class="date-picker__time-spinner"
1494
+ @click=${() => this.changeTime("hour", -1, true)}
1495
+ >
1496
+ <svg
1497
+ width="10"
1498
+ height="10"
1499
+ viewBox="0 0 10 10"
1500
+ fill="none"
1501
+ >
1502
+ <path
1503
+ d="M2 4L5 7L8 4"
1504
+ stroke="currentColor"
1505
+ stroke-width="1.5"
1506
+ stroke-linecap="round"
1507
+ stroke-linejoin="round"
1508
+ />
1509
+ </svg>
1510
+ </button>
1511
+ </div>
1512
+ </div>
1513
+
1514
+ <span class="date-picker__time-separator">:</span>
1515
+
1516
+ <div class="date-picker__time-input-group">
1517
+ <input
1518
+ type="number"
1519
+ class="date-picker__time-input"
1520
+ .value=${this.startMinute.toString().padStart(2, "0")}
1521
+ @input=${(e) => this.handleTimeInput(e, "minute", true)}
1522
+ @blur=${(e) => {
1523
+ const input = e.target;
1524
+ input.value = this.startMinute.toString().padStart(2, "0");
1525
+ }}
1526
+ min="0"
1527
+ max="59"
1528
+ />
1529
+ <div class="date-picker__time-spinners">
1530
+ <button
1531
+ type="button"
1532
+ class="date-picker__time-spinner"
1533
+ @click=${() => this.changeTime("minute", 1, true)}
1534
+ >
1535
+ <svg
1536
+ width="10"
1537
+ height="10"
1538
+ viewBox="0 0 10 10"
1539
+ fill="none"
1540
+ >
1541
+ <path
1542
+ d="M2 6L5 3L8 6"
1543
+ stroke="currentColor"
1544
+ stroke-width="1.5"
1545
+ stroke-linecap="round"
1546
+ stroke-linejoin="round"
1547
+ />
1548
+ </svg>
1549
+ </button>
1550
+ <button
1551
+ type="button"
1552
+ class="date-picker__time-spinner"
1553
+ @click=${() => this.changeTime("minute", -1, true)}
1554
+ >
1555
+ <svg
1556
+ width="10"
1557
+ height="10"
1558
+ viewBox="0 0 10 10"
1559
+ fill="none"
1560
+ >
1561
+ <path
1562
+ d="M2 4L5 7L8 4"
1563
+ stroke="currentColor"
1564
+ stroke-width="1.5"
1565
+ stroke-linecap="round"
1566
+ stroke-linejoin="round"
1567
+ />
1568
+ </svg>
1569
+ </button>
1570
+ </div>
1571
+ </div>
1572
+
1573
+ <span class="date-picker__time-separator">:</span>
1574
+
1575
+ <div class="date-picker__time-input-group">
1576
+ <input
1577
+ type="number"
1578
+ class="date-picker__time-input"
1579
+ .value=${this.startSecond.toString().padStart(2, "0")}
1580
+ @input=${(e) => this.handleTimeInput(e, "second", true)}
1581
+ @blur=${(e) => {
1582
+ const input = e.target;
1583
+ input.value = this.startSecond.toString().padStart(2, "0");
1584
+ }}
1585
+ min="0"
1586
+ max="59"
1587
+ />
1588
+ <div class="date-picker__time-spinners">
1589
+ <button
1590
+ type="button"
1591
+ class="date-picker__time-spinner"
1592
+ @click=${() => this.changeTime("second", 1, true)}
1593
+ >
1594
+ <svg
1595
+ width="10"
1596
+ height="10"
1597
+ viewBox="0 0 10 10"
1598
+ fill="none"
1599
+ >
1600
+ <path
1601
+ d="M2 6L5 3L8 6"
1602
+ stroke="currentColor"
1603
+ stroke-width="1.5"
1604
+ stroke-linecap="round"
1605
+ stroke-linejoin="round"
1606
+ />
1607
+ </svg>
1608
+ </button>
1609
+ <button
1610
+ type="button"
1611
+ class="date-picker__time-spinner"
1612
+ @click=${() => this.changeTime("second", -1, true)}
1613
+ >
1614
+ <svg
1615
+ width="10"
1616
+ height="10"
1617
+ viewBox="0 0 10 10"
1618
+ fill="none"
1619
+ >
1620
+ <path
1621
+ d="M2 4L5 7L8 4"
1622
+ stroke="currentColor"
1623
+ stroke-width="1.5"
1624
+ stroke-linecap="round"
1625
+ stroke-linejoin="round"
1626
+ />
1627
+ </svg>
1628
+ </button>
1629
+ </div>
1630
+ </div>
1631
+ </div>
1632
+ </div>
1633
+
1634
+ ${this.range ? html`
1635
+ <span class="date-picker__separator">–</span>
1636
+
1637
+ <div class="date-picker__time-section">
1638
+ <div class="date-picker__time-inputs">
1639
+ <div class="date-picker__time-input-group">
1640
+ <input
1641
+ type="number"
1642
+ class="date-picker__time-input"
1643
+ .value=${this.endHour.toString().padStart(2, "0")}
1644
+ @input=${(e) => this.handleTimeInput(e, "hour", false)}
1645
+ @blur=${(e) => {
1646
+ const input = e.target;
1647
+ input.value = this.endHour.toString().padStart(2, "0");
1648
+ }}
1649
+ min="0"
1650
+ max="23"
1651
+ />
1652
+ <div class="date-picker__time-spinners">
1653
+ <button
1654
+ type="button"
1655
+ class="date-picker__time-spinner"
1656
+ @click=${() => this.changeTime("hour", 1, false)}
1657
+ >
1658
+ <svg
1659
+ width="10"
1660
+ height="10"
1661
+ viewBox="0 0 10 10"
1662
+ fill="none"
1663
+ >
1664
+ <path
1665
+ d="M2 6L5 3L8 6"
1666
+ stroke="currentColor"
1667
+ stroke-width="1.5"
1668
+ stroke-linecap="round"
1669
+ stroke-linejoin="round"
1670
+ />
1671
+ </svg>
1672
+ </button>
1673
+ <button
1674
+ type="button"
1675
+ class="date-picker__time-spinner"
1676
+ @click=${() => this.changeTime("hour", -1, false)}
1677
+ >
1678
+ <svg
1679
+ width="10"
1680
+ height="10"
1681
+ viewBox="0 0 10 10"
1682
+ fill="none"
1683
+ >
1684
+ <path
1685
+ d="M2 4L5 7L8 4"
1686
+ stroke="currentColor"
1687
+ stroke-width="1.5"
1688
+ stroke-linecap="round"
1689
+ stroke-linejoin="round"
1690
+ />
1691
+ </svg>
1692
+ </button>
1693
+ </div>
1694
+ </div>
1695
+
1696
+ <span class="date-picker__time-separator">:</span>
1697
+
1698
+ <div class="date-picker__time-input-group">
1699
+ <input
1700
+ type="number"
1701
+ class="date-picker__time-input"
1702
+ .value=${this.endMinute.toString().padStart(2, "0")}
1703
+ @input=${(e) => this.handleTimeInput(
1704
+ e,
1705
+ "minute",
1706
+ false
1707
+ )}
1708
+ @blur=${(e) => {
1709
+ const input = e.target;
1710
+ input.value = this.endMinute.toString().padStart(2, "0");
1711
+ }}
1712
+ min="0"
1713
+ max="59"
1714
+ />
1715
+ <div class="date-picker__time-spinners">
1716
+ <button
1717
+ type="button"
1718
+ class="date-picker__time-spinner"
1719
+ @click=${() => this.changeTime("minute", 1, false)}
1720
+ >
1721
+ <svg
1722
+ width="10"
1723
+ height="10"
1724
+ viewBox="0 0 10 10"
1725
+ fill="none"
1726
+ >
1727
+ <path
1728
+ d="M2 6L5 3L8 6"
1729
+ stroke="currentColor"
1730
+ stroke-width="1.5"
1731
+ stroke-linecap="round"
1732
+ stroke-linejoin="round"
1733
+ />
1734
+ </svg>
1735
+ </button>
1736
+ <button
1737
+ type="button"
1738
+ class="date-picker__time-spinner"
1739
+ @click=${() => this.changeTime(
1740
+ "minute",
1741
+ -1,
1742
+ false
1743
+ )}
1744
+ >
1745
+ <svg
1746
+ width="10"
1747
+ height="10"
1748
+ viewBox="0 0 10 10"
1749
+ fill="none"
1750
+ >
1751
+ <path
1752
+ d="M2 4L5 7L8 4"
1753
+ stroke="currentColor"
1754
+ stroke-width="1.5"
1755
+ stroke-linecap="round"
1756
+ stroke-linejoin="round"
1757
+ />
1758
+ </svg>
1759
+ </button>
1760
+ </div>
1761
+ </div>
1762
+
1763
+ <span class="date-picker__time-separator">:</span>
1764
+
1765
+ <div class="date-picker__time-input-group">
1766
+ <input
1767
+ type="number"
1768
+ class="date-picker__time-input"
1769
+ .value=${this.endSecond.toString().padStart(2, "0")}
1770
+ @input=${(e) => this.handleTimeInput(
1771
+ e,
1772
+ "second",
1773
+ false
1774
+ )}
1775
+ @blur=${(e) => {
1776
+ const input = e.target;
1777
+ input.value = this.endSecond.toString().padStart(2, "0");
1778
+ }}
1779
+ min="0"
1780
+ max="59"
1781
+ />
1782
+ <div class="date-picker__time-spinners">
1783
+ <button
1784
+ type="button"
1785
+ class="date-picker__time-spinner"
1786
+ @click=${() => this.changeTime("second", 1, false)}
1787
+ >
1788
+ <svg
1789
+ width="10"
1790
+ height="10"
1791
+ viewBox="0 0 10 10"
1792
+ fill="none"
1793
+ >
1794
+ <path
1795
+ d="M2 6L5 3L8 6"
1796
+ stroke="currentColor"
1797
+ stroke-width="1.5"
1798
+ stroke-linecap="round"
1799
+ stroke-linejoin="round"
1800
+ />
1801
+ </svg>
1802
+ </button>
1803
+ <button
1804
+ type="button"
1805
+ class="date-picker__time-spinner"
1806
+ @click=${() => this.changeTime(
1807
+ "second",
1808
+ -1,
1809
+ false
1810
+ )}
1811
+ >
1812
+ <svg
1813
+ width="10"
1814
+ height="10"
1815
+ viewBox="0 0 10 10"
1816
+ fill="none"
1817
+ >
1818
+ <path
1819
+ d="M2 4L5 7L8 4"
1820
+ stroke="currentColor"
1821
+ stroke-width="1.5"
1822
+ stroke-linecap="round"
1823
+ stroke-linejoin="round"
1824
+ />
1825
+ </svg>
1826
+ </button>
1827
+ </div>
1828
+ </div>
1829
+ </div>
1830
+ </div>
1831
+ ` : ""}
1832
+ </div>
1833
+ `;
1834
+ }
1835
+ renderCalendarIcon() {
1836
+ return html`
1837
+ <svg
1838
+ slot="suffix"
1839
+ class="date-picker__icon"
1840
+ width="20"
1841
+ height="20"
1842
+ viewBox="0 0 24 24"
1843
+ fill="none"
1844
+ stroke="currentColor"
1845
+ stroke-width="2"
1846
+ >
1847
+ <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
1848
+ <line x1="16" y1="2" x2="16" y2="6"></line>
1849
+ <line x1="8" y1="2" x2="8" y2="6"></line>
1850
+ <line x1="3" y1="10" x2="21" y2="10"></line>
1851
+ </svg>
1852
+ `;
1853
+ }
1854
+ renderCalendarContent() {
1855
+ return html`
1856
+ <div class="date-picker__dropdown" part="calendar">
1857
+ <div class="date-picker__content">
1858
+ ${this.showPresets && this.filteredPresets.length > 0 ? html`
1859
+ <div class="date-picker__sidebar" part="sidebar">
1860
+ <slot name="sidebar-header"></slot>
1861
+
1862
+ <div class="presets">
1863
+ ${this.filteredPresets.map(
1864
+ (preset) => html`
1865
+ <button
1866
+ type="button"
1867
+ class="date-picker__preset"
1868
+ @click=${() => this.selectPreset(preset)}
1869
+ >
1870
+ ${preset.label}
1871
+ </button>
1872
+ `
1873
+ )}
1874
+ </div>
1875
+
1876
+ <slot name="sidebar-footer">
1877
+ <terra-button
1878
+ outline
1879
+ variant="default"
1880
+ size="small"
1881
+ @click=${() => this.clear()}
1882
+ >
1883
+ ${this.clearAllLabel}
1884
+ </terra-button>
1885
+ </slot>
1886
+ </div>
1887
+ ` : ""}
1888
+
1889
+ <div class="date-picker__calendars">
1890
+ ${this.renderCalendar(this.leftMonth, true)}
1891
+ ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
1892
+ </div>
1893
+ </div>
1894
+
1895
+ ${this.enableTime ? this.renderTimePicker() : ""}
1896
+ </div>
1897
+ `;
1898
+ }
1899
+ render() {
1900
+ const showSplitInputs = this.range && this.splitInputs;
1901
+ if (this.inline) {
1902
+ return html`
1903
+ <div
1904
+ class="date-picker date-picker--inline ${showSplitInputs ? "date-picker--split-inputs" : ""}"
1905
+ @click=${(e) => e.stopPropagation()}
1906
+ >
1907
+ ${showSplitInputs ? html`
1908
+ <div class="date-picker__inputs">
1909
+ <terra-input
1910
+ .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
1911
+ .hideLabel=${this.hideLabel}
1912
+ .helpText=${this.startHelpText || this.helpText}
1913
+ .value=${this.getStartDateDisplayValue()}
1914
+ @terra-blur=${this.handleStartInputBlur}
1915
+ @keydown=${this.handleKeydown}
1916
+ placeholder=${this.startPlaceholder}
1917
+ name="start-date"
1918
+ >
1919
+ ${this.renderCalendarIcon()}
1920
+ </terra-input>
1921
+ <terra-input
1922
+ .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
1923
+ .hideLabel=${this.hideLabel}
1924
+ .helpText=${this.endHelpText || this.helpText}
1925
+ .value=${this.getEndDateDisplayValue()}
1926
+ @terra-blur=${this.handleEndInputBlur}
1927
+ @keydown=${this.handleKeydown}
1928
+ placeholder=${this.endPlaceholder}
1929
+ name="end-date"
1930
+ >
1931
+ ${this.renderCalendarIcon()}
1932
+ </terra-input>
1933
+ </div>
1934
+ ` : html`
1935
+ <terra-input
1936
+ .label=${this.label}
1937
+ .hideLabel=${this.hideLabel}
1938
+ .helpText=${this.helpText}
1939
+ .value=${this.getDisplayValue()}
1940
+ placeholder=${this.placeholder}
1941
+ @terra-blur=${this.handleInputBlur}
1942
+ @keydown=${this.handleKeydown}
1943
+ name="date"
1944
+ >
1945
+ ${this.renderCalendarIcon()}
1946
+ </terra-input>
1947
+ `}
1948
+
1949
+ <slot name="additional-text"></slot>
1950
+
1951
+ <div class="date-picker__dropdown-wrapper">
1952
+ <div
1953
+ class="date-picker__dropdown date-picker__dropdown--inline"
1954
+ part="calendar"
1955
+ >
1956
+ <div class="date-picker__content">
1957
+ ${this.showPresets && this.filteredPresets.length > 0 ? html`
1958
+ <div
1959
+ class="date-picker__sidebar"
1960
+ part="sidebar"
1961
+ >
1962
+ <slot name="sidebar-header"></slot>
1963
+
1964
+ <div class="presets">
1965
+ ${this.filteredPresets.map(
1966
+ (preset) => html`
1967
+ <button
1968
+ type="button"
1969
+ class="date-picker__preset"
1970
+ @click=${() => this.selectPreset(
1971
+ preset
1972
+ )}
1973
+ >
1974
+ ${preset.label}
1975
+ </button>
1976
+ `
1977
+ )}
1978
+ </div>
1979
+
1980
+ <slot name="sidebar-footer">
1981
+ <terra-button
1982
+ outline
1983
+ variant="default"
1984
+ size="small"
1985
+ @click=${() => this.clear()}
1986
+ >
1987
+ ${this.clearAllLabel}
1988
+ </terra-button>
1989
+ </slot>
1990
+ </div>
1991
+ ` : ""}
1992
+
1993
+ <div class="date-picker__calendars">
1994
+ ${this.renderCalendar(this.leftMonth, true)}
1995
+ ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
1996
+ </div>
1997
+ </div>
1998
+
1999
+ ${this.enableTime ? this.renderTimePicker() : ""}
2000
+ </div>
2001
+ </div>
2002
+ </div>
2003
+ `;
2004
+ }
2005
+ return html`
2006
+ <div
2007
+ class="date-picker ${showSplitInputs ? "date-picker--split-inputs" : ""}"
2008
+ @click=${(e) => e.stopPropagation()}
2009
+ >
2010
+ ${showSplitInputs ? html`
2011
+ <div class="date-picker__inputs">
2012
+ <terra-dropdown
2013
+ ${ref(this.dropdownRef)}
2014
+ placement="bottom-start"
2015
+ distance="4"
2016
+ @terra-show=${this.handleDropdownShow}
2017
+ @terra-hide=${this.handleDropdownHide}
2018
+ hoist
2019
+ >
2020
+ <terra-input
2021
+ slot="trigger"
2022
+ .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
2023
+ .hideLabel=${this.hideLabel}
2024
+ .helpText=${this.startHelpText || this.helpText}
2025
+ .value=${this.getStartDateDisplayValue()}
2026
+ placeholder=${this.startPlaceholder}
2027
+ @terra-blur=${this.handleStartInputBlur}
2028
+ @keydown=${this.handleKeydown}
2029
+ name="start-date"
2030
+ >
2031
+ ${this.renderCalendarIcon()}
2032
+ </terra-input>
2033
+ ${this.renderCalendarContent()}
2034
+ </terra-dropdown>
2035
+ <terra-dropdown
2036
+ placement="bottom-start"
2037
+ distance="4"
2038
+ @terra-show=${this.handleDropdownShow}
2039
+ @terra-hide=${this.handleDropdownHide}
2040
+ hoist
2041
+ >
2042
+ <terra-input
2043
+ slot="trigger"
2044
+ .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2045
+ .hideLabel=${this.hideLabel}
2046
+ .helpText=${this.endHelpText || this.helpText}
2047
+ .value=${this.getEndDateDisplayValue()}
2048
+ placeholder=${this.endPlaceholder}
2049
+ @terra-blur=${this.handleEndInputBlur}
2050
+ @keydown=${this.handleKeydown}
2051
+ name="end-date"
2052
+ >
2053
+ ${this.renderCalendarIcon()}
2054
+ </terra-input>
2055
+ ${this.renderCalendarContent()}
2056
+ </terra-dropdown>
2057
+ </div>
2058
+ ` : html`
2059
+ <terra-dropdown
2060
+ ${ref(this.dropdownRef)}
2061
+ placement="bottom-start"
2062
+ distance="4"
2063
+ @terra-show=${this.handleDropdownShow}
2064
+ @terra-hide=${this.handleDropdownHide}
2065
+ hoist
2066
+ >
2067
+ <terra-input
2068
+ slot="trigger"
2069
+ .label=${this.label}
2070
+ .hideLabel=${this.hideLabel}
2071
+ .helpText=${this.helpText}
2072
+ .value=${this.getDisplayValue()}
2073
+ placeholder=${this.placeholder}
2074
+ @terra-blur=${this.handleInputBlur}
2075
+ @keydown=${this.handleKeydown}
2076
+ name="date"
2077
+ >
2078
+ ${this.renderCalendarIcon()}
2079
+ </terra-input>
2080
+ ${this.renderCalendarContent()}
2081
+ </terra-dropdown>
2082
+ `}
2083
+ </div>
2084
+ `;
2085
+ }
2086
+ };
2087
+ TerraDatePicker.styles = [component_styles_default, date_picker_styles_default];
2088
+ TerraDatePicker.dependencies = {
2089
+ "terra-button": TerraButton,
2090
+ "terra-input": TerraInput,
2091
+ "terra-dropdown": TerraDropdown
2092
+ };
2093
+ __decorateClass([
2094
+ property()
2095
+ ], TerraDatePicker.prototype, "id", 2);
2096
+ __decorateClass([
2097
+ property({ type: Boolean, reflect: true })
2098
+ ], TerraDatePicker.prototype, "range", 2);
2099
+ __decorateClass([
2100
+ property({ attribute: "min-date", reflect: true })
2101
+ ], TerraDatePicker.prototype, "minDate", 2);
2102
+ __decorateClass([
2103
+ property({ attribute: "max-date", reflect: true })
2104
+ ], TerraDatePicker.prototype, "maxDate", 2);
2105
+ __decorateClass([
2106
+ property({ attribute: "start-date", reflect: true })
2107
+ ], TerraDatePicker.prototype, "startDate", 2);
2108
+ __decorateClass([
2109
+ property({ attribute: "end-date", reflect: true })
2110
+ ], TerraDatePicker.prototype, "endDate", 2);
2111
+ __decorateClass([
2112
+ property({ attribute: "hide-label", type: Boolean })
2113
+ ], TerraDatePicker.prototype, "hideLabel", 2);
2114
+ __decorateClass([
2115
+ property()
2116
+ ], TerraDatePicker.prototype, "label", 2);
2117
+ __decorateClass([
2118
+ property({ attribute: "help-text" })
2119
+ ], TerraDatePicker.prototype, "helpText", 2);
2120
+ __decorateClass([
2121
+ property({ attribute: "start-help-text" })
2122
+ ], TerraDatePicker.prototype, "startHelpText", 2);
2123
+ __decorateClass([
2124
+ property({ attribute: "end-help-text" })
2125
+ ], TerraDatePicker.prototype, "endHelpText", 2);
2126
+ __decorateClass([
2127
+ property({ attribute: "start-label" })
2128
+ ], TerraDatePicker.prototype, "startLabel", 2);
2129
+ __decorateClass([
2130
+ property({ attribute: "end-label" })
2131
+ ], TerraDatePicker.prototype, "endLabel", 2);
2132
+ __decorateClass([
2133
+ property({ type: Boolean, attribute: "show-presets" })
2134
+ ], TerraDatePicker.prototype, "showPresets", 2);
2135
+ __decorateClass([
2136
+ property({ type: Array })
2137
+ ], TerraDatePicker.prototype, "presets", 2);
2138
+ __decorateClass([
2139
+ property({ type: Boolean, attribute: "enable-time" })
2140
+ ], TerraDatePicker.prototype, "enableTime", 2);
2141
+ __decorateClass([
2142
+ property({ attribute: "display-format" })
2143
+ ], TerraDatePicker.prototype, "displayFormat", 2);
2144
+ __decorateClass([
2145
+ property({ type: Boolean })
2146
+ ], TerraDatePicker.prototype, "inline", 2);
2147
+ __decorateClass([
2148
+ property({ type: Boolean, attribute: "split-inputs" })
2149
+ ], TerraDatePicker.prototype, "splitInputs", 2);
2150
+ __decorateClass([
2151
+ property()
2152
+ ], TerraDatePicker.prototype, "placeholder", 2);
2153
+ __decorateClass([
2154
+ property()
2155
+ ], TerraDatePicker.prototype, "startPlaceholder", 2);
2156
+ __decorateClass([
2157
+ property()
2158
+ ], TerraDatePicker.prototype, "endPlaceholder", 2);
2159
+ __decorateClass([
2160
+ property({ reflect: true })
2161
+ ], TerraDatePicker.prototype, "role", 2);
2162
+ __decorateClass([
2163
+ property({ reflect: true, attribute: "aria-label" })
2164
+ ], TerraDatePicker.prototype, "ariaLabel", 2);
2165
+ __decorateClass([
2166
+ property({ type: Boolean })
2167
+ ], TerraDatePicker.prototype, "hideClearAll", 2);
2168
+ __decorateClass([
2169
+ property()
2170
+ ], TerraDatePicker.prototype, "clearAllLabel", 2);
2171
+ __decorateClass([
2172
+ property({ type: Boolean, attribute: "use-end-of-day" })
2173
+ ], TerraDatePicker.prototype, "useEndOfDay", 2);
2174
+ __decorateClass([
2175
+ state()
2176
+ ], TerraDatePicker.prototype, "isOpen", 2);
2177
+ __decorateClass([
2178
+ state()
2179
+ ], TerraDatePicker.prototype, "leftMonth", 2);
2180
+ __decorateClass([
2181
+ state()
2182
+ ], TerraDatePicker.prototype, "rightMonth", 2);
2183
+ __decorateClass([
2184
+ state()
2185
+ ], TerraDatePicker.prototype, "selectedStart", 2);
2186
+ __decorateClass([
2187
+ state()
2188
+ ], TerraDatePicker.prototype, "selectedEnd", 2);
2189
+ __decorateClass([
2190
+ state()
2191
+ ], TerraDatePicker.prototype, "hoverDate", 2);
2192
+ __decorateClass([
2193
+ state()
2194
+ ], TerraDatePicker.prototype, "isSelectingRange", 2);
2195
+ __decorateClass([
2196
+ state()
2197
+ ], TerraDatePicker.prototype, "showLeftMonthDropdown", 2);
2198
+ __decorateClass([
2199
+ state()
2200
+ ], TerraDatePicker.prototype, "showRightMonthDropdown", 2);
2201
+ __decorateClass([
2202
+ state()
2203
+ ], TerraDatePicker.prototype, "startHour", 2);
2204
+ __decorateClass([
2205
+ state()
2206
+ ], TerraDatePicker.prototype, "startMinute", 2);
2207
+ __decorateClass([
2208
+ state()
2209
+ ], TerraDatePicker.prototype, "startSecond", 2);
2210
+ __decorateClass([
2211
+ state()
2212
+ ], TerraDatePicker.prototype, "endHour", 2);
2213
+ __decorateClass([
2214
+ state()
2215
+ ], TerraDatePicker.prototype, "endMinute", 2);
2216
+ __decorateClass([
2217
+ state()
2218
+ ], TerraDatePicker.prototype, "endSecond", 2);
2219
+ __decorateClass([
2220
+ state()
2221
+ ], TerraDatePicker.prototype, "selectedDates", 2);
2222
+ __decorateClass([
2223
+ query(".date-picker__dropdown")
2224
+ ], TerraDatePicker.prototype, "dropdown", 2);
2225
+
2226
+ export {
2227
+ TerraDatePicker
2228
+ };