@nasa-terra/components 0.0.198 → 0.0.199

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 (1291) hide show
  1. package/cdn/chunks/GeoTIFF.VXDS234A.js +20754 -0
  2. package/cdn/chunks/chunk.2EWZDAYT.js +29 -0
  3. package/cdn/chunks/chunk.2JJELSL5.js +47 -0
  4. package/cdn/chunks/chunk.2T337UTK.js +19 -0
  5. package/cdn/chunks/chunk.2XG73ITG.js +357 -0
  6. package/cdn/chunks/chunk.33GFCE5N.js +19 -0
  7. package/cdn/chunks/chunk.3JXVH2NE.js +377 -0
  8. package/cdn/chunks/chunk.3VUC5O5G.js +33 -0
  9. package/cdn/chunks/chunk.3XZ3WU77.js +35 -0
  10. package/cdn/chunks/chunk.44VCJ6SW.js +29 -0
  11. package/cdn/chunks/chunk.4HXIWAKE.js +29 -0
  12. package/cdn/chunks/chunk.4KHGJTYG.js +310 -0
  13. package/cdn/chunks/chunk.4LAXKCHJ.js +19 -0
  14. package/cdn/chunks/chunk.4N76TU2N.js +60 -0
  15. package/cdn/chunks/chunk.55WRSCJY.js +978 -0
  16. package/cdn/chunks/chunk.573DB434.js +39 -0
  17. package/cdn/chunks/chunk.5BH3C4GN.js +19 -0
  18. package/cdn/chunks/chunk.5BVN7II7.js +19 -0
  19. package/cdn/chunks/chunk.5DLA37YX.js +19 -0
  20. package/cdn/chunks/chunk.5LFN6KT3.js +416 -0
  21. package/cdn/chunks/chunk.5MB6A5RU.js +19 -0
  22. package/cdn/chunks/chunk.5ZT2BS3I.js +60 -0
  23. package/cdn/chunks/chunk.66IWKBC6.js +364 -0
  24. package/cdn/chunks/chunk.6D2IDMCW.js +106 -0
  25. package/cdn/chunks/chunk.6JG52BSF.js +35 -0
  26. package/cdn/chunks/chunk.6O7XOHAP.js +32 -0
  27. package/cdn/chunks/chunk.6Z7GRBWL.js +277 -0
  28. package/cdn/chunks/chunk.76A5M5WG.js +33 -0
  29. package/cdn/chunks/chunk.7BSMV3XV.js +36 -0
  30. package/cdn/chunks/chunk.7C3LJSTD.js +19 -0
  31. package/cdn/chunks/chunk.7G65ACMK.js +19 -0
  32. package/cdn/chunks/chunk.7GIH3FHL.js +29 -0
  33. package/cdn/chunks/chunk.7KYOVGMU.js +32 -0
  34. package/cdn/chunks/chunk.7UCNMWYE.js +1975 -0
  35. package/cdn/chunks/chunk.7Y2VDUYC.js +62 -0
  36. package/cdn/chunks/chunk.ABFNT6U4.js +32 -0
  37. package/cdn/chunks/chunk.ADFH5ULU.js +29 -0
  38. package/cdn/chunks/chunk.ADHCB3BO.js +538 -0
  39. package/cdn/chunks/chunk.AH7EQF7K.js +29 -0
  40. package/cdn/chunks/chunk.AO7RPFJO.js +19 -0
  41. package/cdn/chunks/chunk.AQB2ML3I.js +537 -0
  42. package/cdn/chunks/chunk.AYFA4HPN.js +4735 -0
  43. package/cdn/chunks/chunk.B3ADFXJY.js +32 -0
  44. package/cdn/chunks/chunk.B3GLOTII.js +92 -0
  45. package/cdn/chunks/chunk.B6YC7R6P.js +29 -0
  46. package/cdn/chunks/chunk.BFDVUZHC.js +35 -0
  47. package/cdn/chunks/chunk.BJRAF4ZX.js +19 -0
  48. package/cdn/chunks/chunk.BNGXQNNQ.js +29 -0
  49. package/cdn/chunks/chunk.BOZ3VKJO.js +19 -0
  50. package/cdn/chunks/chunk.BW44PXWN.js +657 -0
  51. package/cdn/chunks/chunk.COHRXEHA.js +29 -0
  52. package/cdn/chunks/chunk.CRQDFPSH.js +37 -0
  53. package/cdn/chunks/chunk.CX65AHTW.js +104 -0
  54. package/cdn/chunks/chunk.CX6JSAGB.js +19 -0
  55. package/cdn/chunks/chunk.DEHDGGWE.js +19 -0
  56. package/cdn/chunks/chunk.DMULXFKY.js +32 -0
  57. package/cdn/chunks/chunk.DO3V7V6I.js +259 -0
  58. package/cdn/chunks/chunk.DYRKSW2X.js +99 -0
  59. package/cdn/chunks/chunk.E4ONM7EQ.js +224 -0
  60. package/cdn/chunks/chunk.E6L6YVTU.js +19 -0
  61. package/cdn/chunks/chunk.ECR75TPC.js +19 -0
  62. package/cdn/chunks/chunk.EHRAILYE.js +19 -0
  63. package/cdn/chunks/chunk.EHVXLTCB.js +190 -0
  64. package/cdn/chunks/chunk.EKXY4PGP.js +29 -0
  65. package/cdn/chunks/chunk.FI4YBHHD.js +1339 -0
  66. package/cdn/chunks/chunk.FIREC5CC.js +478 -0
  67. package/cdn/chunks/chunk.FQ7GYAM6.js +450 -0
  68. package/cdn/chunks/chunk.FQBIIKY5.js +19 -0
  69. package/cdn/chunks/chunk.FSGSFI2L.js +162 -0
  70. package/cdn/chunks/chunk.G7AGZVJM.js +32 -0
  71. package/cdn/chunks/chunk.GA4QBBRX.js +19 -0
  72. package/cdn/chunks/chunk.GEVOOPOP.js +32 -0
  73. package/cdn/chunks/chunk.GF56J2LC.js +29 -0
  74. package/cdn/chunks/chunk.GGODQ75Z.js +359 -0
  75. package/cdn/chunks/chunk.GP5CKNVX.js +19 -0
  76. package/cdn/chunks/chunk.GTZLRBU6.js +15 -0
  77. package/cdn/chunks/chunk.GWUGCYFL.js +19 -0
  78. package/cdn/chunks/chunk.H6KRH5P2.js +17685 -0
  79. package/cdn/chunks/chunk.HCUUZMUR.js +610 -0
  80. package/cdn/chunks/chunk.HETFTQ32.js +36 -0
  81. package/cdn/chunks/chunk.HFQ4URSA.js +29 -0
  82. package/cdn/chunks/chunk.HHFSBJ5G.js +19 -0
  83. package/cdn/chunks/chunk.HJHZJEFY.js +19 -0
  84. package/cdn/chunks/chunk.HQL5JPO6.js +29 -0
  85. package/cdn/chunks/chunk.HRRDY7XJ.js +19 -0
  86. package/cdn/chunks/chunk.HT4VXYXY.js +37 -0
  87. package/cdn/chunks/chunk.HUVHJ5KI.js +19 -0
  88. package/cdn/chunks/chunk.HVDW2G5B.js +19 -0
  89. package/cdn/chunks/chunk.HVKGLK5J.js +78 -0
  90. package/cdn/chunks/chunk.I4B5GFUI.js +30 -0
  91. package/cdn/chunks/chunk.I4GAKXVS.js +82 -0
  92. package/cdn/chunks/chunk.I74CWXDT.js +29 -0
  93. package/cdn/chunks/chunk.IJRMB4PM.js +19 -0
  94. package/cdn/chunks/chunk.IK2SGPIW.js +5463 -0
  95. package/cdn/chunks/chunk.IYBWOV2C.js +1660 -0
  96. package/cdn/chunks/chunk.J52GFLCR.js +110 -0
  97. package/cdn/chunks/chunk.JHM6GLII.js +599 -0
  98. package/cdn/chunks/chunk.JJRD2OTY.js +293 -0
  99. package/cdn/chunks/chunk.JTRGBBGG.js +29 -0
  100. package/cdn/chunks/chunk.JXSQUWZZ.js +19 -0
  101. package/cdn/chunks/chunk.JYF5D5R5.js +19 -0
  102. package/cdn/chunks/chunk.K4QMVYIR.js +443 -0
  103. package/cdn/chunks/chunk.K56RZQTE.js +155 -0
  104. package/cdn/chunks/chunk.KB3G2WCI.js +34 -0
  105. package/cdn/chunks/chunk.KF4FXYKE.js +19 -0
  106. package/cdn/chunks/chunk.KHDL2CAQ.js +230 -0
  107. package/cdn/chunks/chunk.KHRT3JCC.js +29 -0
  108. package/cdn/chunks/chunk.KPSIXCYD.js +29 -0
  109. package/cdn/chunks/chunk.KX7SACHH.js +68 -0
  110. package/cdn/chunks/chunk.KZCBK6S4.js +19 -0
  111. package/cdn/chunks/chunk.L3TQOLJO.js +74 -0
  112. package/cdn/chunks/chunk.L67UJNXB.js +41 -0
  113. package/cdn/chunks/chunk.LGRZMWVK.js +35 -0
  114. package/cdn/chunks/chunk.LIPFUNWP.js +38 -0
  115. package/cdn/chunks/chunk.LWZNG7WV.js +29 -0
  116. package/cdn/chunks/chunk.LXQGTI2B.js +32 -0
  117. package/cdn/chunks/chunk.M43ZJHCX.js +33 -0
  118. package/cdn/chunks/chunk.M6QQY2ST.js +17603 -0
  119. package/cdn/chunks/chunk.MLJM2THR.js +19 -0
  120. package/cdn/chunks/chunk.MNP4CXLJ.js +19 -0
  121. package/cdn/chunks/chunk.MUXCPAHQ.js +543 -0
  122. package/cdn/chunks/chunk.MZKOUZD2.js +123 -0
  123. package/cdn/chunks/chunk.N2L7WOXF.js +29 -0
  124. package/cdn/chunks/chunk.N2SCVTHV.js +29 -0
  125. package/cdn/chunks/chunk.NCROEX7Z.js +29 -0
  126. package/cdn/chunks/chunk.NH4YMQJT.js +298 -0
  127. package/cdn/chunks/chunk.NIKJGSH5.js +19 -0
  128. package/cdn/chunks/chunk.NIQW247C.js +19 -0
  129. package/cdn/chunks/chunk.NKD2XOGT.js +33 -0
  130. package/cdn/chunks/chunk.NNUQZHMT.js +32 -0
  131. package/cdn/chunks/chunk.O3E7K42P.js +278 -0
  132. package/cdn/chunks/chunk.O3JICBSZ.js +904 -0
  133. package/cdn/chunks/chunk.O6V37MUB.js +19 -0
  134. package/cdn/chunks/chunk.OCOILS4L.js +531 -0
  135. package/cdn/chunks/chunk.OO345KKC.js +19 -0
  136. package/cdn/chunks/chunk.P5NZ7ZES.js +19 -0
  137. package/cdn/chunks/chunk.PB7O3LZB.js +2713 -0
  138. package/cdn/chunks/chunk.PDZ25A5I.js +19 -0
  139. package/cdn/chunks/chunk.PF6HHPHM.js +1691 -0
  140. package/cdn/chunks/chunk.PHX2Z4JM.js +113 -0
  141. package/cdn/chunks/chunk.PIEJ3UF6.js +592 -0
  142. package/cdn/chunks/chunk.PJPMBXC4.js +19 -0
  143. package/cdn/chunks/chunk.PKAVFPZ7.js +36 -0
  144. package/cdn/chunks/chunk.PNEWL4NR.js +925 -0
  145. package/cdn/chunks/chunk.PR55CF2E.js +19 -0
  146. package/cdn/chunks/chunk.PVARN7ER.js +86 -0
  147. package/cdn/chunks/chunk.Q4B4QXYW.js +19 -0
  148. package/cdn/chunks/chunk.Q7FVA2QA.js +234 -0
  149. package/cdn/chunks/chunk.QNGVGHSM.js +616 -0
  150. package/cdn/chunks/chunk.QSXNN4K7.js +29 -0
  151. package/cdn/chunks/chunk.QU5NA6A2.js +34 -0
  152. package/cdn/chunks/chunk.QUXBL6PU.js +19 -0
  153. package/cdn/chunks/chunk.QWKEI3FC.js +49 -0
  154. package/cdn/chunks/chunk.RCUE3PFX.js +19 -0
  155. package/cdn/chunks/chunk.RGMOIMLO.js +19 -0
  156. package/cdn/chunks/chunk.RHKWK57F.js +32 -0
  157. package/cdn/chunks/chunk.RK7LHY6Q.js +1197 -0
  158. package/cdn/chunks/chunk.RPETTG3O.js +19 -0
  159. package/cdn/chunks/chunk.RYLQ7J4S.js +134 -0
  160. package/cdn/chunks/chunk.S43EHJMQ.js +276 -0
  161. package/cdn/chunks/chunk.S5FXMDJD.js +136 -0
  162. package/cdn/chunks/chunk.SE55TMVG.js +143 -0
  163. package/cdn/chunks/chunk.SPVQ3TUO.js +188 -0
  164. package/cdn/chunks/chunk.STAMGMYS.js +19 -0
  165. package/cdn/chunks/chunk.SYUADFIF.js +151 -0
  166. package/cdn/chunks/chunk.SZVIFQRJ.js +71 -0
  167. package/cdn/chunks/chunk.T47BZXNK.js +19 -0
  168. package/cdn/chunks/chunk.TAGA7EGX.js +348 -0
  169. package/cdn/chunks/chunk.TG3YYWRJ.js +672 -0
  170. package/cdn/chunks/chunk.TOSFVKE4.js +36 -0
  171. package/cdn/chunks/chunk.TTCE562V.js +29 -0
  172. package/cdn/chunks/chunk.TTUIBJR7.js +29 -0
  173. package/cdn/chunks/chunk.TXCVCIZI.js +35 -0
  174. package/cdn/chunks/chunk.TZQ63Z3H.js +36 -0
  175. package/cdn/chunks/chunk.UBVO3Z7U.js +32 -0
  176. package/cdn/chunks/chunk.UI5WWHT7.js +19 -0
  177. package/cdn/chunks/chunk.UKCY4NE5.js +33 -0
  178. package/cdn/chunks/chunk.UKKNHVT2.js +2546 -0
  179. package/cdn/chunks/chunk.URQOTCAU.js +29 -0
  180. package/cdn/chunks/chunk.UUUD46S3.js +1862 -0
  181. package/cdn/chunks/chunk.VEIJLCDU.js +29 -0
  182. package/cdn/chunks/chunk.VKNIBCZI.js +19 -0
  183. package/cdn/chunks/chunk.VRMWYJMN.js +37 -0
  184. package/cdn/chunks/chunk.VSLVNJ6A.js +158 -0
  185. package/cdn/chunks/chunk.W36EIIQD.js +19 -0
  186. package/cdn/chunks/chunk.W4NGS5VZ.js +29 -0
  187. package/cdn/chunks/chunk.W5DRTC2Y.js +19 -0
  188. package/cdn/chunks/chunk.W7DYWM5I.js +32 -0
  189. package/cdn/chunks/chunk.WEGQDDNL.js +83 -0
  190. package/cdn/chunks/chunk.WHARISEG.js +29 -0
  191. package/cdn/chunks/chunk.WHHJJOQT.js +19 -0
  192. package/cdn/chunks/chunk.WNFL2Q36.js +524 -0
  193. package/cdn/chunks/chunk.WY6BZ6AK.js +138 -0
  194. package/cdn/chunks/chunk.WY7ZAZXA.js +19 -0
  195. package/cdn/chunks/chunk.X37TJUYW.js +19 -0
  196. package/cdn/chunks/chunk.X5GEXAXL.js +19 -0
  197. package/cdn/chunks/chunk.X76WQYYW.js +19 -0
  198. package/cdn/chunks/chunk.XVQCMA3M.js +32 -0
  199. package/cdn/chunks/chunk.XWYVG7GK.js +19 -0
  200. package/cdn/chunks/chunk.Y66HDAOP.js +32 -0
  201. package/cdn/chunks/chunk.YF7FICS7.js +19 -0
  202. package/cdn/chunks/chunk.YHKRAHVP.js +231 -0
  203. package/cdn/chunks/chunk.YPKEC5IK.js +29 -0
  204. package/cdn/chunks/chunk.YQ4SKOIN.js +132 -0
  205. package/cdn/chunks/chunk.Z3RVDKOC.js +15 -0
  206. package/cdn/chunks/chunk.Z44HWXXJ.js +195 -0
  207. package/cdn/chunks/chunk.ZAARA5NN.js +29 -0
  208. package/cdn/chunks/chunk.ZCVWVO2H.js +266 -0
  209. package/cdn/chunks/chunk.ZHIZCLYJ.js +93 -0
  210. package/cdn/chunks/chunk.ZL336EPZ.js +631 -0
  211. package/cdn/chunks/chunk.ZLI235RR.js +19 -0
  212. package/cdn/chunks/chunk.ZRV6GVL5.js +19 -0
  213. package/cdn/chunks/chunk.ZS67HYGB.js +56075 -0
  214. package/cdn/chunks/chunk.ZSELDXE4.js +19 -0
  215. package/cdn/chunks/chunk.ZZUDFWQK.js +19 -0
  216. package/cdn/chunks/lerc.WZVXX72L.js +2097 -0
  217. package/cdn/components/accordion/accordion.component.js +3 -3
  218. package/cdn/components/accordion/accordion.js +4 -4
  219. package/cdn/components/alert/alert.component.js +2 -2
  220. package/cdn/components/alert/alert.js +3 -3
  221. package/cdn/components/avatar/avatar.component.js +3 -3
  222. package/cdn/components/avatar/avatar.js +4 -4
  223. package/cdn/components/badge/badge.component.js +2 -2
  224. package/cdn/components/badge/badge.js +3 -3
  225. package/cdn/components/banner/banner.component.js +2 -2
  226. package/cdn/components/banner/banner.js +3 -3
  227. package/cdn/components/breadcrumb/breadcrumb.component.js +2 -2
  228. package/cdn/components/breadcrumb/breadcrumb.js +3 -3
  229. package/cdn/components/breadcrumbs/breadcrumbs.component.js +2 -2
  230. package/cdn/components/breadcrumbs/breadcrumbs.js +3 -3
  231. package/cdn/components/browse-variables/browse-variables.component.js +11 -11
  232. package/cdn/components/browse-variables/browse-variables.js +12 -12
  233. package/cdn/components/button/button.component.js +3 -3
  234. package/cdn/components/button/button.js +4 -4
  235. package/cdn/components/button-group/button-group.component.js +2 -2
  236. package/cdn/components/button-group/button-group.js +3 -3
  237. package/cdn/components/caption/caption.component.js +2 -2
  238. package/cdn/components/caption/caption.js +3 -3
  239. package/cdn/components/card/card.component.js +2 -2
  240. package/cdn/components/card/card.js +3 -3
  241. package/cdn/components/checkbox/checkbox.component.js +4 -4
  242. package/cdn/components/checkbox/checkbox.js +5 -5
  243. package/cdn/components/chip/chip.component.js +2 -2
  244. package/cdn/components/chip/chip.js +3 -3
  245. package/cdn/components/combobox/combobox.component.js +4 -4
  246. package/cdn/components/combobox/combobox.js +5 -5
  247. package/cdn/components/data-access/data-access.component.js +35 -25
  248. package/cdn/components/data-access/data-access.js +36 -26
  249. package/cdn/components/data-grid/data-grid.component.js +3 -3
  250. package/cdn/components/data-grid/data-grid.js +4 -4
  251. package/cdn/components/data-rods/data-rods.component.js +39 -29
  252. package/cdn/components/data-rods/data-rods.js +40 -30
  253. package/cdn/components/data-subsetter/data-subsetter.component.js +48 -38
  254. package/cdn/components/data-subsetter/data-subsetter.js +49 -39
  255. package/cdn/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  256. package/cdn/components/data-subsetter-history/data-subsetter-history.component.js +50 -40
  257. package/cdn/components/data-subsetter-history/data-subsetter-history.js +51 -41
  258. package/cdn/components/date-picker/date-picker.component.js +7 -7
  259. package/cdn/components/date-picker/date-picker.js +8 -8
  260. package/cdn/components/date-range-slider/date-range-slider.component.js +2 -2
  261. package/cdn/components/date-range-slider/date-range-slider.js +3 -3
  262. package/cdn/components/dialog/dialog.component.js +4 -4
  263. package/cdn/components/dialog/dialog.js +5 -5
  264. package/cdn/components/divider/divider.component.js +2 -2
  265. package/cdn/components/divider/divider.js +3 -3
  266. package/cdn/components/dropdown/dropdown.component.js +3 -3
  267. package/cdn/components/dropdown/dropdown.js +4 -4
  268. package/cdn/components/earthdata-login/earthdata-login.component.js +10 -10
  269. package/cdn/components/earthdata-login/earthdata-login.js +11 -11
  270. package/cdn/components/file-upload/file-upload.component.js +2 -2
  271. package/cdn/components/file-upload/file-upload.js +3 -3
  272. package/cdn/components/harmony-history/harmony-history.component.js +6 -6
  273. package/cdn/components/harmony-history/harmony-history.js +7 -7
  274. package/cdn/components/icon/icon.component.js +2 -2
  275. package/cdn/components/icon/icon.js +3 -3
  276. package/cdn/components/input/input.component.js +3 -3
  277. package/cdn/components/input/input.js +4 -4
  278. package/cdn/components/loader/loader.component.js +2 -2
  279. package/cdn/components/loader/loader.js +3 -3
  280. package/cdn/components/login/login.component.js +8 -8
  281. package/cdn/components/login/login.js +9 -9
  282. package/cdn/components/map/controls/draw-toolbar.control.js +3 -1
  283. package/cdn/components/map/layers/base.layer.d.ts +7 -0
  284. package/cdn/components/map/layers/base.layer.js +12 -0
  285. package/cdn/components/map/layers/borders.layer.d.ts +6 -0
  286. package/cdn/components/map/layers/borders.layer.js +14 -0
  287. package/cdn/components/map/layers/bordersStyleConfig.d.ts +29 -0
  288. package/cdn/components/map/layers/bordersStyleConfig.js +7 -0
  289. package/cdn/components/map/layers/labels.layer.d.ts +6 -0
  290. package/cdn/components/map/layers/labels.layer.js +14 -0
  291. package/cdn/components/map/layers/labelsStyleConfig.d.ts +2337 -0
  292. package/cdn/components/map/layers/labelsStyleConfig.js +7 -0
  293. package/cdn/components/map/map.component.d.ts +42 -0
  294. package/cdn/components/map/map.component.js +17 -7
  295. package/cdn/components/map/map.js +18 -8
  296. package/cdn/components/map/map.service.d.ts +50 -1
  297. package/cdn/components/map/map.service.js +14 -4
  298. package/cdn/components/map/map.styles.js +1 -1
  299. package/cdn/components/menu/menu.component.js +2 -2
  300. package/cdn/components/menu/menu.js +3 -3
  301. package/cdn/components/menu-item/menu-item.component.js +5 -5
  302. package/cdn/components/menu-item/menu-item.js +6 -6
  303. package/cdn/components/option/option.component.js +3 -3
  304. package/cdn/components/option/option.js +4 -4
  305. package/cdn/components/pagination/pagination.component.js +3 -3
  306. package/cdn/components/pagination/pagination.js +4 -4
  307. package/cdn/components/plot/plot.component.js +2 -2
  308. package/cdn/components/plot/plot.js +3 -3
  309. package/cdn/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  310. package/cdn/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  311. package/cdn/components/plot-toolbar/plot-toolbar.component.js +25 -15
  312. package/cdn/components/plot-toolbar/plot-toolbar.js +26 -16
  313. package/cdn/components/popup/popup.component.js +2 -2
  314. package/cdn/components/popup/popup.js +3 -3
  315. package/cdn/components/progress-bar/progress-bar.component.js +2 -2
  316. package/cdn/components/progress-bar/progress-bar.js +3 -3
  317. package/cdn/components/radio/radio.component.js +2 -2
  318. package/cdn/components/radio/radio.js +3 -3
  319. package/cdn/components/radio-group/radio-group.component.js +2 -2
  320. package/cdn/components/radio-group/radio-group.js +3 -3
  321. package/cdn/components/scroll-hint/scroll-hint.component.js +3 -3
  322. package/cdn/components/scroll-hint/scroll-hint.js +4 -4
  323. package/cdn/components/select/select.component.js +5 -5
  324. package/cdn/components/select/select.js +6 -6
  325. package/cdn/components/site-header/site-header.component.js +3 -3
  326. package/cdn/components/site-header/site-header.js +3 -3
  327. package/cdn/components/site-navigation/site-navigation.component.js +2 -2
  328. package/cdn/components/site-navigation/site-navigation.js +2 -2
  329. package/cdn/components/skeleton/skeleton.component.js +2 -2
  330. package/cdn/components/skeleton/skeleton.js +3 -3
  331. package/cdn/components/slider/slider.component.js +2 -2
  332. package/cdn/components/slider/slider.js +3 -3
  333. package/cdn/components/spatial-picker/spatial-picker.component.js +22 -12
  334. package/cdn/components/spatial-picker/spatial-picker.js +23 -13
  335. package/cdn/components/status-indicator/status-indicator.component.js +2 -2
  336. package/cdn/components/status-indicator/status-indicator.js +3 -3
  337. package/cdn/components/stepper/stepper.component.js +2 -2
  338. package/cdn/components/stepper/stepper.js +3 -3
  339. package/cdn/components/stepper-step/stepper-step.component.js +3 -3
  340. package/cdn/components/stepper-step/stepper-step.js +4 -4
  341. package/cdn/components/tab/tab.component.js +3 -3
  342. package/cdn/components/tab/tab.js +4 -4
  343. package/cdn/components/tab-panel/tab-panel.component.js +2 -2
  344. package/cdn/components/tab-panel/tab-panel.js +3 -3
  345. package/cdn/components/tabs/tabs.component.js +3 -3
  346. package/cdn/components/tabs/tabs.js +4 -4
  347. package/cdn/components/tag/tag.component.js +3 -3
  348. package/cdn/components/tag/tag.js +4 -4
  349. package/cdn/components/textarea/textarea.component.js +2 -2
  350. package/cdn/components/textarea/textarea.js +3 -3
  351. package/cdn/components/time-average-map/time-average-map.component.d.ts +12 -8
  352. package/cdn/components/time-average-map/time-average-map.component.js +32 -22
  353. package/cdn/components/time-average-map/time-average-map.controller.d.ts +5 -0
  354. package/cdn/components/time-average-map/time-average-map.controller.js +1 -1
  355. package/cdn/components/time-average-map/time-average-map.js +33 -23
  356. package/cdn/components/time-average-map/time-average-map.styles.js +1 -1
  357. package/cdn/components/time-series/time-series.component.js +31 -21
  358. package/cdn/components/time-series/time-series.controller.d.ts +5 -0
  359. package/cdn/components/time-series/time-series.controller.js +1 -1
  360. package/cdn/components/time-series/time-series.js +32 -22
  361. package/cdn/components/toast/toast.component.js +3 -3
  362. package/cdn/components/toast/toast.js +4 -4
  363. package/cdn/components/toggle/toggle.component.js +2 -2
  364. package/cdn/components/toggle/toggle.js +3 -3
  365. package/cdn/components/tooltip/tooltip.component.js +3 -3
  366. package/cdn/components/tooltip/tooltip.js +4 -4
  367. package/cdn/components/variable-combobox/variable-combobox.component.js +8 -8
  368. package/cdn/components/variable-combobox/variable-combobox.js +9 -9
  369. package/cdn/components/variable-keyword-search/variable-keyword-search.component.js +7 -7
  370. package/cdn/components/variable-keyword-search/variable-keyword-search.js +8 -8
  371. package/cdn/custom-elements.json +6691 -6612
  372. package/cdn/events/events.d.ts +1 -1
  373. package/cdn/events/terra-map-change.d.ts +6 -0
  374. package/cdn/react/accordion/index.js +4 -4
  375. package/cdn/react/alert/index.js +3 -3
  376. package/cdn/react/avatar/index.js +4 -4
  377. package/cdn/react/badge/index.js +3 -3
  378. package/cdn/react/banner/index.js +3 -3
  379. package/cdn/react/breadcrumb/index.js +3 -3
  380. package/cdn/react/breadcrumbs/index.js +3 -3
  381. package/cdn/react/browse-variables/index.js +12 -12
  382. package/cdn/react/button/index.js +4 -4
  383. package/cdn/react/button-group/index.js +3 -3
  384. package/cdn/react/caption/index.js +3 -3
  385. package/cdn/react/card/index.js +3 -3
  386. package/cdn/react/checkbox/index.js +5 -5
  387. package/cdn/react/chip/index.js +3 -3
  388. package/cdn/react/combobox/index.js +5 -5
  389. package/cdn/react/data-access/index.js +36 -26
  390. package/cdn/react/data-grid/index.js +4 -4
  391. package/cdn/react/data-rods/index.js +40 -30
  392. package/cdn/react/data-subsetter/index.js +49 -39
  393. package/cdn/react/data-subsetter-history/index.js +51 -41
  394. package/cdn/react/date-picker/index.js +8 -8
  395. package/cdn/react/date-range-slider/index.js +3 -3
  396. package/cdn/react/dialog/index.js +5 -5
  397. package/cdn/react/divider/index.js +3 -3
  398. package/cdn/react/dropdown/index.js +4 -4
  399. package/cdn/react/earthdata-login/index.js +11 -11
  400. package/cdn/react/file-upload/index.js +3 -3
  401. package/cdn/react/harmony-history/index.js +7 -7
  402. package/cdn/react/icon/index.js +3 -3
  403. package/cdn/react/index.d.ts +20 -20
  404. package/cdn/react/index.js +232 -222
  405. package/cdn/react/input/index.js +4 -4
  406. package/cdn/react/loader/index.js +3 -3
  407. package/cdn/react/login/index.js +9 -9
  408. package/cdn/react/map/index.js +18 -8
  409. package/cdn/react/menu/index.js +3 -3
  410. package/cdn/react/menu-item/index.js +6 -6
  411. package/cdn/react/option/index.js +4 -4
  412. package/cdn/react/pagination/index.js +4 -4
  413. package/cdn/react/plot/index.js +3 -3
  414. package/cdn/react/plot-toolbar/index.js +26 -16
  415. package/cdn/react/popup/index.js +3 -3
  416. package/cdn/react/progress-bar/index.js +3 -3
  417. package/cdn/react/radio/index.js +3 -3
  418. package/cdn/react/radio-group/index.js +3 -3
  419. package/cdn/react/scroll-hint/index.js +4 -4
  420. package/cdn/react/select/index.js +6 -6
  421. package/cdn/react/site-header/index.js +4 -4
  422. package/cdn/react/site-navigation/index.js +3 -3
  423. package/cdn/react/skeleton/index.js +3 -3
  424. package/cdn/react/slider/index.js +3 -3
  425. package/cdn/react/spatial-picker/index.js +23 -13
  426. package/cdn/react/status-indicator/index.js +3 -3
  427. package/cdn/react/stepper/index.js +3 -3
  428. package/cdn/react/stepper-step/index.js +4 -4
  429. package/cdn/react/tab/index.js +4 -4
  430. package/cdn/react/tab-panel/index.js +3 -3
  431. package/cdn/react/tabs/index.js +4 -4
  432. package/cdn/react/tag/index.js +4 -4
  433. package/cdn/react/textarea/index.js +3 -3
  434. package/cdn/react/time-average-map/index.js +33 -23
  435. package/cdn/react/time-series/index.js +32 -22
  436. package/cdn/react/toast/index.js +4 -4
  437. package/cdn/react/toggle/index.js +3 -3
  438. package/cdn/react/tooltip/index.js +4 -4
  439. package/cdn/react/variable-combobox/index.js +9 -9
  440. package/cdn/react/variable-keyword-search/index.js +8 -8
  441. package/cdn/terra-ui-components.js +229 -219
  442. package/cdn/types/vue/index.d.ts +890 -870
  443. package/cdn/vscode.html-custom-data.json +625 -619
  444. package/cdn/web-types.json +2087 -2074
  445. package/dist/chunks/chunk.2HEXM6MX.js +154 -0
  446. package/dist/chunks/chunk.2XFQ7HNR.js +1 -0
  447. package/dist/chunks/chunk.2ZDFC7XD.js +5 -0
  448. package/dist/chunks/chunk.3AF4SJ26.js +780 -0
  449. package/dist/chunks/chunk.3CP7SY7X.js +1 -0
  450. package/dist/chunks/chunk.3NAZF34U.js +1 -0
  451. package/dist/chunks/chunk.3R2J27ZS.js +25 -0
  452. package/dist/chunks/chunk.3XRKWNW5.js +1 -0
  453. package/dist/chunks/chunk.3YJGZAO5.js +1 -0
  454. package/dist/chunks/chunk.447IKCOD.js +1 -0
  455. package/dist/chunks/chunk.44AWWV54.js +30 -0
  456. package/dist/chunks/chunk.46DYUPBX.js +22 -0
  457. package/dist/chunks/chunk.4E2BUN4F.js +1 -0
  458. package/dist/chunks/chunk.4NDKE3PZ.js +1 -0
  459. package/dist/chunks/chunk.4RFJMMAN.js +1 -0
  460. package/dist/chunks/chunk.4SRXQYLE.js +39 -0
  461. package/dist/chunks/chunk.4ZQUOM75.js +80 -0
  462. package/dist/chunks/chunk.5DDZRQCR.js +26 -0
  463. package/dist/chunks/chunk.5DJQBDNY.js +99 -0
  464. package/dist/chunks/chunk.5GJQRKUS.js +1 -0
  465. package/dist/chunks/chunk.5GTOXSEK.js +24 -0
  466. package/dist/chunks/chunk.5HY3BVXE.js +23 -0
  467. package/dist/chunks/chunk.5MNSQC5Z.js +43 -0
  468. package/dist/chunks/chunk.5S57Z6MY.js +1 -0
  469. package/dist/chunks/chunk.63KFBVDZ.js +125 -0
  470. package/dist/chunks/chunk.66FVHWWG.js +1 -0
  471. package/dist/chunks/chunk.6C3T5LR6.js +1 -0
  472. package/dist/chunks/chunk.6D4YDDOH.js +148 -0
  473. package/dist/chunks/chunk.6OVOBLEB.js +1 -0
  474. package/dist/chunks/chunk.6QWTHDDS.js +1 -0
  475. package/dist/chunks/chunk.6TIISOSM.js +1 -0
  476. package/dist/chunks/chunk.6UUXXIO5.js +1 -0
  477. package/dist/chunks/chunk.6YB2WV52.js +9 -0
  478. package/dist/chunks/chunk.6YNWYAON.js +1 -0
  479. package/dist/chunks/chunk.74UO2S6X.js +26 -0
  480. package/dist/chunks/chunk.75Q2DUI4.js +145 -0
  481. package/dist/chunks/chunk.7DCDWHIP.js +1 -0
  482. package/dist/chunks/chunk.7KOIBYPW.js +1 -0
  483. package/dist/chunks/chunk.7LW5MDPV.js +1 -0
  484. package/dist/chunks/chunk.7RSJSUF5.js +122 -0
  485. package/dist/chunks/chunk.7VL5XLTF.js +1 -0
  486. package/dist/chunks/chunk.7ZTODERJ.js +61 -0
  487. package/dist/chunks/chunk.A4JPZBCU.js +1 -0
  488. package/dist/chunks/chunk.A6XZHXKG.js +17 -0
  489. package/dist/chunks/chunk.ABDHAYTU.js +1 -0
  490. package/dist/chunks/chunk.AF4KKKIK.js +176 -0
  491. package/dist/chunks/chunk.AOJ7CENL.js +1 -0
  492. package/dist/chunks/chunk.ATX7REBU.js +1 -0
  493. package/dist/chunks/chunk.AUBMY7XI.js +8 -0
  494. package/dist/chunks/chunk.AV5MTWD4.js +1 -0
  495. package/dist/chunks/chunk.AWA2ZGEV.js +300 -0
  496. package/dist/chunks/chunk.AXXCXZWY.js +1 -0
  497. package/dist/chunks/chunk.AYEBTFZT.js +433 -0
  498. package/dist/chunks/chunk.B5FLJR3A.js +37 -0
  499. package/dist/chunks/chunk.BCI323BR.js +1 -0
  500. package/dist/chunks/chunk.BQ2TQQGG.js +1 -0
  501. package/dist/chunks/chunk.BRSDDKYM.js +33 -0
  502. package/dist/chunks/chunk.BYWODPGT.js +1 -0
  503. package/dist/chunks/chunk.C5S23DNK.js +1 -0
  504. package/dist/chunks/chunk.CBLMIMXD.js +20 -0
  505. package/dist/chunks/chunk.CC3TFKZ5.js +1 -0
  506. package/dist/chunks/chunk.CLGMXYFG.js +1 -0
  507. package/dist/chunks/chunk.CLQSO2B3.js +1 -0
  508. package/dist/chunks/chunk.CMABIFU7.js +1 -0
  509. package/dist/chunks/chunk.CS5XSAK7.js +1 -0
  510. package/dist/chunks/chunk.D5GCNDYG.js +1 -0
  511. package/dist/chunks/chunk.DANE2DV4.js +1 -0
  512. package/dist/chunks/chunk.DBLKA334.js +1 -0
  513. package/dist/chunks/chunk.DHUDN5NR.js +1 -0
  514. package/dist/chunks/chunk.DK636C4K.js +19 -0
  515. package/dist/chunks/chunk.DSIIF7K6.js +1 -0
  516. package/dist/chunks/chunk.DUG6LPDO.js +1 -0
  517. package/dist/chunks/chunk.DXULPI2C.js +1 -0
  518. package/dist/chunks/chunk.ECXCY3XX.js +12 -0
  519. package/dist/chunks/chunk.EFQ4VOA6.js +1 -0
  520. package/dist/chunks/chunk.EHEFJ4UM.js +35 -0
  521. package/dist/chunks/chunk.EPMIYG6Y.js +113 -0
  522. package/dist/chunks/chunk.F5HERH3C.js +1 -0
  523. package/dist/chunks/chunk.FEBNDE5C.js +1 -0
  524. package/dist/chunks/chunk.FSHLOPG4.js +1 -0
  525. package/dist/chunks/chunk.FTC6BJLL.js +47 -0
  526. package/dist/chunks/chunk.FWNUKBYM.js +1 -0
  527. package/dist/chunks/chunk.GCKLOHLJ.js +1 -0
  528. package/dist/chunks/chunk.GQT3QXWD.js +1 -0
  529. package/dist/chunks/chunk.GSCUNOLU.js +30 -0
  530. package/dist/chunks/chunk.GUIMVPU3.js +1 -0
  531. package/dist/chunks/chunk.GXCYLTXI.js +1 -0
  532. package/dist/chunks/chunk.H2EZ7VOW.js +1 -0
  533. package/dist/chunks/chunk.H2MRWWA5.js +1 -0
  534. package/dist/chunks/chunk.H4WCUAI5.js +1 -0
  535. package/dist/chunks/chunk.H6HYWCWZ.js +55 -0
  536. package/dist/chunks/chunk.HKXBQIJC.js +1 -0
  537. package/dist/chunks/chunk.HLRV2WXA.js +1 -0
  538. package/dist/chunks/chunk.HPSHJNUL.js +1 -0
  539. package/dist/chunks/chunk.HQE6JQ36.js +1 -0
  540. package/dist/chunks/chunk.HTRDWX5D.js +1 -0
  541. package/dist/chunks/chunk.I2H5CL5B.js +1 -0
  542. package/dist/chunks/chunk.I2VZCTPD.js +1 -0
  543. package/dist/chunks/chunk.I3ABET54.js +1 -0
  544. package/dist/chunks/chunk.I4XNSZMV.js +14 -0
  545. package/dist/chunks/chunk.IDRV4QVY.js +75 -0
  546. package/dist/chunks/chunk.IHH2EMZT.js +280 -0
  547. package/dist/chunks/chunk.IX4DTAAR.js +1 -0
  548. package/dist/chunks/chunk.IYYXOBVJ.js +1 -0
  549. package/dist/chunks/chunk.J6YMXA4V.js +1 -0
  550. package/dist/chunks/chunk.JF64QOIK.js +1 -0
  551. package/dist/chunks/chunk.JMGGBACY.js +1 -0
  552. package/dist/chunks/chunk.JPRIHHL3.js +1 -0
  553. package/dist/chunks/chunk.JUV3F76R.js +35 -0
  554. package/dist/chunks/chunk.K67524WR.js +1 -0
  555. package/dist/chunks/chunk.K6KJNAUI.js +1 -0
  556. package/dist/chunks/chunk.KCCCUPQI.js +74 -0
  557. package/dist/chunks/chunk.KDP7MFSQ.js +1 -0
  558. package/dist/chunks/chunk.KG3775TI.js +1 -0
  559. package/dist/chunks/chunk.KG4H7K5W.js +11 -0
  560. package/dist/chunks/chunk.KIXW3H6F.js +1 -0
  561. package/dist/chunks/chunk.KRQB5VTT.js +1 -0
  562. package/dist/chunks/chunk.KSEX673E.js +1 -0
  563. package/dist/chunks/chunk.KUPSLOUX.js +1 -0
  564. package/dist/chunks/chunk.L2IUPHO3.js +1 -0
  565. package/dist/chunks/chunk.LCGVUMKQ.js +43 -0
  566. package/dist/chunks/chunk.LFHFYBLO.js +1 -0
  567. package/dist/chunks/chunk.LICY6WJT.js +4 -0
  568. package/dist/chunks/chunk.LKQ44YSQ.js +1 -0
  569. package/dist/chunks/chunk.M4G2JEW2.js +1 -0
  570. package/dist/chunks/chunk.MBOEFHQI.js +55 -0
  571. package/dist/chunks/chunk.MCR2VZQP.js +1 -0
  572. package/dist/chunks/chunk.MGN6FPMX.js +1 -0
  573. package/dist/chunks/chunk.MOWA5ULN.js +1 -0
  574. package/dist/chunks/chunk.MPDRWVZL.js +1 -0
  575. package/dist/chunks/chunk.MSBCPIGA.js +1 -0
  576. package/dist/chunks/chunk.N4IMML6I.js +121 -0
  577. package/dist/chunks/chunk.NRTWU3TW.js +1 -0
  578. package/dist/chunks/chunk.NW27EPOF.js +5 -0
  579. package/dist/chunks/chunk.NXSYWMFP.js +1 -0
  580. package/dist/chunks/chunk.NZNJPDVW.js +1 -0
  581. package/dist/chunks/chunk.OAALYDNZ.js +1 -0
  582. package/dist/chunks/chunk.OANTUX24.js +48 -0
  583. package/dist/chunks/chunk.OFOCDP2M.js +1 -0
  584. package/dist/chunks/chunk.OJUQFN4A.js +27 -0
  585. package/dist/chunks/chunk.OPBZIY2A.js +1 -0
  586. package/dist/chunks/chunk.OT6SFBQX.js +1 -0
  587. package/dist/chunks/chunk.OWZEKFKL.js +1 -0
  588. package/dist/chunks/chunk.OZUKFWGD.js +1 -0
  589. package/dist/chunks/chunk.P5XWJ5HC.js +1 -0
  590. package/dist/chunks/chunk.PR7E6KYS.js +1 -0
  591. package/dist/chunks/chunk.PTN44XCI.js +572 -0
  592. package/dist/chunks/chunk.PWT5JMOP.js +1 -0
  593. package/dist/chunks/chunk.QBXUVQTY.js +1 -0
  594. package/dist/chunks/chunk.QIS56XCC.js +1 -0
  595. package/dist/chunks/chunk.QP5FZIRF.js +1 -0
  596. package/dist/chunks/chunk.QQV7OIO7.js +55 -0
  597. package/dist/chunks/chunk.QS2CNV3Q.js +1 -0
  598. package/dist/chunks/chunk.QUULVCZU.js +1 -0
  599. package/dist/chunks/chunk.R4JAF7DS.js +1 -0
  600. package/dist/chunks/chunk.RFRYQSE5.js +41 -0
  601. package/dist/chunks/chunk.RIDJTVHV.js +1 -0
  602. package/dist/chunks/chunk.RNGOVZGF.js +9 -0
  603. package/dist/chunks/chunk.RRTP2FHP.js +1 -0
  604. package/dist/chunks/chunk.RW66TULD.js +1 -0
  605. package/dist/chunks/chunk.RXSKPOBF.js +1 -0
  606. package/dist/chunks/chunk.RYL27WYB.js +1 -0
  607. package/dist/chunks/chunk.SAHUIO3P.js +1 -0
  608. package/dist/chunks/chunk.SPNO75Q4.js +514 -0
  609. package/dist/chunks/chunk.SY3HGJA3.js +100 -0
  610. package/dist/chunks/chunk.SYGSWLVD.js +1 -0
  611. package/dist/chunks/chunk.TAQ6A3B7.js +2 -0
  612. package/dist/chunks/chunk.TQZFMQPE.js +11 -0
  613. package/dist/chunks/chunk.TSOQGANL.js +1 -0
  614. package/dist/chunks/chunk.TTWUGVNW.js +1 -0
  615. package/dist/chunks/chunk.UCO7ADVP.js +64 -0
  616. package/dist/chunks/chunk.UFJISWXG.js +1 -0
  617. package/dist/chunks/chunk.UFYFMNUK.js +1 -0
  618. package/dist/chunks/chunk.UIQXEV7N.js +67 -0
  619. package/dist/chunks/chunk.UZHA3QCH.js +1190 -0
  620. package/dist/chunks/chunk.UZI5DYPK.js +41 -0
  621. package/dist/chunks/chunk.UZZBJV4T.js +1 -0
  622. package/dist/chunks/chunk.V34PEB3H.js +1 -0
  623. package/dist/chunks/chunk.V4X3J7H5.js +1 -0
  624. package/dist/chunks/chunk.VILSXY2Q.js +1 -0
  625. package/dist/chunks/chunk.VSPWNHOW.js +1 -0
  626. package/dist/chunks/chunk.VT3KMZ66.js +1 -0
  627. package/dist/chunks/chunk.VZESRFZQ.js +62 -0
  628. package/dist/chunks/chunk.W57YAS2G.js +1 -0
  629. package/dist/chunks/chunk.WDHC6FGQ.js +157 -0
  630. package/dist/chunks/chunk.WE4PQXFD.js +65 -0
  631. package/dist/chunks/chunk.WG457PDK.js +1 -0
  632. package/dist/chunks/chunk.WJQTKD6X.js +1 -0
  633. package/dist/chunks/chunk.WKNEHZOD.js +16 -0
  634. package/dist/chunks/chunk.WQFHYRFG.js +1 -0
  635. package/dist/chunks/chunk.WTDZWPN3.js +1 -0
  636. package/dist/chunks/chunk.WZYEI2K3.js +1 -0
  637. package/dist/chunks/chunk.X266J3HR.js +1 -0
  638. package/dist/chunks/chunk.X74E6IXG.js +1 -0
  639. package/dist/chunks/chunk.XA6IYBQ4.js +1 -0
  640. package/dist/chunks/chunk.XAZE2FE3.js +1 -0
  641. package/dist/chunks/chunk.XJKVDKZL.js +1 -0
  642. package/dist/chunks/chunk.XUAILPGW.js +1 -0
  643. package/dist/chunks/chunk.XV7MX5O2.js +1 -0
  644. package/dist/chunks/chunk.YA5FFFLQ.js +20 -0
  645. package/dist/chunks/chunk.YDXNKY2Y.js +1 -0
  646. package/dist/chunks/chunk.YOFBYVP5.js +6 -0
  647. package/dist/chunks/chunk.YR5SSBSW.js +299 -0
  648. package/dist/chunks/chunk.YUDIM7TE.js +1 -0
  649. package/dist/chunks/chunk.YX5E2IPT.js +1 -0
  650. package/dist/chunks/chunk.ZRR3M7ZR.js +8 -0
  651. package/dist/chunks/chunk.ZUZ7QHWU.js +1 -0
  652. package/dist/components/accordion/accordion.component.js +1 -1
  653. package/dist/components/accordion/accordion.js +1 -1
  654. package/dist/components/alert/alert.component.js +1 -1
  655. package/dist/components/alert/alert.js +1 -1
  656. package/dist/components/avatar/avatar.component.js +1 -1
  657. package/dist/components/avatar/avatar.js +1 -1
  658. package/dist/components/badge/badge.component.js +1 -1
  659. package/dist/components/badge/badge.js +1 -1
  660. package/dist/components/banner/banner.component.js +1 -1
  661. package/dist/components/banner/banner.js +1 -1
  662. package/dist/components/breadcrumb/breadcrumb.component.js +1 -1
  663. package/dist/components/breadcrumb/breadcrumb.js +1 -1
  664. package/dist/components/breadcrumbs/breadcrumbs.component.js +1 -1
  665. package/dist/components/breadcrumbs/breadcrumbs.js +1 -1
  666. package/dist/components/browse-variables/browse-variables.component.js +1 -1
  667. package/dist/components/browse-variables/browse-variables.js +1 -1
  668. package/dist/components/button/button.component.js +1 -1
  669. package/dist/components/button/button.js +1 -1
  670. package/dist/components/button-group/button-group.component.js +1 -1
  671. package/dist/components/button-group/button-group.js +1 -1
  672. package/dist/components/caption/caption.component.js +1 -1
  673. package/dist/components/caption/caption.js +1 -1
  674. package/dist/components/card/card.component.js +1 -1
  675. package/dist/components/card/card.js +1 -1
  676. package/dist/components/checkbox/checkbox.component.js +1 -1
  677. package/dist/components/checkbox/checkbox.js +1 -1
  678. package/dist/components/chip/chip.component.js +1 -1
  679. package/dist/components/chip/chip.js +1 -1
  680. package/dist/components/combobox/combobox.component.js +1 -1
  681. package/dist/components/combobox/combobox.js +1 -1
  682. package/dist/components/data-access/data-access.component.js +1 -1
  683. package/dist/components/data-access/data-access.js +1 -1
  684. package/dist/components/data-grid/data-grid.component.js +1 -1
  685. package/dist/components/data-grid/data-grid.js +1 -1
  686. package/dist/components/data-rods/data-rods.component.js +1 -1
  687. package/dist/components/data-rods/data-rods.js +1 -1
  688. package/dist/components/data-subsetter/data-subsetter.component.js +1 -1
  689. package/dist/components/data-subsetter/data-subsetter.js +1 -1
  690. package/dist/components/data-subsetter/notebooks/subsetter-notebook.js +1 -1
  691. package/dist/components/data-subsetter-history/data-subsetter-history.component.js +1 -1
  692. package/dist/components/data-subsetter-history/data-subsetter-history.js +1 -1
  693. package/dist/components/date-picker/date-picker.component.js +1 -1
  694. package/dist/components/date-picker/date-picker.js +1 -1
  695. package/dist/components/date-range-slider/date-range-slider.component.js +1 -1
  696. package/dist/components/date-range-slider/date-range-slider.js +1 -1
  697. package/dist/components/dialog/dialog.component.js +1 -1
  698. package/dist/components/dialog/dialog.js +1 -1
  699. package/dist/components/divider/divider.component.js +1 -1
  700. package/dist/components/divider/divider.js +1 -1
  701. package/dist/components/dropdown/dropdown.component.js +1 -1
  702. package/dist/components/dropdown/dropdown.js +1 -1
  703. package/dist/components/earthdata-login/earthdata-login.component.js +1 -1
  704. package/dist/components/earthdata-login/earthdata-login.js +1 -1
  705. package/dist/components/file-upload/file-upload.component.js +1 -1
  706. package/dist/components/file-upload/file-upload.js +1 -1
  707. package/dist/components/harmony-history/harmony-history.component.js +1 -1
  708. package/dist/components/harmony-history/harmony-history.js +1 -1
  709. package/dist/components/icon/icon.component.js +1 -1
  710. package/dist/components/icon/icon.js +1 -1
  711. package/dist/components/input/input.component.js +1 -1
  712. package/dist/components/input/input.js +1 -1
  713. package/dist/components/loader/loader.component.js +1 -1
  714. package/dist/components/loader/loader.js +1 -1
  715. package/dist/components/login/login.component.js +1 -1
  716. package/dist/components/login/login.js +1 -1
  717. package/dist/components/map/layers/base.layer.d.ts +7 -0
  718. package/dist/components/map/layers/base.layer.js +1 -0
  719. package/dist/components/map/layers/borders.layer.d.ts +6 -0
  720. package/dist/components/map/layers/borders.layer.js +1 -0
  721. package/dist/components/map/layers/bordersStyleConfig.d.ts +29 -0
  722. package/dist/components/map/layers/bordersStyleConfig.js +1 -0
  723. package/dist/components/map/layers/labels.layer.d.ts +6 -0
  724. package/dist/components/map/layers/labels.layer.js +1 -0
  725. package/dist/components/map/layers/labelsStyleConfig.d.ts +2337 -0
  726. package/dist/components/map/layers/labelsStyleConfig.js +1 -0
  727. package/dist/components/map/map.component.d.ts +42 -0
  728. package/dist/components/map/map.component.js +1 -1
  729. package/dist/components/map/map.js +1 -1
  730. package/dist/components/map/map.service.d.ts +50 -1
  731. package/dist/components/map/map.service.js +1 -1
  732. package/dist/components/map/map.styles.js +1 -1
  733. package/dist/components/menu/menu.component.js +1 -1
  734. package/dist/components/menu/menu.js +1 -1
  735. package/dist/components/menu-item/menu-item.component.js +1 -1
  736. package/dist/components/menu-item/menu-item.js +1 -1
  737. package/dist/components/option/option.component.js +1 -1
  738. package/dist/components/option/option.js +1 -1
  739. package/dist/components/pagination/pagination.component.js +1 -1
  740. package/dist/components/pagination/pagination.js +1 -1
  741. package/dist/components/plot/plot.component.js +1 -1
  742. package/dist/components/plot/plot.js +1 -1
  743. package/dist/components/plot-toolbar/notebooks/time-averaged-map-notebook.js +1 -1
  744. package/dist/components/plot-toolbar/notebooks/time-series-notebook.js +1 -1
  745. package/dist/components/plot-toolbar/plot-toolbar.component.js +1 -1
  746. package/dist/components/plot-toolbar/plot-toolbar.js +1 -1
  747. package/dist/components/popup/popup.component.js +1 -1
  748. package/dist/components/popup/popup.js +1 -1
  749. package/dist/components/progress-bar/progress-bar.component.js +1 -1
  750. package/dist/components/progress-bar/progress-bar.js +1 -1
  751. package/dist/components/radio/radio.component.js +1 -1
  752. package/dist/components/radio/radio.js +1 -1
  753. package/dist/components/radio-group/radio-group.component.js +1 -1
  754. package/dist/components/radio-group/radio-group.js +1 -1
  755. package/dist/components/scroll-hint/scroll-hint.component.js +1 -1
  756. package/dist/components/scroll-hint/scroll-hint.js +1 -1
  757. package/dist/components/select/select.component.js +1 -1
  758. package/dist/components/select/select.js +1 -1
  759. package/dist/components/site-header/site-header.component.js +1 -1
  760. package/dist/components/site-header/site-header.js +1 -1
  761. package/dist/components/site-navigation/site-navigation.component.js +1 -1
  762. package/dist/components/site-navigation/site-navigation.js +1 -1
  763. package/dist/components/skeleton/skeleton.component.js +1 -1
  764. package/dist/components/skeleton/skeleton.js +1 -1
  765. package/dist/components/slider/slider.component.js +1 -1
  766. package/dist/components/slider/slider.js +1 -1
  767. package/dist/components/spatial-picker/spatial-picker.component.js +1 -1
  768. package/dist/components/spatial-picker/spatial-picker.js +1 -1
  769. package/dist/components/status-indicator/status-indicator.component.js +1 -1
  770. package/dist/components/status-indicator/status-indicator.js +1 -1
  771. package/dist/components/stepper/stepper.component.js +1 -1
  772. package/dist/components/stepper/stepper.js +1 -1
  773. package/dist/components/stepper-step/stepper-step.component.js +1 -1
  774. package/dist/components/stepper-step/stepper-step.js +1 -1
  775. package/dist/components/tab/tab.component.js +1 -1
  776. package/dist/components/tab/tab.js +1 -1
  777. package/dist/components/tab-panel/tab-panel.component.js +1 -1
  778. package/dist/components/tab-panel/tab-panel.js +1 -1
  779. package/dist/components/tabs/tabs.component.js +1 -1
  780. package/dist/components/tabs/tabs.js +1 -1
  781. package/dist/components/tag/tag.component.js +1 -1
  782. package/dist/components/tag/tag.js +1 -1
  783. package/dist/components/textarea/textarea.component.js +1 -1
  784. package/dist/components/textarea/textarea.js +1 -1
  785. package/dist/components/time-average-map/time-average-map.component.d.ts +12 -8
  786. package/dist/components/time-average-map/time-average-map.component.js +1 -1
  787. package/dist/components/time-average-map/time-average-map.controller.d.ts +5 -0
  788. package/dist/components/time-average-map/time-average-map.controller.js +1 -1
  789. package/dist/components/time-average-map/time-average-map.js +1 -1
  790. package/dist/components/time-average-map/time-average-map.styles.js +1 -1
  791. package/dist/components/time-series/time-series.component.js +1 -1
  792. package/dist/components/time-series/time-series.controller.d.ts +5 -0
  793. package/dist/components/time-series/time-series.controller.js +1 -1
  794. package/dist/components/time-series/time-series.js +1 -1
  795. package/dist/components/toast/toast.component.js +1 -1
  796. package/dist/components/toast/toast.js +1 -1
  797. package/dist/components/toggle/toggle.component.js +1 -1
  798. package/dist/components/toggle/toggle.js +1 -1
  799. package/dist/components/tooltip/tooltip.component.js +1 -1
  800. package/dist/components/tooltip/tooltip.js +1 -1
  801. package/dist/components/variable-combobox/variable-combobox.component.js +1 -1
  802. package/dist/components/variable-combobox/variable-combobox.js +1 -1
  803. package/dist/components/variable-keyword-search/variable-keyword-search.component.js +1 -1
  804. package/dist/components/variable-keyword-search/variable-keyword-search.js +1 -1
  805. package/dist/custom-elements.json +6691 -6612
  806. package/dist/events/events.d.ts +1 -1
  807. package/dist/events/terra-map-change.d.ts +6 -0
  808. package/dist/react/accordion/index.js +1 -1
  809. package/dist/react/alert/index.js +1 -1
  810. package/dist/react/avatar/index.js +1 -1
  811. package/dist/react/badge/index.js +1 -1
  812. package/dist/react/banner/index.js +1 -1
  813. package/dist/react/breadcrumb/index.js +1 -1
  814. package/dist/react/breadcrumbs/index.js +1 -1
  815. package/dist/react/browse-variables/index.js +1 -1
  816. package/dist/react/button/index.js +1 -1
  817. package/dist/react/button-group/index.js +1 -1
  818. package/dist/react/caption/index.js +1 -1
  819. package/dist/react/card/index.js +1 -1
  820. package/dist/react/checkbox/index.js +1 -1
  821. package/dist/react/chip/index.js +1 -1
  822. package/dist/react/combobox/index.js +1 -1
  823. package/dist/react/data-access/index.js +1 -1
  824. package/dist/react/data-grid/index.js +1 -1
  825. package/dist/react/data-rods/index.js +1 -1
  826. package/dist/react/data-subsetter/index.js +1 -1
  827. package/dist/react/data-subsetter-history/index.js +1 -1
  828. package/dist/react/date-picker/index.js +1 -1
  829. package/dist/react/date-range-slider/index.js +1 -1
  830. package/dist/react/dialog/index.js +1 -1
  831. package/dist/react/divider/index.js +1 -1
  832. package/dist/react/dropdown/index.js +1 -1
  833. package/dist/react/earthdata-login/index.js +1 -1
  834. package/dist/react/file-upload/index.js +1 -1
  835. package/dist/react/harmony-history/index.js +1 -1
  836. package/dist/react/icon/index.js +1 -1
  837. package/dist/react/index.d.ts +20 -20
  838. package/dist/react/index.js +1 -1
  839. package/dist/react/input/index.js +1 -1
  840. package/dist/react/loader/index.js +1 -1
  841. package/dist/react/login/index.js +1 -1
  842. package/dist/react/map/index.js +1 -1
  843. package/dist/react/menu/index.js +1 -1
  844. package/dist/react/menu-item/index.js +1 -1
  845. package/dist/react/option/index.js +1 -1
  846. package/dist/react/pagination/index.js +1 -1
  847. package/dist/react/plot/index.js +1 -1
  848. package/dist/react/plot-toolbar/index.js +1 -1
  849. package/dist/react/popup/index.js +1 -1
  850. package/dist/react/progress-bar/index.js +1 -1
  851. package/dist/react/radio/index.js +1 -1
  852. package/dist/react/radio-group/index.js +1 -1
  853. package/dist/react/scroll-hint/index.js +1 -1
  854. package/dist/react/select/index.js +1 -1
  855. package/dist/react/site-header/index.js +1 -1
  856. package/dist/react/site-navigation/index.js +1 -1
  857. package/dist/react/skeleton/index.js +1 -1
  858. package/dist/react/slider/index.js +1 -1
  859. package/dist/react/spatial-picker/index.js +1 -1
  860. package/dist/react/status-indicator/index.js +1 -1
  861. package/dist/react/stepper/index.js +1 -1
  862. package/dist/react/stepper-step/index.js +1 -1
  863. package/dist/react/tab/index.js +1 -1
  864. package/dist/react/tab-panel/index.js +1 -1
  865. package/dist/react/tabs/index.js +1 -1
  866. package/dist/react/tag/index.js +1 -1
  867. package/dist/react/textarea/index.js +1 -1
  868. package/dist/react/time-average-map/index.js +1 -1
  869. package/dist/react/time-series/index.js +1 -1
  870. package/dist/react/toast/index.js +1 -1
  871. package/dist/react/toggle/index.js +1 -1
  872. package/dist/react/tooltip/index.js +1 -1
  873. package/dist/react/variable-combobox/index.js +1 -1
  874. package/dist/react/variable-keyword-search/index.js +1 -1
  875. package/dist/terra-ui-components.js +1 -1
  876. package/dist/terra_ui_components-0.0.199-py3-none-any.whl +0 -0
  877. package/dist/terra_ui_components-0.0.199.tar.gz +0 -0
  878. package/dist/types/vue/index.d.ts +890 -870
  879. package/dist/vscode.html-custom-data.json +625 -619
  880. package/dist/web-types.json +2087 -2074
  881. package/package.json +2 -1
  882. package/cdn/chunks/GeoTIFF.NRJSPXBW.js +0 -21958
  883. package/cdn/chunks/chunk.25SASHHO.js +0 -60
  884. package/cdn/chunks/chunk.27NEXEZY.js +0 -19
  885. package/cdn/chunks/chunk.2FFK57ZH.js +0 -1264
  886. package/cdn/chunks/chunk.2FGK3J7F.js +0 -29
  887. package/cdn/chunks/chunk.2FSQRD2X.js +0 -32
  888. package/cdn/chunks/chunk.2P5VNQ3Q.js +0 -36
  889. package/cdn/chunks/chunk.34EBDDZ2.js +0 -19
  890. package/cdn/chunks/chunk.3AK225D4.js +0 -35
  891. package/cdn/chunks/chunk.3DB6PNAX.js +0 -36
  892. package/cdn/chunks/chunk.3IYEHDGU.js +0 -19
  893. package/cdn/chunks/chunk.3KHEMQPI.js +0 -19
  894. package/cdn/chunks/chunk.3Q2LDNOY.js +0 -276
  895. package/cdn/chunks/chunk.3RCH7UZU.js +0 -19
  896. package/cdn/chunks/chunk.3UIUIYCO.js +0 -32
  897. package/cdn/chunks/chunk.3VQHJIOH.js +0 -277
  898. package/cdn/chunks/chunk.4FFCJHOF.js +0 -29
  899. package/cdn/chunks/chunk.4GDEK6CA.js +0 -1975
  900. package/cdn/chunks/chunk.4KGQA5PY.js +0 -657
  901. package/cdn/chunks/chunk.4OGJ2ZSG.js +0 -195
  902. package/cdn/chunks/chunk.4VSXBUU6.js +0 -377
  903. package/cdn/chunks/chunk.4Z7MSJL7.js +0 -19
  904. package/cdn/chunks/chunk.53FLKCIC.js +0 -19
  905. package/cdn/chunks/chunk.5ASO3OUZ.js +0 -138
  906. package/cdn/chunks/chunk.5D655ZE7.js +0 -19
  907. package/cdn/chunks/chunk.5ETTKUDG.js +0 -188
  908. package/cdn/chunks/chunk.5IQUQXEQ.js +0 -19
  909. package/cdn/chunks/chunk.5LXVG2NR.js +0 -2713
  910. package/cdn/chunks/chunk.5SWFG3T6.js +0 -151
  911. package/cdn/chunks/chunk.673RMALO.js +0 -104
  912. package/cdn/chunks/chunk.6EVMKXR5.js +0 -32
  913. package/cdn/chunks/chunk.6HUTR57W.js +0 -19
  914. package/cdn/chunks/chunk.6JSHABDB.js +0 -32
  915. package/cdn/chunks/chunk.763TTBY7.js +0 -93
  916. package/cdn/chunks/chunk.763WHPEC.js +0 -132
  917. package/cdn/chunks/chunk.7BKQAOA6.js +0 -904
  918. package/cdn/chunks/chunk.7EKX7V3C.js +0 -32
  919. package/cdn/chunks/chunk.7T7SZ2MG.js +0 -224
  920. package/cdn/chunks/chunk.7UOLOECG.js +0 -19
  921. package/cdn/chunks/chunk.7XXKTRE2.js +0 -62
  922. package/cdn/chunks/chunk.AAQP4ZRG.js +0 -36
  923. package/cdn/chunks/chunk.ACM6IUFA.js +0 -29
  924. package/cdn/chunks/chunk.ACQRX6KA.js +0 -2546
  925. package/cdn/chunks/chunk.AE7GQ2OH.js +0 -162
  926. package/cdn/chunks/chunk.AOAMCCLA.js +0 -230
  927. package/cdn/chunks/chunk.AOCKA5FE.js +0 -19
  928. package/cdn/chunks/chunk.AQ5UEM6S.js +0 -136
  929. package/cdn/chunks/chunk.ATCMXTT6.js +0 -155
  930. package/cdn/chunks/chunk.AXUUEQIQ.js +0 -19
  931. package/cdn/chunks/chunk.BDDP57YT.js +0 -616
  932. package/cdn/chunks/chunk.BIO3CT7R.js +0 -19
  933. package/cdn/chunks/chunk.BX4XMEDL.js +0 -32
  934. package/cdn/chunks/chunk.C4Q3HQT3.js +0 -19
  935. package/cdn/chunks/chunk.CCVZBOJU.js +0 -19
  936. package/cdn/chunks/chunk.CFWEN4DK.js +0 -19
  937. package/cdn/chunks/chunk.CKRCCLC4.js +0 -1197
  938. package/cdn/chunks/chunk.COOTH73Y.js +0 -158
  939. package/cdn/chunks/chunk.CQQ7A6TB.js +0 -19
  940. package/cdn/chunks/chunk.CSSDZBIW.js +0 -29
  941. package/cdn/chunks/chunk.CVCOATX4.js +0 -29
  942. package/cdn/chunks/chunk.CYHEIQK4.js +0 -19
  943. package/cdn/chunks/chunk.D5MA5XD2.js +0 -19
  944. package/cdn/chunks/chunk.D65VLQ5F.js +0 -925
  945. package/cdn/chunks/chunk.DDAV4MHH.js +0 -33
  946. package/cdn/chunks/chunk.DTCGB6MX.js +0 -29
  947. package/cdn/chunks/chunk.DVOT5I62.js +0 -266
  948. package/cdn/chunks/chunk.E23DSFKG.js +0 -19
  949. package/cdn/chunks/chunk.E3AMPHJV.js +0 -29
  950. package/cdn/chunks/chunk.ED45RVQ7.js +0 -134
  951. package/cdn/chunks/chunk.EN2T3RPZ.js +0 -19
  952. package/cdn/chunks/chunk.EQ6SQSU4.js +0 -113
  953. package/cdn/chunks/chunk.F3KZAEMI.js +0 -86
  954. package/cdn/chunks/chunk.FAHOVJJQ.js +0 -19
  955. package/cdn/chunks/chunk.FETH5QYA.js +0 -92
  956. package/cdn/chunks/chunk.FGO5SZJJ.js +0 -29
  957. package/cdn/chunks/chunk.FOWCYICQ.js +0 -19
  958. package/cdn/chunks/chunk.FP46ENK2.js +0 -106
  959. package/cdn/chunks/chunk.FQDDBEJS.js +0 -478
  960. package/cdn/chunks/chunk.FRXGVFPM.js +0 -32
  961. package/cdn/chunks/chunk.G2JFFI24.js +0 -19
  962. package/cdn/chunks/chunk.G6U6RXJS.js +0 -82
  963. package/cdn/chunks/chunk.GB6CFGNH.js +0 -29
  964. package/cdn/chunks/chunk.GGTQYGC5.js +0 -458
  965. package/cdn/chunks/chunk.GJEUR34A.js +0 -32
  966. package/cdn/chunks/chunk.GL4VHOZ6.js +0 -631
  967. package/cdn/chunks/chunk.GMM3EOD6.js +0 -9743
  968. package/cdn/chunks/chunk.GN3JMZRR.js +0 -29
  969. package/cdn/chunks/chunk.GQBAO7NT.js +0 -29
  970. package/cdn/chunks/chunk.GXV3SI3E.js +0 -310
  971. package/cdn/chunks/chunk.H4E67GBN.js +0 -32
  972. package/cdn/chunks/chunk.HP5JGXDX.js +0 -19
  973. package/cdn/chunks/chunk.HPESON7W.js +0 -443
  974. package/cdn/chunks/chunk.HPFSUZ5Z.js +0 -294
  975. package/cdn/chunks/chunk.HTRP2HMU.js +0 -19
  976. package/cdn/chunks/chunk.IOPMJDF5.js +0 -19
  977. package/cdn/chunks/chunk.IPOUZRQQ.js +0 -33
  978. package/cdn/chunks/chunk.J2MEB73Q.js +0 -19
  979. package/cdn/chunks/chunk.J2YY5O2V.js +0 -543
  980. package/cdn/chunks/chunk.J534EJQR.js +0 -19
  981. package/cdn/chunks/chunk.J5YZLQZG.js +0 -19
  982. package/cdn/chunks/chunk.JALTEGNG.js +0 -19
  983. package/cdn/chunks/chunk.JERVD5PR.js +0 -30
  984. package/cdn/chunks/chunk.JINQBHNW.js +0 -60
  985. package/cdn/chunks/chunk.JJOHTWOC.js +0 -36
  986. package/cdn/chunks/chunk.JZPB2P2H.js +0 -34
  987. package/cdn/chunks/chunk.JZXYV4F3.js +0 -19
  988. package/cdn/chunks/chunk.KDMCTX4V.js +0 -19
  989. package/cdn/chunks/chunk.KJ2GVCPZ.js +0 -29
  990. package/cdn/chunks/chunk.KJUPXC55.js +0 -41
  991. package/cdn/chunks/chunk.KLHRICOA.js +0 -19
  992. package/cdn/chunks/chunk.LBDLTKYA.js +0 -34
  993. package/cdn/chunks/chunk.LBTS6K2C.js +0 -19
  994. package/cdn/chunks/chunk.LJNSIKDU.js +0 -74
  995. package/cdn/chunks/chunk.LMEJH2BQ.js +0 -234
  996. package/cdn/chunks/chunk.LOTR636L.js +0 -19
  997. package/cdn/chunks/chunk.LP56SNNW.js +0 -19
  998. package/cdn/chunks/chunk.LQUILBH4.js +0 -19
  999. package/cdn/chunks/chunk.LRWHUN6Q.js +0 -19
  1000. package/cdn/chunks/chunk.LSLLV44U.js +0 -35
  1001. package/cdn/chunks/chunk.LWN6Z2MT.js +0 -610
  1002. package/cdn/chunks/chunk.M67NQHER.js +0 -259
  1003. package/cdn/chunks/chunk.MVC3GRDP.js +0 -524
  1004. package/cdn/chunks/chunk.MZPYNFAK.js +0 -19
  1005. package/cdn/chunks/chunk.NAYEMU6V.js +0 -594
  1006. package/cdn/chunks/chunk.NBV7BO7K.js +0 -35
  1007. package/cdn/chunks/chunk.NBVGG52Y.js +0 -19
  1008. package/cdn/chunks/chunk.NCBYWOID.js +0 -33
  1009. package/cdn/chunks/chunk.NEXXYMR2.js +0 -29
  1010. package/cdn/chunks/chunk.NGS4A7JM.js +0 -960
  1011. package/cdn/chunks/chunk.NPWYBDA7.js +0 -19
  1012. package/cdn/chunks/chunk.O4C2GKGK.js +0 -357
  1013. package/cdn/chunks/chunk.O7LDEO3Y.js +0 -36
  1014. package/cdn/chunks/chunk.OKZX2FLN.js +0 -190
  1015. package/cdn/chunks/chunk.OMDMKCSO.js +0 -68
  1016. package/cdn/chunks/chunk.OMV3UFK5.js +0 -19
  1017. package/cdn/chunks/chunk.OUPRETB6.js +0 -537
  1018. package/cdn/chunks/chunk.OWEAZGNG.js +0 -29
  1019. package/cdn/chunks/chunk.P3IZXZD7.js +0 -19
  1020. package/cdn/chunks/chunk.P4PYSONI.js +0 -1985
  1021. package/cdn/chunks/chunk.P5L2C7D6.js +0 -33
  1022. package/cdn/chunks/chunk.PAFDTAPQ.js +0 -71
  1023. package/cdn/chunks/chunk.PFTM3PHG.js +0 -110
  1024. package/cdn/chunks/chunk.PZT47FKK.js +0 -19
  1025. package/cdn/chunks/chunk.Q7SENWN7.js +0 -32
  1026. package/cdn/chunks/chunk.QAEFL5ZA.js +0 -29
  1027. package/cdn/chunks/chunk.QJUVPP3K.js +0 -19
  1028. package/cdn/chunks/chunk.QLB2HRLZ.js +0 -19
  1029. package/cdn/chunks/chunk.QWF3B66L.js +0 -29
  1030. package/cdn/chunks/chunk.QXZWFB45.js +0 -19
  1031. package/cdn/chunks/chunk.QZU24DVR.js +0 -47
  1032. package/cdn/chunks/chunk.R3DMTQZ7.js +0 -99
  1033. package/cdn/chunks/chunk.R77CTO6K.js +0 -32
  1034. package/cdn/chunks/chunk.R7LMVJAZ.js +0 -83
  1035. package/cdn/chunks/chunk.RCOD7FFJ.js +0 -278
  1036. package/cdn/chunks/chunk.RKS4PEGG.js +0 -330
  1037. package/cdn/chunks/chunk.RRPDBZZG.js +0 -19
  1038. package/cdn/chunks/chunk.RT45YBDH.js +0 -19
  1039. package/cdn/chunks/chunk.S6FUVU5G.js +0 -19
  1040. package/cdn/chunks/chunk.SKBS4BJN.js +0 -24561
  1041. package/cdn/chunks/chunk.SPWQ65KD.js +0 -29
  1042. package/cdn/chunks/chunk.SR3N2FYU.js +0 -78
  1043. package/cdn/chunks/chunk.STHBAAN2.js +0 -538
  1044. package/cdn/chunks/chunk.SX3JRN4T.js +0 -599
  1045. package/cdn/chunks/chunk.TDMPHDKJ.js +0 -19
  1046. package/cdn/chunks/chunk.TFXTRVKP.js +0 -29
  1047. package/cdn/chunks/chunk.TKY6BLP4.js +0 -19
  1048. package/cdn/chunks/chunk.TUOTP4CD.js +0 -19
  1049. package/cdn/chunks/chunk.UDHCKILF.js +0 -29
  1050. package/cdn/chunks/chunk.UI656UYI.js +0 -56075
  1051. package/cdn/chunks/chunk.UQSFYHDF.js +0 -29
  1052. package/cdn/chunks/chunk.UXFIJ2ZX.js +0 -293
  1053. package/cdn/chunks/chunk.UYNLPW2B.js +0 -298
  1054. package/cdn/chunks/chunk.VH3CFXFW.js +0 -39
  1055. package/cdn/chunks/chunk.VIBJ6GTB.js +0 -231
  1056. package/cdn/chunks/chunk.VU5YCBI7.js +0 -29
  1057. package/cdn/chunks/chunk.VZZ5VWGT.js +0 -515
  1058. package/cdn/chunks/chunk.WIYWTJBS.js +0 -29
  1059. package/cdn/chunks/chunk.WJ6P74RX.js +0 -672
  1060. package/cdn/chunks/chunk.WOGYXGQJ.js +0 -29
  1061. package/cdn/chunks/chunk.WRH6KGLB.js +0 -32
  1062. package/cdn/chunks/chunk.WVFK7SEA.js +0 -19
  1063. package/cdn/chunks/chunk.WY7Z4HZC.js +0 -19
  1064. package/cdn/chunks/chunk.WZWTQD7Z.js +0 -29
  1065. package/cdn/chunks/chunk.X2VWBUE3.js +0 -19
  1066. package/cdn/chunks/chunk.X4BGAKNR.js +0 -123
  1067. package/cdn/chunks/chunk.X4HGAHKQ.js +0 -35
  1068. package/cdn/chunks/chunk.X7YHUN2A.js +0 -19
  1069. package/cdn/chunks/chunk.XA72A6DU.js +0 -19
  1070. package/cdn/chunks/chunk.XC7Z44CM.js +0 -19
  1071. package/cdn/chunks/chunk.XFCD7OFY.js +0 -33
  1072. package/cdn/chunks/chunk.XLQG5E2P.js +0 -37
  1073. package/cdn/chunks/chunk.XTGUW4UW.js +0 -35
  1074. package/cdn/chunks/chunk.XUTJ666V.js +0 -19
  1075. package/cdn/chunks/chunk.XWRI2TBI.js +0 -19
  1076. package/cdn/chunks/chunk.YGLWUTM5.js +0 -29
  1077. package/cdn/chunks/chunk.YNXKSK2K.js +0 -29
  1078. package/cdn/chunks/chunk.YSK7YOI2.js +0 -359
  1079. package/cdn/chunks/chunk.Z2ZM5DA2.js +0 -37
  1080. package/cdn/chunks/chunk.Z7HEB67J.js +0 -29
  1081. package/cdn/chunks/chunk.ZEFZMBN5.js +0 -29
  1082. package/cdn/chunks/chunk.ZKIDCWMN.js +0 -32
  1083. package/cdn/chunks/chunk.ZLKXOXOU.js +0 -49
  1084. package/cdn/chunks/chunk.ZMRWSDKT.js +0 -29
  1085. package/cdn/chunks/chunk.ZQFRHM65.js +0 -32
  1086. package/cdn/chunks/chunk.ZYWUJLL7.js +0 -29
  1087. package/cdn/chunks/lerc.4U2WA6NV.js +0 -2097
  1088. package/dist/chunks/chunk.24SX4FMU.js +0 -1
  1089. package/dist/chunks/chunk.2GXQG2C6.js +0 -1
  1090. package/dist/chunks/chunk.2XKK72BX.js +0 -1
  1091. package/dist/chunks/chunk.2XPGS7YP.js +0 -48
  1092. package/dist/chunks/chunk.2ZYNR23M.js +0 -1
  1093. package/dist/chunks/chunk.36HLLZYQ.js +0 -1
  1094. package/dist/chunks/chunk.3CU7KNNE.js +0 -1
  1095. package/dist/chunks/chunk.3ITVVL3P.js +0 -1
  1096. package/dist/chunks/chunk.3W34LXSN.js +0 -1
  1097. package/dist/chunks/chunk.4GQ4J4RQ.js +0 -47
  1098. package/dist/chunks/chunk.4QD3ZYJY.js +0 -24
  1099. package/dist/chunks/chunk.4R2LB5BK.js +0 -1
  1100. package/dist/chunks/chunk.4UFR7QMC.js +0 -1
  1101. package/dist/chunks/chunk.52ODFIC3.js +0 -1
  1102. package/dist/chunks/chunk.55EGVUKA.js +0 -8
  1103. package/dist/chunks/chunk.5FJJ7CKA.js +0 -1
  1104. package/dist/chunks/chunk.5GXF4QPJ.js +0 -1
  1105. package/dist/chunks/chunk.5HMYUJA4.js +0 -11
  1106. package/dist/chunks/chunk.5TC6SHQD.js +0 -1
  1107. package/dist/chunks/chunk.5Y2ANPPB.js +0 -121
  1108. package/dist/chunks/chunk.64BYIJHY.js +0 -1
  1109. package/dist/chunks/chunk.6ETTLWXK.js +0 -1
  1110. package/dist/chunks/chunk.6FH4FIIS.js +0 -157
  1111. package/dist/chunks/chunk.6NISHRMO.js +0 -1
  1112. package/dist/chunks/chunk.6OIEAUAO.js +0 -9
  1113. package/dist/chunks/chunk.6SIPIJUK.js +0 -19
  1114. package/dist/chunks/chunk.6XQYLPLE.js +0 -1
  1115. package/dist/chunks/chunk.6ZY5ELEO.js +0 -1
  1116. package/dist/chunks/chunk.73NL7DL3.js +0 -1
  1117. package/dist/chunks/chunk.75UA5KEJ.js +0 -1
  1118. package/dist/chunks/chunk.7L35TYU5.js +0 -1
  1119. package/dist/chunks/chunk.7NFE6ZZV.js +0 -1
  1120. package/dist/chunks/chunk.7SDRQM32.js +0 -1
  1121. package/dist/chunks/chunk.7YCJNGUN.js +0 -148
  1122. package/dist/chunks/chunk.A4MX5WMW.js +0 -43
  1123. package/dist/chunks/chunk.A673HJFE.js +0 -1
  1124. package/dist/chunks/chunk.AFIUQX3S.js +0 -20
  1125. package/dist/chunks/chunk.AGRACYBL.js +0 -1
  1126. package/dist/chunks/chunk.AOIZBSP4.js +0 -14
  1127. package/dist/chunks/chunk.AXF5M76D.js +0 -35
  1128. package/dist/chunks/chunk.BOTQGLFI.js +0 -1190
  1129. package/dist/chunks/chunk.BQC5WG2F.js +0 -1
  1130. package/dist/chunks/chunk.BS64IZTS.js +0 -1
  1131. package/dist/chunks/chunk.BXVCOWUZ.js +0 -122
  1132. package/dist/chunks/chunk.BYA3HDVE.js +0 -154
  1133. package/dist/chunks/chunk.C3X67ZLF.js +0 -1
  1134. package/dist/chunks/chunk.CBBP6HID.js +0 -1
  1135. package/dist/chunks/chunk.CFCILO2Y.js +0 -1
  1136. package/dist/chunks/chunk.CLLARK3K.js +0 -27
  1137. package/dist/chunks/chunk.CNWVGJYN.js +0 -127
  1138. package/dist/chunks/chunk.CO4V5XB7.js +0 -1
  1139. package/dist/chunks/chunk.CXDMJZ4A.js +0 -1
  1140. package/dist/chunks/chunk.D2RDQWCD.js +0 -1
  1141. package/dist/chunks/chunk.DA3J4VXR.js +0 -145
  1142. package/dist/chunks/chunk.DBNR7FR7.js +0 -1
  1143. package/dist/chunks/chunk.DCBVJQPK.js +0 -1
  1144. package/dist/chunks/chunk.DCM3VMX3.js +0 -1
  1145. package/dist/chunks/chunk.DD4HJH47.js +0 -6
  1146. package/dist/chunks/chunk.DDWDUBXM.js +0 -30
  1147. package/dist/chunks/chunk.DMWYZA3Y.js +0 -1
  1148. package/dist/chunks/chunk.DPTTMTMJ.js +0 -1
  1149. package/dist/chunks/chunk.DXEDGBWD.js +0 -11
  1150. package/dist/chunks/chunk.EJZK2KGV.js +0 -1
  1151. package/dist/chunks/chunk.ELNLFTBC.js +0 -8
  1152. package/dist/chunks/chunk.F3CMUMHO.js +0 -1
  1153. package/dist/chunks/chunk.F6QDIBZ2.js +0 -1
  1154. package/dist/chunks/chunk.FB7XCQPI.js +0 -1
  1155. package/dist/chunks/chunk.FC7OUKJM.js +0 -1
  1156. package/dist/chunks/chunk.FCBH4XA6.js +0 -20
  1157. package/dist/chunks/chunk.FDOGNNGJ.js +0 -1
  1158. package/dist/chunks/chunk.FJYHLRCI.js +0 -1
  1159. package/dist/chunks/chunk.FKPKXR4K.js +0 -1
  1160. package/dist/chunks/chunk.FQUY53QY.js +0 -1
  1161. package/dist/chunks/chunk.FR7BDEKN.js +0 -1
  1162. package/dist/chunks/chunk.FVAIGJMJ.js +0 -1
  1163. package/dist/chunks/chunk.G3QY2X2J.js +0 -1
  1164. package/dist/chunks/chunk.GCRALU2G.js +0 -30
  1165. package/dist/chunks/chunk.GJA52HAR.js +0 -1
  1166. package/dist/chunks/chunk.GJBPFJ2K.js +0 -1
  1167. package/dist/chunks/chunk.GVJLQQRL.js +0 -55
  1168. package/dist/chunks/chunk.H5C34R7T.js +0 -1
  1169. package/dist/chunks/chunk.H633XPHC.js +0 -1
  1170. package/dist/chunks/chunk.HIK6ESFZ.js +0 -1
  1171. package/dist/chunks/chunk.HVOJ5I2Q.js +0 -1
  1172. package/dist/chunks/chunk.I3MPRNEW.js +0 -1
  1173. package/dist/chunks/chunk.IIFFGPR4.js +0 -1
  1174. package/dist/chunks/chunk.IQHS4SSB.js +0 -22
  1175. package/dist/chunks/chunk.IRXHB5LN.js +0 -1
  1176. package/dist/chunks/chunk.IUTF6RLJ.js +0 -1
  1177. package/dist/chunks/chunk.J4OEX4V7.js +0 -1
  1178. package/dist/chunks/chunk.J54CLY55.js +0 -176
  1179. package/dist/chunks/chunk.JJ2RKYZX.js +0 -1
  1180. package/dist/chunks/chunk.JKHYEFZ7.js +0 -67
  1181. package/dist/chunks/chunk.JLLYBW5K.js +0 -1
  1182. package/dist/chunks/chunk.JNEOJDFH.js +0 -1
  1183. package/dist/chunks/chunk.JNGVL46L.js +0 -1
  1184. package/dist/chunks/chunk.JPRQO25T.js +0 -1
  1185. package/dist/chunks/chunk.JYCCPLLK.js +0 -1
  1186. package/dist/chunks/chunk.KTR74BUH.js +0 -9
  1187. package/dist/chunks/chunk.KX3QK6AG.js +0 -1
  1188. package/dist/chunks/chunk.LAV7B5HQ.js +0 -75
  1189. package/dist/chunks/chunk.LCVY7UI3.js +0 -1
  1190. package/dist/chunks/chunk.LFSREVFB.js +0 -1
  1191. package/dist/chunks/chunk.LIL2OD6B.js +0 -1
  1192. package/dist/chunks/chunk.LK4BRRBC.js +0 -1
  1193. package/dist/chunks/chunk.LMSZJF64.js +0 -1
  1194. package/dist/chunks/chunk.LNU5A3P4.js +0 -1
  1195. package/dist/chunks/chunk.LX4TKJE4.js +0 -1
  1196. package/dist/chunks/chunk.MCGELDAA.js +0 -300
  1197. package/dist/chunks/chunk.MITQ2OXL.js +0 -1
  1198. package/dist/chunks/chunk.MJR76YOH.js +0 -1
  1199. package/dist/chunks/chunk.MLKC2NGO.js +0 -23
  1200. package/dist/chunks/chunk.MPNC775E.js +0 -1
  1201. package/dist/chunks/chunk.MWFVVSXA.js +0 -41
  1202. package/dist/chunks/chunk.NLRMSHFU.js +0 -26
  1203. package/dist/chunks/chunk.NOEBPPRY.js +0 -1
  1204. package/dist/chunks/chunk.NOZEVQR4.js +0 -1
  1205. package/dist/chunks/chunk.NX7IFT72.js +0 -1
  1206. package/dist/chunks/chunk.OGDWQJZD.js +0 -280
  1207. package/dist/chunks/chunk.OIJKFVKH.js +0 -80
  1208. package/dist/chunks/chunk.OPCENTDH.js +0 -1
  1209. package/dist/chunks/chunk.OVJTQS3R.js +0 -1
  1210. package/dist/chunks/chunk.OY3LFRUC.js +0 -1
  1211. package/dist/chunks/chunk.P34GHQPV.js +0 -299
  1212. package/dist/chunks/chunk.P4DO532S.js +0 -1
  1213. package/dist/chunks/chunk.P4MGQ55S.js +0 -1
  1214. package/dist/chunks/chunk.P6F4F5QD.js +0 -1
  1215. package/dist/chunks/chunk.P6ZQBWYA.js +0 -498
  1216. package/dist/chunks/chunk.PJ6I3F64.js +0 -1
  1217. package/dist/chunks/chunk.PKDR4N72.js +0 -1
  1218. package/dist/chunks/chunk.PNDOGBBH.js +0 -35
  1219. package/dist/chunks/chunk.PPMANAS7.js +0 -25
  1220. package/dist/chunks/chunk.PSO4FXBN.js +0 -1
  1221. package/dist/chunks/chunk.PURJ6A7V.js +0 -12
  1222. package/dist/chunks/chunk.PXBLOJC2.js +0 -26
  1223. package/dist/chunks/chunk.Q2WAGLNI.js +0 -1
  1224. package/dist/chunks/chunk.Q4KUQYWO.js +0 -1
  1225. package/dist/chunks/chunk.QDDRKEFK.js +0 -1
  1226. package/dist/chunks/chunk.QGIQ5722.js +0 -1
  1227. package/dist/chunks/chunk.QIRR5SHU.js +0 -1
  1228. package/dist/chunks/chunk.QX7ATWZI.js +0 -1
  1229. package/dist/chunks/chunk.QYVIUHVB.js +0 -38
  1230. package/dist/chunks/chunk.R5W2QDX7.js +0 -1
  1231. package/dist/chunks/chunk.RAHGHMXI.js +0 -1
  1232. package/dist/chunks/chunk.RDYM773Z.js +0 -1
  1233. package/dist/chunks/chunk.RK2WIN35.js +0 -1
  1234. package/dist/chunks/chunk.ROUAWWLV.js +0 -1
  1235. package/dist/chunks/chunk.RVOEFT5U.js +0 -1
  1236. package/dist/chunks/chunk.RZU3COUL.js +0 -1
  1237. package/dist/chunks/chunk.S3AX4H3V.js +0 -64
  1238. package/dist/chunks/chunk.S5DZSTMC.js +0 -1
  1239. package/dist/chunks/chunk.S5QAVZ6U.js +0 -17
  1240. package/dist/chunks/chunk.S6VRSSO6.js +0 -1
  1241. package/dist/chunks/chunk.SD6CXJRC.js +0 -2
  1242. package/dist/chunks/chunk.SHFZMIFP.js +0 -39
  1243. package/dist/chunks/chunk.SJ53VOP3.js +0 -1
  1244. package/dist/chunks/chunk.SMIYI4II.js +0 -5
  1245. package/dist/chunks/chunk.SMKE3JC5.js +0 -74
  1246. package/dist/chunks/chunk.SPXXTRWH.js +0 -1
  1247. package/dist/chunks/chunk.SXS6TOEP.js +0 -1
  1248. package/dist/chunks/chunk.T2YVRM7D.js +0 -1
  1249. package/dist/chunks/chunk.TAOFCQZQ.js +0 -1
  1250. package/dist/chunks/chunk.TFVXGDQM.js +0 -37
  1251. package/dist/chunks/chunk.TKVQOZQV.js +0 -1
  1252. package/dist/chunks/chunk.TLSNSBFZ.js +0 -1
  1253. package/dist/chunks/chunk.TQPOCOGE.js +0 -62
  1254. package/dist/chunks/chunk.UL54RDR4.js +0 -1
  1255. package/dist/chunks/chunk.UNHHJHFU.js +0 -1
  1256. package/dist/chunks/chunk.UQN3GWLF.js +0 -1
  1257. package/dist/chunks/chunk.UWTZQQSB.js +0 -1
  1258. package/dist/chunks/chunk.V36IF7ZI.js +0 -1
  1259. package/dist/chunks/chunk.V6SKIMFL.js +0 -43
  1260. package/dist/chunks/chunk.VB25KRVB.js +0 -1
  1261. package/dist/chunks/chunk.VMJ66H2K.js +0 -55
  1262. package/dist/chunks/chunk.VVGU3MRZ.js +0 -61
  1263. package/dist/chunks/chunk.WGDASVED.js +0 -1
  1264. package/dist/chunks/chunk.WSQAOKNW.js +0 -572
  1265. package/dist/chunks/chunk.WTWPPELF.js +0 -1
  1266. package/dist/chunks/chunk.WUVKUAFQ.js +0 -1
  1267. package/dist/chunks/chunk.WXPNSREU.js +0 -55
  1268. package/dist/chunks/chunk.WZMBYYJZ.js +0 -1
  1269. package/dist/chunks/chunk.X35TMCUS.js +0 -4
  1270. package/dist/chunks/chunk.X4FGTGNS.js +0 -33
  1271. package/dist/chunks/chunk.XB2SWVUB.js +0 -1
  1272. package/dist/chunks/chunk.XM6WREG5.js +0 -1
  1273. package/dist/chunks/chunk.XUX7B3MY.js +0 -113
  1274. package/dist/chunks/chunk.XV2F2D73.js +0 -780
  1275. package/dist/chunks/chunk.XXD4ILGD.js +0 -1
  1276. package/dist/chunks/chunk.XYAXUANC.js +0 -1
  1277. package/dist/chunks/chunk.Y6VOJNJH.js +0 -441
  1278. package/dist/chunks/chunk.YASIML6Z.js +0 -5
  1279. package/dist/chunks/chunk.YKXFFCAA.js +0 -65
  1280. package/dist/chunks/chunk.YYECXERO.js +0 -1
  1281. package/dist/chunks/chunk.ZBOS3NT4.js +0 -1
  1282. package/dist/chunks/chunk.ZE3GRFIA.js +0 -16
  1283. package/dist/chunks/chunk.ZH2NCLUA.js +0 -100
  1284. package/dist/chunks/chunk.ZH45GJVZ.js +0 -1
  1285. package/dist/chunks/chunk.ZNF2N7SP.js +0 -1
  1286. package/dist/chunks/chunk.ZNJUJR6V.js +0 -99
  1287. package/dist/chunks/chunk.ZR77WP3G.js +0 -1
  1288. package/dist/chunks/chunk.ZVIT7ATK.js +0 -1
  1289. package/dist/chunks/chunk.ZZTRPSS7.js +0 -1
  1290. package/dist/terra_ui_components-0.0.198-py3-none-any.whl +0 -0
  1291. package/dist/terra_ui_components-0.0.198.tar.gz +0 -0
