@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,87 @@
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 { n as r, t as i } from "./condition-attribute-with-id-Duo51HZ7.js";
21
+ import { t as a } from "./random-id-Dd4boCPV.js";
22
+ import { n as o, t as s } from "./element-resolution-Bs1x89vU.js";
23
+ import { html as c, nothing as l, unsafeCSS as u } from "lit";
24
+ import { property as d, query as f } from "lit/decorators.js";
25
+ //#region src/components/field-label/field-label.module.scss?inline
26
+ var p = ":host{box-sizing:border-box;min-block-size:var(--luzmo-field-label-min-height,var(--field-label-min-height));padding-block:var(--luzmo-field-label-padding-block,var(--luzmo-field-label-top-to-text,var(--field-label-top-to-text)) var(--luzmo-field-label-bottom-to-text,var(--field-label-bottom-to-text)));padding-inline:0;padding-inline:var(--luzmo-field-label-padding-inline,0);margin-block:0;margin-block:var(--luzmo-field-label-margin-block,var(--luzmo-field-label-margin-block-start,0) var(--luzmo-field-label-margin-block-end,0));margin-inline:0;margin-inline:var(--luzmo-field-label-margin-inline,var(--luzmo-field-label-margin-inline-start,0) var(--luzmo-field-label-margin-inline-end,0));font-size:var(--luzmo-field-label-font-size,var(--field-label-font-size));font-weight:var(--luzmo-field-label-font-weight,var(--field-label-font-weight));line-height:var(--luzmo-field-label-line-height,var(--field-label-line-height));-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;color:var(--luzmo-field-label-color,var(--field-label-color));font-family:var(--luzmo-field-label-font-family,var(--luzmo-font-family));display:block}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--luzmo-field-label-line-height:var(--luzmo-field-label-line-height-cjk,var(--field-label-line-height-cjk))}:host([disabled]),:host([disabled]) .required-icon{--luzmo-field-label-color:var(--highcontrast-field-label-disabled-content-color,var(--luzmo-disabled-content-color,var(--field-label-disabled-content-color)))}.required-icon{margin-block:0;margin-inline:var(--luzmo-field-label-text-to-asterisk,var(--field-label-text-to-asterisk)) 0;vertical-align:initial;vertical-align:var(--luzmo-field-label-asterisk-vertical-align,baseline);display:inline-block}:host([side-aligned=start]),:host([side-aligned=end]){vertical-align:top;font-size:var(--luzmo-field-label-side-aligned-font-size,var(--field-label-side-aligned-font-size));block-size:var(--luzmo-field-label-side-aligned-height,var(--field-label-side-aligned-height));align-items:center;margin-block:0;margin-inline-end:var(--luzmo-field-label-side-padding-right,var(--field-label-side-padding-right));display:inline-flex}:host([side-aligned=end]){text-align:end}@media (forced-colors:active){:host{--highcontrast-field-label-disabled-content-color:GrayText}}:host{--field-label-color:var(--luzmo-font-color);--field-label-font-weight:var(--luzmo-font-weight);--field-label-line-height:var(--luzmo-line-height);--field-label-line-height-cjk:1.5;--field-label-disabled-content-color:var(--luzmo-font-color-disabled);--field-label-min-height:var(--luzmo-component-height-xs);--field-label-side-aligned-height:var(--luzmo-component-height);--field-label-top-to-text:calc(var(--luzmo-spacing-2));--field-label-bottom-to-text:var(--luzmo-spacing-2);--field-label-side-aligned-font-size:var(--luzmo-font-size);--field-label-font-size:var(--luzmo-font-size-s);--field-label-side-padding-right:var(--luzmo-spacing-4);--field-label-text-to-asterisk:0px}:host([size=s]){--field-label-min-height:var(--luzmo-component-height-xxs);--field-label-side-aligned-height:var(--luzmo-component-height-s);--field-label-top-to-text:calc(var(--luzmo-spacing-1));--field-label-bottom-to-text:var(--luzmo-spacing-1);--field-label-side-aligned-font-size:var(--luzmo-font-size-s);--field-label-font-size:var(--luzmo-font-size-xs);--field-label-side-padding-right:var(--luzmo-spacing-3);--field-label-text-to-asterisk:0px}:host([size=l]){--field-label-min-height:var(--luzmo-component-height-xs);--field-label-side-aligned-height:var(--luzmo-component-height-l);--field-label-top-to-text:var(--luzmo-spacing-3);--field-label-bottom-to-text:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--field-label-side-aligned-font-size:var(--luzmo-font-size-l);--field-label-font-size:var(--luzmo-font-size);--field-label-side-padding-right:var(--luzmo-spacing-4);--field-label-text-to-asterisk:var(--luzmo-spacing-1)}:host([size=xl]){--field-label-min-height:var(--luzmo-component-height-s);--field-label-side-aligned-height:var(--luzmo-component-height-xl);--field-label-top-to-text:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--field-label-bottom-to-text:var(--luzmo-spacing-3);--field-label-side-aligned-font-size:var(--luzmo-font-size-xl);--field-label-font-size:var(--luzmo-font-size-l);--field-label-side-padding-right:var(--luzmo-spacing-4);--field-label-text-to-asterisk:var(--luzmo-spacing-1)}label{display:inline-block}", m = () => c`
27
+ <div class="icon-container required-icon">*</div>
28
+ `, h = class extends n(e, { noDefaultSize: !0 }) {
29
+ constructor(...e) {
30
+ super(...e), this.disabled = !1, this.id = "", this.for = "", this.required = !1, this.resolvedElement = new s(this);
31
+ }
32
+ static get styles() {
33
+ return [u(p)];
34
+ }
35
+ handleClick(e) {
36
+ if (!this.target || this.disabled || e.defaultPrevented) return;
37
+ this.target.focus();
38
+ let t = this.getRootNode(), n = this.target, r = n.getRootNode(), i = r.host;
39
+ r === t && n.forceFocusVisible ? n.forceFocusVisible() : i && i.forceFocusVisible && i.forceFocusVisible();
40
+ }
41
+ applyTargetLabel(e) {
42
+ if (this.target = e || this.target, this.target) {
43
+ let t = this.target.applyFocusElementLabel, n = this.target.focusElement || this.target, a = n.getRootNode();
44
+ t === void 0 ? a === this.getRootNode() ? (e ? i : r)(n, "aria-labelledby", [this.id]) : e ? n.setAttribute("aria-label", this.labelText) : n.removeAttribute("aria-label") : t.call(this.target, this.labelText, this);
45
+ }
46
+ }
47
+ async manageTarget() {
48
+ this.applyTargetLabel();
49
+ let e = this.resolvedElement.element;
50
+ if (!e) {
51
+ this.target = e;
52
+ return;
53
+ }
54
+ e.localName.search("-") > 0 && await customElements.whenDefined(e.localName), e.updateComplete !== void 0 && await e.updateComplete, this.applyTargetLabel(e);
55
+ }
56
+ get labelText() {
57
+ let e = this.slotEl.assignedNodes({ flatten: !0 });
58
+ return e.length === 0 ? "" : e.map((e) => (e.textContent || "").trim()).join(" ");
59
+ }
60
+ render() {
61
+ return c`
62
+ <label>
63
+ <slot></slot>
64
+ ${this.required ? c` ${m()} ` : l}
65
+ </label>
66
+ `;
67
+ }
68
+ firstUpdated(e) {
69
+ super.firstUpdated(e), this.addEventListener("click", this.handleClick);
70
+ }
71
+ willUpdate(e) {
72
+ this.hasAttribute("id") || this.setAttribute("id", `${this.tagName.toLowerCase()}-${a()}`), e.has("for") && (this.resolvedElement.selector = this.for ? `#${this.for}` : ""), (e.has("id") || e.has(o)) && this.manageTarget();
73
+ }
74
+ };
75
+ t([d({
76
+ type: Boolean,
77
+ reflect: !0
78
+ })], h.prototype, "disabled", void 0), t([d({ type: String })], h.prototype, "id", void 0), t([d({ type: String })], h.prototype, "for", void 0), t([d({
79
+ type: Boolean,
80
+ reflect: !0
81
+ })], h.prototype, "required", void 0), t([f("slot")], h.prototype, "slotEl", void 0), t([d({
82
+ type: String,
83
+ reflect: !0,
84
+ attribute: "side-aligned"
85
+ })], h.prototype, "sideAligned", void 0);
86
+ //#endregion
87
+ export { h as t };
@@ -0,0 +1,164 @@
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
+ //#region src/utils/reactive-controllers/focus-group.ts
19
+ function e(e, t, n) {
20
+ return typeof e === t ? (() => e) : typeof e == "function" ? e : n;
21
+ }
22
+ var t = class {
23
+ get currentIndex() {
24
+ return this._currentIndex === -1 && (this._currentIndex = this.focusInIndex), this._currentIndex - this.offset;
25
+ }
26
+ set currentIndex(e) {
27
+ this._currentIndex = e + this.offset;
28
+ }
29
+ get direction() {
30
+ return this._direction();
31
+ }
32
+ get elements() {
33
+ return this.cachedElements ||= this._elements(), this.cachedElements;
34
+ }
35
+ set focused(e) {
36
+ e !== this.focused && (this._focused = e);
37
+ }
38
+ get focused() {
39
+ return this._focused;
40
+ }
41
+ get focusInElement() {
42
+ return this.elements[this.focusInIndex];
43
+ }
44
+ get focusInIndex() {
45
+ return this._focusInIndex(this.elements);
46
+ }
47
+ isEventWithinListenerScope(e) {
48
+ return this._listenerScope() === this.host ? !0 : e.composedPath().includes(this._listenerScope());
49
+ }
50
+ constructor(t, { direction: n, elementEnterAction: r, elements: i, focusInIndex: a, isFocusableElement: o, listenerScope: s } = { elements: () => [] }) {
51
+ this._currentIndex = -1, this.prevIndex = -1, this._direction = () => "both", this.directionLength = 5, this.elementEnterAction = (e) => {}, this._focused = !1, this._focusInIndex = (e) => 0, this.isFocusableElement = (e) => !0, this._listenerScope = () => this.host, this.offset = 0, this.recentlyConnected = !1, this.handleFocusin = (e) => {
52
+ if (!this.isEventWithinListenerScope(e)) return;
53
+ let t = e.composedPath(), n = -1;
54
+ t.find((e) => (n = this.elements.indexOf(e), n !== -1)), this.prevIndex = this.currentIndex, this.currentIndex = n > -1 ? n : this.currentIndex, this.isRelatedTargetOrContainAnElement(e) && this.hostContainsFocus();
55
+ }, this.handleClick = () => {
56
+ let e = this.elements;
57
+ if (e.length === 0) return;
58
+ let t = e[this.currentIndex];
59
+ this.currentIndex < 0 || ((!t || !this.isFocusableElement(t)) && (this.setCurrentIndexCircularly(1), t = e[this.currentIndex]), t && this.isFocusableElement(t) && (e[this.prevIndex]?.setAttribute("tabindex", "-1"), t.setAttribute("tabindex", "0")));
60
+ }, this.handleFocusout = (e) => {
61
+ this.isRelatedTargetOrContainAnElement(e) && this.hostNoLongerContainsFocus();
62
+ }, this.handleKeydown = (e) => {
63
+ if (!this.acceptsEventCode(e.code) || e.defaultPrevented) return;
64
+ let t = 0;
65
+ switch (this.prevIndex = this.currentIndex, e.code) {
66
+ case "ArrowRight":
67
+ t += 1;
68
+ break;
69
+ case "ArrowDown":
70
+ t += this.direction === "grid" ? this.directionLength : 1;
71
+ break;
72
+ case "ArrowLeft":
73
+ --t;
74
+ break;
75
+ case "ArrowUp":
76
+ t -= this.direction === "grid" ? this.directionLength : 1;
77
+ break;
78
+ case "End":
79
+ this.currentIndex = 0, --t;
80
+ break;
81
+ case "Home":
82
+ this.currentIndex = this.elements.length - 1, t += 1;
83
+ break;
84
+ }
85
+ e.preventDefault(), this.direction === "grid" && this.currentIndex + t < 0 ? this.currentIndex = 0 : this.direction === "grid" && this.currentIndex + t > this.elements.length - 1 ? this.currentIndex = this.elements.length - 1 : this.setCurrentIndexCircularly(t), this.elementEnterAction(this.elements[this.currentIndex]), this.focus();
86
+ }, this.mutationObserver = new MutationObserver(() => {
87
+ this.handleItemMutation();
88
+ }), this.host = t, this.host.addController(this), this._elements = i, this.isFocusableElement = o || this.isFocusableElement, this._direction = e(n, "string", this._direction), this.elementEnterAction = r || this.elementEnterAction, this._focusInIndex = e(a, "number", this._focusInIndex), this._listenerScope = e(s, "object", this._listenerScope);
89
+ }
90
+ handleItemMutation() {
91
+ if (this._currentIndex === -1 || this.elements.length <= this._elements().length) return;
92
+ let e = this.elements[this.currentIndex];
93
+ if (this.clearElementCache(), this.elements.includes(e)) return;
94
+ let t = this.currentIndex !== this.elements.length, n = t ? 1 : -1;
95
+ t && this.setCurrentIndexCircularly(-1), this.setCurrentIndexCircularly(n), this.focus();
96
+ }
97
+ update({ elements: e } = { elements: () => [] }) {
98
+ this.unmanage(), this._elements = e, this.clearElementCache(), this.manage();
99
+ }
100
+ focus(e) {
101
+ let t = this.elements;
102
+ if (t.length === 0) return;
103
+ let n = t[this.currentIndex];
104
+ (!n || !this.isFocusableElement(n)) && (this.setCurrentIndexCircularly(1), n = t[this.currentIndex]), n && this.isFocusableElement(n) && (t[this.prevIndex]?.setAttribute("tabindex", "-1"), n.tabIndex = 0, n.focus(e));
105
+ }
106
+ clearElementCache(e = 0) {
107
+ this.mutationObserver.disconnect(), delete this.cachedElements, this.offset = e, requestAnimationFrame(() => {
108
+ this.elements.forEach((e) => {
109
+ this.mutationObserver.observe(e, { attributes: !0 });
110
+ });
111
+ });
112
+ }
113
+ setCurrentIndexCircularly(e) {
114
+ let { length: t } = this.elements, n = t;
115
+ this.prevIndex = this.currentIndex;
116
+ let r = (t + this.currentIndex + e) % t;
117
+ for (; n && this.elements[r] && !this.isFocusableElement(this.elements[r]);) r = (t + r + e) % t, --n;
118
+ this.currentIndex = r;
119
+ }
120
+ hostContainsFocus() {
121
+ this.host.addEventListener("focusout", this.handleFocusout), this.host.addEventListener("keydown", this.handleKeydown), this.focused = !0;
122
+ }
123
+ hostNoLongerContainsFocus() {
124
+ this.host.addEventListener("focusin", this.handleFocusin), this.host.removeEventListener("focusout", this.handleFocusout), this.host.removeEventListener("keydown", this.handleKeydown), this.focused = !1;
125
+ }
126
+ isRelatedTargetOrContainAnElement(e) {
127
+ let t = e.relatedTarget, n = this.elements.includes(t), r = this.elements.some((e) => e.contains(t));
128
+ return !(n || r);
129
+ }
130
+ acceptsEventCode(e) {
131
+ if (e === "End" || e === "Home") return !0;
132
+ switch (this.direction) {
133
+ case "horizontal": return e === "ArrowLeft" || e === "ArrowRight";
134
+ case "vertical": return e === "ArrowUp" || e === "ArrowDown";
135
+ case "both":
136
+ case "grid": return e.startsWith("Arrow");
137
+ }
138
+ }
139
+ manage() {
140
+ this.addEventListeners();
141
+ }
142
+ unmanage() {
143
+ this.removeEventListeners();
144
+ }
145
+ addEventListeners() {
146
+ this.host.addEventListener("focusin", this.handleFocusin), this.host.addEventListener("click", this.handleClick);
147
+ }
148
+ removeEventListeners() {
149
+ this.host.removeEventListener("focusin", this.handleFocusin), this.host.removeEventListener("focusout", this.handleFocusout), this.host.removeEventListener("keydown", this.handleKeydown), this.host.removeEventListener("click", this.handleClick);
150
+ }
151
+ hostConnected() {
152
+ this.recentlyConnected = !0, this.addEventListeners();
153
+ }
154
+ hostDisconnected() {
155
+ this.mutationObserver.disconnect(), this.removeEventListeners();
156
+ }
157
+ hostUpdated() {
158
+ this.recentlyConnected && (this.recentlyConnected = !1, this.elements.forEach((e) => {
159
+ this.mutationObserver.observe(e, { attributes: !0 });
160
+ }));
161
+ }
162
+ };
163
+ //#endregion
164
+ export { t };
@@ -0,0 +1,18 @@
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
+ function e(e,t,n){return typeof e===t?(()=>e):typeof e==`function`?e:n}var t=class{get currentIndex(){return this._currentIndex===-1&&(this._currentIndex=this.focusInIndex),this._currentIndex-this.offset}set currentIndex(e){this._currentIndex=e+this.offset}get direction(){return this._direction()}get elements(){return this.cachedElements||=this._elements(),this.cachedElements}set focused(e){e!==this.focused&&(this._focused=e)}get focused(){return this._focused}get focusInElement(){return this.elements[this.focusInIndex]}get focusInIndex(){return this._focusInIndex(this.elements)}isEventWithinListenerScope(e){return this._listenerScope()===this.host?!0:e.composedPath().includes(this._listenerScope())}constructor(t,{direction:n,elementEnterAction:r,elements:i,focusInIndex:a,isFocusableElement:o,listenerScope:s}={elements:()=>[]}){this._currentIndex=-1,this.prevIndex=-1,this._direction=()=>`both`,this.directionLength=5,this.elementEnterAction=e=>{},this._focused=!1,this._focusInIndex=e=>0,this.isFocusableElement=e=>!0,this._listenerScope=()=>this.host,this.offset=0,this.recentlyConnected=!1,this.handleFocusin=e=>{if(!this.isEventWithinListenerScope(e))return;let t=e.composedPath(),n=-1;t.find(e=>(n=this.elements.indexOf(e),n!==-1)),this.prevIndex=this.currentIndex,this.currentIndex=n>-1?n:this.currentIndex,this.isRelatedTargetOrContainAnElement(e)&&this.hostContainsFocus()},this.handleClick=()=>{let e=this.elements;if(e.length===0)return;let t=e[this.currentIndex];this.currentIndex<0||((!t||!this.isFocusableElement(t))&&(this.setCurrentIndexCircularly(1),t=e[this.currentIndex]),t&&this.isFocusableElement(t)&&(e[this.prevIndex]?.setAttribute(`tabindex`,`-1`),t.setAttribute(`tabindex`,`0`)))},this.handleFocusout=e=>{this.isRelatedTargetOrContainAnElement(e)&&this.hostNoLongerContainsFocus()},this.handleKeydown=e=>{if(!this.acceptsEventCode(e.code)||e.defaultPrevented)return;let t=0;switch(this.prevIndex=this.currentIndex,e.code){case`ArrowRight`:t+=1;break;case`ArrowDown`:t+=this.direction===`grid`?this.directionLength:1;break;case`ArrowLeft`:--t;break;case`ArrowUp`:t-=this.direction===`grid`?this.directionLength:1;break;case`End`:this.currentIndex=0,--t;break;case`Home`:this.currentIndex=this.elements.length-1,t+=1;break}e.preventDefault(),this.direction===`grid`&&this.currentIndex+t<0?this.currentIndex=0:this.direction===`grid`&&this.currentIndex+t>this.elements.length-1?this.currentIndex=this.elements.length-1:this.setCurrentIndexCircularly(t),this.elementEnterAction(this.elements[this.currentIndex]),this.focus()},this.mutationObserver=new MutationObserver(()=>{this.handleItemMutation()}),this.host=t,this.host.addController(this),this._elements=i,this.isFocusableElement=o||this.isFocusableElement,this._direction=e(n,`string`,this._direction),this.elementEnterAction=r||this.elementEnterAction,this._focusInIndex=e(a,`number`,this._focusInIndex),this._listenerScope=e(s,`object`,this._listenerScope)}handleItemMutation(){if(this._currentIndex===-1||this.elements.length<=this._elements().length)return;let e=this.elements[this.currentIndex];if(this.clearElementCache(),this.elements.includes(e))return;let t=this.currentIndex!==this.elements.length,n=t?1:-1;t&&this.setCurrentIndexCircularly(-1),this.setCurrentIndexCircularly(n),this.focus()}update({elements:e}={elements:()=>[]}){this.unmanage(),this._elements=e,this.clearElementCache(),this.manage()}focus(e){let t=this.elements;if(t.length===0)return;let n=t[this.currentIndex];(!n||!this.isFocusableElement(n))&&(this.setCurrentIndexCircularly(1),n=t[this.currentIndex]),n&&this.isFocusableElement(n)&&(t[this.prevIndex]?.setAttribute(`tabindex`,`-1`),n.tabIndex=0,n.focus(e))}clearElementCache(e=0){this.mutationObserver.disconnect(),delete this.cachedElements,this.offset=e,requestAnimationFrame(()=>{this.elements.forEach(e=>{this.mutationObserver.observe(e,{attributes:!0})})})}setCurrentIndexCircularly(e){let{length:t}=this.elements,n=t;this.prevIndex=this.currentIndex;let r=(t+this.currentIndex+e)%t;for(;n&&this.elements[r]&&!this.isFocusableElement(this.elements[r]);)r=(t+r+e)%t,--n;this.currentIndex=r}hostContainsFocus(){this.host.addEventListener(`focusout`,this.handleFocusout),this.host.addEventListener(`keydown`,this.handleKeydown),this.focused=!0}hostNoLongerContainsFocus(){this.host.addEventListener(`focusin`,this.handleFocusin),this.host.removeEventListener(`focusout`,this.handleFocusout),this.host.removeEventListener(`keydown`,this.handleKeydown),this.focused=!1}isRelatedTargetOrContainAnElement(e){let t=e.relatedTarget,n=this.elements.includes(t),r=this.elements.some(e=>e.contains(t));return!(n||r)}acceptsEventCode(e){if(e===`End`||e===`Home`)return!0;switch(this.direction){case`horizontal`:return e===`ArrowLeft`||e===`ArrowRight`;case`vertical`:return e===`ArrowUp`||e===`ArrowDown`;case`both`:case`grid`:return e.startsWith(`Arrow`)}}manage(){this.addEventListeners()}unmanage(){this.removeEventListeners()}addEventListeners(){this.host.addEventListener(`focusin`,this.handleFocusin),this.host.addEventListener(`click`,this.handleClick)}removeEventListeners(){this.host.removeEventListener(`focusin`,this.handleFocusin),this.host.removeEventListener(`focusout`,this.handleFocusout),this.host.removeEventListener(`keydown`,this.handleKeydown),this.host.removeEventListener(`click`,this.handleClick)}hostConnected(){this.recentlyConnected=!0,this.addEventListeners()}hostDisconnected(){this.mutationObserver.disconnect(),this.removeEventListeners()}hostUpdated(){this.recentlyConnected&&(this.recentlyConnected=!1,this.elements.forEach(e=>{this.mutationObserver.observe(e,{attributes:!0})}))}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -0,0 +1,18 @@
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
+ var e=require(`./chunk-D-qHiVGv.cjs`).t({FocusVisiblePolyfillMixin:()=>n}),t=!0;try{typeof document<`u`&&document.body.querySelector(`:focus-visible`)}catch{t=!1,Promise.resolve().then(()=>e)}var n=e=>{let n=e=>{if(e.shadowRoot==null||Object.hasOwn(e.dataset,`jsFocusVisible`))return()=>{};if(self.applyFocusVisiblePolyfill)self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus();else{let t=()=>{self.applyFocusVisiblePolyfill&&e.shadowRoot&&self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus()};return self.addEventListener(`focus-visible-polyfill-ready`,t,{once:!0}),()=>{self.removeEventListener(`focus-visible-polyfill-ready`,t)}}return()=>{}},r=Symbol(`endPolyfillCoordination`);class i extends e{constructor(...e){super(...e),this[r]=null}connectedCallback(){super.connectedCallback&&super.connectedCallback(),t||requestAnimationFrame(()=>{this[r]??(this[r]=n(this))})}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),t||requestAnimationFrame(()=>{this[r]!=null&&(this[r](),this[r]=null)})}}return i};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -0,0 +1,58 @@
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 { t as e } from "./rolldown-runtime-CAFD8bLK.js";
19
+ //#region src/utils/focus-visible.ts
20
+ var t = /* @__PURE__ */ e({ FocusVisiblePolyfillMixin: () => r }), n = !0;
21
+ try {
22
+ typeof document < "u" && document.body.querySelector(":focus-visible");
23
+ } catch {
24
+ n = !1, Promise.resolve().then(() => t);
25
+ }
26
+ var r = (e) => {
27
+ let t = (e) => {
28
+ if (e.shadowRoot == null || Object.hasOwn(e.dataset, "jsFocusVisible")) return () => {};
29
+ if (self.applyFocusVisiblePolyfill) self.applyFocusVisiblePolyfill(e.shadowRoot), e.manageAutoFocus && e.manageAutoFocus();
30
+ else {
31
+ let t = () => {
32
+ self.applyFocusVisiblePolyfill && e.shadowRoot && self.applyFocusVisiblePolyfill(e.shadowRoot), e.manageAutoFocus && e.manageAutoFocus();
33
+ };
34
+ return self.addEventListener("focus-visible-polyfill-ready", t, { once: !0 }), () => {
35
+ self.removeEventListener("focus-visible-polyfill-ready", t);
36
+ };
37
+ }
38
+ return () => {};
39
+ }, r = Symbol("endPolyfillCoordination");
40
+ class i extends e {
41
+ constructor(...e) {
42
+ super(...e), this[r] = null;
43
+ }
44
+ connectedCallback() {
45
+ super.connectedCallback && super.connectedCallback(), n || requestAnimationFrame(() => {
46
+ this[r] ?? (this[r] = t(this));
47
+ });
48
+ }
49
+ disconnectedCallback() {
50
+ super.disconnectedCallback && super.disconnectedCallback(), n || requestAnimationFrame(() => {
51
+ this[r] != null && (this[r](), this[r] = null);
52
+ });
53
+ }
54
+ }
55
+ return i;
56
+ };
57
+ //#endregion
58
+ export { t as n, r as t };
@@ -0,0 +1,117 @@
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 { t as n } from "./focus-visible-CrooVCUu.js";
20
+ import { property as r } from "lit/decorators.js";
21
+ //#region src/utils/focusable.ts
22
+ function i() {
23
+ return new Promise((e) => requestAnimationFrame(() => e()));
24
+ }
25
+ var a = class extends n(e) {
26
+ constructor(...e) {
27
+ super(...e), this.disabled = !1, this.autofocus = !1, this._tabIndex = 0, this.manipulatingTabindex = !1, this.autofocusReady = Promise.resolve();
28
+ }
29
+ get tabIndex() {
30
+ if (this.focusElement === this) {
31
+ let e = this.hasAttribute("tabindex") ? Number(this.getAttribute("tabindex")) : NaN;
32
+ return Number.isNaN(e) ? -1 : e;
33
+ }
34
+ let e = Number.parseFloat(this.hasAttribute("tabindex") && this.getAttribute("tabindex") || "0");
35
+ return this.disabled || e < 0 ? -1 : this.focusElement ? this._tabIndex : e;
36
+ }
37
+ set tabIndex(e) {
38
+ if (this.manipulatingTabindex) {
39
+ this.manipulatingTabindex = !1;
40
+ return;
41
+ }
42
+ if (this.focusElement === this) {
43
+ if (this.disabled) this._tabIndex = e;
44
+ else if (e !== this._tabIndex) {
45
+ this._tabIndex = e;
46
+ let t = "" + e;
47
+ this.manipulatingTabindex = !0, this.setAttribute("tabindex", t);
48
+ }
49
+ return;
50
+ }
51
+ if (e === -1 ? this.addEventListener("pointerdown", this.onPointerdownManagementOfTabIndex) : (this.manipulatingTabindex = !0, this.removeEventListener("pointerdown", this.onPointerdownManagementOfTabIndex)), e === -1 || this.disabled) {
52
+ if (this.manipulatingTabindex = !0, this.setAttribute("tabindex", "-1"), this.removeAttribute("focusable"), this.selfManageFocusElement) return;
53
+ e === -1 ? this.focusElement?.removeAttribute("tabindex") : (this._tabIndex = e, this.manageFocusElementTabindex(e));
54
+ return;
55
+ }
56
+ this.setAttribute("focusable", ""), this.hasAttribute("tabindex") ? this.removeAttribute("tabindex") : this.manipulatingTabindex = !1, this._tabIndex = e, this.manageFocusElementTabindex(e);
57
+ }
58
+ onPointerdownManagementOfTabIndex() {
59
+ this.tabIndex === -1 && setTimeout(() => {
60
+ this.tabIndex = 0, this.focus({ preventScroll: !0 }), this.tabIndex = -1;
61
+ });
62
+ }
63
+ async manageFocusElementTabindex(e) {
64
+ this.focusElement || await this.updateComplete, e === null ? this.focusElement.removeAttribute("tabindex") : this.focusElement !== this && (this.focusElement.tabIndex = e);
65
+ }
66
+ get focusElement() {
67
+ throw Error("Must implement focusElement getter!");
68
+ }
69
+ get selfManageFocusElement() {
70
+ return !1;
71
+ }
72
+ focus(e) {
73
+ this.disabled || !this.focusElement || (this.focusElement === this ? Reflect.apply(HTMLElement.prototype.focus, this, [e]) : this.focusElement.focus(e));
74
+ }
75
+ blur() {
76
+ let e = this.focusElement || this;
77
+ e === this ? HTMLElement.prototype.blur.apply(this) : e.blur();
78
+ }
79
+ click() {
80
+ if (this.disabled) return;
81
+ let e = this.focusElement || this;
82
+ e === this ? HTMLElement.prototype.click.apply(this) : e.click();
83
+ }
84
+ manageAutoFocus() {
85
+ this.autofocus && (this.dispatchEvent(new KeyboardEvent("keydown", { code: "Tab" })), this.focusElement.focus());
86
+ }
87
+ firstUpdated(e) {
88
+ super.firstUpdated(e), (!this.hasAttribute("tabindex") || this.getAttribute("tabindex") !== "-1") && this.setAttribute("focusable", "");
89
+ }
90
+ update(e) {
91
+ e.has("disabled") && this.handleDisabledChanged(this.disabled, e.get("disabled")), super.update(e);
92
+ }
93
+ updated(e) {
94
+ super.updated(e), e.has("disabled") && this.disabled && this.blur();
95
+ }
96
+ async handleDisabledChanged(e, t) {
97
+ let n = () => this.focusElement !== this && this.focusElement.disabled !== void 0;
98
+ e ? (this.manipulatingTabindex = !0, this.setAttribute("tabindex", "-1"), await this.updateComplete, n() ? this.focusElement.disabled = !0 : this.setAttribute("aria-disabled", "true")) : t && (this.manipulatingTabindex = !0, this.focusElement === this ? this.setAttribute("tabindex", "" + this._tabIndex) : this.removeAttribute("tabindex"), await this.updateComplete, n() ? this.focusElement.disabled = !1 : this.removeAttribute("aria-disabled"));
99
+ }
100
+ async getUpdateComplete() {
101
+ let e = await super.getUpdateComplete();
102
+ return await this.autofocusReady, e;
103
+ }
104
+ connectedCallback() {
105
+ super.connectedCallback(), this.autofocus && (this.autofocusReady = new Promise(async (e) => {
106
+ await i(), await i(), e();
107
+ }), this.updateComplete.then(() => {
108
+ this.manageAutoFocus();
109
+ }));
110
+ }
111
+ };
112
+ t([r({
113
+ type: Boolean,
114
+ reflect: !0
115
+ })], a.prototype, "disabled", void 0), t([r({ type: Boolean })], a.prototype, "autofocus", void 0), t([r({ type: Number })], a.prototype, "tabIndex", null);
116
+ //#endregion
117
+ export { a as t };
@@ -0,0 +1,18 @@
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
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./decorate-B2wePfNm.cjs`),t=require(`./focus-visible-B0NNezGc.cjs`);let n=require(`lit/decorators.js`);function r(){return new Promise(e=>requestAnimationFrame(()=>e()))}var i=class extends t.t(e.n){constructor(...e){super(...e),this.disabled=!1,this.autofocus=!1,this._tabIndex=0,this.manipulatingTabindex=!1,this.autofocusReady=Promise.resolve()}get tabIndex(){if(this.focusElement===this){let e=this.hasAttribute(`tabindex`)?Number(this.getAttribute(`tabindex`)):NaN;return Number.isNaN(e)?-1:e}let e=Number.parseFloat(this.hasAttribute(`tabindex`)&&this.getAttribute(`tabindex`)||`0`);return this.disabled||e<0?-1:this.focusElement?this._tabIndex:e}set tabIndex(e){if(this.manipulatingTabindex){this.manipulatingTabindex=!1;return}if(this.focusElement===this){if(this.disabled)this._tabIndex=e;else if(e!==this._tabIndex){this._tabIndex=e;let t=``+e;this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,t)}return}if(e===-1?this.addEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex):(this.manipulatingTabindex=!0,this.removeEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex)),e===-1||this.disabled){if(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),this.removeAttribute(`focusable`),this.selfManageFocusElement)return;e===-1?this.focusElement?.removeAttribute(`tabindex`):(this._tabIndex=e,this.manageFocusElementTabindex(e));return}this.setAttribute(`focusable`,``),this.hasAttribute(`tabindex`)?this.removeAttribute(`tabindex`):this.manipulatingTabindex=!1,this._tabIndex=e,this.manageFocusElementTabindex(e)}onPointerdownManagementOfTabIndex(){this.tabIndex===-1&&setTimeout(()=>{this.tabIndex=0,this.focus({preventScroll:!0}),this.tabIndex=-1})}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,e===null?this.focusElement.removeAttribute(`tabindex`):this.focusElement!==this&&(this.focusElement.tabIndex=e)}get focusElement(){throw Error(`Must implement focusElement getter!`)}get selfManageFocusElement(){return!1}focus(e){this.disabled||!this.focusElement||(this.focusElement===this?Reflect.apply(HTMLElement.prototype.focus,this,[e]):this.focusElement.focus(e))}blur(){let e=this.focusElement||this;e===this?HTMLElement.prototype.blur.apply(this):e.blur()}click(){if(this.disabled)return;let e=this.focusElement||this;e===this?HTMLElement.prototype.click.apply(this):e.click()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focusElement.focus())}firstUpdated(e){super.firstUpdated(e),(!this.hasAttribute(`tabindex`)||this.getAttribute(`tabindex`)!==`-1`)&&this.setAttribute(`focusable`,``)}update(e){e.has(`disabled`)&&this.handleDisabledChanged(this.disabled,e.get(`disabled`)),super.update(e)}updated(e){super.updated(e),e.has(`disabled`)&&this.disabled&&this.blur()}async handleDisabledChanged(e,t){let n=()=>this.focusElement!==this&&this.focusElement.disabled!==void 0;e?(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),await this.updateComplete,n()?this.focusElement.disabled=!0:this.setAttribute(`aria-disabled`,`true`)):t&&(this.manipulatingTabindex=!0,this.focusElement===this?this.setAttribute(`tabindex`,``+this._tabIndex):this.removeAttribute(`tabindex`),await this.updateComplete,n()?this.focusElement.disabled=!1:this.removeAttribute(`aria-disabled`))}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this.autofocusReady,e}connectedCallback(){super.connectedCallback(),this.autofocus&&(this.autofocusReady=new Promise(async e=>{await r(),await r(),e()}),this.updateComplete.then(()=>{this.manageAutoFocus()}))}};e.t([(0,n.property)({type:Boolean,reflect:!0})],i.prototype,`disabled`,void 0),e.t([(0,n.property)({type:Boolean})],i.prototype,`autofocus`,void 0),e.t([(0,n.property)({type:Number})],i.prototype,`tabIndex`,null),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -15,8 +15,4 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";/**
19
- * @license
20
- * Copyright 2017 Google LLC
21
- * SPDX-License-Identifier: BSD-3-Clause
22
- */const o=(r,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(r,t,e),e);exports.e=o;
18
+ var e=[`button`,`[focusable]`,`[href]`,`input`,`label`,`select`,`textarea`,`[tabindex]`],t=`:not([tabindex="-1"])`,n=e.join(`${t}, `)+t,r=e.join(`, `);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -15,4 +15,16 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";const o=["button","[focusable]","[href]","input","label","select","textarea","[tabindex]"],e=':not([tabindex="-1"])',t=o.join(`${e}, `)+e,c=o.join(", ");exports.focusableSelector=c;exports.userFocusableSelector=t;
18
+ //#region src/utils/focusable-selectors.ts
19
+ var e = [
20
+ "button",
21
+ "[focusable]",
22
+ "[href]",
23
+ "input",
24
+ "label",
25
+ "select",
26
+ "textarea",
27
+ "[tabindex]"
28
+ ], t = ":not([tabindex=\"-1\"])", n = e.join(`${t}, `) + t, r = e.join(", ");
29
+ //#endregion
30
+ export { n, r as t };
@@ -15,15 +15,11 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { n as r } from "./base-WsynuqaS.js";
19
- /**
20
- * @license
21
- * Copyright 2017 Google LLC
22
- * SPDX-License-Identifier: BSD-3-Clause
23
- */
24
- function n(t) {
25
- return r({ ...t, state: !0, attribute: !1 });
26
- }
27
- export {
28
- n as r
18
+ //#region src/utils/get-label-from-slot.ts
19
+ var e = (e, t) => {
20
+ if (e) return null;
21
+ let n = t.assignedNodes().reduce((e, t) => t.textContent ? e + t.textContent : e, "");
22
+ return n ? n.trim() : null;
29
23
  };
24
+ //#endregion
25
+ export { e as t };
@@ -0,0 +1,18 @@
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
+ var e=(e,t)=>{if(e)return null;let n=t.assignedNodes().reduce((e,t)=>t.textContent?e+t.textContent:e,``);return n?n.trim():null};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
@@ -15,4 +15,4 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../luzmo-icons-D4IvHgVd.cjs"),o=require("../base-CBCg3yyw.cjs"),m=require("../if-defined-C9YGdo33.cjs"),d=":host{pointer-events:none;transform:none;transform:var(--luzmo-icon-transform, none);block-size:var(--luzmo-icon-block-size, var(--luzmo-icon-size, var(--icon-size)));font-size:var(--luzmo-icon-block-size, var(--luzmo-icon-size, var(--icon-size)));color:inherit;color:var(--luzmo-icon-color, inherit);fill:currentColor;text-align:center;display:inline-block}::slotted(svg),:host(:not([block])) svg,:host(:not([block])) img{vertical-align:var(--luzmo-icon-vertical-align, -.125em)!important}:host([block]){display:block;--icon-vertical-align: 0;vertical-align:0}:host([block]) ::slotted(svg),:host([block]) svg,:host([block]) img{--icon-vertical-align: 0;vertical-align:var(--luzmo-icon-vertical-align, 0)}:host([size=xxs]){--icon-size: var(--luzmo-icon-size-xxs)}:host([size=xs]){--icon-size: var(--luzmo-icon-size-xs)}:host([size=s]){--icon-size: var(--luzmo-icon-size-s)}:host,:host([size=m]){--icon-size: var(--luzmo-icon-size-m)}:host([size=l]){--icon-size: var(--luzmo-icon-size-l)}:host([size=xl]){--icon-size: var(--luzmo-icon-size-xl)}:host([size=xxl]){--icon-size: var(--luzmo-icon-size-xxl)}:host(:not(:root)){overflow:visible}@media (forced-colors: active){:host{forced-color-adjust:auto}}img,svg,::slotted(*){height:100%;vertical-align:top;color:inherit}@media (forced-colors: active){img,svg,::slotted(*){forced-color-adjust:auto}}";var h=Object.defineProperty,u=(t,i,n,z)=>{for(var e=void 0,s=t.length-1,l;s>=0;s--)(l=t[s])&&(e=l(i,n,e)||e);return e&&h(i,n,e),e};class a extends o.LuzmoElement{constructor(){super(...arguments),this.label=""}static get styles(){return[o.r(d)]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}update(i){i.has("label")&&(this.label?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true")),super.update(i)}render(){return o.x` <slot></slot> `}}u([o.n({reflect:!0})],a.prototype,"label");u([o.n({reflect:!0})],a.prototype,"size");var p=Object.defineProperty,c=(t,i,n,z)=>{for(var e=void 0,s=t.length-1,l;s>=0;s--)(l=t[s])&&(e=l(i,n,e)||e);return e&&p(i,n,e),e};class r extends a{constructor(){super(...arguments),this.block=!1}render(){return this.icon?v.y3(this.icon,this.options):this.src?o.x` <img src=${this.src} alt=${m.o(this.label)} /> `:super.render()}}c([o.n()],r.prototype,"src");c([o.n()],r.prototype,"options");c([o.n()],r.prototype,"icon");c([o.n({type:Boolean})],r.prototype,"block");customElements.get("luzmo-icon")||customElements.define("luzmo-icon",r);exports.LuzmoIcon=r;
18
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../icon-B7hKwn_q.cjs`);exports.LuzmoIcon=e.t;