@luzmo/lucero 1.0.1-alpha.9 → 1.0.2

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 (487) hide show
  1. package/README.md +74 -9
  2. package/components/accordion/index.cjs +1 -26
  3. package/components/accordion/index.js +8 -164
  4. package/components/accordion-BHBIfsLU.cjs +43 -0
  5. package/components/accordion-DC7cjb1c.js +152 -0
  6. package/components/action-bar/index.cjs +1 -22
  7. package/components/action-bar/index.js +8 -90
  8. package/components/action-bar-BMHZ4e_p.cjs +39 -0
  9. package/components/action-bar-CmLjsljR.js +92 -0
  10. package/components/action-button/index.cjs +1 -7
  11. package/components/action-button/index.js +8 -144
  12. package/components/action-button-B4_UEJle.js +121 -0
  13. package/components/action-button-G0PWSrZo.cjs +24 -0
  14. package/components/action-group/index.cjs +1 -1
  15. package/components/action-group/index.js +11 -12
  16. package/components/action-group-CH8FTW0i.cjs +20 -0
  17. package/components/action-group-DYKpp-mz.js +211 -0
  18. package/components/action-menu/index.cjs +1 -39
  19. package/components/action-menu/index.js +8 -109
  20. package/components/action-menu-CJyB0mmO.cjs +56 -0
  21. package/components/action-menu-FiS1vhW7.js +105 -0
  22. package/components/avatar/avatar.d.ts +5 -0
  23. package/components/avatar/index.cjs +1 -7
  24. package/components/avatar/index.js +8 -64
  25. package/components/avatar-CyY_ZSD0.js +65 -0
  26. package/components/avatar-PulwjkMI.cjs +24 -0
  27. package/components/badge/badge.d.ts +35 -0
  28. package/components/{random-id-CqvckpWe.cjs → badge/index.cjs} +1 -1
  29. package/components/badge/index.d.ts +8 -0
  30. package/components/badge/index.js +25 -0
  31. package/components/badge-D1Ry32wi.cjs +23 -0
  32. package/components/badge-D6p2hPj8.js +94 -0
  33. package/components/button/button-base.d.ts +16 -0
  34. package/components/button/button.d.ts +38 -2
  35. package/components/button/index.cjs +1 -3
  36. package/components/button/index.js +9 -110
  37. package/components/button-CRNRP8P0.js +115 -0
  38. package/components/button-D3ZTogni.cjs +20 -0
  39. package/components/button-base-BYV3Lp3P.cjs +25 -0
  40. package/components/button-base-SHgEJgk2.js +123 -0
  41. package/components/button-group/index.cjs +1 -1
  42. package/components/button-group/index.js +8 -42
  43. package/components/button-group-CJVpgiLq.js +46 -0
  44. package/components/button-group-rEK_YaF3.cjs +18 -0
  45. package/components/calendar/calendar.d.ts +67 -0
  46. package/components/calendar/index.cjs +1 -1
  47. package/components/calendar/index.d.ts +1 -0
  48. package/components/calendar/index.js +8 -11
  49. package/components/calendar-CKr5T_zV.js +619 -0
  50. package/components/calendar-WRhzTEyZ.cjs +142 -0
  51. package/components/chat-message/chat-message.d.ts +139 -0
  52. package/components/{random-id-ByCz1xaq.js → chat-message/index.cjs} +1 -9
  53. package/components/chat-message/index.d.ts +8 -0
  54. package/components/chat-message/index.js +25 -0
  55. package/components/chat-message-CNE-mGuP.cjs +149 -0
  56. package/components/chat-message-DJgocVNj.js +2295 -0
  57. package/components/chat-message-group/chat-message-group.d.ts +50 -0
  58. package/components/{when-CDZyJPvd.cjs → chat-message-group/index.cjs} +1 -5
  59. package/components/chat-message-group/index.d.ts +7 -0
  60. package/components/chat-message-group/index.js +25 -0
  61. package/components/chat-message-group-B4U2MzHx.js +100 -0
  62. package/components/chat-message-group-COmhCN-R.cjs +24 -0
  63. package/components/checkbox/checkbox.d.ts +7 -0
  64. package/components/checkbox/index.cjs +1 -8
  65. package/components/checkbox/index.js +8 -79
  66. package/components/checkbox-CPS-tR_i.js +89 -0
  67. package/components/checkbox-DFwDrIdY.cjs +25 -0
  68. package/components/checkbox-mixin-C5sLMo5L.js +67 -0
  69. package/components/{checkbox-mixin-BDN0dBtS.cjs → checkbox-mixin-D4HeLrMj.cjs} +3 -3
  70. package/components/chunk-D-qHiVGv.cjs +18 -0
  71. package/components/close-button-BeXYep8K.js +42 -0
  72. package/components/close-button-BzapEpcF.cjs +18 -0
  73. package/components/color-area/index.cjs +1 -63
  74. package/components/color-area/index.js +8 -364
  75. package/components/color-area-DA3ps2-c.cjs +80 -0
  76. package/components/color-area-DViRjuKo.js +300 -0
  77. package/components/color-controller-DueaXfnX.cjs +18 -0
  78. package/components/color-controller-G2_v2xSl.js +247 -0
  79. package/components/color-field/color-field.d.ts +1 -0
  80. package/components/color-field/index.cjs +1 -6
  81. package/components/color-field/index.js +8 -68
  82. package/components/color-field-CxdIoSq6.js +75 -0
  83. package/components/color-field-D7_7z2A2.cjs +23 -0
  84. package/components/color-handle/index.cjs +1 -7
  85. package/components/color-handle/index.js +8 -56
  86. package/components/color-handle-BOusOFFx.js +62 -0
  87. package/components/color-handle-Cka48yPY.cjs +24 -0
  88. package/components/color-loupe/index.cjs +1 -1
  89. package/components/color-loupe/index.js +11 -12
  90. package/components/color-loupe-DMk8uWZW.cjs +56 -0
  91. package/components/color-loupe-bEzi2P0y.js +76 -0
  92. package/components/color-menu/index.cjs +1 -69
  93. package/components/color-menu/index.js +8 -189
  94. package/components/color-menu-DwbTxeqv.cjs +89 -0
  95. package/components/color-menu-Lxc9PTzl.js +183 -0
  96. package/components/color-palette/index.cjs +1 -1
  97. package/components/color-palette/index.js +8 -71
  98. package/components/color-palette-349EkPMg.cjs +18 -0
  99. package/components/color-palette-BAdaNySC.js +80 -0
  100. package/components/color-palette-group/index.cjs +1 -11
  101. package/components/color-palette-group/index.js +8 -188
  102. package/components/color-palette-group-BvP09zmT.cjs +28 -0
  103. package/components/color-palette-group-D8Mavsd2.js +163 -0
  104. package/components/color-picker/color-picker.d.ts +3 -3
  105. package/components/color-picker/index.cjs +1 -31
  106. package/components/color-picker/index.js +8 -128
  107. package/components/color-picker-CSWiU-X5.cjs +48 -0
  108. package/components/color-picker-DqjfTvYf.js +126 -0
  109. package/components/color-slider/index.cjs +1 -1
  110. package/components/color-slider/index.js +8 -11
  111. package/components/color-slider-DxjJ72ue.cjs +57 -0
  112. package/components/color-slider-ihAIFt5p.js +421 -0
  113. package/components/{condition-attribute-with-id-Dv4lSRbe.js → condition-attribute-with-id-DauPaLSS.cjs} +1 -14
  114. package/components/{query-assigned-nodes-C76XVPWY.js → condition-attribute-with-id-Duo51HZ7.js} +10 -18
  115. package/components/date-range-picker/date-range-picker.d.ts +184 -0
  116. package/components/{if-defined-C9YGdo33.cjs → date-range-picker/index.cjs} +1 -5
  117. package/components/date-range-picker/index.d.ts +8 -0
  118. package/components/date-range-picker/index.js +25 -0
  119. package/components/date-range-picker/types.d.ts +16 -0
  120. package/components/date-range-picker-BdRQep--.js +626 -0
  121. package/components/date-range-picker-CgitOe0i.cjs +187 -0
  122. package/components/date-time-picker/date-time-picker.d.ts +3 -3
  123. package/components/date-time-picker/index.cjs +1 -88
  124. package/components/date-time-picker/index.d.ts +1 -0
  125. package/components/date-time-picker/index.js +8 -1109
  126. package/components/date-time-picker/{types.d.ts → shared/types.d.ts} +1 -1
  127. package/components/date-time-picker-Bz8XwSOR.cjs +105 -0
  128. package/components/date-time-picker-Ct_ln8Ot.js +470 -0
  129. package/components/decorate-B2wePfNm.cjs +18 -0
  130. package/components/decorate-aGxJUVxg.js +91 -0
  131. package/components/{condition-attribute-with-id-DrQYZzFS.cjs → dependency-manger-CHy9t__e.cjs} +1 -1
  132. package/components/dependency-manger-DMrulWcJ.js +40 -0
  133. package/components/divider/index.cjs +1 -1
  134. package/components/divider/index.js +8 -44
  135. package/components/divider-Dn8XqbB6.cjs +18 -0
  136. package/components/divider-cU0lVwOp.js +59 -0
  137. package/components/divider.module-C65RfSUa.js +21 -0
  138. package/components/divider.module-CL60P_z8.cjs +18 -0
  139. package/components/element-resolution-Bs1x89vU.js +80 -0
  140. package/components/element-resolution-C0aiOB0Y.cjs +18 -0
  141. package/components/field-group/index.cjs +1 -1
  142. package/components/field-group/index.js +11 -12
  143. package/components/field-group-C7ROsWq3.js +57 -0
  144. package/components/field-group-OcI5Lgu7.cjs +23 -0
  145. package/components/field-label/index.cjs +1 -1
  146. package/components/field-label/index.js +11 -12
  147. package/components/field-label-BCl6R1uO.cjs +25 -0
  148. package/components/field-label-CtGCEmdp.js +87 -0
  149. package/components/focus-group-BshI1RpM.js +164 -0
  150. package/components/focus-group-SF8Kj7iB.cjs +18 -0
  151. package/components/focus-visible-B0NNezGc.cjs +18 -0
  152. package/components/focus-visible-CrooVCUu.js +58 -0
  153. package/components/focusable-BmS8IzhH.js +117 -0
  154. package/components/focusable-CupEoHmn.cjs +18 -0
  155. package/components/{base-BjTwmyRF.cjs → focusable-selectors-5n5liBn0.cjs} +1 -5
  156. package/components/{focusable-selectors-BgFlyFcY.cjs → focusable-selectors-Bg60_Kra.js} +13 -1
  157. package/components/{state-Deh-vKYE.js → get-label-from-slot-5vVnfSgN.js} +7 -11
  158. package/components/get-label-from-slot-LO_DZP60.cjs +18 -0
  159. package/components/icon/index.cjs +1 -1
  160. package/components/icon/index.js +8 -71
  161. package/components/icon-B7hKwn_q.cjs +18 -0
  162. package/components/icon-CwBAE1eU.js +59 -0
  163. package/components/index.cjs +1 -1
  164. package/components/index.js +78 -176
  165. package/components/infield-button/index.cjs +1 -5
  166. package/components/infield-button/index.js +8 -47
  167. package/components/infield-button-B2z0dLzq.js +54 -0
  168. package/components/infield-button-BVKotWqr.cjs +22 -0
  169. package/components/label/index.cjs +1 -1
  170. package/components/label/index.js +8 -34
  171. package/components/label-ClJE2esm.js +41 -0
  172. package/components/label-CqolZbJo.cjs +18 -0
  173. package/components/language-resolution-BYemISJC.cjs +18 -0
  174. package/components/language-resolution-BpfGTC29.js +43 -0
  175. package/components/like-anchor-BZJXts_H.cjs +32 -0
  176. package/components/like-anchor-DeOXX-MX.js +46 -0
  177. package/components/manage-help-text-CF0xBh0F.js +81 -0
  178. package/components/manage-help-text-D9VbYRf_.cjs +30 -0
  179. package/components/menu/index.cjs +1 -66
  180. package/components/menu/index.js +8 -879
  181. package/components/menu/menu-item.d.ts +8 -1
  182. package/components/menu/menu.d.ts +1 -0
  183. package/components/menu--ukVtSq7.js +749 -0
  184. package/components/menu-DAA51y45.cjs +108 -0
  185. package/components/multi-language-field/index.cjs +1 -22
  186. package/components/multi-language-field/index.js +8 -131
  187. package/components/multi-language-field/multi-language-field.d.ts +1 -0
  188. package/components/multi-language-field-BzY75rOY.js +122 -0
  189. package/components/multi-language-field-DmoMyCBH.cjs +40 -0
  190. package/components/number-field/index.cjs +1 -40
  191. package/components/number-field/index.js +8 -453
  192. package/components/number-field/number-field.d.ts +145 -0
  193. package/components/number-field-B4RSFeTR.cjs +57 -0
  194. package/components/number-field-C66dTUMM.js +402 -0
  195. package/components/observe-slot-presence-BCqd3VSd.js +55 -0
  196. package/components/observe-slot-presence-Dx8hzNzK.cjs +18 -0
  197. package/components/observe-slot-text-BhTcGuHY.cjs +18 -0
  198. package/components/observe-slot-text-Ddf1OC6F.js +71 -0
  199. package/components/options/index.cjs +1 -84
  200. package/components/options/index.js +8 -1160
  201. package/components/options/option.d.ts +16 -0
  202. package/components/options/options.d.ts +44 -4
  203. package/components/options-BPNAm4MW.cjs +101 -0
  204. package/components/options-Dz-ejkxF.js +484 -0
  205. package/components/overlay/index.cjs +1 -56
  206. package/components/overlay/index.js +10 -329
  207. package/components/overlay/overlay.d.ts +12 -1
  208. package/components/overlay/virtual-trigger.d.ts +3 -2
  209. package/components/overlay-8tN0KPbR.js +1115 -0
  210. package/components/overlay-CMd2Dnpv.cjs +73 -0
  211. package/components/overlay-CwR_36OV.js +227 -0
  212. package/components/overlay-DdrfkOry.cjs +47 -0
  213. package/components/pending-state-DFcNf5rd.js +50 -0
  214. package/components/{pending-state-CaH1si5b.cjs → pending-state-DIeF18qg.cjs} +4 -3
  215. package/components/picker/index.cjs +1 -1
  216. package/components/picker/index.js +11 -15
  217. package/components/picker/picker.d.ts +1 -0
  218. package/components/picker-C4RVOxLq.cjs +123 -0
  219. package/components/picker-agQW7YNo.js +394 -0
  220. package/components/picker-button/index.cjs +1 -20
  221. package/components/picker-button/index.js +8 -70
  222. package/components/picker-button-BLbeT3Yu.js +72 -0
  223. package/components/picker-button-D34YXyXp.cjs +37 -0
  224. package/components/platform-B7Sk7Qon.cjs +18 -0
  225. package/components/{platform-BM-uMWpX.js → platform-D4V_cOJF.js} +29 -38
  226. package/components/popover/index.cjs +1 -1
  227. package/components/popover/index.js +11 -12
  228. package/components/popover-DyC9xGhX.js +58 -0
  229. package/components/popover-dgL04x6P.cjs +30 -0
  230. package/components/progress-bar/index.cjs +18 -0
  231. package/components/progress-bar/index.d.ts +7 -0
  232. package/components/progress-bar/index.js +25 -0
  233. package/components/progress-bar/progress-bar.d.ts +34 -0
  234. package/components/progress-bar-BR28tISC.cjs +31 -0
  235. package/components/progress-bar-DHgFRml1.js +119 -0
  236. package/components/progress-circle/index.cjs +1 -1
  237. package/components/progress-circle/index.js +11 -12
  238. package/components/progress-circle-Cg_ua9Ff.js +78 -0
  239. package/components/progress-circle-DuzwUiGN.cjs +33 -0
  240. package/components/progress-steps/index.cjs +18 -0
  241. package/components/progress-steps/index.d.ts +8 -0
  242. package/components/progress-steps/index.js +25 -0
  243. package/components/progress-steps/progress-steps.d.ts +148 -0
  244. package/components/progress-steps/types.d.ts +32 -0
  245. package/components/progress-steps-Da8aZWx3.js +262 -0
  246. package/components/progress-steps-WriXaZpE.cjs +96 -0
  247. package/components/prompt-box/controllers/attachments-controller.d.ts +35 -0
  248. package/components/prompt-box/controllers/recording-controller.d.ts +23 -0
  249. package/components/prompt-box/controllers/rich-input-controller.d.ts +89 -0
  250. package/components/prompt-box/controllers/trigger-menu-controller.d.ts +107 -0
  251. package/components/prompt-box/index.cjs +18 -0
  252. package/components/prompt-box/index.d.ts +9 -0
  253. package/components/prompt-box/index.js +25 -0
  254. package/components/prompt-box/keyboard-focus-tracker.d.ts +3 -0
  255. package/components/prompt-box/prompt-box-templates.d.ts +10 -0
  256. package/components/prompt-box/prompt-box.d.ts +194 -0
  257. package/components/prompt-box/range-from-point.d.ts +21 -0
  258. package/components/prompt-box/selection-utils.d.ts +39 -0
  259. package/components/prompt-box/slot-state-sync.d.ts +10 -0
  260. package/components/prompt-box/types.d.ts +112 -0
  261. package/components/prompt-box-BEloQP-R.js +1506 -0
  262. package/components/prompt-box-DV8Smf3Q.cjs +282 -0
  263. package/components/radio/index.cjs +1 -5
  264. package/components/radio/index.js +8 -174
  265. package/components/radio-BzEPGUmQ.js +141 -0
  266. package/components/radio-d-2GUbYE.cjs +22 -0
  267. package/components/{if-defined-DOaE2coe.js → random-id-B51lUxUB.cjs} +1 -10
  268. package/components/{when-CDK1Tt5Y.js → random-id-Dd4boCPV.js} +5 -10
  269. package/components/{focusable-selectors-B4YgbghQ.js → rolldown-runtime-CAFD8bLK.js} +10 -13
  270. package/components/roving-tabindex-B7x5ePUB.cjs +18 -0
  271. package/components/roving-tabindex-BP6mQbXf.js +62 -0
  272. package/components/{directive-oAbCiebi.js → scaled-indicator-BcO2BOsf.js} +24 -26
  273. package/components/scaled-indicator-p8-3k2cJ.cjs +26 -0
  274. package/components/search/index.cjs +1 -28
  275. package/components/search/index.js +8 -114
  276. package/components/search-CmLfd2dF.js +94 -0
  277. package/components/search-DRTD4xsE.cjs +45 -0
  278. package/components/segments-factory-CHo9oQw7.cjs +18 -0
  279. package/components/segments-factory-D0IveW-q.js +417 -0
  280. package/components/select/index.cjs +1 -140
  281. package/components/select/index.js +8 -602
  282. package/components/select/select.d.ts +26 -17
  283. package/components/select--vrG59GQ.cjs +158 -0
  284. package/components/select-DPeI0jP9.js +518 -0
  285. package/components/{language-resolution-8yZa5r_P.js → sized-mixin-DaBoZkVS.js} +38 -35
  286. package/components/sized-mixin-StFA4y0J.cjs +18 -0
  287. package/components/skeleton-loader/index.cjs +18 -0
  288. package/components/skeleton-loader/index.d.ts +7 -0
  289. package/components/skeleton-loader/index.js +25 -0
  290. package/components/skeleton-loader/skeleton-loader.d.ts +22 -0
  291. package/components/skeleton-loader-B8NgELvX.cjs +18 -0
  292. package/components/skeleton-loader-C1XG3m_u.js +46 -0
  293. package/components/slider/index.cjs +1 -1
  294. package/components/slider/index.js +8 -1141
  295. package/components/slider/slider.d.ts +2 -0
  296. package/components/slider-3QBnq0S8.js +96 -0
  297. package/components/slider-uXRKcOz5.cjs +18 -0
  298. package/components/slottable-request-event-DZ2Z_BLk.js +29 -0
  299. package/components/{base-D76d76ww.js → slottable-request-event-gAcEQan2.cjs} +1 -9
  300. package/components/status-light/index.cjs +18 -0
  301. package/components/status-light/index.d.ts +8 -0
  302. package/components/status-light/index.js +25 -0
  303. package/components/status-light/status-light.d.ts +26 -0
  304. package/components/status-light-Bf8jGu4G.js +85 -0
  305. package/components/status-light-CBaAFRUc.cjs +21 -0
  306. package/components/strategies-DhxJGIZT.js +137 -0
  307. package/components/strategies-kuvLVIKO.cjs +18 -0
  308. package/components/streaming-listener-2NcP7ys7.js +77 -0
  309. package/components/streaming-listener-BnDW38lt.cjs +18 -0
  310. package/components/suggestion/index.cjs +18 -0
  311. package/components/suggestion/index.d.ts +8 -0
  312. package/components/suggestion/index.js +25 -0
  313. package/components/suggestion/suggestion.d.ts +45 -0
  314. package/components/suggestion-CEJiW_7y.cjs +23 -0
  315. package/components/suggestion-DK5gxxDI.js +76 -0
  316. package/components/swatch/index.cjs +1 -32
  317. package/components/swatch/index.js +8 -325
  318. package/components/swatch-BLuV-hlF.js +271 -0
  319. package/components/swatch-G70JUe6I.cjs +49 -0
  320. package/components/switch/index.cjs +1 -5
  321. package/components/switch/index.js +8 -56
  322. package/components/switch-BdE-hI69.js +60 -0
  323. package/components/switch-KzkrF-ob.cjs +22 -0
  324. package/components/tabs/index.cjs +1 -76
  325. package/components/tabs/index.js +8 -619
  326. package/components/tabs/tabs.d.ts +3 -9
  327. package/components/tabs-BfTgzdid.cjs +76 -0
  328. package/components/tabs-BthdwrmW.js +434 -0
  329. package/components/tags/index.cjs +1 -15
  330. package/components/tags/index.d.ts +1 -0
  331. package/components/tags/index.js +8 -156
  332. package/components/tags/tag.d.ts +28 -0
  333. package/components/tags/tags.d.ts +3 -1
  334. package/components/tags-B89eYzsB.js +203 -0
  335. package/components/tags-OBPAvjdV.cjs +47 -0
  336. package/components/text-field/index.cjs +1 -4
  337. package/components/text-field/index.js +9 -45
  338. package/components/text-field/text-field.d.ts +27 -0
  339. package/components/text-field-A4Obzs4l.cjs +21 -0
  340. package/components/text-field-BoGAvXvh.js +44 -0
  341. package/components/text-field-Cs8HYRYL.js +256 -0
  342. package/components/text-field-FJr8ZUhI.cjs +81 -0
  343. package/components/text-field.module-Btsve-VN.js +21 -0
  344. package/components/text-field.module-D5oDP7MB.cjs +18 -0
  345. package/components/toast/index.cjs +1 -34
  346. package/components/toast/index.js +8 -136
  347. package/components/toast-CJSQUzoW.cjs +51 -0
  348. package/components/toast-DKwphMrp.js +133 -0
  349. package/components/tooltip/index.cjs +1 -28
  350. package/components/tooltip/index.js +8 -205
  351. package/components/tooltip/tooltip.d.ts +12 -1
  352. package/components/tooltip-C3O4AQ1l.js +192 -0
  353. package/components/tooltip-DY1trLtg.cjs +45 -0
  354. package/components/top-nav/index.cjs +18 -0
  355. package/components/top-nav/index.d.ts +10 -0
  356. package/components/top-nav/index.js +25 -0
  357. package/components/top-nav/top-nav-item.d.ts +26 -0
  358. package/components/top-nav/top-nav.d.ts +45 -0
  359. package/components/top-nav-DVQ5ASMa.js +203 -0
  360. package/components/top-nav-DlTojz8S.cjs +45 -0
  361. package/components/utils.cjs +1 -1
  362. package/components/utils.js +8 -25
  363. package/components/voice-recorder-477xPHRU.js +134 -0
  364. package/components/voice-recorder-BUtmSvPO.cjs +18 -0
  365. package/custom-elements.json +1 -1
  366. package/index.d.ts +11 -1
  367. package/package.json +134 -5
  368. package/utils/button-interaction-controllers/interaction-controller.d.ts +1 -1
  369. package/utils/index.d.ts +1 -0
  370. package/utils/scaled-indicator.d.ts +8 -0
  371. package/utils/voice-recorder.d.ts +121 -0
  372. package/components/NumberFormatter-DewVDY5w.cjs +0 -18
  373. package/components/NumberFormatter-DgOUVrge.js +0 -136
  374. package/components/NumberParser-Dik4a0h-.cjs +0 -18
  375. package/components/NumberParser-ci9J5EKv.js +0 -173
  376. package/components/action-group-DBImibFn.js +0 -258
  377. package/components/action-group-DJGMcRHb.cjs +0 -20
  378. package/components/async-directive-BX1T1e1_.cjs +0 -22
  379. package/components/async-directive-BfcqVjDp.js +0 -82
  380. package/components/base-CBCg3yyw.cjs +0 -40
  381. package/components/base-WsynuqaS.js +0 -677
  382. package/components/button-base-DbkDzb71.js +0 -144
  383. package/components/button-base-XgPLmwP-.cjs +0 -25
  384. package/components/checkbox-mixin-Do7EgtpQ.js +0 -70
  385. package/components/class-map-Di1D_rCm.cjs +0 -22
  386. package/components/class-map-NbVXqBU0.js +0 -51
  387. package/components/clear-button-DQcRdcUa.js +0 -53
  388. package/components/clear-button-OFUFFe7G.cjs +0 -18
  389. package/components/close-button-Cbnb7XXj.cjs +0 -18
  390. package/components/close-button-CqHYZhum.js +0 -51
  391. package/components/color-controller-DTp1juRz.js +0 -3198
  392. package/components/color-controller-_ZwyhvaU.cjs +0 -18
  393. package/components/color-loupe-CaA_Lfkk.cjs +0 -56
  394. package/components/color-loupe-CmMsXbjT.js +0 -81
  395. package/components/dependency-manger-C5HCkMMB.cjs +0 -18
  396. package/components/dependency-manger-CEXvGQUV.js +0 -54
  397. package/components/directive-C7oCP5Bh.cjs +0 -22
  398. package/components/directive-helpers-Cm6gitnu.js +0 -62
  399. package/components/directive-helpers-DyIRTWwA.cjs +0 -22
  400. package/components/divider.module-DDvBo9zo.cjs +0 -18
  401. package/components/divider.module-DoQWQEIJ.js +0 -21
  402. package/components/element-resolution-BvRLGqIU.cjs +0 -18
  403. package/components/element-resolution-FCUT-wql.js +0 -91
  404. package/components/field-group-DXfBWrkO.js +0 -66
  405. package/components/field-group-DkGst3r5.cjs +0 -23
  406. package/components/field-label-CZ2zzChK.js +0 -106
  407. package/components/field-label-mO1AkUgR.cjs +0 -25
  408. package/components/flow-D-0MTYCm.js +0 -527
  409. package/components/flow-DM3dNAKs.cjs +0 -30
  410. package/components/focus-group-DHeTq18L.js +0 -218
  411. package/components/focus-group-DnxZUBhQ.cjs +0 -18
  412. package/components/focus-visible-B0P9aY_G.cjs +0 -18
  413. package/components/focus-visible-DBlJGoEW.js +0 -74
  414. package/components/focusable-BxtpnzWp.js +0 -153
  415. package/components/focusable-EbipgXRh.cjs +0 -18
  416. package/components/index-BwxgAdzi.cjs +0 -57
  417. package/components/index-Cl54m8Yh.js +0 -1490
  418. package/components/index-HjQa8tew.js +0 -1174
  419. package/components/index-Wq3qZJGh.cjs +0 -113
  420. package/components/language-resolution-DJzmyzZq.cjs +0 -18
  421. package/components/like-anchor-Bvn_vLQ8.js +0 -69
  422. package/components/like-anchor-sod1C1fR.cjs +0 -32
  423. package/components/luzmo-icons-4nDFv1Lq.js +0 -229
  424. package/components/luzmo-icons-D4IvHgVd.cjs +0 -29
  425. package/components/manage-help-text-DhgARkZX.cjs +0 -30
  426. package/components/manage-help-text-syYnjKGL.js +0 -92
  427. package/components/mutation-controller-DH7YOCyj.js +0 -52
  428. package/components/mutation-controller-DkOMCW-c.cjs +0 -22
  429. package/components/observe-slot-presence-CmVi0zTc.js +0 -68
  430. package/components/observe-slot-presence-bc9chhsi.cjs +0 -18
  431. package/components/observe-slot-text-BPfIQQtz.js +0 -87
  432. package/components/observe-slot-text-Ceb7SvYT.cjs +0 -18
  433. package/components/overlay-Cig9r6uU.js +0 -2747
  434. package/components/overlay-KSKMzzkh.cjs +0 -47
  435. package/components/pending-state-DTX7ggyF.js +0 -61
  436. package/components/picker-BfBP7XJN.js +0 -461
  437. package/components/picker-xIphqE6d.cjs +0 -123
  438. package/components/platform-BiXhwqk3.cjs +0 -18
  439. package/components/popover-DjX0aAnY.js +0 -67
  440. package/components/popover-KFfO0IYL.cjs +0 -30
  441. package/components/progress-circle-BvRJNuNo.cjs +0 -33
  442. package/components/progress-circle-DXH9z8-6.js +0 -97
  443. package/components/query-BL-TJj7K.cjs +0 -22
  444. package/components/query-D_KR_GUc.js +0 -51
  445. package/components/query-assigned-elements-DjfhL1cl.js +0 -36
  446. package/components/query-assigned-elements-DsKsfk7G.cjs +0 -22
  447. package/components/query-assigned-nodes-BcKWmGzy.cjs +0 -22
  448. package/components/roving-tabindex-By_fCy_e.cjs +0 -18
  449. package/components/roving-tabindex-DOg4z6ZU.js +0 -66
  450. package/components/sized-mixin-CPxE5C96.cjs +0 -18
  451. package/components/sized-mixin-D4ACoVUr.js +0 -63
  452. package/components/slottable-request-event-BfUUt1Mh.cjs +0 -18
  453. package/components/slottable-request-event-DggLA4Rx.js +0 -31
  454. package/components/state-D8JEtYqe.cjs +0 -22
  455. package/components/strategies-9indNIEb.js +0 -195
  456. package/components/strategies-BACP6MhR.cjs +0 -18
  457. package/components/streaming-listener-B00MvALi.cjs +0 -18
  458. package/components/streaming-listener-CP-JE6Fa.js +0 -91
  459. package/components/style-map-CeilmSgs.cjs +0 -22
  460. package/components/style-map-IgqIKvlE.js +0 -53
  461. package/components/text-field-BTkr42k4.cjs +0 -85
  462. package/components/text-field-ol9Ed5lQ.js +0 -314
  463. package/components/text-field.module-ColtFhf_.js +0 -21
  464. package/components/text-field.module-p_VF2tC_.cjs +0 -18
  465. package/components/unit-input/index.cjs +0 -43
  466. package/components/unit-input/index.d.ts +0 -7
  467. package/components/unit-input/index.js +0 -183
  468. package/components/unit-input/unit-input.d.ts +0 -33
  469. /package/components/date-time-picker/{helpers.d.ts → shared/helpers.d.ts} +0 -0
  470. /package/components/date-time-picker/{segments → shared/segments}/date/day-segment.d.ts +0 -0
  471. /package/components/date-time-picker/{segments → shared/segments}/date/month-segment.d.ts +0 -0
  472. /package/components/date-time-picker/{segments → shared/segments}/date/year-segment.d.ts +0 -0
  473. /package/components/date-time-picker/{segments → shared/segments}/date-time-segments.d.ts +0 -0
  474. /package/components/date-time-picker/{segments → shared/segments}/editable-segment.d.ts +0 -0
  475. /package/components/date-time-picker/{segments → shared/segments}/literal-segment.d.ts +0 -0
  476. /package/components/date-time-picker/{segments → shared/segments}/modifiers/clear-modifier.d.ts +0 -0
  477. /package/components/date-time-picker/{segments → shared/segments}/modifiers/decrement-modifier.d.ts +0 -0
  478. /package/components/date-time-picker/{segments → shared/segments}/modifiers/increment-modifier.d.ts +0 -0
  479. /package/components/date-time-picker/{segments → shared/segments}/modifiers/input-modifier.d.ts +0 -0
  480. /package/components/date-time-picker/{segments → shared/segments}/modifiers/segments-modifier.d.ts +0 -0
  481. /package/components/date-time-picker/{segments → shared/segments}/segments-factory.d.ts +0 -0
  482. /package/components/date-time-picker/{segments → shared/segments}/segments-formatter.d.ts +0 -0
  483. /package/components/date-time-picker/{segments → shared/segments}/time/day-period-segment.d.ts +0 -0
  484. /package/components/date-time-picker/{segments → shared/segments}/time/hour-segment.d.ts +0 -0
  485. /package/components/date-time-picker/{segments → shared/segments}/time/millisecond-segment.d.ts +0 -0
  486. /package/components/date-time-picker/{segments → shared/segments}/time/minute-segment.d.ts +0 -0
  487. /package/components/date-time-picker/{segments → shared/segments}/time/second-segment.d.ts +0 -0