@@ -1,2546 +0,0 @@
1
- import {
2
- date_picker_styles_default
3
- } from "./chunk.MQZHN2NY.js";
4
- import {
5
- TerraInput
6
- } from "./chunk.LWN6Z2MT.js";
7
- import {
8
- TerraDropdown
9
- } from "./chunk.STHBAAN2.js";
10
- import {
11
- e as e2,
12
- n as n2
13
- } from "./chunk.LRZIT4M2.js";
14
- import {
15
- isValid
16
- } from "./chunk.S7E3FO44.js";
17
- import {
18
- TerraButton
19
- } from "./chunk.FQDDBEJS.js";
20
- import {
21
- TerraElement,
22
- component_styles_default,
23
- e,
24
- n,
25
- r
26
- } from "./chunk.WJ6P74RX.js";
27
- import {
28
- A,
29
- b
30
- } from "./chunk.RRCYT4LP.js";
31
- import {
32
- __decorateClass,
33
- init_buffer,
34
- init_dirname,
35
- init_process
36
- } from "./chunk.ZEOVK2FE.js";
37
-
38
- // src/components/date-picker/date-picker.component.ts
39
- init_dirname();
40
- init_buffer();
41
- init_process();
42
- var TerraDatePicker = class extends TerraElement {
43
- constructor() {
44
- super();
45
- this.range = false;
46
- this.hideLabel = false;
47
- this.label = "Select Date";
48
- this.helpText = "";
49
- this.startHelpText = "";
50
- this.endHelpText = "";
51
- this.showPresets = false;
52
- this.presets = [];
53
- this.enableTime = false;
54
- this.inline = false;
55
- this.splitInputs = false;
56
- this.placeholder = "Select Date";
57
- this.startPlaceholder = "Start Date";
58
- this.endPlaceholder = "End Date";
59
- this.role = "group";
60
- this.ariaLabel = "Date picker";
61
- this.hideClearAll = false;
62
- this.clearAllLabel = "Clear Dates";
63
- this.useEndOfDay = true;
64
- this.showClose = false;
65
- this.twelveHour = false;
66
- this.isOpen = false;
67
- this.leftMonth = /* @__PURE__ */ new Date();
68
- this.rightMonth = /* @__PURE__ */ new Date();
69
- this.selectedStart = null;
70
- this.selectedEnd = null;
71
- this.hoverDate = null;
72
- this.isSelectingRange = false;
73
- this.showLeftMonthDropdown = false;
74
- this.showRightMonthDropdown = false;
75
- this.startHour = 0;
76
- this.startMinute = 0;
77
- this.startSecond = 0;
78
- this.endHour = 23;
79
- this.endMinute = 59;
80
- this.endSecond = 59;
81
- this.selectedDates = {
82
- startDate: (/* @__PURE__ */ new Date()).toString(),
83
- endDate: (/* @__PURE__ */ new Date()).toString()
84
- };
85
- this.dropdownRef = e2();
86
- this.DAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
87
- this.MONTHS = [
88
- "January",
89
- "February",
90
- "March",
91
- "April",
92
- "May",
93
- "June",
94
- "July",
95
- "August",
96
- "September",
97
- "October",
98
- "November",
99
- "December"
100
- ];
101
- this.initializePresets();
102
- }
103
- getDefaultEndHour() {
104
- return this.useEndOfDay ? 23 : 0;
105
- }
106
- getDefaultEndMinute() {
107
- return this.useEndOfDay ? 59 : 0;
108
- }
109
- getDefaultEndSecond() {
110
- return this.useEndOfDay ? 59 : 0;
111
- }
112
- /**
113
- * Get the display timezone offset in minutes relative to UTC for a given reference date.
114
- * Returns a positive value for timezones ahead of UTC (e.g. Asia/Kolkata = +330),
115
- * and a negative value for timezones behind UTC (e.g. America/New_York EST = -300).
116
- * Returns 0 if no timezone is configured or if the identifier is invalid.
117
- */
118
- getTimezoneOffsetMinutes(ref) {
119
- if (!this.timezone)
120
- return 0;
121
- try {
122
- const fmt = new Intl.DateTimeFormat("en-US", {
123
- timeZone: this.timezone,
124
- year: "numeric",
125
- month: "numeric",
126
- day: "numeric",
127
- hour: "numeric",
128
- minute: "numeric",
129
- second: "numeric",
130
- hour12: false
131
- });
132
- const parts = fmt.formatToParts(ref);
133
- const get = (type) => {
134
- var _a, _b;
135
- return parseInt((_b = (_a = parts.find((p) => p.type === type)) == null ? void 0 : _a.value) != null ? _b : "0", 10);
136
- };
137
- const tzYear = get("year");
138
- const tzMonth = get("month");
139
- const tzDay = get("day");
140
- const tzHour = get("hour") % 24;
141
- const tzMinute = get("minute");
142
- const tzSecond = get("second");
143
- const tzAsIfUtc = Date.UTC(
144
- tzYear,
145
- tzMonth - 1,
146
- tzDay,
147
- tzHour,
148
- tzMinute,
149
- tzSecond
150
- );
151
- return Math.round((tzAsIfUtc - ref.getTime()) / 6e4);
152
- } catch (e3) {
153
- return 0;
154
- }
155
- }
156
- /**
157
- * Convert UTC time components to display time in the configured timezone.
158
- * When no timezone is set, returns the input values unchanged.
159
- */
160
- getDisplayTimeComponents(utcH, utcM, utcS, ref) {
161
- if (!this.timezone || !ref)
162
- return { hour: utcH, minute: utcM, second: utcS };
163
- const offsetMinutes = this.getTimezoneOffsetMinutes(ref);
164
- let totalMinutes = utcH * 60 + utcM + offsetMinutes;
165
- totalMinutes = (totalMinutes % 1440 + 1440) % 1440;
166
- return {
167
- hour: Math.floor(totalMinutes / 60),
168
- minute: totalMinutes % 60,
169
- second: utcS
170
- };
171
- }
172
- /**
173
- * Convert display time (in the configured timezone) back to UTC time components.
174
- * When no timezone is set, returns the input values unchanged.
175
- */
176
- getUtcTimeFromDisplay(dispH, dispM, dispS, ref) {
177
- if (!this.timezone || !ref)
178
- return { hour: dispH, minute: dispM, second: dispS };
179
- const offsetMinutes = this.getTimezoneOffsetMinutes(ref);
180
- let totalMinutes = dispH * 60 + dispM - offsetMinutes;
181
- totalMinutes = (totalMinutes % 1440 + 1440) % 1440;
182
- return {
183
- hour: Math.floor(totalMinutes / 60),
184
- minute: totalMinutes % 60,
185
- second: dispS
186
- };
187
- }
188
- /** Convert a 24-hour value to 12-hour with AM/PM period. */
189
- to12Hour(hour24) {
190
- const period = hour24 < 12 ? "AM" : "PM";
191
- const hour = hour24 % 12 || 12;
192
- return { hour, period };
193
- }
194
- /** Convert a 12-hour value with AM/PM period to 24-hour. */
195
- to24Hour(hour12, period) {
196
- if (period === "AM") {
197
- return hour12 === 12 ? 0 : hour12;
198
- } else {
199
- return hour12 === 12 ? 12 : hour12 + 12;
200
- }
201
- }
202
- /** Toggle the AM/PM period for the start or end time picker. */
203
- togglePeriod(isStart) {
204
- const utcH = isStart ? this.startHour : this.endHour;
205
- const utcM = isStart ? this.startMinute : this.endMinute;
206
- const utcS = isStart ? this.startSecond : this.endSecond;
207
- const ref = isStart ? this.selectedStart : this.selectedEnd;
208
- const display = this.getDisplayTimeComponents(utcH, utcM, utcS, ref);
209
- const d12 = this.to12Hour(display.hour);
210
- const newPeriod = d12.period === "AM" ? "PM" : "AM";
211
- const newDisplayH = this.to24Hour(d12.hour, newPeriod);
212
- const utc = this.getUtcTimeFromDisplay(
213
- newDisplayH,
214
- display.minute,
215
- display.second,
216
- ref
217
- );
218
- if (isStart) {
219
- this.startHour = utc.hour;
220
- this.startMinute = utc.minute;
221
- this.startSecond = utc.second;
222
- } else {
223
- this.endHour = utc.hour;
224
- this.endMinute = utc.minute;
225
- this.endSecond = utc.second;
226
- }
227
- this.emitChange();
228
- this.requestUpdate();
229
- }
230
- /**
231
- * Parse a date string (YYYY-MM-DD or ISO datetime) as a local date, avoiding timezone issues.
232
- * When you do `new Date("2024-03-20")`, JavaScript interprets it as UTC midnight,
233
- * which can cause off-by-one day errors when using getDate() in local timezone.
234
- * This function parses the date as a local date instead.
235
- *
236
- * When enableTime is true, datetime strings are parsed as UTC to match API min/max dates.
237
- */
238
- parseLocalDate(dateString) {
239
- const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
240
- if (dateOnlyPattern.test(dateString)) {
241
- const [year, month, day] = dateString.split("-").map(Number);
242
- if (this.enableTime) {
243
- return new Date(Date.UTC(year, month - 1, day, 0, 0, 0));
244
- }
245
- return new Date(year, month - 1, day);
246
- }
247
- const dateTimePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/;
248
- if (dateTimePattern.test(dateString)) {
249
- const [datePart, timePart] = dateString.split("T");
250
- const [year, month, day] = datePart.split("-").map(Number);
251
- const [hours, minutes, seconds] = timePart.split(":").map(Number);
252
- return new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
253
- }
254
- return new Date(dateString);
255
- }
256
- /**
257
- * Check if two dates are in the same calendar month and year
258
- */
259
- isSameMonth(date1, date2) {
260
- if (this.enableTime) {
261
- return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth();
262
- }
263
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth();
264
- }
265
- /**
266
- * Check if a date's month/year matches a given month Date
267
- */
268
- isDateInMonth(date, monthDate) {
269
- if (this.enableTime) {
270
- return date.getUTCFullYear() === monthDate.getUTCFullYear() && date.getUTCMonth() === monthDate.getUTCMonth();
271
- }
272
- return date.getFullYear() === monthDate.getFullYear() && date.getMonth() === monthDate.getMonth();
273
- }
274
- getBounds() {
275
- const min = this.minDate ? this.parseLocalDate(this.minDate) : void 0;
276
- const max = this.maxDate ? this.parseLocalDate(this.maxDate) : void 0;
277
- return { min, max };
278
- }
279
- doesRangeOverlapBounds(range) {
280
- const { startDate, endDate } = range;
281
- const { min, max } = this.getBounds();
282
- if (!this.range) {
283
- if (!startDate)
284
- return false;
285
- if (min && startDate < min)
286
- return false;
287
- if (max && startDate > max)
288
- return false;
289
- return true;
290
- }
291
- const start = startDate != null ? startDate : /* @__PURE__ */ new Date(-864e13);
292
- const end = endDate != null ? endDate : /* @__PURE__ */ new Date(864e13);
293
- if (!min && !max)
294
- return true;
295
- const windowStart = min != null ? min : /* @__PURE__ */ new Date(-864e13);
296
- const windowEnd = max != null ? max : /* @__PURE__ */ new Date(864e13);
297
- return end >= windowStart && start <= windowEnd;
298
- }
299
- isPresetWithinBounds(range) {
300
- return this.doesRangeOverlapBounds(range);
301
- }
302
- get filteredPresets() {
303
- return (this.presets || []).filter(
304
- (preset) => this.isPresetWithinBounds(preset.getValue())
305
- );
306
- }
307
- open() {
308
- this.isOpen = true;
309
- if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
310
- const max = this.parseLocalDate(this.maxDate);
311
- if (!isNaN(max.getTime())) {
312
- if (this.range) {
313
- this.rightMonth = new Date(max);
314
- const left = new Date(max);
315
- left.setMonth(left.getMonth() - 1);
316
- this.leftMonth = left;
317
- } else {
318
- this.leftMonth = new Date(max);
319
- }
320
- }
321
- }
322
- if (!this.inline && this.dropdownRef.value) {
323
- this.dropdownRef.value.show();
324
- }
325
- this.requestUpdate();
326
- }
327
- close() {
328
- this.isOpen = false;
329
- if (!this.inline && this.dropdownRef.value) {
330
- this.dropdownRef.value.hide();
331
- }
332
- this.requestUpdate();
333
- }
334
- /**
335
- * Clears the selected date(s) and resets the date picker to its initial state.
336
- */
337
- clear() {
338
- this.selectedStart = null;
339
- this.selectedEnd = null;
340
- this.hoverDate = null;
341
- this.isSelectingRange = false;
342
- this.startHour = 0;
343
- this.startMinute = 0;
344
- this.startSecond = 0;
345
- this.endHour = this.getDefaultEndHour();
346
- this.endMinute = this.getDefaultEndMinute();
347
- this.endSecond = this.getDefaultEndSecond();
348
- this.clearInputValidation();
349
- this.requestUpdate();
350
- this.emitChange();
351
- }
352
- setOpen(open) {
353
- if (open) {
354
- this.open();
355
- } else {
356
- this.close();
357
- }
358
- }
359
- willUpdate(changedProperties) {
360
- super.willUpdate(changedProperties);
361
- if (changedProperties.has("useEndOfDay")) {
362
- this.endHour = this.getDefaultEndHour();
363
- this.endMinute = this.getDefaultEndMinute();
364
- this.endSecond = this.getDefaultEndSecond();
365
- }
366
- if (changedProperties.has("inline")) {
367
- if (this.inline) {
368
- this.isOpen = true;
369
- if (this.dropdownRef.value) {
370
- this.dropdownRef.value.hide();
371
- }
372
- }
373
- }
374
- if (changedProperties.has("minDate") || changedProperties.has("maxDate")) {
375
- if (this.maxDate && !this.selectedStart && !this.selectedEnd) {
376
- const max = this.parseLocalDate(this.maxDate);
377
- if (!isNaN(max.getTime())) {
378
- if (this.range) {
379
- this.rightMonth = new Date(max);
380
- const left = new Date(max);
381
- left.setMonth(left.getMonth() - 1);
382
- this.leftMonth = left;
383
- } else {
384
- this.leftMonth = new Date(max);
385
- }
386
- }
387
- }
388
- }
389
- if (changedProperties.has("startDate") || changedProperties.has("endDate")) {
390
- if (this.startDate) {
391
- const start = this.parseLocalDate(this.startDate);
392
- if (!isNaN(start.getTime())) {
393
- this.selectedStart = start;
394
- if (this.enableTime) {
395
- this.initializeTimeFromDate(start, true);
396
- }
397
- }
398
- } else {
399
- this.selectedStart = null;
400
- }
401
- if (this.range) {
402
- if (this.endDate) {
403
- const end = this.parseLocalDate(this.endDate);
404
- if (!isNaN(end.getTime())) {
405
- this.selectedEnd = end;
406
- if (this.enableTime) {
407
- this.initializeTimeFromDate(end, false);
408
- }
409
- }
410
- } else {
411
- this.selectedEnd = null;
412
- }
413
- if (this.selectedStart && this.selectedEnd) {
414
- const isSingleMonthRange = this.isSameMonth(
415
- this.selectedStart,
416
- this.selectedEnd
417
- );
418
- if (isSingleMonthRange) {
419
- if (this.isDateInMonth(this.selectedStart, this.leftMonth)) {
420
- this.leftMonth = new Date(this.selectedStart);
421
- if (this.isDateInMonth(
422
- this.selectedStart,
423
- this.rightMonth
424
- )) {
425
- this.rightMonth = new Date(this.selectedStart);
426
- this.rightMonth.setMonth(
427
- this.rightMonth.getMonth() + 1
428
- );
429
- }
430
- } else if (this.isDateInMonth(this.selectedStart, this.rightMonth)) {
431
- this.rightMonth = new Date(this.selectedStart);
432
- } else {
433
- this.leftMonth = new Date(this.selectedStart);
434
- }
435
- } else {
436
- this.leftMonth = new Date(this.selectedStart);
437
- this.rightMonth = new Date(this.selectedEnd);
438
- }
439
- } else if (this.selectedStart) {
440
- this.leftMonth = new Date(this.selectedStart);
441
- this.rightMonth = new Date(this.leftMonth);
442
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
443
- }
444
- } else {
445
- if (this.selectedStart) {
446
- this.leftMonth = new Date(this.selectedStart);
447
- }
448
- this.selectedEnd = null;
449
- }
450
- }
451
- }
452
- initializePresets() {
453
- if (this.presets.length === 0) {
454
- this.presets = [
455
- {
456
- label: "Today",
457
- getValue: () => {
458
- const today = /* @__PURE__ */ new Date();
459
- return {
460
- startDate: today,
461
- endDate: this.range ? today : null
462
- };
463
- }
464
- },
465
- {
466
- label: "Yesterday",
467
- getValue: () => {
468
- const yesterday = /* @__PURE__ */ new Date();
469
- yesterday.setDate(yesterday.getDate() - 1);
470
- return {
471
- startDate: yesterday,
472
- endDate: this.range ? yesterday : null
473
- };
474
- }
475
- },
476
- {
477
- label: "Last 7 days",
478
- getValue: () => {
479
- const end = /* @__PURE__ */ new Date();
480
- const start = /* @__PURE__ */ new Date();
481
- start.setDate(start.getDate() - 6);
482
- return { startDate: start, endDate: end };
483
- }
484
- },
485
- {
486
- label: "Last 30 days",
487
- getValue: () => {
488
- const end = /* @__PURE__ */ new Date();
489
- const start = /* @__PURE__ */ new Date();
490
- start.setDate(start.getDate() - 29);
491
- return { startDate: start, endDate: end };
492
- }
493
- },
494
- {
495
- label: "Last 6 months",
496
- getValue: () => {
497
- const end = /* @__PURE__ */ new Date();
498
- const start = /* @__PURE__ */ new Date();
499
- start.setMonth(start.getMonth() - 6);
500
- return { startDate: start, endDate: end };
501
- }
502
- },
503
- {
504
- label: "Last year",
505
- getValue: () => {
506
- const end = /* @__PURE__ */ new Date();
507
- const start = /* @__PURE__ */ new Date();
508
- start.setFullYear(start.getFullYear() - 1);
509
- return { startDate: start, endDate: end };
510
- }
511
- },
512
- {
513
- label: "All time",
514
- getValue: () => {
515
- const { min, max } = this.getBounds();
516
- return {
517
- startDate: min || null,
518
- endDate: max || null
519
- };
520
- }
521
- }
522
- ];
523
- }
524
- }
525
- firstUpdated() {
526
- const params = new URLSearchParams(window.location.search);
527
- const timeStartParam = params.get("time_start") || this.startDate;
528
- const timeEndParam = params.get("time_end") || this.endDate;
529
- if (timeStartParam) {
530
- this.selectedStart = this.parseLocalDate(timeStartParam);
531
- this.leftMonth = new Date(this.selectedStart);
532
- if (this.enableTime) {
533
- this.initializeTimeFromDate(this.selectedStart, true);
534
- }
535
- }
536
- if (this.range && timeEndParam) {
537
- this.selectedEnd = this.parseLocalDate(timeEndParam);
538
- if (this.enableTime) {
539
- this.initializeTimeFromDate(this.selectedEnd, false);
540
- }
541
- if (this.selectedStart && this.selectedEnd) {
542
- const isSingleMonthRange = this.isSameMonth(
543
- this.selectedStart,
544
- this.selectedEnd
545
- );
546
- if (isSingleMonthRange) {
547
- this.rightMonth = new Date(this.selectedStart);
548
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
549
- } else {
550
- this.rightMonth = new Date(this.selectedEnd);
551
- }
552
- } else if (this.selectedEnd) {
553
- this.rightMonth = new Date(this.selectedEnd);
554
- }
555
- }
556
- if (this.range && !timeEndParam) {
557
- this.rightMonth = new Date(this.leftMonth);
558
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
559
- }
560
- if (this.inline) {
561
- this.isOpen = true;
562
- }
563
- }
564
- disconnectedCallback() {
565
- super.disconnectedCallback();
566
- }
567
- handleDropdownShow() {
568
- this.isOpen = true;
569
- }
570
- handleDropdownHide() {
571
- this.isOpen = false;
572
- }
573
- formatDisplayDate(date, isStart = true) {
574
- if (!date)
575
- return "";
576
- const format = this.displayFormat || (this.enableTime ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
577
- if (this.enableTime) {
578
- const year2 = date.getUTCFullYear();
579
- const month2 = String(date.getUTCMonth() + 1).padStart(2, "0");
580
- const day2 = String(date.getUTCDate()).padStart(2, "0");
581
- const display = this.getDisplayTimeComponents(
582
- isStart ? this.startHour : this.endHour,
583
- isStart ? this.startMinute : this.endMinute,
584
- isStart ? this.startSecond : this.endSecond,
585
- date
586
- );
587
- if (this.twelveHour && !this.displayFormat) {
588
- const d12 = this.to12Hour(display.hour);
589
- const hours2 = String(d12.hour).padStart(2, "0");
590
- const minutes2 = String(display.minute).padStart(2, "0");
591
- const seconds2 = String(display.second).padStart(2, "0");
592
- return `${year2}-${month2}-${day2} ${hours2}:${minutes2}:${seconds2} ${d12.period}`;
593
- }
594
- const hours = String(display.hour).padStart(2, "0");
595
- const minutes = String(display.minute).padStart(2, "0");
596
- const seconds = String(display.second).padStart(2, "0");
597
- const effectiveFormat = this.displayFormat || "YYYY-MM-DD HH:mm:ss";
598
- return effectiveFormat.replace("YYYY", year2.toString()).replace("MM", month2).replace("DD", day2).replace("HH", hours).replace("mm", minutes).replace("ss", seconds);
599
- }
600
- const year = date.getFullYear();
601
- const month = String(date.getMonth() + 1).padStart(2, "0");
602
- const day = String(date.getDate()).padStart(2, "0");
603
- return format.replace("YYYY", year.toString()).replace("MM", month).replace("DD", day);
604
- }
605
- getDisplayValue() {
606
- if (this.range) {
607
- if (this.selectedStart && this.selectedEnd) {
608
- return `${this.formatDisplayDate(this.selectedStart, true)} \u2013 ${this.formatDisplayDate(this.selectedEnd, false)}`;
609
- } else if (this.selectedStart) {
610
- return this.formatDisplayDate(this.selectedStart, true);
611
- }
612
- return "";
613
- } else {
614
- return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
615
- }
616
- }
617
- getStartDateDisplayValue() {
618
- return this.selectedStart ? this.formatDisplayDate(this.selectedStart, true) : "";
619
- }
620
- getEndDateDisplayValue() {
621
- return this.selectedEnd ? this.formatDisplayDate(this.selectedEnd, false) : "";
622
- }
623
- parseAndFormatDate(dateStr) {
624
- const trimmed = dateStr.trim();
625
- if (!trimmed)
626
- return null;
627
- const dateOnlyPattern = /^\d{4}-\d{2}-\d{2}$/;
628
- const dateTimePattern = /^\d{4}-\d{2}-\d{2}[T\s]\d{1,2}:\d{2}(:\d{2})?(\s*(AM|PM))?$/i;
629
- let date;
630
- if (dateOnlyPattern.test(trimmed)) {
631
- date = this.parseLocalDate(trimmed);
632
- } else if (this.enableTime && dateTimePattern.test(trimmed)) {
633
- const amPmMatch = trimmed.match(/\s*(AM|PM)$/i);
634
- const amPm = amPmMatch ? amPmMatch[1].toUpperCase() : null;
635
- const withoutAmPm = amPm ? trimmed.slice(0, -amPmMatch[0].length).trim() : trimmed;
636
- const [datePart, timePart] = withoutAmPm.split(/[T\s]+/);
637
- const [year, month, day] = datePart.split("-").map(Number);
638
- const timeComponents = timePart.split(":").map(Number);
639
- let hours = timeComponents[0] || 0;
640
- const minutes = timeComponents[1] || 0;
641
- const seconds = timeComponents[2] || 0;
642
- if (amPm) {
643
- hours = this.to24Hour(hours, amPm);
644
- }
645
- date = new Date(Date.UTC(year, month - 1, day, hours, minutes, seconds));
646
- } else {
647
- date = new Date(trimmed);
648
- if (!isValid(date)) {
649
- return null;
650
- }
651
- }
652
- if (!isValid(date)) {
653
- return null;
654
- }
655
- if (this.enableTime) {
656
- if (dateOnlyPattern.test(trimmed)) {
657
- return trimmed;
658
- } else {
659
- const utcYear = date.getUTCFullYear();
660
- const utcMonth = date.getUTCMonth() + 1;
661
- const utcDay = date.getUTCDate();
662
- const utcHours = date.getUTCHours();
663
- const utcMinutes = date.getUTCMinutes();
664
- const utcSeconds = date.getUTCSeconds();
665
- return `${utcYear}-${String(utcMonth).padStart(2, "0")}-${String(utcDay).padStart(2, "0")} ${String(utcHours).padStart(2, "0")}:${String(utcMinutes).padStart(2, "0")}:${String(utcSeconds).padStart(2, "0")}`;
666
- }
667
- } else {
668
- const year = date.getFullYear();
669
- const month = date.getMonth() + 1;
670
- const day = date.getDate();
671
- return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
672
- }
673
- }
674
- clearInputValidation() {
675
- const inputs = this.renderRoot.querySelectorAll("terra-input");
676
- inputs.forEach((input) => {
677
- input.setCustomValidity("");
678
- });
679
- }
680
- /**
681
- * Format a date string for display in error messages
682
- * When time is disabled, only show the date portion (YYYY-MM-DD)
683
- */
684
- formatDateForError(dateString) {
685
- if (!this.enableTime) {
686
- return dateString.split("T")[0];
687
- }
688
- return dateString;
689
- }
690
- /**
691
- * Set validation error on input and emit invalid event
692
- */
693
- setInputValidationError(input, message) {
694
- input.setCustomValidity(message);
695
- requestAnimationFrame(() => {
696
- ;
697
- input.validationErrorMessage = message;
698
- input.requestUpdate();
699
- });
700
- this.emit("terra-date-selection-invalid", {
701
- detail: { message }
702
- });
703
- }
704
- handleInputBlur(event) {
705
- const input = event.target;
706
- const value = input.value || "";
707
- if (!value.trim()) {
708
- this.selectedStart = null;
709
- this.selectedEnd = null;
710
- input.setCustomValidity("");
711
- this.emitChange();
712
- return;
713
- }
714
- if (this.range) {
715
- const normalized = value.replace(/(\d{2})-(\d{4})/, "$1 - $2");
716
- const parts = normalized.split(/\s*–\s*|\s+-\s+/);
717
- if (parts.length !== 2) {
718
- const message = "Date range must be in format: YYYY-MM-DD \u2013 YYYY-MM-DD";
719
- this.setInputValidationError(input, message);
720
- return;
721
- }
722
- const startFormatted = this.parseAndFormatDate(parts[0]);
723
- const endFormatted = this.parseAndFormatDate(parts[1]);
724
- if (!startFormatted) {
725
- const message = "Invalid start date format";
726
- this.setInputValidationError(input, message);
727
- return;
728
- }
729
- if (!endFormatted) {
730
- const message = "Invalid end date format";
731
- this.setInputValidationError(input, message);
732
- return;
733
- }
734
- let start;
735
- let end;
736
- if (this.enableTime && startFormatted.length > 10) {
737
- const [sdp, stp] = startFormatted.split(/[T\s]+/);
738
- const [sy, sm, sd] = sdp.split("-").map(Number);
739
- const stc = stp.split(":").map(Number);
740
- const sRefDate = new Date(Date.UTC(sy, sm - 1, sd));
741
- const sUtc = this.getUtcTimeFromDisplay(
742
- stc[0] || 0,
743
- stc[1] || 0,
744
- stc[2] || 0,
745
- sRefDate
746
- );
747
- start = new Date(
748
- Date.UTC(sy, sm - 1, sd, sUtc.hour, sUtc.minute, sUtc.second)
749
- );
750
- this.startHour = sUtc.hour;
751
- this.startMinute = sUtc.minute;
752
- this.startSecond = sUtc.second;
753
- } else if (this.enableTime) {
754
- const [year, month, day] = startFormatted.split("-").map(Number);
755
- start = new Date(
756
- Date.UTC(
757
- year,
758
- month - 1,
759
- day,
760
- this.startHour,
761
- this.startMinute,
762
- this.startSecond
763
- )
764
- );
765
- } else {
766
- start = this.parseLocalDate(startFormatted);
767
- }
768
- if (this.enableTime && endFormatted.length > 10) {
769
- const [edp, etp] = endFormatted.split(/[T\s]+/);
770
- const [ey, em, ed] = edp.split("-").map(Number);
771
- const etc = etp.split(":").map(Number);
772
- const eRefDate = new Date(Date.UTC(ey, em - 1, ed));
773
- const eUtc = this.getUtcTimeFromDisplay(
774
- etc[0] || 0,
775
- etc[1] || 0,
776
- etc[2] || 0,
777
- eRefDate
778
- );
779
- end = new Date(
780
- Date.UTC(ey, em - 1, ed, eUtc.hour, eUtc.minute, eUtc.second)
781
- );
782
- this.endHour = eUtc.hour;
783
- this.endMinute = eUtc.minute;
784
- this.endSecond = eUtc.second;
785
- } else if (this.enableTime) {
786
- const [year, month, day] = endFormatted.split("-").map(Number);
787
- end = new Date(
788
- Date.UTC(
789
- year,
790
- month - 1,
791
- day,
792
- this.endHour,
793
- this.endMinute,
794
- this.endSecond
795
- )
796
- );
797
- } else {
798
- end = this.parseLocalDate(endFormatted);
799
- }
800
- let finalStart = start;
801
- let finalEnd = end;
802
- if (start > end) {
803
- finalStart = end;
804
- finalEnd = start;
805
- }
806
- if (this.minDate) {
807
- const min = this.parseLocalDate(this.minDate);
808
- if (finalStart < min) {
809
- const message = `Start date must be on or after ${this.formatDateForError(this.minDate)}`;
810
- this.setInputValidationError(input, message);
811
- return;
812
- }
813
- }
814
- if (this.maxDate) {
815
- const max = this.parseLocalDate(this.maxDate);
816
- if (finalEnd > max) {
817
- const message = `End date must be on or before ${this.formatDateForError(this.maxDate)}`;
818
- this.setInputValidationError(input, message);
819
- return;
820
- }
821
- }
822
- this.selectedStart = finalStart;
823
- this.selectedEnd = finalEnd;
824
- this.updateMonthViews();
825
- input.value = `${this.formatDisplayDate(finalStart, true)} \u2013 ${this.formatDisplayDate(finalEnd, false)}`;
826
- input.setCustomValidity("");
827
- this.emitChange();
828
- } else {
829
- const formatted = this.parseAndFormatDate(value);
830
- if (!formatted) {
831
- const message = "Invalid date format";
832
- this.setInputValidationError(input, message);
833
- return;
834
- }
835
- let date;
836
- if (this.enableTime && formatted.length > 10) {
837
- const [dp, tp] = formatted.split(/[T\s]+/);
838
- const [y, mo, d] = dp.split("-").map(Number);
839
- const tc = tp.split(":").map(Number);
840
- const refDate = new Date(Date.UTC(y, mo - 1, d));
841
- const utc = this.getUtcTimeFromDisplay(
842
- tc[0] || 0,
843
- tc[1] || 0,
844
- tc[2] || 0,
845
- refDate
846
- );
847
- date = new Date(
848
- Date.UTC(y, mo - 1, d, utc.hour, utc.minute, utc.second)
849
- );
850
- this.startHour = utc.hour;
851
- this.startMinute = utc.minute;
852
- this.startSecond = utc.second;
853
- } else if (this.enableTime) {
854
- const [year, month, day] = formatted.split("-").map(Number);
855
- date = new Date(
856
- Date.UTC(
857
- year,
858
- month - 1,
859
- day,
860
- this.startHour,
861
- this.startMinute,
862
- this.startSecond
863
- )
864
- );
865
- } else {
866
- date = this.parseLocalDate(formatted);
867
- }
868
- if (this.minDate) {
869
- const min = this.parseLocalDate(this.minDate);
870
- if (date < min) {
871
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
872
- this.setInputValidationError(input, message);
873
- return;
874
- }
875
- }
876
- if (this.maxDate) {
877
- const max = this.parseLocalDate(this.maxDate);
878
- if (date > max) {
879
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
880
- this.setInputValidationError(input, message);
881
- return;
882
- }
883
- }
884
- this.selectedStart = date;
885
- this.selectedEnd = null;
886
- this.updateMonthViews();
887
- input.value = this.formatDisplayDate(date, true);
888
- input.setCustomValidity("");
889
- this.emitChange();
890
- }
891
- }
892
- handleStartInputBlur(event) {
893
- const input = event.target;
894
- const value = input.value || "";
895
- if (!value.trim()) {
896
- this.selectedStart = null;
897
- input.setCustomValidity("");
898
- this.emitChange();
899
- return;
900
- }
901
- const formatted = this.parseAndFormatDate(value);
902
- if (!formatted) {
903
- const message = "Invalid date format";
904
- this.setInputValidationError(input, message);
905
- return;
906
- }
907
- let date;
908
- if (this.enableTime && formatted.length > 10) {
909
- const [dp, tp] = formatted.split(/[T\s]+/);
910
- const [y, mo, d] = dp.split("-").map(Number);
911
- const tc = tp.split(":").map(Number);
912
- const refDate = new Date(Date.UTC(y, mo - 1, d));
913
- const utc = this.getUtcTimeFromDisplay(
914
- tc[0] || 0,
915
- tc[1] || 0,
916
- tc[2] || 0,
917
- refDate
918
- );
919
- date = new Date(Date.UTC(y, mo - 1, d, utc.hour, utc.minute, utc.second));
920
- this.startHour = utc.hour;
921
- this.startMinute = utc.minute;
922
- this.startSecond = utc.second;
923
- } else if (this.enableTime) {
924
- const [year, month, day] = formatted.split("-").map(Number);
925
- date = new Date(
926
- Date.UTC(
927
- year,
928
- month - 1,
929
- day,
930
- this.startHour,
931
- this.startMinute,
932
- this.startSecond
933
- )
934
- );
935
- } else {
936
- date = this.parseLocalDate(formatted);
937
- }
938
- if (this.minDate) {
939
- const min = this.parseLocalDate(this.minDate);
940
- if (date < min) {
941
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
942
- this.setInputValidationError(input, message);
943
- return;
944
- }
945
- }
946
- if (this.maxDate) {
947
- const max = this.parseLocalDate(this.maxDate);
948
- if (date > max) {
949
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
950
- this.setInputValidationError(input, message);
951
- return;
952
- }
953
- }
954
- if (this.selectedEnd && date > this.selectedEnd) {
955
- const message = "Start date must be before end date";
956
- this.setInputValidationError(input, message);
957
- return;
958
- }
959
- this.selectedStart = date;
960
- this.leftMonth = new Date(date);
961
- input.value = this.formatDisplayDate(date, true);
962
- input.setCustomValidity("");
963
- this.emitChange();
964
- }
965
- handleEndInputBlur(event) {
966
- const input = event.target;
967
- const value = input.value || "";
968
- if (!value.trim()) {
969
- this.selectedEnd = null;
970
- input.setCustomValidity("");
971
- this.emitChange();
972
- return;
973
- }
974
- const formatted = this.parseAndFormatDate(value);
975
- if (!formatted) {
976
- const message = "Invalid date format";
977
- this.setInputValidationError(input, message);
978
- return;
979
- }
980
- let date;
981
- if (this.enableTime && formatted.length > 10) {
982
- const [dp, tp] = formatted.split(/[T\s]+/);
983
- const [y, mo, d] = dp.split("-").map(Number);
984
- const tc = tp.split(":").map(Number);
985
- const refDate = new Date(Date.UTC(y, mo - 1, d));
986
- const utc = this.getUtcTimeFromDisplay(
987
- tc[0] || 0,
988
- tc[1] || 0,
989
- tc[2] || 0,
990
- refDate
991
- );
992
- date = new Date(Date.UTC(y, mo - 1, d, utc.hour, utc.minute, utc.second));
993
- this.endHour = utc.hour;
994
- this.endMinute = utc.minute;
995
- this.endSecond = utc.second;
996
- } else if (this.enableTime) {
997
- const [year, month, day] = formatted.split("-").map(Number);
998
- date = new Date(
999
- Date.UTC(
1000
- year,
1001
- month - 1,
1002
- day,
1003
- this.endHour,
1004
- this.endMinute,
1005
- this.endSecond
1006
- )
1007
- );
1008
- } else {
1009
- date = this.parseLocalDate(formatted);
1010
- }
1011
- if (this.minDate) {
1012
- const min = this.parseLocalDate(this.minDate);
1013
- if (date < min) {
1014
- const message = `Date must be on or after ${this.formatDateForError(this.minDate)}`;
1015
- this.setInputValidationError(input, message);
1016
- return;
1017
- }
1018
- }
1019
- if (this.maxDate) {
1020
- const max = this.parseLocalDate(this.maxDate);
1021
- if (date > max) {
1022
- const message = `Date must be on or before ${this.formatDateForError(this.maxDate)}`;
1023
- this.setInputValidationError(input, message);
1024
- return;
1025
- }
1026
- }
1027
- if (this.selectedStart) {
1028
- if (this.enableTime && this.isSameDay(date, this.selectedStart)) {
1029
- const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1030
- const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1031
- if (endTimeSeconds < startTimeSeconds) {
1032
- const message = "End time must be after start time when dates are the same";
1033
- this.setInputValidationError(input, message);
1034
- return;
1035
- }
1036
- } else if (date < this.selectedStart) {
1037
- const message = "End date must be after start date";
1038
- this.setInputValidationError(input, message);
1039
- return;
1040
- }
1041
- }
1042
- this.selectedEnd = date;
1043
- if (this.selectedStart && this.isSameMonth(this.selectedStart, this.selectedEnd)) {
1044
- this.rightMonth = new Date(this.selectedStart);
1045
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
1046
- } else {
1047
- this.rightMonth = new Date(date);
1048
- }
1049
- input.value = this.formatDisplayDate(date, false);
1050
- input.setCustomValidity("");
1051
- this.emitChange();
1052
- }
1053
- updateMonthViews() {
1054
- if (this.selectedStart) {
1055
- this.leftMonth = new Date(this.selectedStart);
1056
- if (this.range && this.selectedEnd) {
1057
- if (this.isSameMonth(this.selectedStart, this.selectedEnd)) {
1058
- this.rightMonth = new Date(this.selectedStart);
1059
- this.rightMonth.setMonth(this.rightMonth.getMonth() + 1);
1060
- } else {
1061
- this.rightMonth = new Date(this.selectedEnd);
1062
- }
1063
- }
1064
- }
1065
- }
1066
- handleKeydown(event) {
1067
- if (event.key === " ") {
1068
- event.stopPropagation();
1069
- return;
1070
- }
1071
- if (event.key === "Enter") {
1072
- event.preventDefault();
1073
- this.handleInputBlur(event);
1074
- }
1075
- }
1076
- previousMonth(isLeft) {
1077
- if (isLeft) {
1078
- const newMonth = new Date(this.leftMonth);
1079
- newMonth.setMonth(newMonth.getMonth() - 1);
1080
- this.leftMonth = newMonth;
1081
- } else {
1082
- const newMonth = new Date(this.rightMonth);
1083
- newMonth.setMonth(newMonth.getMonth() - 1);
1084
- this.rightMonth = newMonth;
1085
- }
1086
- }
1087
- nextMonth(isLeft) {
1088
- if (isLeft) {
1089
- const newMonth = new Date(this.leftMonth);
1090
- newMonth.setMonth(newMonth.getMonth() + 1);
1091
- this.leftMonth = newMonth;
1092
- } else {
1093
- const newMonth = new Date(this.rightMonth);
1094
- newMonth.setMonth(newMonth.getMonth() + 1);
1095
- this.rightMonth = newMonth;
1096
- }
1097
- }
1098
- toggleMonthDropdown(isLeft, event) {
1099
- event.stopPropagation();
1100
- if (isLeft) {
1101
- this.showLeftMonthDropdown = !this.showLeftMonthDropdown;
1102
- this.showRightMonthDropdown = false;
1103
- } else {
1104
- this.showRightMonthDropdown = !this.showRightMonthDropdown;
1105
- this.showLeftMonthDropdown = false;
1106
- }
1107
- }
1108
- selectMonth(month, isLeft) {
1109
- if (isLeft) {
1110
- const newMonth = new Date(this.leftMonth);
1111
- newMonth.setDate(1);
1112
- newMonth.setMonth(month);
1113
- this.leftMonth = newMonth;
1114
- this.showLeftMonthDropdown = false;
1115
- } else {
1116
- const newMonth = new Date(this.rightMonth);
1117
- newMonth.setDate(1);
1118
- newMonth.setMonth(month);
1119
- this.rightMonth = newMonth;
1120
- this.showRightMonthDropdown = false;
1121
- }
1122
- }
1123
- changeYear(delta, isLeft) {
1124
- if (isLeft) {
1125
- const newMonth = new Date(this.leftMonth);
1126
- newMonth.setFullYear(newMonth.getFullYear() + delta);
1127
- this.leftMonth = newMonth;
1128
- } else {
1129
- const newMonth = new Date(this.rightMonth);
1130
- newMonth.setFullYear(newMonth.getFullYear() + delta);
1131
- this.rightMonth = newMonth;
1132
- }
1133
- }
1134
- handleYearInput(event, isLeft) {
1135
- const input = event.target;
1136
- const year = parseInt(input.value, 10);
1137
- if (!isNaN(year) && year >= 1900 && year <= 2100) {
1138
- if (isLeft) {
1139
- const newMonth = new Date(this.leftMonth);
1140
- newMonth.setFullYear(year);
1141
- this.leftMonth = newMonth;
1142
- } else {
1143
- const newMonth = new Date(this.rightMonth);
1144
- newMonth.setFullYear(year);
1145
- this.rightMonth = newMonth;
1146
- }
1147
- }
1148
- }
1149
- getDaysInMonth(date) {
1150
- const year = date.getFullYear();
1151
- const month = date.getMonth();
1152
- const createDate = (y, m, d) => {
1153
- if (this.enableTime) {
1154
- return new Date(Date.UTC(y, m, d, 0, 0, 0));
1155
- }
1156
- return new Date(y, m, d);
1157
- };
1158
- const firstDay = createDate(year, month, 1);
1159
- const lastDay = new Date(year, month + 1, 0);
1160
- const days = [];
1161
- const firstDayOfWeek = this.enableTime ? firstDay.getUTCDay() : firstDay.getDay();
1162
- for (let i = firstDayOfWeek - 1; i >= 0; i--) {
1163
- const day = createDate(year, month, -i);
1164
- days.push(day);
1165
- }
1166
- for (let i = 1; i <= lastDay.getDate(); i++) {
1167
- days.push(createDate(year, month, i));
1168
- }
1169
- const remainingDays = 7 - days.length % 7;
1170
- if (remainingDays < 7) {
1171
- for (let i = 1; i <= remainingDays; i++) {
1172
- days.push(createDate(year, month + 1, i));
1173
- }
1174
- }
1175
- return days;
1176
- }
1177
- isSameDay(date1, date2) {
1178
- if (!date1 || !date2)
1179
- return false;
1180
- if (this.enableTime) {
1181
- return date1.getUTCFullYear() === date2.getUTCFullYear() && date1.getUTCMonth() === date2.getUTCMonth() && date1.getUTCDate() === date2.getUTCDate();
1182
- }
1183
- return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
1184
- }
1185
- isInRange(date) {
1186
- if (!this.selectedStart || !this.selectedEnd)
1187
- return false;
1188
- const time = date.getTime();
1189
- return time >= this.selectedStart.getTime() && time <= this.selectedEnd.getTime();
1190
- }
1191
- isInHoverRange(date) {
1192
- if (!this.range || !this.selectedStart || !this.hoverDate || this.selectedEnd)
1193
- return false;
1194
- const time = date.getTime();
1195
- const start = Math.min(this.selectedStart.getTime(), this.hoverDate.getTime());
1196
- const end = Math.max(this.selectedStart.getTime(), this.hoverDate.getTime());
1197
- return time >= start && time <= end;
1198
- }
1199
- isDisabled(date) {
1200
- if (this.minDate) {
1201
- const min = this.parseLocalDate(this.minDate);
1202
- const minMidnight = new Date(
1203
- Date.UTC(min.getUTCFullYear(), min.getUTCMonth(), min.getUTCDate())
1204
- );
1205
- const dateMidnight = new Date(
1206
- Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1207
- );
1208
- if (dateMidnight < minMidnight)
1209
- return true;
1210
- }
1211
- if (this.maxDate) {
1212
- const max = this.parseLocalDate(this.maxDate);
1213
- const maxMidnight = new Date(
1214
- Date.UTC(max.getUTCFullYear(), max.getUTCMonth(), max.getUTCDate())
1215
- );
1216
- const dateMidnight = new Date(
1217
- Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate())
1218
- );
1219
- if (dateMidnight > maxMidnight)
1220
- return true;
1221
- }
1222
- return false;
1223
- }
1224
- selectDate(date) {
1225
- if (this.isDisabled(date)) {
1226
- this.emit("terra-date-selection-invalid", {
1227
- detail: {
1228
- message: `You are not allowed to select dates outside ${this.minDate} to ${this.maxDate}.`
1229
- }
1230
- });
1231
- return;
1232
- }
1233
- this.clearInputValidation();
1234
- if (this.range) {
1235
- if (!this.selectedStart || this.selectedEnd) {
1236
- this.selectedStart = date;
1237
- this.selectedEnd = null;
1238
- this.isSelectingRange = true;
1239
- } else {
1240
- if (date < this.selectedStart) {
1241
- this.selectedEnd = this.selectedStart;
1242
- this.selectedStart = date;
1243
- } else {
1244
- this.selectedEnd = date;
1245
- }
1246
- this.isSelectingRange = false;
1247
- if (this.enableTime && this.selectedStart && this.selectedEnd && this.isSameDay(this.selectedStart, this.selectedEnd)) {
1248
- const startTimeSeconds = this.startHour * 3600 + this.startMinute * 60 + this.startSecond;
1249
- const endTimeSeconds = this.endHour * 3600 + this.endMinute * 60 + this.endSecond;
1250
- if (endTimeSeconds < startTimeSeconds) {
1251
- this.emit("terra-date-selection-invalid", {
1252
- detail: {
1253
- message: "End time is before start time. Please adjust the time values."
1254
- }
1255
- });
1256
- }
1257
- }
1258
- this.emitChange();
1259
- if (!this.inline) {
1260
- this.isOpen = false;
1261
- }
1262
- }
1263
- } else {
1264
- this.selectedStart = date;
1265
- this.selectedEnd = null;
1266
- this.emitChange();
1267
- if (!this.inline) {
1268
- this.isOpen = false;
1269
- }
1270
- }
1271
- }
1272
- handleDateHover(date) {
1273
- if (this.range && this.selectedStart && !this.selectedEnd) {
1274
- this.hoverDate = date;
1275
- }
1276
- }
1277
- selectPreset(preset) {
1278
- const { startDate, endDate } = preset.getValue();
1279
- if (!this.isPresetWithinBounds({ startDate, endDate })) {
1280
- this.emit("terra-date-selection-invalid", {
1281
- detail: {
1282
- message: `The preset "${preset.label}" is not available within the allowed date range ${this.minDate} to ${this.maxDate}.`
1283
- }
1284
- });
1285
- return;
1286
- }
1287
- this.clearInputValidation();
1288
- const { min, max } = this.getBounds();
1289
- if (this.range) {
1290
- let s = startDate;
1291
- let e3 = endDate;
1292
- if (s && min && s < min)
1293
- s = new Date(min);
1294
- if (s && max && s > max)
1295
- s = new Date(max);
1296
- if (e3 && min && e3 < min)
1297
- e3 = new Date(min);
1298
- if (e3 && max && e3 > max)
1299
- e3 = new Date(max);
1300
- if (s && e3 && e3 < s) {
1301
- const tmp = s;
1302
- s = e3;
1303
- e3 = tmp;
1304
- }
1305
- this.selectedStart = s;
1306
- this.selectedEnd = e3;
1307
- } else {
1308
- let s = startDate;
1309
- if (s && min && s < min)
1310
- s = new Date(min);
1311
- if (s && max && s > max)
1312
- s = new Date(max);
1313
- this.selectedStart = s;
1314
- this.selectedEnd = null;
1315
- }
1316
- if (this.selectedStart) {
1317
- this.leftMonth = new Date(this.selectedStart);
1318
- if (this.range && this.selectedEnd) {
1319
- this.rightMonth = new Date(this.selectedEnd);
1320
- }
1321
- }
1322
- this.emitChange();
1323
- if (!this.range && !this.inline) {
1324
- this.isOpen = false;
1325
- }
1326
- }
1327
- emitChange() {
1328
- let startDateTime = "";
1329
- let endDateTime = "";
1330
- if (this.selectedStart) {
1331
- if (this.enableTime) {
1332
- const startDate = new Date(this.selectedStart);
1333
- startDate.setUTCHours(
1334
- this.startHour,
1335
- this.startMinute,
1336
- this.startSecond,
1337
- 0
1338
- );
1339
- startDateTime = startDate.toISOString();
1340
- } else {
1341
- const year = this.selectedStart.getFullYear();
1342
- const month = String(this.selectedStart.getMonth() + 1).padStart(
1343
- 2,
1344
- "0"
1345
- );
1346
- const day = String(this.selectedStart.getDate()).padStart(2, "0");
1347
- startDateTime = `${year}-${month}-${day}`;
1348
- }
1349
- }
1350
- if (this.selectedEnd) {
1351
- if (this.enableTime) {
1352
- const endDate = new Date(this.selectedEnd);
1353
- endDate.setUTCHours(this.endHour, this.endMinute, this.endSecond, 0);
1354
- endDateTime = endDate.toISOString();
1355
- } else {
1356
- const year = this.selectedEnd.getFullYear();
1357
- const month = String(this.selectedEnd.getMonth() + 1).padStart(2, "0");
1358
- const day = String(this.selectedEnd.getDate()).padStart(2, "0");
1359
- endDateTime = `${year}-${month}-${day}`;
1360
- }
1361
- }
1362
- this.emit("terra-date-range-change", {
1363
- detail: {
1364
- startDate: startDateTime,
1365
- endDate: endDateTime
1366
- }
1367
- });
1368
- }
1369
- initializeTimeFromDate(date, isStart) {
1370
- const hours = date.getUTCHours();
1371
- const minutes = date.getUTCMinutes();
1372
- const seconds = date.getUTCSeconds();
1373
- if (isStart) {
1374
- this.startHour = hours;
1375
- this.startMinute = minutes;
1376
- this.startSecond = seconds;
1377
- } else {
1378
- this.endHour = hours;
1379
- this.endMinute = minutes;
1380
- this.endSecond = seconds;
1381
- }
1382
- }
1383
- changeTime(type, delta, isStart) {
1384
- const utcH = isStart ? this.startHour : this.endHour;
1385
- const utcM = isStart ? this.startMinute : this.endMinute;
1386
- const utcS = isStart ? this.startSecond : this.endSecond;
1387
- const ref = isStart ? this.selectedStart : this.selectedEnd;
1388
- const display = this.getDisplayTimeComponents(utcH, utcM, utcS, ref);
1389
- let newDisplayH = display.hour;
1390
- let newDisplayM = display.minute;
1391
- let newDisplayS = display.second;
1392
- if (type === "hour") {
1393
- if (this.twelveHour) {
1394
- const d12 = this.to12Hour(display.hour);
1395
- const newHour12 = ((d12.hour - 1 + delta) % 12 + 12) % 12 + 1;
1396
- newDisplayH = this.to24Hour(newHour12, d12.period);
1397
- } else {
1398
- newDisplayH = ((display.hour + delta) % 24 + 24) % 24;
1399
- }
1400
- } else if (type === "minute") {
1401
- newDisplayM = ((display.minute + delta) % 60 + 60) % 60;
1402
- } else {
1403
- newDisplayS = ((display.second + delta) % 60 + 60) % 60;
1404
- }
1405
- const utc = this.getUtcTimeFromDisplay(
1406
- newDisplayH,
1407
- newDisplayM,
1408
- newDisplayS,
1409
- ref
1410
- );
1411
- if (isStart) {
1412
- this.startHour = utc.hour;
1413
- this.startMinute = utc.minute;
1414
- this.startSecond = utc.second;
1415
- } else {
1416
- this.endHour = utc.hour;
1417
- this.endMinute = utc.minute;
1418
- this.endSecond = utc.second;
1419
- }
1420
- this.emitChange();
1421
- this.requestUpdate();
1422
- }
1423
- handleTimeInput(event, type, isStart) {
1424
- const input = event.target;
1425
- const value = parseInt(input.value, 10);
1426
- const utcH = isStart ? this.startHour : this.endHour;
1427
- const utcM = isStart ? this.startMinute : this.endMinute;
1428
- const utcS = isStart ? this.startSecond : this.endSecond;
1429
- const ref = isStart ? this.selectedStart : this.selectedEnd;
1430
- const display = this.getDisplayTimeComponents(utcH, utcM, utcS, ref);
1431
- const d12 = this.twelveHour ? this.to12Hour(display.hour) : null;
1432
- let newDisplayH = display.hour;
1433
- let newDisplayM = display.minute;
1434
- let newDisplayS = display.second;
1435
- if (type === "hour") {
1436
- const min = this.twelveHour ? 1 : 0;
1437
- const max = this.twelveHour ? 12 : 23;
1438
- if (isNaN(value) || value < min || value > max) {
1439
- input.value = (d12 ? d12.hour : display.hour).toString().padStart(2, "0");
1440
- return;
1441
- }
1442
- newDisplayH = this.twelveHour ? this.to24Hour(value, d12.period) : value;
1443
- } else if (type === "minute") {
1444
- if (isNaN(value) || value < 0 || value >= 60) {
1445
- input.value = display.minute.toString().padStart(2, "0");
1446
- return;
1447
- }
1448
- newDisplayM = value;
1449
- } else {
1450
- if (isNaN(value) || value < 0 || value >= 60) {
1451
- input.value = display.second.toString().padStart(2, "0");
1452
- return;
1453
- }
1454
- newDisplayS = value;
1455
- }
1456
- const utc = this.getUtcTimeFromDisplay(
1457
- newDisplayH,
1458
- newDisplayM,
1459
- newDisplayS,
1460
- ref
1461
- );
1462
- if (isStart) {
1463
- this.startHour = utc.hour;
1464
- this.startMinute = utc.minute;
1465
- this.startSecond = utc.second;
1466
- } else {
1467
- this.endHour = utc.hour;
1468
- this.endMinute = utc.minute;
1469
- this.endSecond = utc.second;
1470
- }
1471
- this.emitChange();
1472
- this.requestUpdate();
1473
- }
1474
- renderCalendar(month, isLeft = true) {
1475
- const days = this.getDaysInMonth(month);
1476
- const currentMonth = month.getMonth();
1477
- const showDropdown = isLeft ? this.showLeftMonthDropdown : this.showRightMonthDropdown;
1478
- return b`
1479
- <div class="calendar">
1480
- <div class="calendar__header">
1481
- <button
1482
- type="button"
1483
- class="calendar__nav"
1484
- @click=${() => this.previousMonth(isLeft)}
1485
- >
1486
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1487
- <path
1488
- d="M10 12L6 8L10 4"
1489
- stroke="currentColor"
1490
- stroke-width="2"
1491
- stroke-linecap="round"
1492
- stroke-linejoin="round"
1493
- />
1494
- </svg>
1495
- </button>
1496
-
1497
- <div class="calendar__month-year">
1498
- <div class="calendar__month-dropdown-wrapper">
1499
- <button
1500
- type="button"
1501
- class="calendar__month-button"
1502
- @click=${(e3) => this.toggleMonthDropdown(isLeft, e3)}
1503
- >
1504
- ${this.MONTHS[month.getMonth()]}
1505
- <svg
1506
- width="12"
1507
- height="12"
1508
- viewBox="0 0 12 12"
1509
- fill="none"
1510
- class="calendar__month-icon"
1511
- >
1512
- <path
1513
- d="M3 5L6 8L9 5"
1514
- stroke="currentColor"
1515
- stroke-width="1.5"
1516
- stroke-linecap="round"
1517
- stroke-linejoin="round"
1518
- />
1519
- </svg>
1520
- </button>
1521
-
1522
- ${showDropdown ? b`
1523
- <div class="calendar__month-dropdown">
1524
- ${this.MONTHS.map(
1525
- (monthName, index) => b`
1526
- <button
1527
- type="button"
1528
- class="calendar__month-option ${index === month.getMonth() ? "calendar__month-option--selected" : ""}"
1529
- @click=${() => this.selectMonth(
1530
- index,
1531
- isLeft
1532
- )}
1533
- >
1534
- ${index === month.getMonth() ? b`
1535
- <svg
1536
- width="16"
1537
- height="16"
1538
- viewBox="0 0 16 16"
1539
- fill="none"
1540
- class="calendar__month-check"
1541
- >
1542
- <path
1543
- d="M13 4L6 11L3 8"
1544
- stroke="currentColor"
1545
- stroke-width="2"
1546
- stroke-linecap="round"
1547
- stroke-linejoin="round"
1548
- />
1549
- </svg>
1550
- ` : ""}
1551
- ${monthName}
1552
- </button>
1553
- `
1554
- )}
1555
- </div>
1556
- ` : ""}
1557
- </div>
1558
-
1559
- <div class="calendar__year-input-wrapper">
1560
- <input
1561
- type="number"
1562
- class="calendar__year-input"
1563
- .value=${month.getFullYear().toString()}
1564
- @input=${(e3) => this.handleYearInput(e3, isLeft)}
1565
- @blur=${(e3) => {
1566
- const input = e3.target;
1567
- input.value = month.getFullYear().toString();
1568
- }}
1569
- min="1900"
1570
- max="2100"
1571
- />
1572
- <div class="calendar__year-spinners">
1573
- <button
1574
- type="button"
1575
- class="calendar__year-spinner calendar__year-spinner--up"
1576
- @click=${() => this.changeYear(1, isLeft)}
1577
- >
1578
- <svg
1579
- width="10"
1580
- height="10"
1581
- viewBox="0 0 10 10"
1582
- fill="none"
1583
- >
1584
- <path
1585
- d="M2 6L5 3L8 6"
1586
- stroke="currentColor"
1587
- stroke-width="1.5"
1588
- stroke-linecap="round"
1589
- stroke-linejoin="round"
1590
- />
1591
- </svg>
1592
- </button>
1593
- <button
1594
- type="button"
1595
- class="calendar__year-spinner calendar__year-spinner--down"
1596
- @click=${() => this.changeYear(-1, isLeft)}
1597
- >
1598
- <svg
1599
- width="10"
1600
- height="10"
1601
- viewBox="0 0 10 10"
1602
- fill="none"
1603
- >
1604
- <path
1605
- d="M2 4L5 7L8 4"
1606
- stroke="currentColor"
1607
- stroke-width="1.5"
1608
- stroke-linecap="round"
1609
- stroke-linejoin="round"
1610
- />
1611
- </svg>
1612
- </button>
1613
- </div>
1614
- </div>
1615
- </div>
1616
-
1617
- <button
1618
- type="button"
1619
- class="calendar__nav"
1620
- @click=${() => this.nextMonth(isLeft)}
1621
- >
1622
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
1623
- <path
1624
- d="M6 12L10 8L6 4"
1625
- stroke="currentColor"
1626
- stroke-width="2"
1627
- stroke-linecap="round"
1628
- stroke-linejoin="round"
1629
- />
1630
- </svg>
1631
- </button>
1632
- </div>
1633
- <div class="calendar__weekdays">
1634
- ${this.DAYS.map(
1635
- (day) => b`<div class="calendar__weekday">${day}</div>`
1636
- )}
1637
- </div>
1638
- <div class="calendar__days">
1639
- ${days.map((date) => {
1640
- const dateMonth = this.enableTime ? date.getUTCMonth() : date.getMonth();
1641
- const dateDay = this.enableTime ? date.getUTCDate() : date.getDate();
1642
- const isCurrentMonth = dateMonth === currentMonth;
1643
- const isSelected = this.isSameDay(date, this.selectedStart) || this.isSameDay(date, this.selectedEnd);
1644
- const isStart = this.isSameDay(date, this.selectedStart);
1645
- const isEnd = this.isSameDay(date, this.selectedEnd);
1646
- const inRange = this.isInRange(date);
1647
- const inHoverRange = this.isInHoverRange(date);
1648
- const isDisabled = this.isDisabled(date);
1649
- return b`
1650
- <button
1651
- type="button"
1652
- class="calendar__day ${!isCurrentMonth ? "calendar__day--outside" : ""}
1653
- ${isSelected ? "calendar__day--selected" : ""}
1654
- ${isStart ? "calendar__day--start" : ""}
1655
- ${isEnd ? "calendar__day--end" : ""}
1656
- ${inRange ? "calendar__day--in-range" : ""}
1657
- ${inHoverRange ? "calendar__day--hover-range" : ""}
1658
- ${isDisabled ? "calendar__day--disabled" : ""}"
1659
- @click=${() => this.selectDate(date)}
1660
- @mouseenter=${() => this.handleDateHover(date)}
1661
- ?disabled=${isDisabled}
1662
- >
1663
- ${dateDay}
1664
- </button>
1665
- `;
1666
- })}
1667
- </div>
1668
- </div>
1669
- `;
1670
- }
1671
- renderTimePicker() {
1672
- if (!this.enableTime)
1673
- return "";
1674
- const startDisplay = this.getDisplayTimeComponents(
1675
- this.startHour,
1676
- this.startMinute,
1677
- this.startSecond,
1678
- this.selectedStart
1679
- );
1680
- const endDisplay = this.getDisplayTimeComponents(
1681
- this.endHour,
1682
- this.endMinute,
1683
- this.endSecond,
1684
- this.selectedEnd
1685
- );
1686
- const startD12 = this.twelveHour ? this.to12Hour(startDisplay.hour) : null;
1687
- const endD12 = this.twelveHour ? this.to12Hour(endDisplay.hour) : null;
1688
- const hourMin = this.twelveHour ? "1" : "0";
1689
- const hourMax = this.twelveHour ? "12" : "23";
1690
- return b`
1691
- <div class="date-picker__time">
1692
- <div class="date-picker__time-section">
1693
- <div class="date-picker__time-inputs">
1694
- <div class="date-picker__time-input-group">
1695
- <input
1696
- type="number"
1697
- class="date-picker__time-input"
1698
- .value=${(startD12 ? startD12.hour : startDisplay.hour).toString().padStart(2, "0")}
1699
- @input=${(e3) => this.handleTimeInput(e3, "hour", true)}
1700
- @blur=${(e3) => {
1701
- const input = e3.target;
1702
- const d = this.getDisplayTimeComponents(
1703
- this.startHour,
1704
- this.startMinute,
1705
- this.startSecond,
1706
- this.selectedStart
1707
- );
1708
- const d12 = this.twelveHour ? this.to12Hour(d.hour) : null;
1709
- input.value = (d12 ? d12.hour : d.hour).toString().padStart(2, "0");
1710
- }}
1711
- min=${hourMin}
1712
- max=${hourMax}
1713
- />
1714
- <div class="date-picker__time-spinners">
1715
- <button
1716
- type="button"
1717
- class="date-picker__time-spinner"
1718
- @click=${() => this.changeTime("hour", 1, true)}
1719
- >
1720
- <svg
1721
- width="10"
1722
- height="10"
1723
- viewBox="0 0 10 10"
1724
- fill="none"
1725
- >
1726
- <path
1727
- d="M2 6L5 3L8 6"
1728
- stroke="currentColor"
1729
- stroke-width="1.5"
1730
- stroke-linecap="round"
1731
- stroke-linejoin="round"
1732
- />
1733
- </svg>
1734
- </button>
1735
- <button
1736
- type="button"
1737
- class="date-picker__time-spinner"
1738
- @click=${() => this.changeTime("hour", -1, true)}
1739
- >
1740
- <svg
1741
- width="10"
1742
- height="10"
1743
- viewBox="0 0 10 10"
1744
- fill="none"
1745
- >
1746
- <path
1747
- d="M2 4L5 7L8 4"
1748
- stroke="currentColor"
1749
- stroke-width="1.5"
1750
- stroke-linecap="round"
1751
- stroke-linejoin="round"
1752
- />
1753
- </svg>
1754
- </button>
1755
- </div>
1756
- </div>
1757
-
1758
- <span class="date-picker__time-separator">:</span>
1759
-
1760
- <div class="date-picker__time-input-group">
1761
- <input
1762
- type="number"
1763
- class="date-picker__time-input"
1764
- .value=${startDisplay.minute.toString().padStart(2, "0")}
1765
- @input=${(e3) => this.handleTimeInput(e3, "minute", true)}
1766
- @blur=${(e3) => {
1767
- const input = e3.target;
1768
- const d = this.getDisplayTimeComponents(
1769
- this.startHour,
1770
- this.startMinute,
1771
- this.startSecond,
1772
- this.selectedStart
1773
- );
1774
- input.value = d.minute.toString().padStart(2, "0");
1775
- }}
1776
- min="0"
1777
- max="59"
1778
- />
1779
- <div class="date-picker__time-spinners">
1780
- <button
1781
- type="button"
1782
- class="date-picker__time-spinner"
1783
- @click=${() => this.changeTime("minute", 1, true)}
1784
- >
1785
- <svg
1786
- width="10"
1787
- height="10"
1788
- viewBox="0 0 10 10"
1789
- fill="none"
1790
- >
1791
- <path
1792
- d="M2 6L5 3L8 6"
1793
- stroke="currentColor"
1794
- stroke-width="1.5"
1795
- stroke-linecap="round"
1796
- stroke-linejoin="round"
1797
- />
1798
- </svg>
1799
- </button>
1800
- <button
1801
- type="button"
1802
- class="date-picker__time-spinner"
1803
- @click=${() => this.changeTime("minute", -1, true)}
1804
- >
1805
- <svg
1806
- width="10"
1807
- height="10"
1808
- viewBox="0 0 10 10"
1809
- fill="none"
1810
- >
1811
- <path
1812
- d="M2 4L5 7L8 4"
1813
- stroke="currentColor"
1814
- stroke-width="1.5"
1815
- stroke-linecap="round"
1816
- stroke-linejoin="round"
1817
- />
1818
- </svg>
1819
- </button>
1820
- </div>
1821
- </div>
1822
-
1823
- <span class="date-picker__time-separator">:</span>
1824
-
1825
- <div class="date-picker__time-input-group">
1826
- <input
1827
- type="number"
1828
- class="date-picker__time-input"
1829
- .value=${startDisplay.second.toString().padStart(2, "0")}
1830
- @input=${(e3) => this.handleTimeInput(e3, "second", true)}
1831
- @blur=${(e3) => {
1832
- const input = e3.target;
1833
- const d = this.getDisplayTimeComponents(
1834
- this.startHour,
1835
- this.startMinute,
1836
- this.startSecond,
1837
- this.selectedStart
1838
- );
1839
- input.value = d.second.toString().padStart(2, "0");
1840
- }}
1841
- min="0"
1842
- max="59"
1843
- />
1844
- <div class="date-picker__time-spinners">
1845
- <button
1846
- type="button"
1847
- class="date-picker__time-spinner"
1848
- @click=${() => this.changeTime("second", 1, true)}
1849
- >
1850
- <svg
1851
- width="10"
1852
- height="10"
1853
- viewBox="0 0 10 10"
1854
- fill="none"
1855
- >
1856
- <path
1857
- d="M2 6L5 3L8 6"
1858
- stroke="currentColor"
1859
- stroke-width="1.5"
1860
- stroke-linecap="round"
1861
- stroke-linejoin="round"
1862
- />
1863
- </svg>
1864
- </button>
1865
- <button
1866
- type="button"
1867
- class="date-picker__time-spinner"
1868
- @click=${() => this.changeTime("second", -1, true)}
1869
- >
1870
- <svg
1871
- width="10"
1872
- height="10"
1873
- viewBox="0 0 10 10"
1874
- fill="none"
1875
- >
1876
- <path
1877
- d="M2 4L5 7L8 4"
1878
- stroke="currentColor"
1879
- stroke-width="1.5"
1880
- stroke-linecap="round"
1881
- stroke-linejoin="round"
1882
- />
1883
- </svg>
1884
- </button>
1885
- </div>
1886
- </div>
1887
-
1888
- ${this.twelveHour ? b`
1889
- <button
1890
- type="button"
1891
- class="date-picker__time-period"
1892
- @click=${() => this.togglePeriod(true)}
1893
- >
1894
- ${startD12.period}
1895
- </button>
1896
- ` : ""}
1897
- </div>
1898
- </div>
1899
-
1900
- ${this.range ? b`
1901
- <span class="date-picker__separator">–</span>
1902
-
1903
- <div class="date-picker__time-section">
1904
- <div class="date-picker__time-inputs">
1905
- <div class="date-picker__time-input-group">
1906
- <input
1907
- type="number"
1908
- class="date-picker__time-input"
1909
- .value=${(endD12 ? endD12.hour : endDisplay.hour).toString().padStart(2, "0")}
1910
- @input=${(e3) => this.handleTimeInput(e3, "hour", false)}
1911
- @blur=${(e3) => {
1912
- const input = e3.target;
1913
- const d = this.getDisplayTimeComponents(
1914
- this.endHour,
1915
- this.endMinute,
1916
- this.endSecond,
1917
- this.selectedEnd
1918
- );
1919
- const d12 = this.twelveHour ? this.to12Hour(d.hour) : null;
1920
- input.value = (d12 ? d12.hour : d.hour).toString().padStart(2, "0");
1921
- }}
1922
- min=${hourMin}
1923
- max=${hourMax}
1924
- />
1925
- <div class="date-picker__time-spinners">
1926
- <button
1927
- type="button"
1928
- class="date-picker__time-spinner"
1929
- @click=${() => this.changeTime("hour", 1, false)}
1930
- >
1931
- <svg
1932
- width="10"
1933
- height="10"
1934
- viewBox="0 0 10 10"
1935
- fill="none"
1936
- >
1937
- <path
1938
- d="M2 6L5 3L8 6"
1939
- stroke="currentColor"
1940
- stroke-width="1.5"
1941
- stroke-linecap="round"
1942
- stroke-linejoin="round"
1943
- />
1944
- </svg>
1945
- </button>
1946
- <button
1947
- type="button"
1948
- class="date-picker__time-spinner"
1949
- @click=${() => this.changeTime("hour", -1, false)}
1950
- >
1951
- <svg
1952
- width="10"
1953
- height="10"
1954
- viewBox="0 0 10 10"
1955
- fill="none"
1956
- >
1957
- <path
1958
- d="M2 4L5 7L8 4"
1959
- stroke="currentColor"
1960
- stroke-width="1.5"
1961
- stroke-linecap="round"
1962
- stroke-linejoin="round"
1963
- />
1964
- </svg>
1965
- </button>
1966
- </div>
1967
- </div>
1968
-
1969
- <span class="date-picker__time-separator">:</span>
1970
-
1971
- <div class="date-picker__time-input-group">
1972
- <input
1973
- type="number"
1974
- class="date-picker__time-input"
1975
- .value=${endDisplay.minute.toString().padStart(2, "0")}
1976
- @input=${(e3) => this.handleTimeInput(
1977
- e3,
1978
- "minute",
1979
- false
1980
- )}
1981
- @blur=${(e3) => {
1982
- const input = e3.target;
1983
- const d = this.getDisplayTimeComponents(
1984
- this.endHour,
1985
- this.endMinute,
1986
- this.endSecond,
1987
- this.selectedEnd
1988
- );
1989
- input.value = d.minute.toString().padStart(2, "0");
1990
- }}
1991
- min="0"
1992
- max="59"
1993
- />
1994
- <div class="date-picker__time-spinners">
1995
- <button
1996
- type="button"
1997
- class="date-picker__time-spinner"
1998
- @click=${() => this.changeTime("minute", 1, false)}
1999
- >
2000
- <svg
2001
- width="10"
2002
- height="10"
2003
- viewBox="0 0 10 10"
2004
- fill="none"
2005
- >
2006
- <path
2007
- d="M2 6L5 3L8 6"
2008
- stroke="currentColor"
2009
- stroke-width="1.5"
2010
- stroke-linecap="round"
2011
- stroke-linejoin="round"
2012
- />
2013
- </svg>
2014
- </button>
2015
- <button
2016
- type="button"
2017
- class="date-picker__time-spinner"
2018
- @click=${() => this.changeTime(
2019
- "minute",
2020
- -1,
2021
- false
2022
- )}
2023
- >
2024
- <svg
2025
- width="10"
2026
- height="10"
2027
- viewBox="0 0 10 10"
2028
- fill="none"
2029
- >
2030
- <path
2031
- d="M2 4L5 7L8 4"
2032
- stroke="currentColor"
2033
- stroke-width="1.5"
2034
- stroke-linecap="round"
2035
- stroke-linejoin="round"
2036
- />
2037
- </svg>
2038
- </button>
2039
- </div>
2040
- </div>
2041
-
2042
- <span class="date-picker__time-separator">:</span>
2043
-
2044
- <div class="date-picker__time-input-group">
2045
- <input
2046
- type="number"
2047
- class="date-picker__time-input"
2048
- .value=${endDisplay.second.toString().padStart(2, "0")}
2049
- @input=${(e3) => this.handleTimeInput(
2050
- e3,
2051
- "second",
2052
- false
2053
- )}
2054
- @blur=${(e3) => {
2055
- const input = e3.target;
2056
- const d = this.getDisplayTimeComponents(
2057
- this.endHour,
2058
- this.endMinute,
2059
- this.endSecond,
2060
- this.selectedEnd
2061
- );
2062
- input.value = d.second.toString().padStart(2, "0");
2063
- }}
2064
- min="0"
2065
- max="59"
2066
- />
2067
- <div class="date-picker__time-spinners">
2068
- <button
2069
- type="button"
2070
- class="date-picker__time-spinner"
2071
- @click=${() => this.changeTime("second", 1, false)}
2072
- >
2073
- <svg
2074
- width="10"
2075
- height="10"
2076
- viewBox="0 0 10 10"
2077
- fill="none"
2078
- >
2079
- <path
2080
- d="M2 6L5 3L8 6"
2081
- stroke="currentColor"
2082
- stroke-width="1.5"
2083
- stroke-linecap="round"
2084
- stroke-linejoin="round"
2085
- />
2086
- </svg>
2087
- </button>
2088
- <button
2089
- type="button"
2090
- class="date-picker__time-spinner"
2091
- @click=${() => this.changeTime(
2092
- "second",
2093
- -1,
2094
- false
2095
- )}
2096
- >
2097
- <svg
2098
- width="10"
2099
- height="10"
2100
- viewBox="0 0 10 10"
2101
- fill="none"
2102
- >
2103
- <path
2104
- d="M2 4L5 7L8 4"
2105
- stroke="currentColor"
2106
- stroke-width="1.5"
2107
- stroke-linecap="round"
2108
- stroke-linejoin="round"
2109
- />
2110
- </svg>
2111
- </button>
2112
- </div>
2113
- </div>
2114
- </div>
2115
-
2116
- ${this.twelveHour ? b`
2117
- <button
2118
- type="button"
2119
- class="date-picker__time-period"
2120
- @click=${() => this.togglePeriod(false)}
2121
- >
2122
- ${endD12.period}
2123
- </button>
2124
- ` : ""}
2125
- </div>
2126
- ` : ""}
2127
- </div>
2128
- `;
2129
- }
2130
- renderCalendarIcon() {
2131
- return b`
2132
- <svg
2133
- slot="suffix"
2134
- class="date-picker__icon"
2135
- width="20"
2136
- height="20"
2137
- viewBox="0 0 24 24"
2138
- fill="none"
2139
- stroke="currentColor"
2140
- stroke-width="2"
2141
- >
2142
- <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
2143
- <line x1="16" y1="2" x2="16" y2="6"></line>
2144
- <line x1="8" y1="2" x2="8" y2="6"></line>
2145
- <line x1="3" y1="10" x2="21" y2="10"></line>
2146
- </svg>
2147
- `;
2148
- }
2149
- renderCalendarContent() {
2150
- return b`
2151
- <div class="date-picker__dropdown" part="calendar">
2152
- ${this.showClose ? b`
2153
- <div class="dropdown-header">
2154
- <button
2155
- class="date-picker__close-btn"
2156
- @click=${(e3) => {
2157
- e3.stopPropagation();
2158
- this.close();
2159
- }}
2160
- aria-label="Close"
2161
- >
2162
- ✕
2163
- </button>
2164
- </div>
2165
- ` : A}
2166
- <div class="date-picker__content">
2167
- ${this.showPresets && this.filteredPresets.length > 0 ? b`
2168
- <div class="date-picker__sidebar" part="sidebar">
2169
- <slot name="sidebar-header"></slot>
2170
-
2171
- <div class="presets">
2172
- ${this.filteredPresets.map(
2173
- (preset) => b`
2174
- <button
2175
- type="button"
2176
- class="date-picker__preset"
2177
- @click=${() => this.selectPreset(preset)}
2178
- >
2179
- ${preset.label}
2180
- </button>
2181
- `
2182
- )}
2183
- </div>
2184
-
2185
- <slot name="sidebar-footer">
2186
- <terra-button
2187
- outline
2188
- variant="default"
2189
- size="small"
2190
- @click=${() => this.clear()}
2191
- >
2192
- ${this.clearAllLabel}
2193
- </terra-button>
2194
- </slot>
2195
- </div>
2196
- ` : ""}
2197
-
2198
- <div class="date-picker__calendars">
2199
- ${this.renderCalendar(this.leftMonth, true)}
2200
- ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
2201
- </div>
2202
- </div>
2203
-
2204
- ${this.enableTime ? this.renderTimePicker() : ""}
2205
- </div>
2206
- `;
2207
- }
2208
- render() {
2209
- const showSplitInputs = this.range && this.splitInputs;
2210
- if (this.inline) {
2211
- return b`
2212
- <div
2213
- class="date-picker date-picker--inline ${showSplitInputs ? "date-picker--split-inputs" : ""}"
2214
- @click=${(e3) => e3.stopPropagation()}
2215
- >
2216
- ${showSplitInputs ? b`
2217
- <div class="date-picker__inputs">
2218
- <terra-input
2219
- .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
2220
- .hideLabel=${this.hideLabel}
2221
- .helpText=${this.startHelpText || this.helpText}
2222
- .value=${this.getStartDateDisplayValue()}
2223
- @terra-blur=${this.handleStartInputBlur}
2224
- @keydown=${this.handleKeydown}
2225
- placeholder=${this.startPlaceholder}
2226
- name="start-date"
2227
- >
2228
- ${this.renderCalendarIcon()}
2229
- </terra-input>
2230
- <terra-input
2231
- .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2232
- .hideLabel=${this.hideLabel}
2233
- .helpText=${this.endHelpText || this.helpText}
2234
- .value=${this.getEndDateDisplayValue()}
2235
- @terra-blur=${this.handleEndInputBlur}
2236
- @keydown=${this.handleKeydown}
2237
- placeholder=${this.endPlaceholder}
2238
- name="end-date"
2239
- >
2240
- ${this.renderCalendarIcon()}
2241
- </terra-input>
2242
- </div>
2243
- ` : b`
2244
- <terra-input
2245
- .label=${this.label}
2246
- .hideLabel=${this.hideLabel}
2247
- .helpText=${this.helpText}
2248
- .value=${this.getDisplayValue()}
2249
- placeholder=${this.placeholder}
2250
- @terra-blur=${this.handleInputBlur}
2251
- @keydown=${this.handleKeydown}
2252
- name="date"
2253
- >
2254
- ${this.renderCalendarIcon()}
2255
- </terra-input>
2256
- `}
2257
-
2258
- <slot name="additional-text"></slot>
2259
-
2260
- <div class="date-picker__dropdown-wrapper">
2261
- <div
2262
- class="date-picker__dropdown date-picker__dropdown--inline"
2263
- part="calendar"
2264
- >
2265
- <div class="date-picker__content">
2266
- ${this.showPresets && this.filteredPresets.length > 0 ? b`
2267
- <div
2268
- class="date-picker__sidebar"
2269
- part="sidebar"
2270
- >
2271
- <slot name="sidebar-header"></slot>
2272
-
2273
- <div class="presets">
2274
- ${this.filteredPresets.map(
2275
- (preset) => b`
2276
- <button
2277
- type="button"
2278
- class="date-picker__preset"
2279
- @click=${() => this.selectPreset(
2280
- preset
2281
- )}
2282
- >
2283
- ${preset.label}
2284
- </button>
2285
- `
2286
- )}
2287
- </div>
2288
-
2289
- <slot name="sidebar-footer">
2290
- <terra-button
2291
- outline
2292
- variant="default"
2293
- size="small"
2294
- @click=${() => this.clear()}
2295
- >
2296
- ${this.clearAllLabel}
2297
- </terra-button>
2298
- </slot>
2299
- </div>
2300
- ` : ""}
2301
-
2302
- <div class="date-picker__calendars">
2303
- ${this.renderCalendar(this.leftMonth, true)}
2304
- ${this.range ? this.renderCalendar(this.rightMonth, false) : ""}
2305
- </div>
2306
- </div>
2307
-
2308
- ${this.enableTime ? this.renderTimePicker() : ""}
2309
- </div>
2310
- </div>
2311
- </div>
2312
- `;
2313
- }
2314
- return b`
2315
- <div
2316
- class="date-picker ${showSplitInputs ? "date-picker--split-inputs" : ""}"
2317
- @click=${(e3) => e3.stopPropagation()}
2318
- >
2319
- ${showSplitInputs ? b`
2320
- <div class="date-picker__inputs">
2321
- <terra-dropdown
2322
- ${n2(this.dropdownRef)}
2323
- placement="bottom-start"
2324
- distance="4"
2325
- @terra-show=${this.handleDropdownShow}
2326
- @terra-hide=${this.handleDropdownHide}
2327
- hoist
2328
- >
2329
- <terra-input
2330
- slot="trigger"
2331
- .label=${this.startLabel || (this.label ? `${this.label} (Start)` : "Start Date")}
2332
- .hideLabel=${this.hideLabel}
2333
- .helpText=${this.startHelpText || this.helpText}
2334
- .value=${this.getStartDateDisplayValue()}
2335
- placeholder=${this.startPlaceholder}
2336
- @terra-blur=${this.handleStartInputBlur}
2337
- @keydown=${this.handleKeydown}
2338
- name="start-date"
2339
- >
2340
- ${this.renderCalendarIcon()}
2341
- </terra-input>
2342
- ${this.renderCalendarContent()}
2343
- </terra-dropdown>
2344
- <terra-dropdown
2345
- placement="bottom-start"
2346
- distance="4"
2347
- @terra-show=${this.handleDropdownShow}
2348
- @terra-hide=${this.handleDropdownHide}
2349
- hoist
2350
- >
2351
- <terra-input
2352
- slot="trigger"
2353
- .label=${this.endLabel || (this.label ? `${this.label} (End)` : "End Date")}
2354
- .hideLabel=${this.hideLabel}
2355
- .helpText=${this.endHelpText || this.helpText}
2356
- .value=${this.getEndDateDisplayValue()}
2357
- placeholder=${this.endPlaceholder}
2358
- @terra-blur=${this.handleEndInputBlur}
2359
- @keydown=${this.handleKeydown}
2360
- name="end-date"
2361
- >
2362
- ${this.renderCalendarIcon()}
2363
- </terra-input>
2364
- ${this.renderCalendarContent()}
2365
- </terra-dropdown>
2366
- </div>
2367
- ` : b`
2368
- <terra-dropdown
2369
- ${n2(this.dropdownRef)}
2370
- placement="bottom-start"
2371
- distance="4"
2372
- @terra-show=${this.handleDropdownShow}
2373
- @terra-hide=${this.handleDropdownHide}
2374
- hoist
2375
- >
2376
- <terra-input
2377
- slot="trigger"
2378
- .label=${this.label}
2379
- .hideLabel=${this.hideLabel}
2380
- .helpText=${this.helpText}
2381
- .value=${this.getDisplayValue()}
2382
- placeholder=${this.placeholder}
2383
- @terra-blur=${this.handleInputBlur}
2384
- @keydown=${this.handleKeydown}
2385
- name="date"
2386
- >
2387
- ${this.renderCalendarIcon()}
2388
- </terra-input>
2389
- ${this.renderCalendarContent()}
2390
- </terra-dropdown>
2391
- `}
2392
- </div>
2393
- `;
2394
- }
2395
- };
2396
- TerraDatePicker.styles = [component_styles_default, date_picker_styles_default];
2397
- TerraDatePicker.dependencies = {
2398
- "terra-button": TerraButton,
2399
- "terra-input": TerraInput,
2400
- "terra-dropdown": TerraDropdown
2401
- };
2402
- __decorateClass([
2403
- n()
2404
- ], TerraDatePicker.prototype, "id", 2);
2405
- __decorateClass([
2406
- n({ type: Boolean, reflect: true })
2407
- ], TerraDatePicker.prototype, "range", 2);
2408
- __decorateClass([
2409
- n({ attribute: "min-date", reflect: true })
2410
- ], TerraDatePicker.prototype, "minDate", 2);
2411
- __decorateClass([
2412
- n({ attribute: "max-date", reflect: true })
2413
- ], TerraDatePicker.prototype, "maxDate", 2);
2414
- __decorateClass([
2415
- n({ attribute: "start-date", reflect: true })
2416
- ], TerraDatePicker.prototype, "startDate", 2);
2417
- __decorateClass([
2418
- n({ attribute: "end-date", reflect: true })
2419
- ], TerraDatePicker.prototype, "endDate", 2);
2420
- __decorateClass([
2421
- n({ attribute: "hide-label", type: Boolean })
2422
- ], TerraDatePicker.prototype, "hideLabel", 2);
2423
- __decorateClass([
2424
- n()
2425
- ], TerraDatePicker.prototype, "label", 2);
2426
- __decorateClass([
2427
- n({ attribute: "help-text" })
2428
- ], TerraDatePicker.prototype, "helpText", 2);
2429
- __decorateClass([
2430
- n({ attribute: "start-help-text" })
2431
- ], TerraDatePicker.prototype, "startHelpText", 2);
2432
- __decorateClass([
2433
- n({ attribute: "end-help-text" })
2434
- ], TerraDatePicker.prototype, "endHelpText", 2);
2435
- __decorateClass([
2436
- n({ attribute: "start-label" })
2437
- ], TerraDatePicker.prototype, "startLabel", 2);
2438
- __decorateClass([
2439
- n({ attribute: "end-label" })
2440
- ], TerraDatePicker.prototype, "endLabel", 2);
2441
- __decorateClass([
2442
- n({ type: Boolean, attribute: "show-presets" })
2443
- ], TerraDatePicker.prototype, "showPresets", 2);
2444
- __decorateClass([
2445
- n({ type: Array })
2446
- ], TerraDatePicker.prototype, "presets", 2);
2447
- __decorateClass([
2448
- n({ type: Boolean, attribute: "enable-time" })
2449
- ], TerraDatePicker.prototype, "enableTime", 2);
2450
- __decorateClass([
2451
- n({ attribute: "display-format" })
2452
- ], TerraDatePicker.prototype, "displayFormat", 2);
2453
- __decorateClass([
2454
- n({ type: Boolean })
2455
- ], TerraDatePicker.prototype, "inline", 2);
2456
- __decorateClass([
2457
- n({ type: Boolean, attribute: "split-inputs" })
2458
- ], TerraDatePicker.prototype, "splitInputs", 2);
2459
- __decorateClass([
2460
- n()
2461
- ], TerraDatePicker.prototype, "placeholder", 2);
2462
- __decorateClass([
2463
- n()
2464
- ], TerraDatePicker.prototype, "startPlaceholder", 2);
2465
- __decorateClass([
2466
- n()
2467
- ], TerraDatePicker.prototype, "endPlaceholder", 2);
2468
- __decorateClass([
2469
- n({ reflect: true })
2470
- ], TerraDatePicker.prototype, "role", 2);
2471
- __decorateClass([
2472
- n({ reflect: true, attribute: "aria-label" })
2473
- ], TerraDatePicker.prototype, "ariaLabel", 2);
2474
- __decorateClass([
2475
- n({ type: Boolean })
2476
- ], TerraDatePicker.prototype, "hideClearAll", 2);
2477
- __decorateClass([
2478
- n()
2479
- ], TerraDatePicker.prototype, "clearAllLabel", 2);
2480
- __decorateClass([
2481
- n({ type: Boolean, attribute: "use-end-of-day" })
2482
- ], TerraDatePicker.prototype, "useEndOfDay", 2);
2483
- __decorateClass([
2484
- n({ attribute: "closable", type: Boolean })
2485
- ], TerraDatePicker.prototype, "showClose", 2);
2486
- __decorateClass([
2487
- n()
2488
- ], TerraDatePicker.prototype, "timezone", 2);
2489
- __decorateClass([
2490
- n({ type: Boolean, attribute: "twelve-hour" })
2491
- ], TerraDatePicker.prototype, "twelveHour", 2);
2492
- __decorateClass([
2493
- r()
2494
- ], TerraDatePicker.prototype, "isOpen", 2);
2495
- __decorateClass([
2496
- r()
2497
- ], TerraDatePicker.prototype, "leftMonth", 2);
2498
- __decorateClass([
2499
- r()
2500
- ], TerraDatePicker.prototype, "rightMonth", 2);
2501
- __decorateClass([
2502
- r()
2503
- ], TerraDatePicker.prototype, "selectedStart", 2);
2504
- __decorateClass([
2505
- r()
2506
- ], TerraDatePicker.prototype, "selectedEnd", 2);
2507
- __decorateClass([
2508
- r()
2509
- ], TerraDatePicker.prototype, "hoverDate", 2);
2510
- __decorateClass([
2511
- r()
2512
- ], TerraDatePicker.prototype, "isSelectingRange", 2);
2513
- __decorateClass([
2514
- r()
2515
- ], TerraDatePicker.prototype, "showLeftMonthDropdown", 2);
2516
- __decorateClass([
2517
- r()
2518
- ], TerraDatePicker.prototype, "showRightMonthDropdown", 2);
2519
- __decorateClass([
2520
- r()
2521
- ], TerraDatePicker.prototype, "startHour", 2);
2522
- __decorateClass([
2523
- r()
2524
- ], TerraDatePicker.prototype, "startMinute", 2);
2525
- __decorateClass([
2526
- r()
2527
- ], TerraDatePicker.prototype, "startSecond", 2);
2528
- __decorateClass([
2529
- r()
2530
- ], TerraDatePicker.prototype, "endHour", 2);
2531
- __decorateClass([
2532
- r()
2533
- ], TerraDatePicker.prototype, "endMinute", 2);
2534
- __decorateClass([
2535
- r()
2536
- ], TerraDatePicker.prototype, "endSecond", 2);
2537
- __decorateClass([
2538
- r()
2539
- ], TerraDatePicker.prototype, "selectedDates", 2);
2540
- __decorateClass([
2541
- e(".date-picker__dropdown")
2542
- ], TerraDatePicker.prototype, "dropdown", 2);
2543
-
2544
- export {
2545
- TerraDatePicker
2546
- };