@@ -0,0 +1,619 @@
1
+ /*! * Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
+ * This license allows users with a current active Luzmo account to use Lucero.
7
+ * This license terminates automatically if a user no longer has an active Luzmo account.
8
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
+ * SOFTWARE.
17
+ * */
18
+ import { n as e, t } from "./decorate-aGxJUVxg.js";
19
+ import { n } from "./sized-mixin-DaBoZkVS.js";
20
+ import "./icon-CwBAE1eU.js";
21
+ import "./action-button-B4_UEJle.js";
22
+ import { html as r, unsafeCSS as i } from "lit";
23
+ import { property as a, state as o } from "lit/decorators.js";
24
+ import { luzmoAngleLeft as s, luzmoAngleRight as c } from "@luzmo/icons";
25
+ import { ifDefined as l } from "lit/directives/if-defined.js";
26
+ import { classMap as u } from "lit/directives/class-map.js";
27
+ import { DateFormatter as d, endOfMonth as f, endOfWeek as p, getLocalTimeZone as m, getWeeksInMonth as h, isSameDay as g, isSameMonth as _, parseDate as v, startOfMonth as y, startOfWeek as b, toCalendarDate as x, today as S } from "@internationalized/date";
28
+ import { NumberFormatter as C } from "@internationalized/number";
29
+ //#region src/components/calendar/calendar.module.scss?inline
30
+ var w = ":host{inline-size:var(--luzmo-calendar-width,var(--calendar-width));display:inline-block}.header{align-items:center;inline-size:100%;display:flex}.title{color:var(--highcontrast-calendar-date-text-color,var(--luzmo-calendar-date-text-color,var(--calendar-date-text-color)));font-size:var(--luzmo-calendar-title-text-size,var(--calendar-title-text-size));font-weight:var(--luzmo-calendar-title-font-weight,var(--calendar-title-font-weight));line-height:var(--luzmo-calendar-title-height,var(--calendar-title-height));text-align:center;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;order:1;margin:0;overflow:hidden}.nextMonth,.prevMonth{transform:var(--logical-rotation)}.nextMonth:not([disabled]),.prevMonth:not([disabled]){color:var(--highcontrast-calendar-button-icon-color,var(--luzmo-calendar-button-icon-color,var(--calendar-button-icon-color)))}.prevMonth{order:0}.nextMonth{order:2}.dayOfWeek{inline-size:var(--luzmo-calendar-day-width,var(--calendar-day-width));color:var(--highcontrast-calendar-day-title-text-color,var(--luzmo-calendar-day-title-text-color,var(--calendar-day-title-text-color)));font-size:var(--luzmo-calendar-day-title-text-size,var(--calendar-day-title-text-size));font-weight:var(--luzmo-calendar-day-title-text-font-weight,var(--calendar-day-title-text-font-weight));text-transform:uppercase;cursor:default;flex-direction:column;justify-content:flex-end;display:flex;border-block-end:none!important;-webkit-text-decoration:none!important;text-decoration:none!important}:host([title]) .dayOfWeek{letter-spacing:var(--luzmo-calendar-title-text-letter-spacing,var(--calendar-title-text-letter-spacing));text-decoration:underline;border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.body{outline:none}.table{table-layout:fixed;border-collapse:collapse;border-spacing:0;-webkit-user-select:none;user-select:none}.table-cell{text-align:center;box-sizing:initial;block-size:var(--luzmo-calendar-day-height,var(--calendar-day-height));inline-size:var(--luzmo-calendar-day-width,var(--calendar-day-width));padding:var(--luzmo-calendar-day-padding,var(--calendar-day-padding));position:relative}.table-cell:focus{outline:0}.date{box-sizing:border-box;block-size:var(--luzmo-calendar-day-height,var(--calendar-day-height));inline-size:var(--luzmo-calendar-day-width,var(--calendar-day-width));margin:var(--luzmo-calendar-day-padding,var(--calendar-day-padding));border-radius:var(--luzmo-calendar-day-border-radius,var(--calendar-day-border-radius));border:var(--luzmo-calendar-day-border-size,var(--calendar-day-border-size)) solid transparent;font-size:var(--luzmo-calendar-day-text-size,var(--calendar-day-text-size));line-height:calc(var(--luzmo-calendar-day-width,var(--calendar-day-width)) - var(--luzmo-calendar-day-border-size,var(--calendar-day-border-size)) * 2);white-space:nowrap;cursor:pointer;display:block;position:absolute;inset-block-start:0;inset-inline-start:0}.date:lang(ja),.date:lang(ko),.date:lang(zh){font-size:var(--luzmo-calendar-day-text-size-han,var(--calendar-day-text-size-han))}.date.is-disabled{cursor:default;pointer-events:none}.date.is-outsideMonth{display:none}.date:before{content:\"\";box-sizing:border-box;inline-size:var(--luzmo-calendar-day-width,var(--calendar-day-width));block-size:var(--luzmo-calendar-day-height,var(--calendar-day-height));border-radius:var(--luzmo-calendar-day-border-radius,var(--calendar-day-border-radius));border:var(--luzmo-calendar-day-border-size,var(--calendar-day-border-size)) solid transparent;position:absolute;inset-block-start:calc(50% - var(--luzmo-calendar-day-width,var(--calendar-day-width)) / 2);inset-inline-start:calc(50% - var(--luzmo-calendar-day-width,var(--calendar-day-width)) / 2)}.date.is-selected:not(.is-range-selection){font-weight:var(--luzmo-calendar-day-text-font-weight-selected,var(--calendar-day-text-font-weight-selected))}.date.is-selected:not(.is-range-selection):before{display:none}.date.is-today{font-weight:var(--luzmo-calendar-day-today-text-font-weight,var(--calendar-day-today-text-font-weight))}.date.is-range-selection{margin:var(--luzmo-calendar-day-padding,var(--calendar-day-padding)) 0;border-width:var(--luzmo-calendar-border-width-reset,var(--calendar-border-width-reset));line-height:var(--luzmo-calendar-day-height,var(--calendar-day-height));border-radius:var(--luzmo-calendar-border-radius-reset,var(--calendar-border-radius-reset));inline-size:calc(var(--luzmo-calendar-day-width,var(--calendar-day-width)) + var(--luzmo-calendar-day-padding,var(--calendar-day-padding)) * 2)}.date.is-range-selection.is-range-end,.date.is-range-selection.is-range-start,.date.is-range-selection.is-selection-end,.date.is-range-selection.is-selection-start{inline-size:calc(var(--luzmo-calendar-day-width,var(--calendar-day-width)) + var(--luzmo-calendar-day-padding,var(--calendar-day-padding)))}.date.is-range-selection.is-selection-end,.date.is-range-selection.is-selection-start{font-weight:var(--luzmo-calendar-day-text-font-weight-cap-selected,var(--calendar-day-text-font-weight-cap-selected));z-index:0}.date.is-range-selection.is-selection-end:after,.date.is-range-selection.is-selection-start:after{block-size:var(--luzmo-calendar-day-height,var(--calendar-day-height));inline-size:var(--luzmo-calendar-day-width,var(--calendar-day-width));border-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width));content:\"\";z-index:-1;display:block;position:absolute;inset-block-start:0}.date.is-range-selection.is-range-start,.date.is-range-selection.is-selection-start{border-start-start-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width));border-end-start-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width));margin-inline-start:var(--luzmo-calendar-day-padding,var(--calendar-day-padding));padding-inline-end:var(--luzmo-calendar-day-padding,var(--calendar-day-padding))}.date.is-range-selection.is-range-start:after,.date.is-range-selection.is-range-start:before,.date.is-range-selection.is-selection-start:after,.date.is-range-selection.is-selection-start:before{inset-inline-start:0}.date.is-range-selection.is-range-end,.date.is-range-selection.is-selection-end{border-start-end-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width));border-end-end-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width));margin-inline-end:var(--luzmo-calendar-day-padding,var(--calendar-day-padding));padding-inline-start:var(--luzmo-calendar-day-padding,var(--calendar-day-padding))}.date.is-range-selection.is-range-end:after,.date.is-range-selection.is-range-end:before,.date.is-range-selection.is-selection-end:after,.date.is-range-selection.is-selection-end:before{inset-inline:auto 0}.date.is-range-selection.is-range-start.is-range-end,.date.is-range-selection.is-selection-end.is-range-start,.date.is-range-selection.is-selection-start.is-range-end,.date.is-range-selection.is-selection-start.is-selection-end{inline-size:var(--luzmo-calendar-day-width,var(--calendar-day-width));border-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width))}.date{color:var(--highcontrast-calendar-day-text-color,var(--luzmo-calendar-day-text-color,var(--calendar-day-text-color)))}.date:active{background-color:var(--highcontrast-calendar-day-background-color-down,var(--luzmo-calendar-day-background-color-down,var(--calendar-day-background-color-down)))}.date.is-selected{color:var(--highcontrast-calendar-day-text-color-selected,var(--luzmo-calendar-day-text-color-selected,var(--calendar-day-text-color-selected)));background:var(--highcontrast-calendar-day-background-color-selected,var(--luzmo-calendar-day-background-color-selected,var(--calendar-day-background-color-selected)))}.date.is-selected:not(.is-range-selection){background:var(--highcontrast-calendar-day-background-color-cap-selected,var(--luzmo-calendar-day-background-color-cap-selected,var(--calendar-day-background-color-cap-selected)));color:var(--highcontrast-calendar-day-text-color-cap-selected,var(--luzmo-calendar-day-text-color-cap-selected,var(--calendar-day-text-color-cap-selected)));border-color:var(--highcontrast-calendar-day-border-color-cap-selected,var(--luzmo-calendar-day-border-color-cap-selected,var(--calendar-day-border-color-cap-selected)))}.date.is-today{color:var(--highcontrast-calendar-day-today-text-color,var(--luzmo-calendar-day-today-text-color,var(--calendar-day-today-text-color)));background-color:var(--highcontrast-calendar-day-today-background-color,var(--luzmo-calendar-day-today-background-color,var(--calendar-day-today-background-color)))}.date.is-today,.date.is-today:before{border-color:var(--highcontrast-calendar-day-today-border-color,var(--luzmo-calendar-day-today-border-color,var(--calendar-day-today-border-color)))}@media (hover:hover){.date:hover{color:var(--highcontrast-calendar-day-text-color-hover,var(--luzmo-calendar-day-text-color-hover,var(--calendar-day-text-color-hover)))}.date:hover:not(.is-selection-end,.is-selection-start):before{background:var(--highcontrast-calendar-day-background-color-hover,var(--luzmo-calendar-day-background-color-hover,var(--calendar-day-background-color-hover)))}.date.is-range-selection:hover:before,.date.is-selected:hover:not(.is-selection-end,.is-selection-start):before{background:var(--highcontrast-calendar-day-background-color-selected-hover,var(--luzmo-calendar-day-background-color-selected-hover,var(--calendar-day-background-color-selected-hover)))}.date.is-today.is-selected:not(.is-range-selection):hover:before{background:var(--highcontrast-calendar-day-today-background-color-selected-hover,var(--luzmo-calendar-day-today-background-color-selected-hover,var(--calendar-day-today-background-color-selected-hover)))}}.date.is-today.is-disabled{color:var(--highcontrast-calendar-day-today-text-color-disabled,var(--luzmo-calendar-day-today-text-color-disabled,var(--calendar-day-today-text-color-disabled)))}.date.is-today.is-disabled,.date.is-today.is-disabled:before{border-color:var(--highcontrast-calendar-day-today-border-color-disabled,var(--luzmo-calendar-day-today-border-color-disabled,var(--calendar-day-today-border-color-disabled)))}.table-cell:focus-within .date:not(.is-range-selection){background:var(--highcontrast-calendar-day-background-color-key-focus,var(--luzmo-calendar-day-background-color-key-focus,var(--calendar-day-background-color-key-focus)));color:var(--highcontrast-calendar-day-text-color-key-focus,var(--luzmo-calendar-day-text-color-key-focus,var(--calendar-day-text-color-key-focus)))}.table-cell:focus-within .date.is-selected:not(.is-range-selection),.table-cell:focus-within .date.is-today:not(.is-range-selection),.table-cell:focus-within .date:not(.is-range-selection),.table-cell:focus-within .date:not(.is-range-selection):active{border-color:var(--highcontrast-calendar-day-border-color-key-focus,var(--luzmo-calendar-day-border-color-key-focus,var(--calendar-day-border-color-key-focus)))}.table-cell:focus-within .date.is-selected:not(.is-range-selection),.table-cell:focus-within .date:not(.is-range-selection):active{color:var(--highcontrast-calendar-day-text-color-selected,var(--luzmo-calendar-day-text-color-selected,var(--calendar-day-text-color-selected)));background:var(--highcontrast-calendar-day-background-color-cap-selected,var(--luzmo-calendar-day-background-color-cap-selected,var(--calendar-day-background-color-cap-selected)));border-color:var(--highcontrast-calendar-day-border-color-key-focus,var(--luzmo-calendar-day-border-color-cap-selected-focus,var(--calendar-day-border-color-cap-selected-focus)))}.table-cell:focus-within .date.is-range-selection:before,.table-cell:focus-within .date.is-selected:before{background:var(--highcontrast-calendar-day-background-color-selected-hover,var(--luzmo-calendar-day-background-color-selected-hover,var(--calendar-day-background-color-selected-hover)))}.table-cell:focus-within .date:before{border-color:var(--highcontrast-calendar-day-border-color-key-focus,var(--luzmo-calendar-day-border-color-key-focus,var(--calendar-day-border-color-key-focus)))}.date.is-disabled{color:var(--highcontrast-calendar-day-text-color-disabled,var(--luzmo-calendar-day-text-color-disabled,var(--calendar-day-text-color-disabled)))}.date.is-selection-end,.date.is-selection-start{color:var(--highcontrast-calendar-day-text-color-cap-selected,var(--luzmo-calendar-day-text-color-cap-selected,var(--calendar-day-text-color-cap-selected)))}.date.is-range-selection:not(.is-selection-start):not(.is-selection-end){color:var(--highcontrast-calendar-day-text-color,var(--luzmo-calendar-day-text-color-range-selection,var(--calendar-day-text-color-range-selection,var(--calendar-day-text-color))))}.date.is-selection-end:after,.date.is-selection-start:after{background-color:var(--highcontrast-calendar-day-background-color-cap-selected,var(--luzmo-calendar-day-background-color-cap-selected,var(--calendar-day-background-color-cap-selected)))}.date.is-selection-end.is-disabled,.date.is-selection-start.is-disabled{color:var(--highcontrast-calendar-day-text-color-disabled,var(--luzmo-calendar-day-text-color-disabled,var(--calendar-day-text-color-disabled)))}@media (forced-colors:active){.nextMonth,.prevMonth{--highcontrast-calendar-button-icon-color:ButtonText}.date{--highcontrast-calendar-day-background-color-cap-selected:Highlight;--highcontrast-calendar-day-background-color-down:ButtonFace;--highcontrast-calendar-day-background-color-hover:Transparent;--highcontrast-calendar-day-background-color-key-focus:ButtonFace;--highcontrast-calendar-day-background-color-selected-hover:Transparent;--highcontrast-calendar-day-background-color-selected:Highlight;--highcontrast-calendar-day-border-color-key-focus:ButtonText;--highcontrast-calendar-day-text-color-cap-selected:HighlightText;--highcontrast-calendar-day-text-color-disabled:GrayText;--highcontrast-calendar-day-text-color-hover:ButtonText;--highcontrast-calendar-day-text-color-key-focus:ButtonText;--highcontrast-calendar-day-text-color-selected:HighlightText;--highcontrast-calendar-day-text-color:CanvasText;--highcontrast-calendar-date-text-color:CanvasText;--highcontrast-calendar-day-title-text-color:CanvasText;--highcontrast-calendar-day-today-background-color-selected-hover:Highlight;--highcontrast-calendar-day-today-border-color-disabled:GrayText;--highcontrast-calendar-day-today-border-color:ButtonText;--highcontrast-calendar-day-today-text-color-disabled:GrayText;--highcontrast-calendar-day-today-text-color:ButtonText;forced-color-adjust:none}.date.is-range-selection.is-today{color:highlighttext}.date.is-range-selection.is-selection-end:after,.date.is-range-selection.is-selection-start:after{content:none}.date.is-disabled.is-range-selection,.date.is-disabled.is-selected{color:highlighttext;background:highlight}}:host{--calendar-background-color:var(--luzmo-background-color-white);font-family:var(--luzmo-font-family);--calendar-day-width:var(--luzmo-component-height);--calendar-day-height:var(--luzmo-component-height);--calendar-border-radius-reset:0;--calendar-border-width-reset:0;--calendar-day-border-size:var(--luzmo-border-width);--calendar-margin-y:calc(var(--luzmo-spacing) * 3);--calendar-margin-x:var(--luzmo-component-height);--calendar-day-padding:var(--luzmo-spacing-2);--calendar-width:calc((var(--calendar-day-width) + var(--calendar-day-padding) * 2) * 7);--calendar-title-text-letter-spacing:.06em;--calendar-day-title-text-font-weight:bold;--calendar-day-title-text-color:var(--luzmo-font-color-disabled);--calendar-title-height:var(--luzmo-component-height);--calendar-title-font-weight:bold;--calendar-title-text-size:var(--luzmo-font-size);--calendar-day-title-text-size:var(--luzmo-font-size);--calendar-day-text-size-han:var(--luzmo-font-size);--calendar-date-text-color:var(--luzmo-font-color);--calendar-day-text-color:var(--luzmo-font-color);--calendar-day-text-size:var(--luzmo-font-size);--calendar-day-border-radius:var(--luzmo-border-radius);--calendar-day-text-color-selected:var(--luzmo-primary-inverse-color);--calendar-day-text-color-hover:var(--luzmo-font-color-hover);--calendar-day-text-color-cap-selected:var(--luzmo-primary-inverse-color);--calendar-day-border-color-cap-selected:var(--luzmo-primary);--calendar-day-border-color-cap-selected-focus:var(--luzmo-primary-focus);--calendar-day-text-font-weight-selected:var(--bold-font-weight);--calendar-day-text-font-weight-cap-selected:var(--bold-font-weight);--calendar-day-today-text-color:var(--luzmo-primary);--calendar-day-today-background-color:var(--luzmo-background-color-hover);--calendar-day-today-text-font-weight:normal;--calendar-day-today-border-color:transparent;--calendar-day-today-text-color-disabled:var(--luzmo-font-color-disabled);--calendar-day-today-border-color-disabled:transparent;--calendar-day-text-color-disabled:var(--luzmo-font-color-disabled);--calendar-day-text-color-key-focus:var(--luzmo-primary-down);--calendar-day-background-color-selected:rgba(var(--luzmo-primary-rgb), .1);--calendar-day-text-color-range-selection:var(--luzmo-font-color);--calendar-day-background-color-cap-selected:var(--luzmo-primary);--calendar-button-icon-color:var(--luzmo-font-color)}:is(:host:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),:host([dir=rtl])){--logical-rotation:matrix(-1, 0, 0, 1, 0, 0)}:host([size=s]){--calendar-day-width:var(--luzmo-component-height-s);--calendar-day-height:var(--luzmo-component-height-s);--calendar-day-border-radius:var(--luzmo-border-radius-s);--calendar-title-height:var(--luzmo-component-height-s);--calendar-title-text-size:var(--luzmo-font-size-s);--calendar-day-title-text-size:var(--luzmo-font-size-s);--calendar-day-text-size-han:var(--luzmo-font-size-s);--calendar-day-text-size:var(--luzmo-font-size-s)}:host([size=l]){--calendar-day-width:var(--luzmo-component-height-l);--calendar-day-height:var(--luzmo-component-height-l);--calendar-day-border-radius:var(--luzmo-border-radius-l);--calendar-title-height:var(--luzmo-component-height-l);--calendar-title-text-size:var(--luzmo-font-size-l);--calendar-day-title-text-size:var(--luzmo-font-size-l);--calendar-day-text-size-han:var(--luzmo-font-size-l);--calendar-day-text-size:var(--luzmo-font-size-l)}:host([size=xl]){--calendar-day-width:var(--luzmo-component-height-xl);--calendar-day-height:var(--luzmo-component-height-xl);--calendar-day-border-radius:var(--luzmo-border-radius-xl);--calendar-title-height:var(--luzmo-component-height-xl);--calendar-title-text-size:var(--luzmo-font-size-xl);--calendar-day-title-text-size:var(--luzmo-font-size-xl);--calendar-day-text-size-han:var(--luzmo-font-size-xl);--calendar-day-text-size:var(--luzmo-font-size-xl)}.table-cell span[role=button]{border-radius:var(--luzmo-calendar-day-width,var(--calendar-day-width))}.title-clickable{all:unset;cursor:pointer;-webkit-user-select:none;user-select:none;font:inherit;color:inherit;border-radius:var(--luzmo-border-radius,4px);padding-inline:var(--luzmo-spacing-2,4px);transition:background-color var(--luzmo-animation-duration,.13s) ease}.title-clickable:hover{background-color:var(--luzmo-calendar-title-background-color-hover,var(--luzmo-background-color-hover,#0000000d))}.title-clickable:focus-visible{outline:var(--luzmo-indicator-width,2px) solid var(--luzmo-indicator-color,var(--luzmo-primary));outline-offset:var(--luzmo-indicator-gap,2px)}.year-grid{gap:var(--luzmo-spacing-2,4px);padding:var(--luzmo-spacing-2,4px) 0;grid-template-columns:repeat(4,1fr);display:grid}.year-cell{block-size:var(--luzmo-calendar-day-height,var(--calendar-day-height));border:var(--luzmo-border-width,1px) solid transparent;border-radius:var(--luzmo-calendar-day-border-radius,var(--calendar-day-border-radius));color:var(--luzmo-calendar-day-text-color,var(--calendar-day-text-color));font-family:var(--luzmo-font-family,inherit);font-size:var(--luzmo-calendar-day-text-size,var(--calendar-day-text-size));cursor:pointer;transition:background-color var(--luzmo-animation-duration,.13s) ease;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.year-cell:hover{background-color:var(--luzmo-calendar-day-background-color-hover,var(--luzmo-background-color-hover,#0000000d));color:var(--luzmo-calendar-day-text-color-hover,var(--calendar-day-text-color-hover))}.year-cell:focus-visible{outline:var(--luzmo-indicator-width,2px) solid var(--luzmo-indicator-color,var(--luzmo-primary));outline-offset:var(--luzmo-indicator-gap,2px)}.year-cell.is-selected{background-color:var(--luzmo-calendar-day-background-color-cap-selected,var(--calendar-day-background-color-cap-selected));color:var(--luzmo-calendar-day-text-color-cap-selected,var(--calendar-day-text-color-cap-selected));font-weight:var(--luzmo-calendar-day-text-font-weight-cap-selected,var(--calendar-day-text-font-weight-cap-selected,bold))}.year-cell.is-current-year:not(.is-selected){color:var(--luzmo-calendar-day-today-text-color,var(--calendar-day-today-text-color));font-weight:var(--bold-font-weight,bold)}", T = class extends n(e, {
31
+ validSizes: [
32
+ "s",
33
+ "m",
34
+ "l",
35
+ "xl"
36
+ ],
37
+ noDefaultSize: !0
38
+ }) {
39
+ static get styles() {
40
+ return [i(w)];
41
+ }
42
+ get _language() {
43
+ try {
44
+ return this.language ? new Intl.Locale(this.language).language : "en";
45
+ } catch {
46
+ return "en";
47
+ }
48
+ }
49
+ get today() {
50
+ return S(this.timeZone);
51
+ }
52
+ set isDateFocusIntent(e) {
53
+ this._isDateFocusIntent !== e && (this._isDateFocusIntent = e, this.requestUpdate("isDateFocusIntent", !e));
54
+ }
55
+ get isDateFocusIntent() {
56
+ return this._isDateFocusIntent;
57
+ }
58
+ setDateFocusIntent() {
59
+ this.isDateFocusIntent = !0;
60
+ }
61
+ resetDateFocusIntent() {
62
+ this.isDateFocusIntent = !1;
63
+ }
64
+ connectedCallback() {
65
+ super.connectedCallback(), document.addEventListener("mousedown", this.resetDateFocusIntent);
66
+ }
67
+ disconnectedCallback() {
68
+ super.disconnectedCallback(), document.removeEventListener("mousedown", this.resetDateFocusIntent);
69
+ }
70
+ clear() {
71
+ this._value = void 0;
72
+ }
73
+ constructor() {
74
+ super(), this.disabled = !1, this.labels = {
75
+ previous: "Previous",
76
+ next: "Next",
77
+ today: "Today",
78
+ selected: "Selected"
79
+ }, this.selectionMode = "single", this.currentDate = this.today, this.timeZone = m(), this.viewMode = "days", this.yearGridStart = this.today.year - this.today.year % 16, this.weekdays = [], this.currentMonthDates = [], this._isDateFocusIntent = !1, this.numberFormatter = new C(this._language), this.yearFormatter = new C(this._language, { useGrouping: !1 }), this.setNumberFormatter(), this.setWeekdays(), this.setCurrentMonthDates();
80
+ }
81
+ willUpdate(e) {
82
+ e.has("language") && (this.setNumberFormatter(), this.setWeekdays(), this.setCurrentMonthDates());
83
+ let t = e.has("min"), n = e.has("max"), r = e.has("value"), i = e.has("startDate"), a = e.has("endDate"), o = t || n || r, s = i || a;
84
+ o && (this.convertToCalendarDates(), this.checkDatePropsCompliance(t || n), this.updateCurrentDate()), s && (this.convertRangeDates(), this._startDate && !e.has("value") && !this.value && (this.currentDate = this._startDate));
85
+ let c = e.get("currentDate");
86
+ e.has("currentDate") && (!c || !_(c, this.currentDate)) && (this.setCurrentMonthDates(), this.setAttribute("aria-label", this.monthAndYear));
87
+ }
88
+ updated(e) {
89
+ if (e.has("currentDate") && this.isDateFocusIntent && this.focusCurrentDate(), e.has("currentDate")) {
90
+ let t = e.get("currentDate"), n = e.has("value") || e.has("startDate") || e.has("endDate");
91
+ t && !_(t, this.currentDate) && !n && this.dispatchEvent(new CustomEvent("month-change", {
92
+ bubbles: !0,
93
+ composed: !0,
94
+ detail: { date: y(this.currentDate).toString() }
95
+ }));
96
+ }
97
+ }
98
+ focusCurrentDate() {
99
+ let e = this.shadowRoot?.querySelector("td span[tabindex=\"0\"]");
100
+ e && e.focus();
101
+ }
102
+ parseDateOnly(e) {
103
+ return v(e.includes("T") ? e.split("T")[0] : e);
104
+ }
105
+ convertToCalendarDates() {
106
+ this._min = this.min ? this.parseDateOnly(this.min) : void 0, this._max = this.max ? this.parseDateOnly(this.max) : void 0, this._value = this.value ? this.parseDateOnly(this.value) : void 0, this._min = this._min && x(this._min).set({ era: "AD" }), this._max = this._max && x(this._max).set({ era: "AD" }), this._value = this._value && x(this._value).set({ era: "AD" });
107
+ }
108
+ convertRangeDates() {
109
+ this._startDate = this.startDate ? x(this.parseDateOnly(this.startDate)).set({ era: "AD" }) : void 0, this._endDate = this.endDate ? x(this.parseDateOnly(this.endDate)).set({ era: "AD" }) : void 0;
110
+ }
111
+ checkDatePropsCompliance(e) {
112
+ e && this._min && this._max && (this._min.compare(this._max) < 0 || (console.warn && console.warn(this, `<${this.localName}> expects the 'min' to be less than 'max'. Please ensure that 'min' property's date is earlier than 'max' property's date.`), this._min = void 0, this._max = void 0)), this._value && this.isNonCompliantDate(this._value) && (console.warn && console.warn(this, `<${this.localName}> expects the preselected value to comply with the min and max constraints. Please ensure that 'value' property's date is in between the dates for the 'min' and 'max' properties.`), this._value = void 0);
113
+ }
114
+ updateCurrentDate() {
115
+ if (this._value) {
116
+ this.currentDate = this._value;
117
+ return;
118
+ }
119
+ this.isNonCompliantDate(this.today) ? this._min ? this.currentDate = this._min : this._max && (this.currentDate = this._max) : this.currentDate = this.today;
120
+ }
121
+ isNonCompliantDate(e) {
122
+ return !!(this._min && e.compare(this._min) < 0 || this._max && e.compare(this._max) > 0);
123
+ }
124
+ render() {
125
+ return r`
126
+ ${this.renderCalendarHeader()}
127
+ ${this.viewMode === "years" ? this.renderYearGrid() : this.renderCalendarGrid()}
128
+ `;
129
+ }
130
+ get monthAndYear() {
131
+ return this.formatDate(this.currentDate, {
132
+ month: "long",
133
+ year: "numeric"
134
+ });
135
+ }
136
+ renderCalendarHeader() {
137
+ let e = this.viewMode === "years" ? `${this.formatYear(this.yearGridStart)} – ${this.formatYear(this.yearGridStart + 16 - 1)}` : this.monthAndYear, t = this.viewMode === "years" ? this.disabled : this.isPreviousMonthDisabled, n = this.viewMode === "years" ? this.disabled : this.isNextMonthDisabled, i = this.viewMode === "years" ? this.handlePreviousYearPage : this.handlePreviousMonth, a = this.viewMode === "years" ? this.handleNextYearPage : this.handleNextMonth;
138
+ return r`
139
+ <div class="header" @focusin=${this.resetDateFocusIntent}>
140
+ <h2
141
+ class="title"
142
+ aria-live="polite"
143
+ aria-atomic="true"
144
+ >
145
+ <button
146
+ class="title-clickable"
147
+ data-test-id="calendar-title"
148
+ @click=${this.toggleViewMode}
149
+ >
150
+ ${e}
151
+ </button>
152
+ </h2>
153
+
154
+ <luzmo-action-button
155
+ quiet
156
+ size="s"
157
+ label=${this.labels.previous}
158
+ class="prevMonth"
159
+ data-test-id="prev-btn"
160
+ ?disabled=${t}
161
+ @click=${i}
162
+ >
163
+ <div slot="icon">
164
+ <slot name="prev-icon">
165
+ <luzmo-icon
166
+ block
167
+ .size=${this.size}
168
+ .icon=${s}
169
+ ></luzmo-icon>
170
+ </slot>
171
+ </div>
172
+ </luzmo-action-button>
173
+
174
+ <luzmo-action-button
175
+ quiet
176
+ size="s"
177
+ label=${this.labels.next}
178
+ class="nextMonth"
179
+ data-test-id="next-btn"
180
+ ?disabled=${n}
181
+ @click=${a}
182
+ >
183
+ <div slot="icon">
184
+ <slot name="next-icon">
185
+ <luzmo-icon
186
+ block
187
+ .size=${this.size}
188
+ .icon=${c}
189
+ ></luzmo-icon>
190
+ </slot>
191
+ </div>
192
+ </luzmo-action-button>
193
+ </div>
194
+ `;
195
+ }
196
+ get isPreviousMonthDisabled() {
197
+ if (this.disabled) return !0;
198
+ let e = y(this.currentDate), t = e.subtract({ months: 1 });
199
+ return e.era !== t.era || g(e, t);
200
+ }
201
+ get isNextMonthDisabled() {
202
+ if (this.disabled) return !0;
203
+ let e = f(this.currentDate), t = e.add({ months: 1 });
204
+ return e.era !== t.era || g(e, t);
205
+ }
206
+ handlePreviousMonth() {
207
+ let e = y(this.currentDate).subtract({ months: 1 });
208
+ this._value && _(e, this._value) ? e = this._value : _(e, this.today) && (e = this.today), this.currentDate = e;
209
+ }
210
+ handleNextMonth() {
211
+ let e = y(this.currentDate).add({ months: 1 });
212
+ this._value && _(e, this._value) ? e = this._value : _(e, this.today) && (e = this.today), this.currentDate = e;
213
+ }
214
+ renderCalendarGrid() {
215
+ return r`
216
+ <table
217
+ role="grid"
218
+ aria-readonly="true"
219
+ aria-disabled=${this.disabled}
220
+ role="presentation"
221
+ class="table body"
222
+ @keydown=${this.handleKeydown}
223
+ >
224
+ ${this.renderCalendarTableHead()} ${this.renderCalendarTableBody()}
225
+ </table>
226
+ `;
227
+ }
228
+ renderCalendarTableHead() {
229
+ return r`
230
+ <thead role="presentation">
231
+ <tr role="row">
232
+ ${this.renderWeekdayColumns()}
233
+ </tr>
234
+ </thead>
235
+ `;
236
+ }
237
+ renderWeekdayColumns() {
238
+ return this.weekdays.map((e) => this.renderWeekdayColumn(e));
239
+ }
240
+ renderWeekdayColumn(e) {
241
+ return r`
242
+ <th role="columnheader" scope="col" class="table-cell">
243
+ <abbr class="dayOfWeek" title=${e.long}> ${e.narrow} </abbr>
244
+ </th>
245
+ `;
246
+ }
247
+ renderCalendarTableBody() {
248
+ return r`
249
+ <tbody role="presentation">
250
+ ${this.renderCalendarWeeks()}
251
+ </tbody>
252
+ `;
253
+ }
254
+ renderCalendarWeeks() {
255
+ return this.currentMonthDates.map((e) => r`
256
+ <tr role="row">
257
+ ${this.renderDatesInWeek(e)}
258
+ </tr>
259
+ `);
260
+ }
261
+ renderDatesInWeek(e) {
262
+ return e.map((e) => this.renderCalendarTableCell(e));
263
+ }
264
+ parseDateCellProperties(e) {
265
+ let t = {
266
+ isOutsideMonth: !1,
267
+ isSelected: !1,
268
+ isToday: !1,
269
+ isDisabled: !1,
270
+ isTabbable: !1,
271
+ isRangeSelection: !1,
272
+ isRangeStart: !1,
273
+ isRangeEnd: !1,
274
+ isSelectionStart: !1,
275
+ isSelectionEnd: !1
276
+ };
277
+ return t.isOutsideMonth = e.month !== this.currentDate.month, t.isOutsideMonth || (t.isDisabled = this.disabled || this.isMinLimitReached(e) || this.isMaxLimitReached(e), t.isToday = g(e, this.today), t.isDisabled) ? t : (t.isTabbable = g(e, this.currentDate), this.selectionMode === "range" ? this.computeRangeFlags(e, t) : t.isSelected = !!(this._value && g(this._value, e)), t);
278
+ }
279
+ computeRangeFlags(e, t) {
280
+ let n = this._startDate, r = this._endDate ?? this.hoveredDate;
281
+ if (!n) return;
282
+ let i = g(e, n);
283
+ if (t.isSelectionStart = i, t.isSelected = i, !r) {
284
+ i && (t.isRangeStart = !0, t.isRangeEnd = !0);
285
+ return;
286
+ }
287
+ let a = n, o = r;
288
+ a.compare(o) > 0 && (a = r, o = n);
289
+ let s = e.compare(a) >= 0, c = e.compare(o) <= 0;
290
+ s && c && (t.isRangeSelection = !0, t.isSelected = !0), t.isRangeStart = g(e, a), t.isRangeEnd = g(e, o), t.isSelectionStart = t.isRangeStart, t.isSelectionEnd = t.isRangeEnd;
291
+ }
292
+ renderCalendarTableCell(e) {
293
+ let { isOutsideMonth: t, isSelected: n, isToday: i, isDisabled: a, isTabbable: o, isRangeSelection: s, isRangeStart: c, isRangeEnd: d, isSelectionStart: f, isSelectionEnd: p } = this.parseDateCellProperties(e), m = {
294
+ date: !0,
295
+ "is-outsideMonth": t,
296
+ "is-selected": n,
297
+ "is-today": i,
298
+ "is-disabled": a,
299
+ "is-range-selection": s,
300
+ "is-range-start": c,
301
+ "is-range-end": d,
302
+ "is-selection-start": f,
303
+ "is-selection-end": p
304
+ }, h = "";
305
+ i ? h = `${this.labels.today}, ` : n && (h = `${this.labels.selected}, `);
306
+ let g = h + this.formatDate(e, {
307
+ weekday: "long",
308
+ year: "numeric",
309
+ month: "long",
310
+ day: "numeric"
311
+ });
312
+ return r`
313
+ <td role="gridcell" class="table-cell">
314
+ <span
315
+ role="button"
316
+ tabindex=${l(t ? void 0 : o ? "0" : "-1")}
317
+ aria-label=${g}
318
+ aria-disabled=${t || a}
319
+ data-value=${e.toString()}
320
+ @mousedown=${this.handleDaySelect}
321
+ @mouseenter=${this.handleDayHover}
322
+ >
323
+ <span role="presentation" class=${u(m)}>
324
+ ${this.formatNumber(e.day)}
325
+ </span>
326
+ </span>
327
+ </td>
328
+ `;
329
+ }
330
+ handleKeydown(e) {
331
+ switch (this.setDateFocusIntent(), e.code) {
332
+ case "ArrowLeft":
333
+ this.moveToPreviousDay();
334
+ break;
335
+ case "ArrowDown":
336
+ this.moveToNextWeek();
337
+ break;
338
+ case "ArrowRight":
339
+ this.moveToNextDay();
340
+ break;
341
+ case "ArrowUp":
342
+ this.moveToPreviousWeek();
343
+ break;
344
+ case "Space":
345
+ case "Enter":
346
+ this.handleDaySelect(e);
347
+ break;
348
+ case "PageUp":
349
+ e.preventDefault(), e.shiftKey ? this.moveToPreviousYear() : this.moveToKeyboardPreviousMonth();
350
+ break;
351
+ case "PageDown":
352
+ e.preventDefault(), e.shiftKey ? this.moveToNextYear() : this.moveToKeyboardNextMonth();
353
+ break;
354
+ case "Home":
355
+ e.preventDefault(), this.moveToStartOfWeek();
356
+ break;
357
+ case "End":
358
+ e.preventDefault(), this.moveToEndOfWeek();
359
+ break;
360
+ }
361
+ }
362
+ handleDaySelect(e) {
363
+ if (this.disabled) {
364
+ e.preventDefault();
365
+ return;
366
+ }
367
+ let t = e.target.closest("span[role=\"button\"]"), n = t && t.dataset.value;
368
+ if (!n) return;
369
+ let r = v(n);
370
+ if (this.isMinLimitReached(r) || this.isMaxLimitReached(r)) {
371
+ e.preventDefault();
372
+ return;
373
+ }
374
+ if (this.selectionMode === "range") {
375
+ this.handleRangeSelect(r);
376
+ return;
377
+ }
378
+ if (this._value && g(this._value, r)) {
379
+ e.preventDefault();
380
+ return;
381
+ }
382
+ this._value = r, this.value = r.toString(), this.dispatchEvent(new CustomEvent("change", {
383
+ bubbles: !0,
384
+ composed: !0,
385
+ cancelable: !0,
386
+ detail: { value: this.value }
387
+ }));
388
+ }
389
+ handleRangeSelect(e) {
390
+ if (!this._startDate || this._endDate) {
391
+ this._startDate = e, this._endDate = void 0, this.hoveredDate = void 0, this.startDate = e.toString(), this.endDate = void 0, this.dispatchEvent(new CustomEvent("range-select", {
392
+ bubbles: !0,
393
+ composed: !0,
394
+ cancelable: !0,
395
+ detail: {
396
+ startDate: this.startDate,
397
+ endDate: void 0
398
+ }
399
+ }));
400
+ return;
401
+ }
402
+ let t = this._startDate, n = e;
403
+ t.compare(n) > 0 && (n = t, t = e), this._startDate = t, this._endDate = n, this.hoveredDate = void 0, this.startDate = t.toString(), this.endDate = n.toString(), this.dispatchEvent(new CustomEvent("range-select", {
404
+ bubbles: !0,
405
+ composed: !0,
406
+ cancelable: !0,
407
+ detail: {
408
+ startDate: this.startDate,
409
+ endDate: this.endDate
410
+ }
411
+ }));
412
+ }
413
+ handleDayHover(e) {
414
+ if (this.selectionMode !== "range" || !this._startDate || this._endDate) return;
415
+ let t = e.target.closest("span[role=\"button\"]"), n = t && t.dataset.value;
416
+ n && (this.hoveredDate = v(n), this.dispatchEvent(new CustomEvent("hover-date", {
417
+ bubbles: !0,
418
+ composed: !0,
419
+ detail: { date: n }
420
+ })));
421
+ }
422
+ toggleViewMode() {
423
+ this.disabled || (this.viewMode === "days" ? (this.yearGridStart = this.currentDate.year - this.currentDate.year % 16, this.viewMode = "years") : this.viewMode = "days");
424
+ }
425
+ handlePreviousYearPage() {
426
+ this.yearGridStart -= 16;
427
+ }
428
+ handleNextYearPage() {
429
+ this.yearGridStart += 16;
430
+ }
431
+ handleYearSelect(e) {
432
+ this.currentDate = this.currentDate.set({
433
+ year: e,
434
+ month: 1,
435
+ day: 1
436
+ }), this.setCurrentMonthDates(), this.viewMode = "days";
437
+ }
438
+ renderYearGrid() {
439
+ let e = Array.from({ length: 16 }, (e, t) => this.yearGridStart + t), t = this.today.year;
440
+ return r`
441
+ <div
442
+ class="year-grid"
443
+ role="grid"
444
+ aria-label="${this.formatYear(this.yearGridStart)} – ${this.formatYear(this.yearGridStart + 16 - 1)}"
445
+ @keydown=${this.handleYearGridKeydown}
446
+ >
447
+ ${e.map((e) => {
448
+ let n = this.currentDate.year === e;
449
+ return r`
450
+ <button
451
+ class=${u({
452
+ "year-cell": !0,
453
+ "is-selected": n,
454
+ "is-current-year": t === e
455
+ })}
456
+ tabindex=${n ? "0" : "-1"}
457
+ data-year=${e}
458
+ aria-label=${e.toString()}
459
+ aria-selected=${n}
460
+ @click=${() => this.handleYearSelect(e)}
461
+ >
462
+ ${this.formatYear(e)}
463
+ </button>
464
+ `;
465
+ })}
466
+ </div>
467
+ `;
468
+ }
469
+ handleYearGridKeydown(e) {
470
+ let t = e.target, n = Number(t.dataset.year);
471
+ if (!n) return;
472
+ let r;
473
+ switch (e.code) {
474
+ case "ArrowLeft":
475
+ r = n - 1;
476
+ break;
477
+ case "ArrowRight":
478
+ r = n + 1;
479
+ break;
480
+ case "ArrowUp":
481
+ r = n - 4;
482
+ break;
483
+ case "ArrowDown":
484
+ r = n + 4;
485
+ break;
486
+ case "Enter":
487
+ case "Space":
488
+ e.preventDefault(), this.handleYearSelect(n);
489
+ return;
490
+ }
491
+ r !== void 0 && (e.preventDefault(), r < this.yearGridStart ? this.yearGridStart -= 16 : r >= this.yearGridStart + 16 && (this.yearGridStart += 16), this.updateComplete.then(() => {
492
+ (this.shadowRoot?.querySelector(`button[data-year="${r}"]`))?.focus();
493
+ }));
494
+ }
495
+ moveToPreviousDay() {
496
+ let e = this.currentDate.subtract({ days: 1 });
497
+ this.canMoveBackToDate(e) && (this.currentDate = e);
498
+ }
499
+ moveToNextDay() {
500
+ let e = this.currentDate.add({ days: 1 });
501
+ this.canMoveForwardToDate(e) && (this.currentDate = e);
502
+ }
503
+ moveToPreviousWeek() {
504
+ let e = this.currentDate.subtract({ weeks: 1 });
505
+ if (this.canMoveBackToDate(e)) {
506
+ this.currentDate = e;
507
+ return;
508
+ }
509
+ let t = e.add({ days: 1 });
510
+ for (; !this.canMoveBackToDate(t);) t = t.add({ days: 1 });
511
+ this.currentDate = t;
512
+ }
513
+ moveToNextWeek() {
514
+ let e = this.currentDate.add({ weeks: 1 });
515
+ if (this.canMoveForwardToDate(e)) {
516
+ this.currentDate = e;
517
+ return;
518
+ }
519
+ let t = e.subtract({ days: 1 });
520
+ for (; !this.canMoveForwardToDate(t);) t = t.subtract({ days: 1 });
521
+ this.currentDate = t;
522
+ }
523
+ canMoveBackToDate(e) {
524
+ return this.isMinLimitReached(e) ? !1 : _(this.currentDate, e) || !this.isPreviousMonthDisabled;
525
+ }
526
+ canMoveForwardToDate(e) {
527
+ return this.isMaxLimitReached(e) ? !1 : _(this.currentDate, e) || !this.isNextMonthDisabled;
528
+ }
529
+ moveToKeyboardPreviousMonth() {
530
+ if (this.isPreviousMonthDisabled) return;
531
+ let e = this.currentDate.subtract({ months: 1 }), t = f(e).day, n = Math.min(this.currentDate.day, t), r = e.set({ day: n });
532
+ this.isMinLimitReached(r) || (this.currentDate = r);
533
+ }
534
+ moveToKeyboardNextMonth() {
535
+ if (this.isNextMonthDisabled) return;
536
+ let e = this.currentDate.add({ months: 1 }), t = f(e).day, n = Math.min(this.currentDate.day, t), r = e.set({ day: n });
537
+ this.isMaxLimitReached(r) || (this.currentDate = r);
538
+ }
539
+ moveToPreviousYear() {
540
+ let e = this.currentDate.subtract({ years: 1 }), t = f(e).day, n = Math.min(this.currentDate.day, t), r = e.set({ day: n });
541
+ this.isMinLimitReached(r) || (this.currentDate = r);
542
+ }
543
+ moveToNextYear() {
544
+ let e = this.currentDate.add({ years: 1 }), t = f(e).day, n = Math.min(this.currentDate.day, t), r = e.set({ day: n });
545
+ this.isMaxLimitReached(r) || (this.currentDate = r);
546
+ }
547
+ moveToStartOfWeek() {
548
+ let e = b(this.currentDate, this._language);
549
+ this.isMinLimitReached(e) || (this.currentDate = e);
550
+ }
551
+ moveToEndOfWeek() {
552
+ let e = p(this.currentDate, this._language);
553
+ this.isMaxLimitReached(e) || (this.currentDate = e);
554
+ }
555
+ setWeekdays() {
556
+ let e = b(this.currentDate, this._language);
557
+ this.weekdays = [...Array.from({ length: 7 }).keys()].map((t) => {
558
+ let n = e.add({ days: t });
559
+ return {
560
+ narrow: this.formatDate(n, { weekday: "narrow" }),
561
+ long: this.formatDate(n, { weekday: "long" })
562
+ };
563
+ });
564
+ }
565
+ setCurrentMonthDates() {
566
+ let e = h(this.currentDate, this._language), t = Array.from({ length: e });
567
+ for (let n of Array.from({ length: e }).keys()) t[n] = this.getDatesInWeek(this.currentDate, n);
568
+ this.currentMonthDates = t;
569
+ }
570
+ getDatesInWeek(e, t) {
571
+ let n = [], r = b(y(e).add({ weeks: t }), this._language);
572
+ for (; n.length < 7;) {
573
+ n.push(r);
574
+ let e = r.add({ days: 1 });
575
+ if (g(r, e)) break;
576
+ r = e;
577
+ }
578
+ return n;
579
+ }
580
+ isMinLimitReached(e) {
581
+ return !!(this._min && e.compare(this._min) < 0);
582
+ }
583
+ isMaxLimitReached(e) {
584
+ return !!(this._max && e.compare(this._max) > 0);
585
+ }
586
+ formatDate(e, t) {
587
+ return new d(this._language, t).format(e.toDate(this.timeZone));
588
+ }
589
+ setNumberFormatter() {
590
+ this.numberFormatter = new C(this._language), this.yearFormatter = new C(this._language, { useGrouping: !1 });
591
+ }
592
+ formatNumber(e) {
593
+ return this.numberFormatter.format(e);
594
+ }
595
+ formatYear(e) {
596
+ return this.yearFormatter.format(e);
597
+ }
598
+ };
599
+ //#endregion
600
+ //#region src/components/calendar/index.ts
601
+ t([a({ type: String })], T.prototype, "value", void 0), t([a({ type: String })], T.prototype, "min", void 0), t([a({ type: String })], T.prototype, "max", void 0), t([a({
602
+ type: Boolean,
603
+ reflect: !0
604
+ })], T.prototype, "disabled", void 0), t([a({
605
+ type: String,
606
+ reflect: !0
607
+ })], T.prototype, "language", void 0), t([a({ type: Object })], T.prototype, "labels", void 0), t([a({
608
+ type: String,
609
+ attribute: "selection-mode",
610
+ reflect: !0
611
+ })], T.prototype, "selectionMode", void 0), t([a({
612
+ type: String,
613
+ attribute: "start-date"
614
+ })], T.prototype, "startDate", void 0), t([a({
615
+ type: String,
616
+ attribute: "end-date"
617
+ })], T.prototype, "endDate", void 0), t([o()], T.prototype, "currentDate", void 0), t([o()], T.prototype, "_value", void 0), t([o()], T.prototype, "_min", void 0), t([o()], T.prototype, "_max", void 0), t([o()], T.prototype, "_startDate", void 0), t([o()], T.prototype, "_endDate", void 0), t([o()], T.prototype, "hoveredDate", void 0), t([o()], T.prototype, "viewMode", void 0), t([o()], T.prototype, "yearGridStart", void 0), t([o()], T.prototype, "weekdays", void 0), t([o()], T.prototype, "currentMonthDates", void 0), t([o()], T.prototype, "isDateFocusIntent", null), customElements.get("luzmo-calendar") || customElements.define("luzmo-calendar", T);
618
+ //#endregion
619
+ export { T as t };