@luzmo/lucero 1.0.3-alpha.8 → 2.0.0

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 (417) hide show
  1. package/components/accordion/index.cjs +1 -1
  2. package/components/accordion/index.js +2 -2
  3. package/components/{accordion-DC7cjb1c.js → accordion-BDchhAjE.js} +4 -4
  4. package/components/accordion-DpsYMoeb.cjs +43 -0
  5. package/components/action-bar/index.cjs +1 -1
  6. package/components/action-bar/index.js +2 -2
  7. package/components/{action-bar-Dn4IDXEF.js → action-bar-BhYEHEfo.js} +7 -7
  8. package/components/action-bar-VhZT8kQM.cjs +39 -0
  9. package/components/action-button/action-button.d.ts +12 -1
  10. package/components/action-button/index.cjs +1 -1
  11. package/components/action-button/index.d.ts +1 -1
  12. package/components/action-button/index.js +2 -2
  13. package/components/action-button-CWAg-5tz.cjs +22 -0
  14. package/components/{action-button-DC-ZFZTm.js → action-button-cULkUUi6.js} +8 -6
  15. package/components/action-group/index.cjs +1 -1
  16. package/components/action-group/index.js +2 -2
  17. package/components/{action-group-DYKpp-mz.js → action-group-BQ-fyPYS.js} +3 -3
  18. package/components/action-group-D1G30Iir.cjs +20 -0
  19. package/components/action-menu/index.cjs +1 -1
  20. package/components/action-menu/index.js +2 -2
  21. package/components/{action-menu-BlR6cLpi.js → action-menu-CkU-u55D.js} +21 -21
  22. package/components/{action-menu-C1C1Gx39.cjs → action-menu-DREgNCXt.cjs} +15 -15
  23. package/components/avatar/avatar.d.ts +17 -1
  24. package/components/avatar/index.cjs +1 -1
  25. package/components/avatar/index.js +2 -2
  26. package/components/avatar-Cu9c0sCS.cjs +34 -0
  27. package/components/avatar-Nb0368Wi.js +98 -0
  28. package/components/badge/badge.d.ts +1 -1
  29. package/components/badge/index.cjs +1 -1
  30. package/components/badge/index.js +2 -2
  31. package/components/badge-BzQfqgq6.cjs +23 -0
  32. package/components/badge-Dnkh-mfN.js +94 -0
  33. package/components/button/button-base.d.ts +1 -0
  34. package/components/button/button.d.ts +0 -1
  35. package/components/button/index.cjs +1 -1
  36. package/components/button/index.js +3 -3
  37. package/components/button-BJ0Y6wlM.cjs +20 -0
  38. package/components/{button-D1a4B85S.js → button-BtWr5Lag.js} +6 -6
  39. package/components/{button-base-CzTYjZND.js → button-base-DsUg0bJB.js} +26 -12
  40. package/components/{button-base-Dj2qQqwO.cjs → button-base-aTiE83bl.cjs} +3 -3
  41. package/components/button-group/index.cjs +1 -1
  42. package/components/button-group/index.js +2 -2
  43. package/components/button-group-6M8M-TUI.cjs +18 -0
  44. package/components/{button-group-BiQxYcQ2.js → button-group-DaANSInm.js} +2 -2
  45. package/components/calendar/index.cjs +1 -1
  46. package/components/calendar/index.js +2 -2
  47. package/components/{calendar-BNRjXf9B.js → calendar-CXjdC7jm.js} +5 -9
  48. package/components/calendar-DSlKZZCR.cjs +138 -0
  49. package/components/chat-message/chat-message.d.ts +0 -1
  50. package/components/chat-message/index.cjs +1 -1
  51. package/components/chat-message/index.js +2 -2
  52. package/components/chat-message-7cx2Bpo8.cjs +148 -0
  53. package/components/{chat-message-DJgocVNj.js → chat-message-CJ7Xk7tz.js} +757 -545
  54. package/components/chat-message-group/index.cjs +1 -1
  55. package/components/chat-message-group/index.js +2 -2
  56. package/components/chat-message-group-CzCwyW7F.cjs +24 -0
  57. package/components/{chat-message-group-B4U2MzHx.js → chat-message-group-D7vdn2gG.js} +2 -2
  58. package/components/checkbox/checkbox.d.ts +8 -1
  59. package/components/checkbox/index.cjs +1 -1
  60. package/components/checkbox/index.js +2 -2
  61. package/components/{checkbox-CPS-tR_i.js → checkbox-6YzkdHR4.js} +9 -5
  62. package/components/checkbox-DdatW4xE.cjs +25 -0
  63. package/components/{checkbox-mixin-C5sLMo5L.js → checkbox-mixin-jqmrh48O.js} +2 -2
  64. package/components/{checkbox-mixin-D4HeLrMj.cjs → checkbox-mixin-rFRXqyrK.cjs} +3 -3
  65. package/components/{close-button-MgaJT7yO.js → close-button-WomHVbgz.js} +4 -4
  66. package/components/close-button-hicleVjQ.cjs +18 -0
  67. package/components/color-area/index.cjs +1 -1
  68. package/components/color-area/index.js +2 -2
  69. package/components/{color-area-mWOctRNt.js → color-area-BRrtUbvH.js} +6 -6
  70. package/components/color-area-ayGmH8dj.cjs +80 -0
  71. package/components/color-controller-DbyPc33Y.cjs +18 -0
  72. package/components/color-field/index.cjs +1 -1
  73. package/components/color-field/index.js +2 -2
  74. package/components/{color-field-D7_7z2A2.cjs → color-field-BNGnBRSO.cjs} +2 -2
  75. package/components/{color-field-CxdIoSq6.js → color-field-CUdHxonc.js} +3 -3
  76. package/components/color-handle/index.cjs +1 -1
  77. package/components/color-handle/index.js +2 -2
  78. package/components/color-handle-DIoVrLRF.cjs +24 -0
  79. package/components/{color-handle-BOusOFFx.js → color-handle-TKbLs1ax.js} +2 -2
  80. package/components/color-loupe/index.cjs +1 -1
  81. package/components/color-loupe/index.js +2 -2
  82. package/components/{color-loupe-bEzi2P0y.js → color-loupe-DAxrNPJz.js} +2 -2
  83. package/components/color-loupe-sY1wOisV.cjs +56 -0
  84. package/components/color-menu/index.cjs +1 -1
  85. package/components/color-menu/index.js +2 -2
  86. package/components/color-menu-DOq9PAWG.cjs +89 -0
  87. package/components/{color-menu-Cryp_5Gh.js → color-menu-iKU6Vw8a.js} +24 -24
  88. package/components/color-palette/index.cjs +1 -1
  89. package/components/color-palette/index.js +2 -2
  90. package/components/color-palette-CidHsmE0.cjs +18 -0
  91. package/components/{color-palette-BAdaNySC.js → color-palette-FQyIMSwP.js} +3 -3
  92. package/components/color-palette-group/index.cjs +1 -1
  93. package/components/color-palette-group/index.js +2 -2
  94. package/components/color-palette-group-B4r4tPfY.cjs +28 -0
  95. package/components/{color-palette-group-D8Mavsd2.js → color-palette-group-o6bnF-Ir.js} +3 -3
  96. package/components/color-picker/index.cjs +1 -1
  97. package/components/color-picker/index.js +2 -2
  98. package/components/{color-picker-DgjqWiVd.js → color-picker-Bw5UKyME.js} +6 -6
  99. package/components/{color-picker-DL7rqWnW.cjs → color-picker-D3WFls0M.cjs} +2 -2
  100. package/components/color-slider/index.cjs +1 -1
  101. package/components/color-slider/index.js +2 -2
  102. package/components/color-slider-BiVpn9_U.cjs +57 -0
  103. package/components/{color-slider-ihAIFt5p.js → color-slider-BtPNTmQu.js} +6 -5
  104. package/components/{condition-attribute-with-id-DauPaLSS.cjs → condition-attribute-with-id-Cw92IbcP.cjs} +1 -1
  105. package/components/date-range-picker/index.cjs +1 -1
  106. package/components/date-range-picker/index.js +2 -2
  107. package/components/date-range-picker-DMq8EaiB.cjs +180 -0
  108. package/components/{date-range-picker-DocjwZKA.js → date-range-picker-DaHFLwQL.js} +13 -13
  109. package/components/date-time-picker/index.cjs +1 -1
  110. package/components/date-time-picker/index.js +2 -2
  111. package/components/date-time-picker-DdtcziBG.cjs +105 -0
  112. package/components/{date-time-picker-CPbIj4TN.js → date-time-picker-hjeFVUz9.js} +12 -12
  113. package/components/{decorate-aGxJUVxg.js → decorate-CkCg3wfh.js} +1 -1
  114. package/components/decorate-Dq34MBGe.cjs +18 -0
  115. package/components/{dependency-manger-CHy9t__e.cjs → dependency-manger-BSaHw9ju.cjs} +1 -1
  116. package/components/divider/index.cjs +1 -1
  117. package/components/divider/index.js +2 -2
  118. package/components/{divider-cU0lVwOp.js → divider-CGbT-CL8.js} +3 -3
  119. package/components/divider-wana0uPI.cjs +18 -0
  120. package/components/{divider.module-CL60P_z8.cjs → divider.module-BV6tmpOY.cjs} +1 -1
  121. package/components/{element-resolution-C0aiOB0Y.cjs → element-resolution-BjaAlqwX.cjs} +1 -1
  122. package/components/field-group/index.cjs +1 -1
  123. package/components/field-group/index.js +2 -2
  124. package/components/{field-group-C7ROsWq3.js → field-group-C_kRq7pJ.js} +2 -2
  125. package/components/{field-group-OcI5Lgu7.cjs → field-group-Dd5xYczm.cjs} +2 -2
  126. package/components/field-label/index.cjs +1 -1
  127. package/components/field-label/index.js +2 -2
  128. package/components/{field-label-CtGCEmdp.js → field-label-B9S41b7c.js} +5 -5
  129. package/components/field-label-C5vdJ1ys.cjs +25 -0
  130. package/components/focus-group-C8lOjbi9.cjs +18 -0
  131. package/components/{focus-group-BshI1RpM.js → focus-group-DVPa1zxz.js} +1 -1
  132. package/components/{focus-visible-CrooVCUu.js → focus-visible-Bt2uDmuM.js} +2 -2
  133. package/components/focus-visible-DNHNlrty.cjs +18 -0
  134. package/components/focusable-B6h03pAe.cjs +18 -0
  135. package/components/{focusable-BmS8IzhH.js → focusable-DuP0-Kuy.js} +2 -2
  136. package/components/{focusable-selectors-5n5liBn0.cjs → focusable-selectors-DJqGLTJo.cjs} +1 -1
  137. package/components/{get-label-from-slot-LO_DZP60.cjs → get-label-from-slot-TV4APBYs.cjs} +1 -1
  138. package/components/icon/index.cjs +1 -1
  139. package/components/icon/index.js +2 -2
  140. package/components/icon-CSqR-OOO.cjs +18 -0
  141. package/components/{icon-CwBAE1eU.js → icon-DB1DRieA.js} +5 -2
  142. package/components/index.cjs +1 -1
  143. package/components/index.js +71 -69
  144. package/components/infield-button/index.cjs +1 -1
  145. package/components/infield-button/index.js +2 -2
  146. package/components/{infield-button-BvKsbtKr.js → infield-button-BmGfFDDA.js} +3 -3
  147. package/components/infield-button-Cdee_UPX.cjs +22 -0
  148. package/components/label/index.cjs +1 -1
  149. package/components/label/index.js +2 -2
  150. package/components/{label-ClJE2esm.js → label-B1HYQ4Pp.js} +1 -1
  151. package/components/label-DPG13Ib0.cjs +18 -0
  152. package/components/{language-resolution-BYemISJC.cjs → language-resolution-BUeKpSce.cjs} +1 -1
  153. package/components/{like-anchor-BZJXts_H.cjs → like-anchor-BX4PSB3d.cjs} +2 -2
  154. package/components/{like-anchor-DeOXX-MX.js → like-anchor-DXCaEv7O.js} +1 -1
  155. package/components/{manage-help-text-CF0xBh0F.js → manage-help-text-ByLb0QYX.js} +13 -10
  156. package/components/{manage-help-text-D9VbYRf_.cjs → manage-help-text-DtFJsl0k.cjs} +3 -3
  157. package/components/menu/index.cjs +1 -1
  158. package/components/menu/index.js +2 -2
  159. package/components/menu/menu-item.d.ts +1 -1
  160. package/components/menu/menu.d.ts +12 -1
  161. package/components/{menu-Cdz2FEB7.js → menu-C9ogB7Bq.js} +82 -65
  162. package/components/menu-DXONqtwu.cjs +108 -0
  163. package/components/multi-language-field/index.cjs +1 -1
  164. package/components/multi-language-field/index.js +2 -2
  165. package/components/{multi-language-field-DmoMyCBH.cjs → multi-language-field-Cfy3M_ZS.cjs} +2 -2
  166. package/components/{multi-language-field-BzY75rOY.js → multi-language-field-DhQ98r2D.js} +4 -4
  167. package/components/notice/index.cjs +18 -0
  168. package/components/notice/index.d.ts +8 -0
  169. package/components/notice/index.js +25 -0
  170. package/components/notice/notice.d.ts +121 -0
  171. package/components/notice-BeL9oE94.js +218 -0
  172. package/components/notice-COZLmk94.cjs +60 -0
  173. package/components/number-field/index.cjs +1 -1
  174. package/components/number-field/index.js +2 -2
  175. package/components/number-field-D19qjVbk.cjs +57 -0
  176. package/components/{number-field-DrJURvoW.js → number-field-DjvWkjL8.js} +42 -42
  177. package/components/observe-slot-presence-CS8pMePk.cjs +18 -0
  178. package/components/observe-slot-text-CvL-2ey3.cjs +18 -0
  179. package/components/{observe-slot-text-Ddf1OC6F.js → observe-slot-text-Db8Kx3P-.js} +7 -7
  180. package/components/options/index.cjs +1 -1
  181. package/components/options/index.d.ts +5 -3
  182. package/components/options/index.js +2 -2
  183. package/components/options/option.d.ts +0 -1
  184. package/components/{options-BGwKMvng.js → options-C1MoEq26.js} +9 -9
  185. package/components/{options-CKi3VkNR.cjs → options-yWbz0D6O.cjs} +3 -3
  186. package/components/overlay/index.cjs +1 -1
  187. package/components/overlay/index.d.ts +3 -2
  188. package/components/overlay/index.js +4 -4
  189. package/components/overlay/overlay-trigger.d.ts +1 -1
  190. package/components/overlay-B-gaxspw.cjs +47 -0
  191. package/components/{overlay-BGI4wOGe.cjs → overlay-CPZvL0Ic.cjs} +2 -2
  192. package/components/{overlay-BbQuYBxp.js → overlay-CyBsHuOL.js} +20 -15
  193. package/components/{overlay-mdk7-NOt.js → overlay-DdIs4w5M.js} +3 -3
  194. package/components/{pending-state-DFcNf5rd.js → pending-state-BeG7qBDP.js} +1 -1
  195. package/components/{pending-state-DIeF18qg.cjs → pending-state-a527YMWV.cjs} +2 -2
  196. package/components/picker/index.cjs +1 -1
  197. package/components/picker/index.js +2 -2
  198. package/components/picker/picker.d.ts +1 -0
  199. package/components/{picker-DOiM_cUu.js → picker-Bufw-biD.js} +64 -66
  200. package/components/picker-D6ZM08K8.cjs +124 -0
  201. package/components/picker-button/index.cjs +1 -1
  202. package/components/picker-button/index.js +2 -2
  203. package/components/{picker-button-VAxzuhhg.js → picker-button-CF6yD_1d.js} +5 -5
  204. package/components/picker-button-Dh2gGZ8R.cjs +37 -0
  205. package/components/platform-BAjeJp2W.cjs +18 -0
  206. package/components/{platform-D4V_cOJF.js → platform-Ce9pNsR9.js} +2 -2
  207. package/components/popover/index.cjs +1 -1
  208. package/components/popover/index.js +2 -2
  209. package/components/{popover-DyC9xGhX.js → popover-DTsrgH-f.js} +4 -4
  210. package/components/popover-DWWYpY-k.cjs +30 -0
  211. package/components/progress-bar/index.cjs +1 -1
  212. package/components/progress-bar/index.js +2 -2
  213. package/components/{progress-bar-DHgFRml1.js → progress-bar-BJO8j1aX.js} +9 -6
  214. package/components/progress-bar-C7wJ5bxS.cjs +34 -0
  215. package/components/progress-circle/index.cjs +1 -1
  216. package/components/progress-circle/index.js +2 -2
  217. package/components/{progress-circle-Cg_ua9Ff.js → progress-circle-BVToDWX8.js} +3 -3
  218. package/components/progress-circle-DyApSKdm.cjs +33 -0
  219. package/components/progress-steps/index.cjs +1 -1
  220. package/components/progress-steps/index.js +2 -2
  221. package/components/progress-steps-Ba4VbAKR.cjs +96 -0
  222. package/components/{progress-steps-Da8aZWx3.js → progress-steps-nJ8Xw-nG.js} +10 -10
  223. package/components/prompt-box/controllers/attachments-controller.d.ts +1 -0
  224. package/components/prompt-box/index.cjs +1 -1
  225. package/components/prompt-box/index.d.ts +2 -1
  226. package/components/prompt-box/index.js +3 -3
  227. package/components/prompt-box/prompt-box-templates.d.ts +4 -0
  228. package/components/prompt-box/prompt-box.d.ts +33 -4
  229. package/components/prompt-box/types.d.ts +8 -0
  230. package/components/prompt-box-D358CWoY.cjs +314 -0
  231. package/components/{prompt-box-Bj0qIPOy.js → prompt-box-y7qWHF3P.js} +242 -186
  232. package/components/question-box/index.cjs +18 -0
  233. package/components/question-box/index.d.ts +11 -0
  234. package/components/question-box/index.js +25 -0
  235. package/components/question-box/question-box-elicitation.d.ts +58 -0
  236. package/components/question-box/question-box-model.d.ts +25 -0
  237. package/components/question-box/question-box-templates.d.ts +65 -0
  238. package/components/question-box/question-box.d.ts +182 -0
  239. package/components/question-box/types.d.ts +124 -0
  240. package/components/question-box-9F6Ppakl.js +1171 -0
  241. package/components/question-box-DaAgC3_D.cjs +401 -0
  242. package/components/radio/index.cjs +1 -1
  243. package/components/radio/index.js +2 -2
  244. package/components/radio/radio-group.d.ts +5 -1
  245. package/components/radio/radio.d.ts +7 -1
  246. package/components/{radio-BzEPGUmQ.js → radio-DRI4on-W.js} +30 -26
  247. package/components/radio-O3a1rmCe.cjs +22 -0
  248. package/components/{random-id-B51lUxUB.cjs → random-id-BcUJAxUZ.cjs} +1 -1
  249. package/components/{random-id-Dd4boCPV.js → random-id-CiMDyX7v.js} +1 -1
  250. package/components/{roving-tabindex-B7x5ePUB.cjs → roving-tabindex-BoPao4td.cjs} +1 -1
  251. package/components/{roving-tabindex-BP6mQbXf.js → roving-tabindex-pomAn3z-.js} +1 -1
  252. package/components/{scaled-indicator-DF45Sc3W.cjs → scaled-indicator-DLJIztx0.cjs} +2 -2
  253. package/components/search/index.cjs +1 -1
  254. package/components/search/index.js +2 -2
  255. package/components/search-B2DQb14U.js +100 -0
  256. package/components/search-CsNvKd8x.cjs +47 -0
  257. package/components/segments-factory-DtPyN5sh.cjs +18 -0
  258. package/components/select/index.cjs +1 -1
  259. package/components/select/index.js +2 -2
  260. package/components/select-B_E-w1a2.cjs +158 -0
  261. package/components/{select-C2gh8zRr.js → select-CE6pIRX3.js} +12 -12
  262. package/components/{chunk-D-qHiVGv.cjs → sized-mixin-BT7cv-fT.cjs} +1 -1
  263. package/components/{sized-mixin-DaBoZkVS.js → sized-mixin-DzQTebN-.js} +1 -1
  264. package/components/skeleton-loader/index.cjs +1 -1
  265. package/components/skeleton-loader/index.js +2 -2
  266. package/components/{skeleton-loader-C1XG3m_u.js → skeleton-loader-C0LH3prK.js} +1 -1
  267. package/components/skeleton-loader-Cm50Ztzk.cjs +18 -0
  268. package/components/slider/controllers/slider-handle-controller.d.ts +79 -0
  269. package/components/slider/index.cjs +1 -1
  270. package/components/slider/index.d.ts +5 -1
  271. package/components/slider/index.js +3 -3
  272. package/components/slider/slider-control-templates.d.ts +36 -0
  273. package/components/slider/slider-handle.d.ts +62 -0
  274. package/components/slider/slider-model.d.ts +16 -0
  275. package/components/slider/slider-templates.d.ts +6 -0
  276. package/components/slider/slider.d.ts +197 -19
  277. package/components/slider/types.d.ts +57 -0
  278. package/components/slider-CDrXecqO.cjs +135 -0
  279. package/components/slider-CfgH3NK8.js +921 -0
  280. package/components/{slottable-request-event-gAcEQan2.cjs → slottable-request-event-C6eb7Ch3.cjs} +1 -1
  281. package/components/status-light/index.cjs +1 -1
  282. package/components/status-light/index.js +2 -2
  283. package/components/{status-light-Bf8jGu4G.js → status-light-BlfBJpqa.js} +2 -2
  284. package/components/status-light-Bu0G8-lH.cjs +21 -0
  285. package/components/strategies-BwNbUXYS.cjs +18 -0
  286. package/components/{strategies-DhxJGIZT.js → strategies-Cl59wdNZ.js} +21 -19
  287. package/components/streaming-listener-Bfyk6Fsx.cjs +18 -0
  288. package/components/swatch/index.cjs +1 -1
  289. package/components/swatch/index.js +2 -2
  290. package/components/{swatch-BLuV-hlF.js → swatch-C2ty27bJ.js} +4 -4
  291. package/components/{swatch-G70JUe6I.cjs → swatch-DUmBmg4S.cjs} +2 -2
  292. package/components/switch/index.cjs +1 -1
  293. package/components/switch/index.js +2 -2
  294. package/components/switch-B-gu-War.cjs +22 -0
  295. package/components/{switch-C5g5t5x2.js → switch-DOuXlFwI.js} +5 -5
  296. package/components/tabs/index.cjs +1 -1
  297. package/components/tabs/index.js +2 -2
  298. package/components/tabs/tabs.d.ts +1 -2
  299. package/components/{tabs-CTKkW-L8.cjs → tabs-CcnIX4jQ.cjs} +2 -2
  300. package/components/{tabs-DYpbsO58.js → tabs-D1puCPrL.js} +11 -11
  301. package/components/tags/index.cjs +1 -1
  302. package/components/tags/index.js +2 -2
  303. package/components/tags/tag.d.ts +4 -3
  304. package/components/{tags-CBL5oFEo.js → tags-Bw-y2Wfl.js} +26 -26
  305. package/components/tags-Cr8ObbWn.cjs +47 -0
  306. package/components/text-field/help-text-manager.d.ts +3 -1
  307. package/components/text-field/help-text.d.ts +4 -0
  308. package/components/text-field/index.cjs +1 -1
  309. package/components/text-field/index.js +3 -3
  310. package/components/text-field/manage-help-text.d.ts +2 -1
  311. package/components/text-field/text-field.d.ts +9 -0
  312. package/components/{text-field-FJr8ZUhI.cjs → text-field-3fDtTQkR.cjs} +2 -2
  313. package/components/{text-field-BoGAvXvh.js → text-field-C2MHZbTp.js} +3 -3
  314. package/components/{text-field-Cs8HYRYL.js → text-field-CmSym2QK.js} +5 -5
  315. package/components/text-field-wJK2bzMT.cjs +21 -0
  316. package/components/{text-field.module-Btsve-VN.js → text-field.module-BHhBReKL.js} +1 -1
  317. package/components/{text-field.module-D5oDP7MB.cjs → text-field.module-l8CaTCwE.cjs} +1 -1
  318. package/components/toast/index.cjs +1 -1
  319. package/components/toast/index.js +2 -2
  320. package/components/toast-BPhdMJTx.cjs +51 -0
  321. package/components/{toast-Bd0fleYT.js → toast-D90C9Cim.js} +4 -4
  322. package/components/tooltip/index.cjs +1 -1
  323. package/components/tooltip/index.js +2 -2
  324. package/components/{tooltip-CVSSKlDP.js → tooltip-Byl1h4nN.js} +4 -4
  325. package/components/tooltip-Sm0pruxL.cjs +45 -0
  326. package/components/top-nav/index.cjs +1 -1
  327. package/components/top-nav/index.js +2 -2
  328. package/components/{top-nav-CMVB3G_v.js → top-nav-B9YKdtFB.js} +7 -11
  329. package/components/top-nav-BcZLCBP_.cjs +41 -0
  330. package/components/utils.cjs +1 -1
  331. package/components/utils.js +7 -7
  332. package/components/{voice-recorder-BUtmSvPO.cjs → voice-recorder-B1tBrGTV.cjs} +1 -1
  333. package/custom-elements.json +1 -1
  334. package/index.d.ts +2 -0
  335. package/package.json +15 -4
  336. package/utils/button-interaction-controllers/interaction-controller.d.ts +4 -2
  337. package/utils/reactive-controllers/match-media.d.ts +1 -0
  338. package/components/accordion-BHBIfsLU.cjs +0 -43
  339. package/components/action-bar-BSMX042X.cjs +0 -39
  340. package/components/action-button-Cr_QN4On.cjs +0 -22
  341. package/components/action-group-CH8FTW0i.cjs +0 -20
  342. package/components/avatar-CyY_ZSD0.js +0 -65
  343. package/components/avatar-PulwjkMI.cjs +0 -24
  344. package/components/badge-D1Ry32wi.cjs +0 -23
  345. package/components/badge-D6p2hPj8.js +0 -94
  346. package/components/button-C5hcfigl.cjs +0 -20
  347. package/components/button-group-DIz5TZvc.cjs +0 -18
  348. package/components/calendar-BWArK3rh.cjs +0 -142
  349. package/components/chat-message-CNE-mGuP.cjs +0 -149
  350. package/components/chat-message-group-COmhCN-R.cjs +0 -24
  351. package/components/checkbox-DFwDrIdY.cjs +0 -25
  352. package/components/close-button-_EXjp6_m.cjs +0 -18
  353. package/components/color-area-C3Y2d5cu.cjs +0 -80
  354. package/components/color-controller-DueaXfnX.cjs +0 -18
  355. package/components/color-handle-Cka48yPY.cjs +0 -24
  356. package/components/color-loupe-DMk8uWZW.cjs +0 -56
  357. package/components/color-menu-BAKmi_EI.cjs +0 -89
  358. package/components/color-palette-349EkPMg.cjs +0 -18
  359. package/components/color-palette-group-BvP09zmT.cjs +0 -28
  360. package/components/color-slider-DxjJ72ue.cjs +0 -57
  361. package/components/date-range-picker-DdY9hGsU.cjs +0 -180
  362. package/components/date-time-picker-DdujhIkd.cjs +0 -105
  363. package/components/decorate-B2wePfNm.cjs +0 -18
  364. package/components/divider-Dn8XqbB6.cjs +0 -18
  365. package/components/field-label-BCl6R1uO.cjs +0 -25
  366. package/components/focus-group-SF8Kj7iB.cjs +0 -18
  367. package/components/focus-visible-B0NNezGc.cjs +0 -18
  368. package/components/focusable-CupEoHmn.cjs +0 -18
  369. package/components/icon-B7hKwn_q.cjs +0 -18
  370. package/components/infield-button-D5cuBWE5.cjs +0 -22
  371. package/components/label-CqolZbJo.cjs +0 -18
  372. package/components/menu-DFKS4sRU.cjs +0 -108
  373. package/components/number-field-BmWODnnR.cjs +0 -57
  374. package/components/observe-slot-presence-Dx8hzNzK.cjs +0 -18
  375. package/components/observe-slot-text-BhTcGuHY.cjs +0 -18
  376. package/components/overlay-DU_p8MNs.cjs +0 -47
  377. package/components/picker-CssPvvau.cjs +0 -123
  378. package/components/picker-button-adl1JO5u.cjs +0 -37
  379. package/components/platform-B7Sk7Qon.cjs +0 -18
  380. package/components/popover-dgL04x6P.cjs +0 -30
  381. package/components/progress-bar-BR28tISC.cjs +0 -31
  382. package/components/progress-circle-DuzwUiGN.cjs +0 -33
  383. package/components/progress-steps-WriXaZpE.cjs +0 -96
  384. package/components/prompt-box-6Z5LIjCF.cjs +0 -299
  385. package/components/radio-d-2GUbYE.cjs +0 -22
  386. package/components/search-CCvT87FX.cjs +0 -47
  387. package/components/search-Dtff2EzC.js +0 -100
  388. package/components/segments-factory-CHo9oQw7.cjs +0 -18
  389. package/components/select-qAKOLhmQ.cjs +0 -158
  390. package/components/sized-mixin-StFA4y0J.cjs +0 -18
  391. package/components/skeleton-loader-B8NgELvX.cjs +0 -18
  392. package/components/slider-3QBnq0S8.js +0 -96
  393. package/components/slider-uXRKcOz5.cjs +0 -18
  394. package/components/status-light-CBaAFRUc.cjs +0 -21
  395. package/components/strategies-kuvLVIKO.cjs +0 -18
  396. package/components/streaming-listener-BnDW38lt.cjs +0 -18
  397. package/components/switch-COhz9ka9.cjs +0 -22
  398. package/components/tags-CndS4S2k.cjs +0 -47
  399. package/components/text-field-A4Obzs4l.cjs +0 -21
  400. package/components/toast-NZ0Z1lz9.cjs +0 -51
  401. package/components/tooltip-6y-g7e9V.cjs +0 -45
  402. package/components/top-nav-bekRXHUk.cjs +0 -45
  403. /package/components/{color-controller-G2_v2xSl.js → color-controller-Rg_Zl0sT.js} +0 -0
  404. /package/components/{condition-attribute-with-id-Duo51HZ7.js → condition-attribute-with-id-BdnTdWKz.js} +0 -0
  405. /package/components/{dependency-manger-DMrulWcJ.js → dependency-manger-wHEXoU92.js} +0 -0
  406. /package/components/{divider.module-C65RfSUa.js → divider.module-CPEKsaqR.js} +0 -0
  407. /package/components/{element-resolution-Bs1x89vU.js → element-resolution-gap51AVo.js} +0 -0
  408. /package/components/{focusable-selectors-Bg60_Kra.js → focusable-selectors-BWpiuXz5.js} +0 -0
  409. /package/components/{get-label-from-slot-5vVnfSgN.js → get-label-from-slot-Bo9mqYCZ.js} +0 -0
  410. /package/components/{language-resolution-BpfGTC29.js → language-resolution-DR30FsWE.js} +0 -0
  411. /package/components/{observe-slot-presence-BCqd3VSd.js → observe-slot-presence-BKY6n06-.js} +0 -0
  412. /package/components/{rolldown-runtime-CAFD8bLK.js → rolldown-runtime-Dy4uBu1J.js} +0 -0
  413. /package/components/{scaled-indicator-BoLeYSgL.js → scaled-indicator-C-TupV4L.js} +0 -0
  414. /package/components/{segments-factory-D0IveW-q.js → segments-factory-BCRi1NKb.js} +0 -0
  415. /package/components/{slottable-request-event-DZ2Z_BLk.js → slottable-request-event-MRSZbgTu.js} +0 -0
  416. /package/components/{streaming-listener-2NcP7ys7.js → streaming-listener-CtcMpYfS.js} +0 -0
  417. /package/components/{voice-recorder-477xPHRU.js → voice-recorder-CTg3kRxx.js} +0 -0
@@ -1,96 +0,0 @@
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(`./sized-mixin-StFA4y0J.cjs`);let n=require(`lit`),r=require(`lit/decorators.js`),i=require(`@luzmo/icons`);var a=`:host{font-family:var(--luzmo-font-family);font-size:var(--luzmo-progress-steps-font-size,var(--progress-steps-font-size));color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));display:block}.progress-steps-container{gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));flex-direction:column;display:flex}.step{grid-template-columns:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) auto;column-gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));animation:.3s ease-out forwards stepFadeIn;display:grid;position:relative}.step:not(:last-child):after{content:"";left:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2);top:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));bottom:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)));background-color:var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));z-index:0;pointer-events:none;width:1px;position:absolute;transform:translate(-.5px)}.step:not(:last-child):has(.substeps-container.expanded):after{height:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));top:auto}.step-header{-webkit-user-select:none;user-select:none;display:contents}.step-header.has-substeps{cursor:pointer}.step-icon{width:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));height:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));flex-shrink:0;grid-column:1;justify-content:center;align-self:center;align-items:center;display:flex;position:relative}.step-icon svg{width:100%;height:100%}.step-header.has-substeps .step-icon{cursor:pointer}.step-icon-pending{color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed))}.step-icon-in-progress{position:relative}.step-dot{width:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) * .4);height:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) * .4);background-color:var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));position:relative}.step-dot:after{--progress-steps-pulse-offset-calc:var(--luzmo-progress-steps-pulse-offset,var(--progress-steps-pulse-offset,6px));content:"";top:calc(-1 * var(--progress-steps-pulse-offset-calc));left:calc(-1 * var(--progress-steps-pulse-offset-calc));right:calc(-1 * var(--progress-steps-pulse-offset-calc));bottom:calc(-1 * var(--progress-steps-pulse-offset-calc));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));background-color:var(--luzmo-progress-steps-pulse-color,var(--progress-steps-pulse-color));opacity:0;animation:2s cubic-bezier(.4,0,.6,1) infinite mainStepPulse;position:absolute}.step-icon-completed{color:var(--luzmo-progress-steps-completed-color,var(--progress-steps-completed-color))}.step-icon-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.step-content{align-items:center;gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));border-radius:var(--luzmo-progress-steps-border-radius,var(--progress-steps-border-radius));flex-direction:row;grid-column:2;align-self:center;min-width:0;display:flex}.step-header.has-substeps .step-content{cursor:pointer}.step-name{font-weight:var(--luzmo-font-weight-semibold);color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.step-chevron{width:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));height:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));flex-shrink:0;justify-content:center;align-items:end;display:flex}.step-chevron svg{width:100%;height:100%}.step-chevron.hidden{visibility:hidden;cursor:default}.substeps-container{grid-column:1/-1;grid-template-columns:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) 1fr;column-gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));max-height:0;transition:none;display:grid;position:relative;overflow:clip}.substeps-container.expanded{max-height:var(--luzmo-progress-steps-substeps-max-height,var(--progress-steps-substeps-max-height,1000px));transition:max-height .3s cubic-bezier(.4,0,.2,1)}.substeps{gap:var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap));padding-top:var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap));flex-direction:column;grid-column:2;display:flex;position:relative}.substep{font-size:var(--luzmo-progress-steps-font-size-small,var(--progress-steps-font-size-small));--progress-steps-substep-line-height:1.4;--progress-steps-substep-bullet-center-offset:calc(var(--progress-steps-substep-line-height) * .5em);line-height:var(--progress-steps-substep-line-height);opacity:0;animation:.25s ease-out forwards substepFadeIn;position:relative}.substep:first-child{animation-delay:50ms}.substep:nth-child(2){animation-delay:.1s}.substep:nth-child(3){animation-delay:.15s}.substep:nth-child(4){animation-delay:.2s}.substep:nth-child(5){animation-delay:.25s}.substep:nth-child(6){animation-delay:.3s}.substep:nth-child(n+7){animation-delay:.35s}.substep-bullet{left:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)) - var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2 - var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size)) / 2);top:calc(var(--progress-steps-substep-bullet-center-offset) - var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size)) / 2);width:var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size));height:var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size));z-index:2;background-color:var(--luzmo-background-color,#fff);--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));border-radius:50%;position:absolute}.substep-bullet:before,.substep-bullet:after{content:"";border-radius:50%;position:absolute}.substep-bullet:before{background-color:var(--progress-steps-substep-bullet-base);z-index:0;inset:0}.substep-bullet:after{background-color:var(--progress-steps-substep-bullet-fill);z-index:1;inset:0}.substep:before,.substep:after{content:"";left:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)) - var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2);background-color:var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));z-index:0;width:1px;position:absolute;transform:translate(-.5px)}.substep.is-first:before{top:calc(-1 * var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)));height:calc(var(--progress-steps-substep-bullet-center-offset) + var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)))}.substep:not(.is-last):after{top:var(--progress-steps-substep-bullet-center-offset);height:calc(100% + var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)))}.substep.is-last:after{display:none}.step:not(:last-child) .substep.is-last:after{top:var(--progress-steps-substep-bullet-center-offset);height:calc(100% - var(--progress-steps-substep-bullet-center-offset));display:block}.substep.is-first:has(.substep-bullet-in-progress):before{background:linear-gradient(to bottom, var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)), var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)))}.substep:has(+.substep .substep-bullet-in-progress):after{background:linear-gradient(to bottom, var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)), var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)))}.substep-bullet-pending,.substep-bullet-completed,.substep-bullet-error{--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color))}.substep-bullet-in-progress{--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color));box-shadow:0 0 5px 0 color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 30%, transparent);animation:2s cubic-bezier(.4,0,.6,1) infinite substepBulletGlow}.substep-bullet-in-progress:after{animation:2s cubic-bezier(.4,0,.6,1) infinite substepBulletPulse}.substep-text,.substep-text-pending,.substep-text-completed,.substep-text-error{color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed))}.substep-text-completed{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.substep-text-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.condensed-toggle{align-items:center;gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));transition:color .2s;display:flex}.condensed-toggle:hover{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.condensed-toggle-text{font-weight:var(--luzmo-font-weight-semibold)}.condensed-toggle-chevron{width:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));height:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:flex}.condensed-toggle-chevron svg{width:100%;height:100%}.condensed-toggle-chevron.expanded{transform:rotate(180deg)}.condensed-steps{gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));margin-top:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));flex-direction:column;display:flex}@keyframes mainStepPulse{0%{opacity:.6;transform:scale(.8)}50%{opacity:.3;transform:scale(1.25)}to{opacity:.6;transform:scale(.8)}}@keyframes substepBulletPulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:.4;transform:scale(1.05)}}@keyframes substepBulletGlow{0%,to{box-shadow:0 0 4px 0 color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 25%, transparent)}50%{box-shadow:0 0 6px 1px color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 35%, transparent)}}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes substepFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}:host([no-animate]) .step{animation:none}:host([no-animate]) .substep{opacity:1;animation:none}:host([no-animate]) .substep-bullet-in-progress,:host([no-animate]) .substep-bullet-in-progress:after{animation:none}:host([no-animate]) .condensed-toggle-chevron{transition:none}:host{--progress-steps-primary-color:var(--luzmo-primary);--progress-steps-pulse-color:rgba(var(--luzmo-primary-rgb), .4);--progress-steps-font-color:var(--luzmo-font-color);--progress-steps-font-color-dimmed:var(--luzmo-font-color-extra-dimmed);--progress-steps-completed-color:var(--luzmo-positive-color);--progress-steps-error-color:var(--luzmo-negative-color);--progress-steps-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--progress-steps-substep-gap:var(--luzmo-spacing-3);--progress-steps-border-radius:var(--luzmo-border-radius);--progress-steps-font-size:var(--luzmo-font-size);--progress-steps-font-size-small:var(--luzmo-font-size-s);--progress-steps-icon-size:var(--luzmo-icon-size-xl);--progress-steps-icon-radius:var(--luzmo-border-radius-s);--progress-steps-chevron-size:var(--luzmo-icon-size-m);--progress-steps-substep-bullet-size:6px;--progress-steps-pulse-offset:6px;--progress-steps-substeps-max-height:1000px;--progress-steps-substep-connector-color:var(--luzmo-border-color);--progress-steps-substep-bullet-color:var(--luzmo-border-color)}:host([size=s]){--progress-steps-font-size:var(--luzmo-font-size-s);--progress-steps-font-size-small:var(--luzmo-font-size-xs);--progress-steps-gap:var(--luzmo-spacing-3);--progress-steps-substep-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-icon-size:var(--luzmo-icon-size-m);--progress-steps-chevron-size:var(--luzmo-icon-size-s);--progress-steps-substep-bullet-size:5px}:host([size=l]){--progress-steps-font-size:var(--luzmo-font-size-l);--progress-steps-font-size-small:var(--luzmo-font-size);--progress-steps-gap:var(--luzmo-spacing-4);--progress-steps-substep-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--progress-steps-icon-size:calc(var(--luzmo-icon-size-xl) + var(--luzmo-spacing-1));--progress-steps-chevron-size:var(--luzmo-icon-size-l);--progress-steps-substep-bullet-size:6px}:host([size=xl]){--progress-steps-font-size:var(--luzmo-font-size-xl);--progress-steps-font-size-small:var(--luzmo-font-size-l);--progress-steps-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--progress-steps-substep-gap:var(--luzmo-spacing-4);--progress-steps-icon-size:calc(var(--luzmo-icon-size-xl) + var(--luzmo-spacing-2));--progress-steps-chevron-size:var(--luzmo-icon-size-xl);--progress-steps-substep-bullet-size:7px}:host{box-sizing:border-box}`,o={condensedSingular:`{{count}} step completed`,condensedPlural:`{{count}} steps completed`,stepInProgress:`Step in progress`,stepPending:`Step pending`,stepCompleted:`Step completed`,stepFailed:`Step failed`},s=class extends t.n(e.n,{defaultSize:`m`,validSizes:[`s`,`m`,`l`,`xl`]}){constructor(...e){super(...e),this.progress=null,this.locale=`en`,this.collapsed=!1,this.displayMode=`detailed`,this.condensed=!1,this.labels={...o},this.noAnimate=!1,this._condensedExpanded=!1,this._expandedNodes=new Set,this._autoExpandedNodes=new Set,this._manuallyExpandedNodes=new Set}static{this.styles=[(0,n.unsafeCSS)(a)]}willUpdate(e){if(super.willUpdate(e),e.has(`progress`)){let t=e.get(`progress`);this._handleProgressChange(t),(!this.progress||!t||this.progress.id!==t.id)&&(this._condensedExpanded=!1)}e.has(`condensed`)&&(this._condensedExpanded=!1),e.has(`collapsed`)&&(this.collapsed?this._collapseAutoExpandedNodes():this._reExpandInProgressNodes())}_handleProgressChange(e){(!this.progress||!e||this.progress.id!==e.id)&&this._clearExpansionState(),this.progress?.children&&(this._handleAutoExpandCollapse(this.progress.children),this.collapsed&&this._collapseAutoExpandedNodes())}_clearExpansionState(){this._expandedNodes.clear(),this._autoExpandedNodes.clear(),this._manuallyExpandedNodes.clear()}_handleAutoExpandCollapse(e){for(let t of e){let e=t.id;t.status===`inProgress`&&!this._autoExpandedNodes.has(e)&&(this._autoExpandedNodes.add(e),this._expandedNodes.add(e)),t.children&&this._handleAutoExpandCollapse(t.children)}}_collapseAutoExpandedNodes(){for(let e of this._autoExpandedNodes)this._manuallyExpandedNodes.has(e)||this._expandedNodes.delete(e)}_reExpandInProgressNodes(){this.progress?.children&&this._reExpandInProgressNodesRecursive(this.progress.children)}_reExpandInProgressNodesRecursive(e){for(let t of e)t.status===`inProgress`&&this._autoExpandedNodes.has(t.id)&&this._expandedNodes.add(t.id),t.children&&this._reExpandInProgressNodesRecursive(t.children)}_mapStatus(e){switch(e){case`inProgress`:return`in-progress`;case`success`:return`completed`;case`pending`:return`pending`;case`error`:return`error`;default:return`pending`}}_resolveLocalizedString(e){return e[this.locale]??e.en??Object.values(e)[0]??``}_interpolateDescription(e){return e.description?e.descriptionMetadata?e.description.replaceAll(/\{\{(\w+)\}\}/g,(t,n)=>{let r=e.descriptionMetadata?.[n];return r==null?`{{${n}}}`:Array.isArray(r)?r.map(e=>typeof e==`object`&&e?this._resolveLocalizedString(e):String(e)).join(`, `):typeof r==`object`?this._resolveLocalizedString(r):String(r)}):e.description:``}_toggleNodeExpansion(e){this._expandedNodes.has(e)?(this._expandedNodes.delete(e),this._manuallyExpandedNodes.delete(e),this.dispatchEvent(new CustomEvent(`luzmo-step-collapsed`,{bubbles:!0,composed:!0,detail:{nodeId:e}}))):(this._expandedNodes.add(e),this._manuallyExpandedNodes.add(e),this.dispatchEvent(new CustomEvent(`luzmo-step-expanded`,{bubbles:!0,composed:!0,detail:{nodeId:e}}))),this.requestUpdate()}_isNodeExpanded(e){return this._expandedNodes.has(e)}_renderStepIcon(e){let t;switch(e){case`in-progress`:t=this.labels.stepInProgress;break;case`pending`:t=this.labels.stepPending;break;case`completed`:t=this.labels.stepCompleted;break;case`error`:t=this.labels.stepFailed;break;default:t=this.labels.stepPending}if(e===`in-progress`)return n.html`
19
- <div
20
- class="step-icon step-icon-in-progress"
21
- aria-label=${t}
22
- role="img"
23
- >
24
- <div class="step-dot"></div>
25
- </div>
26
- `;let r;switch(e){case`pending`:r=i.luzmoCircle;break;case`completed`:r=i.luzmoCheckCircleOutline;break;case`error`:r=i.luzmoClose14;break;default:r=i.luzmoCircle}return n.html`
27
- <div
28
- class="step-icon step-icon-${e}"
29
- aria-label=${t}
30
- role="img"
31
- >
32
- ${(0,i.luzmoIcon)(r)}
33
- </div>
34
- `}_renderChevron(e,t){return n.html`<div class="step-chevron ${t?``:`hidden`}">
35
- ${(0,i.luzmoIcon)(e?i.luzmoAngleUp:i.luzmoAngleDown)}
36
- </div>`}_renderSubsteps(e){let t=e.length-1;return e.map((e,n)=>this._renderSubstep(e,n===0,n===t))}_renderSubstep(e,t,r){let i=this._mapStatus(e.status),a=this._interpolateDescription(e),o=[`substep`];return t&&o.push(`is-first`),r&&o.push(`is-last`),n.html`
37
- <div class=${o.join(` `)}>
38
- <div class="substep-bullet substep-bullet-${i}"></div>
39
- <div class="substep-text substep-text-${i}">${a}</div>
40
- </div>
41
- `}_renderStep(e){let t=this._mapStatus(e.status),r=this.displayMode===`compact`,i=this._interpolateDescription(e)||e.step,a=!r&&e.children&&e.children.length>0,o=this._isNodeExpanded(e.id),s=`substeps-${e.id}`;return n.html`
42
- <div class="step">
43
- <div
44
- class="step-header ${a?`has-substeps`:``}"
45
- role=${a?`button`:`status`}
46
- aria-expanded=${a?o:n.nothing}
47
- aria-controls=${a?s:n.nothing}
48
- tabindex=${a?0:n.nothing}
49
- @click=${a?()=>this._toggleNodeExpansion(e.id):n.nothing}
50
- @keydown=${a?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),this._toggleNodeExpansion(e.id))}:n.nothing}
51
- >
52
- ${this._renderStepIcon(t)}
53
- <div class="step-content">
54
- <div class="step-name">${i}</div>
55
- ${r?n.nothing:this._renderChevron(o,!!a)}
56
- </div>
57
- </div>
58
- ${a?n.html`
59
- <div
60
- id=${s}
61
- class="substeps-container ${o?`expanded`:``}"
62
- >
63
- <div class="substeps">
64
- ${this._renderSubsteps(e.children??[])}
65
- </div>
66
- </div>
67
- `:n.nothing}
68
- </div>
69
- `}_toggleCondensed(){this._condensedExpanded=!this._condensedExpanded,this.requestUpdate()}_handleCondensedKeydown(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this._toggleCondensed())}_renderCondensed(){let e=this.progress?.children?.filter(e=>e.status===`success`).length??0,t=(e===1?this.labels.condensedSingular:this.labels.condensedPlural).replace(`{{count}}`,String(e));return n.html`
70
- <div class="condensed-container">
71
- <div
72
- class="condensed-toggle"
73
- role="button"
74
- tabindex="0"
75
- aria-expanded=${this._condensedExpanded}
76
- @click=${this._toggleCondensed}
77
- @keydown=${this._handleCondensedKeydown}
78
- >
79
- <span class="condensed-toggle-text">${t}</span>
80
- <span
81
- class="condensed-toggle-chevron ${this._condensedExpanded?`expanded`:``}"
82
- >
83
- ${(0,i.luzmoIcon)(i.luzmoAngleDown)}
84
- </span>
85
- </div>
86
- ${this._condensedExpanded?n.html`<div class="condensed-steps">${this._renderSteps()}</div>`:n.nothing}
87
- </div>
88
- `}_renderSteps(){return(this.progress?.children??[]).map(e=>this._renderStep(e))}render(){return this.condensed?n.html`
89
- <div class="progress-steps-container" role="status" aria-live="polite">
90
- ${this._renderCondensed()}
91
- </div>
92
- `:n.html`
93
- <div class="progress-steps-container" role="status" aria-live="polite">
94
- ${this._renderSteps()}
95
- </div>
96
- `}};e.t([(0,r.property)({type:Object})],s.prototype,`progress`,void 0),e.t([(0,r.property)({type:String})],s.prototype,`locale`,void 0),e.t([(0,r.property)({type:Boolean})],s.prototype,`collapsed`,void 0),e.t([(0,r.property)({type:String,attribute:`display-mode`})],s.prototype,`displayMode`,void 0),e.t([(0,r.property)({type:Boolean})],s.prototype,`condensed`,void 0),e.t([(0,r.property)({type:Object})],s.prototype,`labels`,void 0),e.t([(0,r.property)({type:Boolean,attribute:`no-animate`,reflect:!0})],s.prototype,`noAnimate`,void 0),e.t([(0,r.state)()],s.prototype,`_condensedExpanded`,void 0),e.t([(0,r.state)()],s.prototype,`_expandedNodes`,void 0),e.t([(0,r.state)()],s.prototype,`_autoExpandedNodes`,void 0),e.t([(0,r.state)()],s.prototype,`_manuallyExpandedNodes`,void 0),customElements.get(`luzmo-progress-steps`)||customElements.define(`luzmo-progress-steps`,s),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
@@ -1,299 +0,0 @@
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(`./sized-mixin-StFA4y0J.cjs`);require(`./icon-B7hKwn_q.cjs`),require(`./action-button-Cr_QN4On.cjs`);const n=require(`./overlay-DU_p8MNs.cjs`);require(`./overlay-BGI4wOGe.cjs`),require(`./button-C5hcfigl.cjs`),require(`./text-field-A4Obzs4l.cjs`),require(`./tags-CndS4S2k.cjs`);const r=require(`./voice-recorder-BUtmSvPO.cjs`);let i=require(`lit`),a=require(`lit/decorators.js`),o=require(`@luzmo/icons`);var s=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}clearAttachments(){this._revokeAllPreviewUrls(),this._attachments=[],this._dispatchChange(),this._host.requestUpdate()}getAttachments(){return[...this._attachments]}handlePastedImages(e){if(!this._host.allowImages||this._host.disabled||this._host.readonly||this._host.pending||!e)return!1;let t=[];for(let n of e.items)if(n.type.startsWith(`image/`)){let e=n.getAsFile();e&&t.push(e)}return t.length>0?(this.addFiles(t),!0):!1}getAcceptAttribute(){if(this._host.acceptedFileTypes.length>0)return this._host.acceptedFileTypes.join(`,`);let e=[];return this._host.allowImages&&e.push(`image/*`),this._host.allowFiles&&e.push(`*/*`),e.join(`,`)}isImageFile(e){return this._isImageFile(e)}_isImageFile(e){return e.type.startsWith(`image/`)}_isFileTypeAccepted(e){if(this._host.acceptedFileTypes.length===0)return!0;let t=e.name.toLowerCase(),n=e.type.toLowerCase();for(let e of this._host.acceptedFileTypes){let r=e.toLowerCase();if(r.endsWith(`/*`)){let e=r.slice(0,-2);if(n.startsWith(e+`/`))return!0}else if(n===r)return!0;else if(r.startsWith(`.`)&&t.endsWith(r))return!0}return!1}_generateId(){return`attachment-${++this._idCounter}-${Date.now()}`}_revokeAllPreviewUrls(){for(let e of this._attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}_dispatchChange(){this._host.dispatchEvent(new CustomEvent(`luzmo-attachments-change`,{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}},c=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){if(!r.t.isSupported()){this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:`Voice recording is not supported in this browser`}}));return}if(this.isRecording){this.stop();return}this.shouldFocusFinishButton=e,this._init(),this._voiceRecorder&&(await this._voiceRecorder.startRecording()&&(this.isRecording=!0,this.duration=0,this.audioLevel=0,this._host.requestUpdate()),this._host.dispatchEvent(new CustomEvent(`luzmo-record`,{bubbles:!0,composed:!0,detail:{isRecording:this.isRecording}})))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return r.t.formatDuration(this.duration)}static isSupported(){return r.t.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new r.t({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function l(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function u(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function d(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=l(e,i),s=u(o,n,r),c=l(e,a),d=u(c,n,r);return d<s&&(o=c,s=d),{range:o,distSq:s}}function f(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=d(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,u=l(e,o),d=l(e,o+1),f=t<c?u:d,p=n-(r.top+r.height/2),m=t<c?t-r.left:t-r.right,h=m*m+p*p;h<a&&(a=h,i=f)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function p(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a)if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else `caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=f(t,n,r,i)),a}function m(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function h(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function g(e){return e===` `||e===`
19
- `||e===`\xA0`}function ee(e){let t=m(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return g(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0?!0:g(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0?!0:g(t.at(-1)??``)}}return!1}function _(e,t){let n=m(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function v(e,t){let n=m(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function y(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);h(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function b(e,t,n,r){let i=m(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),h(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),h(s,n);return}}}var x=`application/x-luzmo-element`,S=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=m(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;(!t||!this.richInputElement?.contains(t))&&(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(x);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?p(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){if(!this._host.allowElements){this._host.value=this._segmentsToPlainText(e);return}this._elements.clear(),this._host.updateComplete.then(()=>{if(this.richInputElement){this.richInputElement.innerHTML=``;for(let t of e)if(t.type===`text`&&t.value)this.richInputElement.append(document.createTextNode(t.value));else if(t.type===`element`&&t.value){let e={...t.value};e.id||=this._generateId(),this._elements.set(e.id,e),this.richInputElement.append(this._createBadgeNode(e))}this.syncValue()}})}insertElement(e,t,n,r){return this._insertElementAtRange(e,t,n,r,null)}_insertElementAtRange(e,t,n,r,i){if(this._cannotEditRichContent()||this._host.acceptedElementTypes.length>0&&!this._host.acceptedElementTypes.includes(e)||!this.richInputElement)return``;let a=this._generateId(),o={id:a,elementType:e,label:t,data:n,icon:r};this._elements.set(a,o);let s=this._createBadgeNode(o),c=this.richInputElement,l=!1,u=i===null?this._getSelectionRange():i;if(u&&c.contains(u.commonAncestorContainer)){u.deleteContents(),u.insertNode(s);let e=s.previousSibling;if(e?.nodeType===Node.TEXT_NODE){let t=e.previousSibling;t?.classList?.contains(`element-badge`)&&this._ensureSpaceAfter(t)}this._ensureSpaceAfter(s),y(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),y(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return m(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=m(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE)if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;!n||r||t.innerHTML===``||(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
20
- `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},C=class{constructor(e){this._triggers=[],this.activeTrigger=null,this.searchString=``,this.virtualElement=null,this.highlightedIndex=0,this.pointerMovedSinceKeyNav=!0,this.hoveredIndex=-1,this.filteredOptions=[],this.richInputElement=null,this.handleOverlayClosed=()=>{this.close()},this.handleOverlayKeydown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.close(),this.richInputElement?.focus())},this.handlePointerMove=()=>{this.pointerMovedSinceKeyNav=!0},this._handleTriggerSelect=e=>{if(!this.activeTrigger)return;let{elementType:t,label:n,data:r,icon:i}=e.detail;this.selectOption({label:n,value:n,data:r,icon:i,elementType:t})},this._handleDocumentPointerDown=e=>{let t=e.composedPath(),n=this._host.shadowRoot?.querySelector(`luzmo-overlay[part="trigger-menu-overlay"]`);n&&t.includes(n)||this.richInputElement&&t.includes(this.richInputElement)||(this.close(),this.richInputElement?.focus())},this._host=e,e.addController(this)}hostConnected(){this._host.addEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}hostDisconnected(){document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0),this._host.removeEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}get triggers(){return this._triggers}set triggers(e){this._triggers=e,this.activeTrigger&&this._updateFilteredOptions()}get activeConfig(){if(this.activeTrigger)return this._triggers.find(e=>e.key===this.activeTrigger)}get hasTriggers(){return this._triggers.length>0}getSlotName(e){return this._triggers.find(t=>t.key===e)?.slotName}get allSlotNames(){return this._triggers.map(e=>e.slotName).filter(e=>!!e)}handleInput(e){if(this.activeTrigger){let e=v(this._host.shadowRoot,this.activeTrigger)??this._extractTriggerSearchFromContent(this.activeTrigger);e===null?this.close():(this.searchString=e,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1),this._dispatchChange(!0),this._host.requestUpdate(),document.dispatchEvent(new Event(`luzmo-update-overlays`)))}else this._detectTrigger(e)}open(e){if(!this._triggers.find(t=>t.key===e))return;let t=_(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let r=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,r):this.virtualElement=new n.m(t.x,t.y,r),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||ee(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
21
- `)?null:r}_isTriggerKey(e){return this._triggers.some(t=>t.key===e)}_updateFilteredOptions(){let e=this.activeConfig;if(!e?.options){this.filteredOptions=[];return}if(e.lazy){this.filteredOptions=e.options;return}if(!this.searchString){this.filteredOptions=e.options;return}let t=this.searchString.toLowerCase(),n=[],r=null;for(let i of e.options){if(i.header){r=i;continue}(i.label.toLowerCase().includes(t)||(i.description?.toLowerCase().includes(t)??!1))&&(r&&=(n.push(r),null),n.push(i))}this.filteredOptions=n}_findSelectableIndex(e,t){let n=this.filteredOptions.length;if(n===0)return-1;let r=(e%n+n)%n;for(let e=0;e<n;e++){if(!this.filteredOptions[r].header)return r;r=((r+t)%n+n)%n}return-1}_moveHighlight(e){let t=this.filteredOptions.length;if(t===0)return;let n=(this.highlightedIndex+e+t)%t;n=this._findSelectableIndex(n,e),n!==-1&&(this.pointerMovedSinceKeyNav=!1,this.hoveredIndex=-1,this.highlightedIndex=n,this._host.requestUpdate(),requestAnimationFrame(()=>{this._host.shadowRoot?.querySelector(`.trigger-option.highlighted`)?.scrollIntoView({block:`nearest`})}))}_selectHighlighted(){let e=this.filteredOptions[this.highlightedIndex];if(!e){this.close();return}this.selectOption(e)}selectOption(e){if(!this.activeTrigger||!this.richInputElement)return;let t=this.activeTrigger,n=this.richInputElement,r=this._host.shadowRoot;b(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);y(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{y(n,a)})})}_dispatchChange(e){this.activeTrigger&&this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:this.activeTrigger,open:e,searchString:this.searchString}}))}},w=!1,T=0;function E(){w=!0}function D(){w=!1}function O(){document.addEventListener(`keydown`,E,!0),document.addEventListener(`mousedown`,D,!0),document.addEventListener(`pointerdown`,D,!0)}function k(){document.removeEventListener(`keydown`,E,!0),document.removeEventListener(`mousedown`,D,!0),document.removeEventListener(`pointerdown`,D,!0)}function A(){T===0&&typeof window<`u`&&O(),T++}function j(){T--,T<=0&&(T=0,k())}function M(){return w}function N(e,t,n){return i.html`
22
- <div class="top-actions ${t?``:`empty`}" part="top-actions">
23
- <slot name="top-actions" @slotchange=${n}></slot>
24
- </div>
25
- `}function P(e,t,n){return i.html`
26
- <div
27
- class="bottom-actions ${t?``:`empty`}"
28
- part="bottom-actions"
29
- >
30
- <slot name="bottom-actions" @slotchange=${n}></slot>
31
- </div>
32
- `}function F(e){let t=[];for(let n=0;n<5;n++){let r=1-Math.abs(n-2)*.15,a=.3+e.recordingController.audioLevel*.7*r,o=Math.max(.2,Math.min(1,a));t.push(i.html`
33
- <span class="waveform-bar" style="--bar-height: ${o}"></span>
34
- `)}return i.html`
35
- <div class="waveform" part="waveform" aria-hidden="true">${t}</div>
36
- `}function I(e){let t=e.handleRecordButtonSlotChange,n=e.hasRecordButton,r=e.recordingController.isRecording,a=()=>{e.recordingController.cancel()},s=t=>{e.handleRecordClick(t)};return n||!e.recording?i.html`<slot name="record-button" @slotchange=${t}></slot>`:r?i.html`
37
- <slot name="record-button" @slotchange=${t}></slot>
38
- <div class="recording-ui" part="recording-ui">
39
- <luzmo-action-button
40
- class="cancel-recording-button"
41
- part="cancel-recording-button"
42
- .size=${e.size}
43
- ?disabled=${e.disabled}
44
- @click=${a}
45
- aria-label="Cancel recording"
46
- >
47
- <luzmo-icon
48
- slot="icon"
49
- .icon=${o.luzmoClear}
50
- .size=${e.size}
51
- ></luzmo-icon>
52
- </luzmo-action-button>
53
- ${F(e)}
54
- <span class="recording-duration" part="recording-duration">
55
- ${e.recordingController.formatDuration()}
56
- </span>
57
- <luzmo-button
58
- class="finish-recording-button"
59
- part="finish-recording-button"
60
- .size=${e.size}
61
- icon-only
62
- variant="primary"
63
- ?disabled=${e.disabled}
64
- @click=${s}
65
- aria-label="Finish recording"
66
- >
67
- <luzmo-icon slot="icon" .icon=${o.luzmoCheck}></luzmo-icon>
68
- </luzmo-button>
69
- </div>
70
- `:i.html`
71
- <slot name="record-button" @slotchange=${t}></slot>
72
- <luzmo-action-button
73
- class="record-button"
74
- part="record-button"
75
- quiet
76
- .size=${e.size}
77
- ?disabled=${e.disabled}
78
- ?readonly=${e.pending}
79
- @click=${s}
80
- aria-label="Record"
81
- >
82
- <luzmo-icon
83
- slot="icon"
84
- .icon=${o.luzmoMicrophone}
85
- .size=${e.size}
86
- ></luzmo-icon>
87
- </luzmo-action-button>
88
- `}function L(e){let t=e.handleSubmitButtonSlotChange,n=e.recordingController.isRecording,r=()=>{e.submit()},a=()=>{e.handleStopClick()};if(n||e.hasSubmitButton||e.hideSubmit&&!e.hasSubmitButton)return i.html`<slot name="submit-button" @slotchange=${t}></slot>`;let s=!!e.value.trim()||e.richInputController.elementCount>0;return e.pending&&e.stoppable?i.html`
89
- <slot name="submit-button" @slotchange=${t}></slot>
90
- <luzmo-button
91
- class="submit-button stop-button"
92
- part="submit-button stop-button"
93
- .size=${e.size}
94
- icon-only
95
- variant="primary"
96
- ?disabled=${e.disabled}
97
- @click=${a}
98
- aria-label="Stop"
99
- label="Stop"
100
- >
101
- <luzmo-icon slot="icon" .icon=${o.luzmoStop}></luzmo-icon>
102
- </luzmo-button>
103
- `:i.html`
104
- <slot name="submit-button" @slotchange=${t}></slot>
105
- <luzmo-button
106
- class="submit-button"
107
- part="submit-button"
108
- .size=${e.size}
109
- icon-only
110
- variant="primary"
111
- ?disabled=${e.disabled||e.disableSubmit||!e.pending&&!s}
112
- ?pending=${e.pending}
113
- @click=${r}
114
- aria-label="Submit"
115
- label="Submit"
116
- .label=${`Submit`}
117
- >
118
- <luzmo-icon slot="icon" .icon=${o.luzmoArrowUp}></luzmo-icon>
119
- </luzmo-button>
120
- `}function R(e,t){if(!t)return e;let n=e.toLowerCase().indexOf(t.toLowerCase());return n===-1?e:i.html`${e.slice(0,n)}<mark class="trigger-option-highlight">${e.slice(n,n+t.length)}</mark>${e.slice(n+t.length)}`}function z(e,t){return i.html`
121
- <div
122
- class="trigger-option-header"
123
- part="trigger-option-header"
124
- role="presentation"
125
- >
126
- ${t?.iconTemplate?i.html`<span class="trigger-option-header-icon">${t.iconTemplate(e)}</span>`:e.icon?i.html`<luzmo-icon
127
- class="trigger-option-header-icon"
128
- .icon=${e.icon}
129
- size="s"
130
- ></luzmo-icon>`:i.nothing}
131
- <span class="trigger-option-header-label">${e.label}</span>
132
- </div>
133
- `}function B(e,t,n,r,a){let s=()=>{e.selectTriggerOption(t)},c=()=>{e.triggerMenuController.pointerMovedSinceKeyNav&&(e.triggerMenuController.hoveredIndex=n,e.highlightTriggerOption(n))},l=()=>{e.triggerMenuController.hoveredIndex===n&&(e.triggerMenuController.hoveredIndex=-1,e.requestUpdate())},u=n===r,d=n===e.triggerMenuController.hoveredIndex,f=e.triggerMenuController.searchString,p=i.html`${a?.iconTemplate?i.html`<span class="trigger-option-icon">${a.iconTemplate(t)}</span>`:t.icon?i.html`<luzmo-icon
134
- class="trigger-option-icon"
135
- .icon=${t.icon}
136
- size="s"
137
- ></luzmo-icon>`:i.nothing}
138
- <div class="trigger-option-content">
139
- <span class="trigger-option-label"
140
- >${a?.highlightSearch&&f?R(t.label,f):t.label}</span
141
- >
142
- ${t.description?i.html`<span class="trigger-option-description"
143
- >${t.description}</span
144
- >`:i.nothing}
145
- </div>`;return i.html`
146
- <div
147
- class="trigger-option ${u?`highlighted`:``} ${d?`hovered`:``} ${t.description?`has-description`:``}"
148
- part="trigger-option"
149
- role="option"
150
- aria-selected=${u}
151
- @click=${s}
152
- @pointerenter=${c}
153
- @pointerleave=${l}
154
- >
155
- ${p}
156
- ${u?i.html`<luzmo-icon
157
- class="trigger-option-enter-icon"
158
- .icon=${o.luzmoArrowEnter}
159
- size="s"
160
- ></luzmo-icon>`:i.nothing}
161
- </div>
162
- `}function V(e,t,n,r){let a=[];for(let[i,o]of t.entries())o.header?a.push(z(o,r)):a.push(B(e,o,i,n,r));return i.html`
163
- <div
164
- class="trigger-options"
165
- part="trigger-options"
166
- role="listbox"
167
- @pointermove=${e.triggerMenuController.handlePointerMove}
168
- >
169
- ${a}
170
- </div>
171
- `}function H(e){return i.html`<slot name=${e} style="display: none;"></slot>`}function U(e){let t=e.triggerMenuController;if(!t.hasTriggers){let e=[];for(let n of t.allSlotNames)e.push(H(n));return i.html`${e}`}let n=t.activeConfig,r=n?.slotName??null,a=t.filteredOptions.length>0,o=t.activeTrigger!==null,s=[];for(let e of t.allSlotNames)e!==r&&s.push(H(e));return i.html`
172
- <luzmo-overlay
173
- part="trigger-menu-overlay"
174
- type="manual"
175
- placement="bottom-start"
176
- receives-focus="auto"
177
- .triggerElement=${t.virtualElement}
178
- .open=${o}
179
- @luzmo-closed=${t.handleOverlayClosed}
180
- @keydown=${t.handleOverlayKeydown}
181
- >
182
- ${o&&r?i.html`<slot name=${r}></slot>`:i.nothing}
183
- ${o&&a?V(e,t.filteredOptions,t.highlightedIndex,n):i.nothing}
184
- </luzmo-overlay>
185
- ${s}
186
- `}function W(e){let t=!e.readonly&&!e.pending&&!e.disabled,n=e.richInputController;return i.html`
187
- <div
188
- class="rich-input"
189
- part="rich-input"
190
- contenteditable=${t?`true`:`false`}
191
- role="textbox"
192
- aria-multiline="true"
193
- aria-label=${e.placeholder||`Enter your message`}
194
- data-placeholder=${e.placeholder}
195
- @input=${e.handleRichInputEvent}
196
- @keydown=${e.handleRichKeydown}
197
- @paste=${n.handleRichPaste}
198
- @dragover=${n.handleRichDragOver}
199
- @dragleave=${n.handleRichDragLeave}
200
- @drop=${n.handleRichDrop}
201
- @focusin=${e.handleInputFocusIn}
202
- @focusout=${e.handleInputFocusOut}
203
- ></div>
204
- `}function G(e){return e.allowElements?W(e):i.html`
205
- <luzmo-text-field
206
- class="input-field"
207
- part="input"
208
- placeholder=${e.placeholder}
209
- .value=${e.value}
210
- .size=${e.size}
211
- rows=${e.rows}
212
- ?grows=${e.grows}
213
- max-rows=${e.maxRows}
214
- ?readonly=${e.readonly||e.pending||e.disabled}
215
- maxlength=${e.maxlength>0?e.maxlength:-1}
216
- multiline
217
- quiet
218
- label=${e.placeholder||`Enter your message`}
219
- @input=${e.handleInput}
220
- @keydown=${e.handleKeydown}
221
- @focusin=${e.handleInputFocusIn}
222
- @focusout=${e.handleInputFocusOut}
223
- hide-validation-icons
224
- ></luzmo-text-field>
225
- `}function K(e,t){return i.html`
226
- <div class="image-attachment" part="image-attachment">
227
- <img
228
- src=${t.previewUrl||``}
229
- alt=${t.file.name}
230
- class="image-preview"
231
- />
232
- <luzmo-clear-button
233
- class="attachment-remove"
234
- .size=${e.size}
235
- ?disabled=${e.disabled||e.pending}
236
- label="Remove ${t.file.name}"
237
- data-attachment-id=${t.id}
238
- @click=${t=>{let n=t.currentTarget.dataset.attachmentId;n&&e.attachmentsController.removeAttachment(n)}}
239
- ></luzmo-clear-button>
240
- </div>
241
- `}function q(e,t){return i.html`
242
- <luzmo-tag
243
- class="file-attachment"
244
- part="file-attachment"
245
- .size=${e.tagSize}
246
- deletable
247
- ?disabled=${e.disabled||e.pending}
248
- data-attachment-id=${t.id}
249
- @delete=${t=>{let n=t.target.dataset.attachmentId;n&&(t.preventDefault(),e.attachmentsController.removeAttachment(n))}}
250
- >
251
- ${t.file.name}
252
- </luzmo-tag>
253
- `}function J(e){let t=e.attachmentsController;if(!t.hasAttachments)return i.nothing;let n=t.imageAttachments,r=t.fileAttachments,a=[];for(let t of n)a.push(K(e,t));let o=[];for(let t of r)o.push(q(e,t));return i.html`
254
- <div class="attachments" part="attachments">
255
- ${n.length>0?i.html`
256
- <div class="image-attachments" part="image-attachments">
257
- ${a}
258
- </div>
259
- `:i.nothing}
260
- ${r.length>0?i.html`
261
- <luzmo-tags
262
- class="file-attachments"
263
- part="file-attachments"
264
- .size=${e.tagSize}
265
- >
266
- ${o}
267
- </luzmo-tags>
268
- `:i.nothing}
269
- </div>
270
- `}function Y(e){return!e.allowImages&&!e.allowFiles?i.nothing:i.html`
271
- <input
272
- type="file"
273
- class="hidden-file-input"
274
- accept=${e.attachmentsController.getAcceptAttribute()}
275
- multiple
276
- @change=${t=>{let n=t.target;n.files?.length&&e.attachmentsController.addFiles([...n.files]),n.value=``}}
277
- aria-hidden="true"
278
- tabindex="-1"
279
- />
280
- `}var X=`luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field`;function Z(e){let t=[];return e.matches(X)&&t.push(e),t.push(...e.querySelectorAll(X)),t}function Q(e,t,n){if(!e)return;let r=e.querySelector(`slot[name="submit-button"]`);for(let e of r?.assignedElements()??[])for(let r of Z(e))n?(r.setAttribute(`pending`,``),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`)):t?(r.removeAttribute(`pending`),r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`pending`),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`));for(let r of[`slot[name="top-actions"]`,`slot[name="bottom-actions"]`,`slot[name="record-button"]`]){let i=e.querySelector(r);for(let e of i?.assignedElements()??[])for(let r of Z(e))t||n?(r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`disabled`),r.removeAttribute(`readonly`))}}function te(e){let t=[],n=new Set([`luzmo-switch`,`luzmo-checkbox`,`luzmo-radio`]);for(let r of e)for(let e of Z(r)){let r={element:e,name:e.getAttribute(`name`)||e.getAttribute(`label`)||void 0};`value`in e&&(r.value=e.value);let i=e.tagName.toLowerCase();n.has(i)&&`checked`in e&&(r.checked=e.checked),t.push(r)}return t}var ne=`:host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-font-family));font-size:var(--luzmo-prompt-box-font-size,var(--prompt-box-font-size));line-height:var(--luzmo-prompt-box-line-height,var(--prompt-box-line-height));color:var(--highcontrast-prompt-box-text-color,var(--luzmo-prompt-box-text-color,var(--prompt-box-text-color)));flex-direction:column;width:100%;display:flex}:host([disabled]){opacity:var(--luzmo-prompt-box-disabled-opacity,var(--prompt-box-disabled-opacity));pointer-events:none}.container{gap:var(--luzmo-prompt-box-gap,var(--prompt-box-gap));padding:var(--luzmo-prompt-box-vertical-padding,var(--prompt-box-vertical-padding)) var(--luzmo-prompt-box-horizontal-padding,var(--prompt-box-horizontal-padding));background-color:var(--highcontrast-prompt-box-background-color,var(--luzmo-prompt-box-background-color,var(--prompt-box-background-color)));border-radius:var(--luzmo-prompt-box-border-radius,var(--prompt-box-border-radius));border-width:var(--luzmo-prompt-box-border-width,var(--prompt-box-border-width));border-style:solid;border-color:var(--highcontrast-prompt-box-border-color,var(--luzmo-prompt-box-border-color,var(--prompt-box-border-color)));box-shadow:var(--luzmo-prompt-box-shadow,var(--prompt-box-shadow));transition:border-color var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out, box-shadow var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-direction:column;display:flex}.container.input-focused{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)))}.container.drag-over{border-color:var(--luzmo-prompt-box-border-color-drag,var(--luzmo-primary,#0064fa))}:host(:focus-visible) .container,:host(.focus-visible) .container{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)));box-shadow:var(--luzmo-prompt-box-shadow-focus,var(--prompt-box-shadow-focus))}:host(:focus){outline:none}.top-actions{align-items:center;gap:var(--luzmo-prompt-box-top-actions-gap,var(--prompt-box-top-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;display:flex}.top-actions.empty{display:none}.hidden-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.attachments{gap:var(--luzmo-prompt-box-attachments-gap,var(--prompt-box-attachments-gap,8px));flex-direction:column;display:flex}.image-attachments{gap:var(--luzmo-prompt-box-image-attachments-gap,var(--prompt-box-image-attachments-gap,8px));flex-wrap:wrap;display:flex}.image-attachment{width:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));height:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));background-color:var(--luzmo-prompt-box-image-background,var(--prompt-box-image-background,#0000000d));display:inline-flex;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.attachment-remove{width:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));height:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));background-color:var(--luzmo-prompt-box-remove-button-background,var(--prompt-box-remove-button-background,#00000080));--luzmo-clear-button-icon-color:var(--luzmo-prompt-box-remove-button-icon-color,var(--prompt-box-remove-button-icon-color,#fff));border-radius:50%;position:absolute;top:4px;right:4px}.attachment-remove:hover{background-color:var(--luzmo-prompt-box-remove-button-background-hover,var(--prompt-box-remove-button-background-hover,#000000b3))}.file-attachments{--luzmo-tag-border-radius:16px;gap:var(--luzmo-prompt-box-file-attachments-gap,var(--prompt-box-file-attachments-gap,4px));flex-wrap:wrap;display:flex}.file-attachment{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.input-wrapper{flex:1;display:flex;position:relative}.input-field{--luzmo-text-field-focus-indicator-width:0;--luzmo-text-field-border-width:0;--luzmo-text-field-width:100%;--luzmo-text-field-min-width:0;--luzmo-text-field-placeholder-text-color-default:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));flex:1;width:100%;min-width:0}.actions-row{justify-content:space-between;align-items:center;gap:var(--luzmo-prompt-box-actions-gap,var(--prompt-box-actions-gap));display:flex}.bottom-actions{align-items:center;gap:var(--luzmo-prompt-box-bottom-actions-gap,var(--prompt-box-bottom-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;flex:1;display:flex}.button-group{align-items:center;gap:var(--luzmo-prompt-box-button-group-gap,var(--prompt-box-button-group-gap));margin-left:auto;display:flex}.record-button,.cancel-recording-button{--luzmo-action-button-border-radius:var(--luzmo-prompt-box-record-button-border-radius,50%);--luzmo-action-button-focus-indicator-border-radius:var(--luzmo-prompt-box-record-button-focus-indicator-border-radius,50%)}.submit-button{margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start))}.recording-ui{align-items:center;gap:var(--luzmo-prompt-box-recording-gap,var(--prompt-box-recording-gap));display:flex}.waveform{align-items:center;gap:var(--luzmo-prompt-box-waveform-gap,var(--prompt-box-waveform-gap,3px));height:var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px));padding:0 4px;display:flex}.waveform-bar{width:var(--luzmo-prompt-box-waveform-bar-width,var(--prompt-box-waveform-bar-width,3px));height:calc(var(--bar-height,.3) * var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px)));background-color:var(--luzmo-prompt-box-waveform-bar-color,var(--prompt-box-waveform-bar-color,currentColor));border-radius:var(--luzmo-prompt-box-waveform-bar-radius,var(--prompt-box-waveform-bar-radius,2px));min-height:4px;transition:height 50ms ease-out;animation:1s ease-in-out infinite waveform-pulse}.waveform-bar:first-child{animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.1s}.waveform-bar:nth-child(5){animation-delay:0s}@keyframes waveform-pulse{0%,to{opacity:.6}50%{opacity:1}}.recording-duration{font-family:var(--luzmo-prompt-box-recording-duration-font-family,var(--prompt-box-recording-duration-font-family,monospace));font-size:var(--luzmo-prompt-box-recording-duration-font-size,var(--prompt-box-recording-duration-font-size,14px));font-weight:var(--luzmo-prompt-box-recording-duration-font-weight,var(--prompt-box-recording-duration-font-weight,500));color:var(--luzmo-prompt-box-recording-duration-color,var(--prompt-box-recording-duration-color,currentColor));text-align:center}.rich-input{width:100%;min-width:0;min-height:1.5em;max-height:var(--luzmo-prompt-box-max-height,var(--prompt-box-max-height,200px));padding:var(--luzmo-prompt-box-rich-input-padding,var(--prompt-box-rich-input-padding,4px 0));font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;flex:1;overflow-y:auto}.rich-input:empty:before{content:attr(data-placeholder);color:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));pointer-events:none}.rich-input[contenteditable=false]{opacity:.5;cursor:default}.drag-caret{background:var(--luzmo-primary,#0064fa);pointer-events:none;border-radius:1px;width:2px}.element-badge{align-items:center;gap:var(--luzmo-prompt-box-badge-gap,var(--prompt-box-badge-gap,6px));vertical-align:baseline;padding:var(--luzmo-prompt-box-badge-padding,var(--prompt-box-badge-padding,1px 6px));background-color:var(--luzmo-prompt-box-badge-background,var(--prompt-box-badge-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .1)));color:var(--luzmo-prompt-box-badge-color,var(--prompt-box-badge-color,var(--luzmo-primary,#0064fa)));border-radius:var(--luzmo-prompt-box-badge-border-radius,var(--prompt-box-badge-border-radius,4px));font-size:var(--luzmo-prompt-box-badge-font-size,var(--prompt-box-badge-font-size,.9em));font-weight:var(--luzmo-prompt-box-badge-font-weight,var(--prompt-box-badge-font-weight,500));cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:var(--luzmo-prompt-box-badge-max-width,var(--prompt-box-badge-max-width,200px));margin:0 1px;line-height:1.4;display:inline-flex}.element-badge-icon{flex-shrink:0;display:inline-flex}.element-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.element-badge-remove{appearance:none;font:inherit;color:inherit;width:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));height:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));font-size:var(--luzmo-prompt-box-badge-remove-font-size,var(--prompt-box-badge-remove-font-size,12px));cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:opacity .1s,background-color .1s;display:inline-flex}.element-badge-remove:hover{opacity:1;background-color:var(--luzmo-prompt-box-badge-remove-hover-background,var(--prompt-box-badge-remove-hover-background,#0000001a))}.element-badge-remove:focus-visible{opacity:1;outline:2px solid var(--luzmo-primary,#0064fa);outline-offset:1px}:host([single-line]) .container{align-items:center;gap:var(--luzmo-prompt-box-single-line-gap,var(--prompt-box-single-line-gap));flex-direction:row}:host([single-line]) .top-actions{flex-wrap:nowrap;flex-shrink:0}:host([single-line]) .attachments{max-height:var(--luzmo-prompt-box-single-line-attachments-max-height,var(--prompt-box-single-line-attachments-max-height));flex-direction:row;flex-shrink:0;align-items:center;overflow:hidden}:host([single-line]) .image-attachments{flex-wrap:nowrap}:host([single-line]) .image-attachment{width:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size));height:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size))}:host([single-line]) .file-attachments{flex-wrap:nowrap}:host([single-line]) .input-wrapper{min-width:0}:host([single-line]) .input-field{--luzmo-text-area-min-block-size-quiet:auto;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px}:host([single-line]) .rich-input{min-height:unset;padding:0}:host([single-line]) .actions-row{flex-shrink:0}:host([single-line]) .bottom-actions{flex-wrap:nowrap;flex:0}::slotted([slot=top-actions]),::slotted([slot=bottom-actions]){align-items:center;display:inline-flex}::slotted([slot=record-button]){display:inline-flex}::slotted([slot=submit-button]){margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start));display:inline-flex}luzmo-overlay[part=trigger-menu-overlay]{--luzmo-overlay-min-width:0}.trigger-options{min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-width:var(--luzmo-prompt-box-trigger-menu-max-width,var(--prompt-box-trigger-menu-max-width,400px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));flex-direction:column;display:flex;overflow-y:auto}.trigger-options::-webkit-scrollbar{width:var(--luzmo-prompt-box-trigger-menu-scrollbar-width,var(--prompt-box-trigger-menu-scrollbar-width))}.trigger-options::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-border-radius,var(--prompt-box-trigger-menu-scrollbar-track-border-radius))}.trigger-options::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-border-radius,var(--prompt-box-trigger-menu-scrollbar-thumb-border-radius))}.trigger-options::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-hover-background,var(--prompt-box-trigger-menu-scrollbar-thumb-hover-background))}.trigger-options{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background)) var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));background-color:var(--luzmo-prompt-box-trigger-menu-background,var(--prompt-box-trigger-menu-background,var(--luzmo-background-color,#fff)));border:1px solid var(--luzmo-prompt-box-trigger-menu-border-color,var(--prompt-box-trigger-menu-border-color,var(--luzmo-border-color,#0000001a)));border-radius:var(--luzmo-prompt-box-trigger-menu-border-radius,var(--prompt-box-trigger-menu-border-radius,var(--luzmo-border-radius-100,8px)));box-shadow:0 2px 8px var(--luzmo-prompt-box-trigger-menu-shadow-color,var(--prompt-box-trigger-menu-shadow-color,#0000001f))}.trigger-option{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-gap,var(--prompt-box-trigger-option-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-padding-block,var(--prompt-box-trigger-option-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-padding-inline,var(--prompt-box-trigger-option-padding-inline,10px));cursor:pointer;box-sizing:border-box;scroll-margin-block:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));transition:background-color .1s;display:flex}.trigger-option.has-description{padding-block:var(--luzmo-prompt-box-trigger-option-description-padding-block,var(--prompt-box-trigger-option-description-padding-block,4px));min-block-size:auto}.trigger-option.hovered,.trigger-option.highlighted{background-color:var(--luzmo-prompt-box-trigger-option-background-hover,var(--prompt-box-trigger-option-background-hover,var(--luzmo-background-color-hover,#0000000f)))}.trigger-option-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-icon-color,var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit)));font-size:var(--luzmo-prompt-box-trigger-option-icon-size,var(--prompt-box-trigger-option-icon-size,var(--luzmo-font-size,14px)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.trigger-option-label{font-size:var(--luzmo-prompt-box-trigger-option-font-size,var(--prompt-box-trigger-option-font-size,var(--luzmo-font-size,14px)));line-height:var(--luzmo-prompt-box-trigger-option-line-height,var(--prompt-box-trigger-option-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-color,var(--prompt-box-trigger-option-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-description{font-size:var(--luzmo-prompt-box-trigger-option-description-font-size,var(--prompt-box-trigger-option-description-font-size,var(--luzmo-font-size-xs,12px)));line-height:var(--luzmo-prompt-box-trigger-option-description-line-height,var(--prompt-box-trigger-option-description-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-description-color,var(--prompt-box-trigger-option-description-color,var(--luzmo-font-color,#6e6e6e)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-enter-icon{color:var(--luzmo-prompt-box-trigger-option-enter-icon-color,var(--prompt-box-trigger-option-enter-icon-color,var(--luzmo-font-color-dimmed,#0006)));flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.trigger-option-highlight{background-color:var(--luzmo-prompt-box-trigger-option-highlight-background,var(--prompt-box-trigger-option-highlight-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .12)));color:inherit;border-radius:2px;padding:0 1px}.trigger-option-header{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-header-gap,var(--prompt-box-trigger-option-header-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-header-padding-block,var(--prompt-box-trigger-option-header-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-header-padding-inline,var(--prompt-box-trigger-option-header-padding-inline,10px));background-color:var(--luzmo-prompt-box-trigger-option-header-background,var(--prompt-box-trigger-option-header-background));border-block-start:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));border-block-end:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex}.trigger-options>.trigger-option-header:first-child{border-block-start:none}.trigger-option-header-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-header-icon-color,var(--prompt-box-trigger-option-header-icon-color,var(--luzmo-font-color,#333)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-header-label{font-size:var(--luzmo-prompt-box-trigger-option-header-font-size,var(--prompt-box-trigger-option-header-font-size,var(--luzmo-font-size,14px)));font-weight:var(--luzmo-prompt-box-trigger-option-header-font-weight,var(--prompt-box-trigger-option-header-font-weight,normal));line-height:var(--luzmo-prompt-box-trigger-option-header-line-height,var(--prompt-box-trigger-option-header-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-header-color,var(--prompt-box-trigger-option-header-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}luzmo-overlay[part=trigger-menu-overlay] ::slotted(*){min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));overflow-y:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important}@media (forced-colors:active){:host{--highcontrast-prompt-box-background-color:Canvas;--highcontrast-prompt-box-border-color:CanvasText;--highcontrast-prompt-box-border-color-focus:Highlight;--highcontrast-prompt-box-text-color:CanvasText}}:host{--prompt-box-font-family:var(--luzmo-font-family);--prompt-box-font-size:var(--luzmo-font-size);--prompt-box-line-height:1.5;--prompt-box-text-color:var(--luzmo-font-color);--prompt-box-background-color:var(--luzmo-background-color);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-border-width:var(--luzmo-border-width);--prompt-box-border-color:var(--luzmo-border-color);--prompt-box-border-color-focus:var(--luzmo-primary);--prompt-box-shadow:0 2px 8px rgba(var(--luzmo-border-color-rgb), .08);--prompt-box-shadow-focus:0 2px 12px rgba(var(--luzmo-primary-rgb), .15);--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-vertical-padding:var(--luzmo-spacing-4);--prompt-box-horizontal-padding:var(--luzmo-spacing-5);--prompt-box-actions-gap:var(--luzmo-spacing-3);--prompt-box-top-actions-gap:var(--luzmo-spacing-2);--prompt-box-bottom-actions-gap:var(--luzmo-spacing-2);--prompt-box-button-group-gap:var(--luzmo-spacing-2);--prompt-box-submit-button-margin-inline-start:var(--luzmo-spacing-3);--prompt-box-max-height:200px;--prompt-box-rich-input-padding:4px 0;--prompt-box-placeholder-color:var(--luzmo-font-color-extra-dimmed);--prompt-box-animation-duration:var(--luzmo-animation-duration,.15s);--prompt-box-disabled-opacity:.5;--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:var(--luzmo-spacing-2);--prompt-box-file-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-preview-size:64px;--prompt-box-image-border-radius:var(--luzmo-border-radius);--prompt-box-image-background:#0000000d;--prompt-box-remove-button-size:20px;--prompt-box-remove-button-background:#00000080;--prompt-box-remove-button-background-hover:#000000b3;--prompt-box-remove-button-icon-color:#fff;--prompt-box-badge-gap:6px;--prompt-box-badge-padding:1px 6px;--prompt-box-badge-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .1);--prompt-box-badge-color:var(--luzmo-primary,#0064fa);--prompt-box-badge-border-radius:4px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-font-weight:500;--prompt-box-badge-max-width:200px;--prompt-box-badge-remove-size:14px;--prompt-box-badge-remove-font-size:12px;--prompt-box-badge-remove-hover-background:#0000001a;--prompt-box-waveform-gap:3px;--prompt-box-waveform-height:24px;--prompt-box-waveform-bar-width:3px;--prompt-box-waveform-bar-color:currentColor;--prompt-box-waveform-bar-radius:2px;--prompt-box-recording-duration-font-family:monospace;--prompt-box-recording-duration-font-size:14px;--prompt-box-recording-duration-font-weight:500;--prompt-box-recording-duration-color:currentColor;--prompt-box-trigger-menu-min-width:250px;--prompt-box-trigger-menu-max-width:300px;--prompt-box-trigger-menu-max-height:300px;--prompt-box-trigger-menu-background:var(--luzmo-background-color,#fff);--prompt-box-trigger-menu-border-color:var(--luzmo-border-color,#0000001a);--prompt-box-trigger-menu-border-radius:var(--luzmo-border-radius-100,8px);--prompt-box-trigger-menu-shadow-color:#0000001f;--prompt-box-trigger-menu-scrollbar-width:var(--luzmo-scrollbar-size);--prompt-box-trigger-menu-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--prompt-box-trigger-menu-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--prompt-box-trigger-menu-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--prompt-box-single-line-gap:var(--luzmo-spacing-3);--prompt-box-single-line-attachments-max-height:32px;--prompt-box-single-line-image-size:28px;--prompt-box-trigger-option-gap:10px;--prompt-box-trigger-option-min-height:var(--luzmo-component-height,32px);--prompt-box-trigger-option-padding-block:4px;--prompt-box-trigger-option-padding-inline:10px;--prompt-box-trigger-option-description-padding-block:4px;--prompt-box-trigger-option-background-hover:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-icon-color:var(--luzmo-font-color,inherit);--prompt-box-trigger-option-icon-width:20px;--prompt-box-trigger-option-icon-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-description-font-size:var(--luzmo-font-size-xs,12px);--prompt-box-trigger-option-description-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-description-color:var(--luzmo-font-color,#6e6e6e);--prompt-box-trigger-option-enter-icon-color:var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit));--prompt-box-trigger-option-highlight-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .12);--prompt-box-trigger-option-header-gap:10px;--prompt-box-trigger-option-header-padding-block:4px;--prompt-box-trigger-option-header-padding-inline:10px;--prompt-box-trigger-option-header-background:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-header-border-color:var(--luzmo-border-color,#0000001f);--prompt-box-trigger-option-header-icon-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-header-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-header-font-weight:normal;--prompt-box-trigger-option-header-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-header-color:var(--luzmo-font-color,#333)}:host([size=xs]){--prompt-box-font-size:var(--luzmo-font-size-xs);--prompt-box-border-radius:var(--luzmo-border-radius);--prompt-box-vertical-padding:var(--luzmo-spacing-2);--prompt-box-horizontal-padding:var(--luzmo-spacing-3);--prompt-box-gap:var(--luzmo-spacing-3);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:var(--luzmo-spacing-3);--prompt-box-max-height:120px;--prompt-box-image-preview-size:40px;--prompt-box-remove-button-size:16px;--prompt-box-badge-font-size:.8em;--prompt-box-badge-padding:0px 3px;--prompt-box-badge-remove-size:10px;--prompt-box-badge-remove-font-size:9px}:host([size=s]){--prompt-box-font-size:var(--luzmo-font-size-s);--prompt-box-border-radius:var(--luzmo-border-radius-l);--prompt-box-vertical-padding:var(--luzmo-spacing-3);--prompt-box-horizontal-padding:var(--luzmo-spacing-4);--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-max-height:150px;--prompt-box-image-preview-size:48px;--prompt-box-remove-button-size:18px;--prompt-box-badge-font-size:.85em;--prompt-box-badge-padding:0px 4px;--prompt-box-badge-remove-size:12px;--prompt-box-badge-remove-font-size:10px}:host([size=l]){--prompt-box-font-size:var(--luzmo-font-size-l);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:var(--luzmo-spacing-5);--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--prompt-box-recording-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--prompt-box-max-height:250px;--prompt-box-image-preview-size:72px;--prompt-box-remove-button-size:24px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 8px;--prompt-box-badge-remove-size:16px;--prompt-box-badge-remove-font-size:13px}:host([size=xl]){--prompt-box-font-size:var(--luzmo-font-size-xl);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-attachments-gap:var(--luzmo-spacing-3);--prompt-box-max-height:300px;--prompt-box-image-preview-size:96px;--prompt-box-remove-button-size:28px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 10px;--prompt-box-badge-remove-size:18px;--prompt-box-badge-remove-font-size:14px}:host([pending]){--prompt-box-actions-opacity:.75}`,$=class extends t.n(e.n,{validSizes:[`xs`,`s`,`m`,`l`,`xl`],defaultSize:`m`}){constructor(...e){super(...e),this.rows=1,this.grows=!1,this.maxRows=-1,this.recording=!1,this.hideSubmit=!1,this.disableSubmit=!1,this.singleLine=!1,this.placeholder=``,this.value=``,this.disabled=!1,this.readonly=!1,this.maxlength=-1,this.pending=!1,this.stoppable=!1,this.allowImages=!1,this.allowFiles=!1,this.acceptedFileTypes=[],this.allowElements=!1,this.acceptedElementTypes=[],this._hasTopActions=!1,this._hasBottomActions=!1,this._hasRecordButton=!1,this._hasSubmitButton=!1,this._inputFocused=!1,this._attachments=new s(this),this._recording=new c(this),this._richInput=new S(this),this._triggerMenu=new C(this),this.handleRecordButtonSlotChange=this._slotPresenceHandler(e=>this._hasRecordButton=e),this.handleSubmitButtonSlotChange=this._slotPresenceHandler(e=>this._hasSubmitButton=e),this.handleRecordClick=e=>{let t=e.currentTarget.matches(`:focus-visible`);this._recording.start(t)},this.handleInput=e=>{let t=e.target;this.value=t.value,this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleKeydown=e=>{if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),this.disableSubmit)return;this._submit()}},this.handleInputFocusIn=()=>{this._inputFocused=!0},this.handleInputFocusOut=()=>{this._inputFocused=!1},this.handleRichInputEvent=e=>{this._richInput.syncValue(),this._triggerMenu.handleInput(e),this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichKeydown=e=>{if(!this._triggerMenu.handleKeydown(e)){if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),this.disableSubmit)return;this._submit();return}(e.key===`Backspace`||e.key===`Delete`)&&this._richInput.handleBadgeDelete(e.key)&&e.preventDefault()}},this.handleStopClick=()=>{this.disabled||!this.pending||!this.stoppable||this.dispatchEvent(new CustomEvent(`luzmo-stop`,{bubbles:!0,composed:!0}))},this._handleComponentFocusIn=()=>{M()&&this.classList.add(`focus-visible`)},this._handleComponentFocusOut=e=>{let t=e.relatedTarget;t instanceof Node&&(this.contains(t)||this.shadowRoot?.contains(t))||this.classList.remove(`focus-visible`)},this._handlePaste=e=>{this.handlePastedImages(e.clipboardData)},this._handleTopActionsSlotChange=this._slotPresenceHandler(e=>this._hasTopActions=e),this._handleBottomActionsSlotChange=this._slotPresenceHandler(e=>this._hasBottomActions=e)}static get styles(){return[(0,i.unsafeCSS)(ne)]}get triggers(){return this._triggerMenu.triggers}set triggers(e){let t=this._triggerMenu.triggers,n=Array.isArray(e)?e:[];n.length>0&&!this.allowElements&&console.warn("[luzmo-prompt-box] `triggers` only work when `allow-elements` / allowElements is enabled (rich input is required for trigger menus)."),this._triggerMenu.triggers=n,this.requestUpdate(`triggers`,t)}get attachmentsController(){return this._attachments}get recordingController(){return this._recording}get richInputController(){return this._richInput}get triggerMenuController(){return this._triggerMenu}get hasRecordButton(){return this._hasRecordButton}get hasSubmitButton(){return this._hasSubmitButton}get tagSize(){switch(this.size){case`s`:case`m`:return`s`;case`l`:case`xl`:return`m`;default:return`s`}}get segments(){return this._richInput.getSegments()}set segments(e){this._richInput.setSegments(e)}connectedCallback(){super.connectedCallback(),A(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),this.addEventListener(`paste`,this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),j(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),this.removeEventListener(`paste`,this._handlePaste)}updated(e){super.updated(e),this._richInputElement&&(this._richInput.richInputElement=this._richInputElement,this._triggerMenu.richInputElement=this._richInputElement),(e.has(`pending`)||e.has(`disabled`))&&Q(this.shadowRoot,this.disabled,this.pending),this._recording.shouldFocusFinishButton&&this._recording.isRecording&&(this._recording.shouldFocusFinishButton=!1,requestAnimationFrame(()=>{this._finishRecordingButton?.focus()}))}focus(){this.allowElements&&this._richInputElement?this._richInputElement.focus():this._inputElement?.focus()}clear(){this._triggerMenu.close(),this.value=``,this._attachments.clearAttachments(),this.allowElements&&this._richInput.clearElements()}addFiles(e){return this._attachments.addFiles(e)}removeAttachment(e){this._attachments.removeAttachment(e)}clearAttachments(){this._attachments.clearAttachments()}getAttachments(){return this._attachments.getAttachments()}openFilePicker(){this._fileInput?.click()}insertElement(e,t,n,r){return this._richInput.insertElement(e,t,n,r)}removeElement(e){this._richInput.removeElement(e)}getElements(){return this._richInput.getElements()}getTopActions(){return(this.shadowRoot?.querySelector(`slot[name="top-actions"]`))?.assignedElements()??[]}getBottomActions(){return(this.shadowRoot?.querySelector(`slot[name="bottom-actions"]`))?.assignedElements()??[]}submit(){this._submit()}selectTriggerOption(e){this._triggerMenu.selectOption(e)}highlightTriggerOption(e){this._triggerMenu.highlightedIndex=e,this.requestUpdate()}_slotPresenceHandler(e){return t=>{let n=t.target;e(n.assignedNodes().length>0)}}handlePastedImages(e){return this._attachments.handlePastedImages(e)}_submit(){if(this.disabled||this.readonly||this.pending||this.disableSubmit)return;let e=this.shadowRoot?.querySelector(`slot[name="top-actions"]`),t=this.shadowRoot?.querySelector(`slot[name="bottom-actions"]`),n=e?.assignedElements()??[],r=t?.assignedElements()??[],i=te([...n,...r]),a={value:this.value,segments:this.segments,topActions:[...n],bottomActions:[...r],actionValues:i,attachments:[...this._attachments.getAttachments()]};this.dispatchEvent(new CustomEvent(`luzmo-submit`,{bubbles:!0,composed:!0,detail:a}))}render(){return i.html`
281
- ${Y(this)}
282
- <div
283
- class="container ${this._inputFocused?`input-focused`:``} ${this._richInput?.isDragOver?`drag-over`:``}"
284
- part="container"
285
- >
286
- ${N(this,this._hasTopActions,this._handleTopActionsSlotChange)}
287
- ${J(this)}
288
- <div class="input-wrapper" part="input-wrapper">
289
- ${G(this)}
290
- </div>
291
- <div class="actions-row" part="actions-row">
292
- ${P(this,this._hasBottomActions,this._handleBottomActionsSlotChange)}
293
- <div class="button-group" part="button-group">
294
- ${I(this)} ${L(this)}
295
- </div>
296
- </div>
297
- </div>
298
- ${U(this)}
299
- `}};e.t([(0,a.property)({type:Number})],$.prototype,`rows`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`grows`,void 0),e.t([(0,a.property)({type:Number,attribute:`max-rows`})],$.prototype,`maxRows`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`recording`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`hide-submit`})],$.prototype,`hideSubmit`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`disable-submit`})],$.prototype,`disableSubmit`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`single-line`})],$.prototype,`singleLine`,void 0),e.t([(0,a.property)({type:String})],$.prototype,`placeholder`,void 0),e.t([(0,a.property)({type:String})],$.prototype,`value`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`readonly`,void 0),e.t([(0,a.property)({type:Number})],$.prototype,`maxlength`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`pending`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`stoppable`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-images`})],$.prototype,`allowImages`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-files`})],$.prototype,`allowFiles`,void 0),e.t([(0,a.property)({type:Array,attribute:`accepted-file-types`})],$.prototype,`acceptedFileTypes`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-elements`})],$.prototype,`allowElements`,void 0),e.t([(0,a.property)({type:Array,attribute:`accepted-element-types`})],$.prototype,`acceptedElementTypes`,void 0),e.t([(0,a.property)({type:Array})],$.prototype,`triggers`,null),e.t([(0,a.state)()],$.prototype,`_hasTopActions`,void 0),e.t([(0,a.state)()],$.prototype,`_hasBottomActions`,void 0),e.t([(0,a.state)()],$.prototype,`_hasRecordButton`,void 0),e.t([(0,a.state)()],$.prototype,`_hasSubmitButton`,void 0),e.t([(0,a.state)()],$.prototype,`_inputFocused`,void 0),e.t([(0,a.query)(`luzmo-text-field`)],$.prototype,`_inputElement`,void 0),e.t([(0,a.query)(`.rich-input`)],$.prototype,`_richInputElement`,void 0),e.t([(0,a.query)(`input[type="file"]`)],$.prototype,`_fileInput`,void 0),e.t([(0,a.query)(`.finish-recording-button`)],$.prototype,`_finishRecordingButton`,void 0),customElements.get(`luzmo-prompt-box`)||customElements.define(`luzmo-prompt-box`,$),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}});
@@ -1,22 +0,0 @@
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(`./sized-mixin-StFA4y0J.cjs`),n=require(`./focus-visible-B0NNezGc.cjs`),r=require(`./roving-tabindex-B7x5ePUB.cjs`),i=require(`./field-group-OcI5Lgu7.cjs`);let a=require(`lit`),o=require(`lit/decorators.js`);var s=`@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{vertical-align:top;min-block-size:var(--luzmo-radio-height,var(--radio-height));max-inline-size:100%;font-family:var(--luzmo-radio-font-family,var(--luzmo-font-family));align-items:flex-start;display:inline-flex;position:relative}:host(:active) #button:before{border-color:var(--highcontrast-radio-button-border-color-down,var(--luzmo-radio-button-border-color-down,var(--radio-button-border-color-down)))}:host(:active[checked]) #input+#button:before{border-color:var(--highcontrast-radio-button-checked-border-color-down,var(--luzmo-radio-button-checked-border-color-down,var(--radio-button-checked-border-color-down)))}:host(:active) #label{color:var(--highcontrast-radio-neutral-content-color-down,var(--luzmo-radio-neutral-content-color-down,var(--radio-neutral-content-color-down)))}:host(:focus-visible) #button:before{border-color:var(--highcontrast-radio-button-border-color-focus,var(--luzmo-radio-button-border-color-focus,var(--radio-button-border-color-focus)))}:host(:focus-visible) #button:after{border-style:solid;border-color:var(--highcontrast-radio-focus-indicator-color,var(--luzmo-radio-focus-indicator-color,var(--radio-focus-indicator-color)));border-width:var(--luzmo-radio-focus-indicator-width,var(--radio-focus-indicator-width));inline-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2);block-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(--highcontrast-radio-button-checked-border-color-focus,var(--luzmo-radio-button-checked-border-color-focus,var(--radio-button-checked-border-color-focus)))}:host(:focus-visible) #label{color:var(--highcontrast-radio-neutral-content-color-focus,var(--luzmo-radio-neutral-content-color-focus,var(--radio-neutral-content-color-focus)))}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);position:fixed;inset-block-end:100%;inset-inline-end:100%}:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label,:host([readonly]) #label{color:var(--highcontrast-radio-neutral-content-color,var(--luzmo-radio-neutral-content-color,var(--radio-neutral-content-color)));margin-inline-start:0}:host([emphasized][checked]) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color,var(--luzmo-radio-emphasized-accent-color,var(--radio-emphasized-accent-color)))}@media (hover:hover){:host(:hover) #button:before{border-color:var(--highcontrast-radio-button-border-color-hover,var(--luzmo-radio-button-border-color-hover,var(--radio-button-border-color-hover)))}:host([checked]:hover) #input+#button:before{border-color:var(--highcontrast-radio-button-checked-border-color-hover,var(--luzmo-radio-button-checked-border-color-hover,var(--radio-button-checked-border-color-hover)))}:host(:hover) #label{color:var(--highcontrast-radio-neutral-content-color-hover,var(--luzmo-radio-neutral-content-color-hover,var(--radio-neutral-content-color-hover)))}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color-hover,var(--luzmo-radio-emphasized-accent-color-hover,var(--radio-emphasized-accent-color-hover)))}}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color-down,var(--luzmo-radio-emphasized-accent-color-down,var(--radio-emphasized-accent-color-down)))}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color-focus,var(--luzmo-radio-emphasized-accent-color-focus,var(--radio-emphasized-accent-color-focus)))}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(--highcontrast-radio-disabled-border-color,var(--luzmo-radio-disabled-border-color,var(--radio-disabled-border-color)))}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(--highcontrast-radio-disabled-content-color,var(--luzmo-radio-disabled-content-color,var(--radio-disabled-content-color)))}#input{font-family:inherit;font-size:100%;line-height:var(--luzmo-radio-line-height,var(--radio-line-height));box-sizing:border-box;opacity:0;z-index:1;cursor:pointer;block-size:100%;inline-size:100%;margin:0;padding:0;position:absolute;overflow:visible}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-width:calc(var(--radio-button-control-size) / 2 - var(--radio-button-selection-indicator) / 2);border-color:var(--highcontrast-radio-button-checked-border-color-default,var(--luzmo-radio-button-checked-border-color-default,var(--radio-button-checked-border-color-default)))}#input:focus-visible+#button:after{border-width:var(--luzmo-radio-focus-indicator-width,var(--radio-focus-indicator-width));border-color:var(--highcontrast-radio-focus-indicator-color,var(--luzmo-radio-focus-indicator-color,var(--radio-focus-indicator-color)));inline-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2);block-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2);border-style:solid}#label{text-align:start;font-size:var(--luzmo-radio-font-size,var(--radio-font-size));color:var(--highcontrast-radio-neutral-content-color,var(--luzmo-radio-neutral-content-color,var(--radio-neutral-content-color)));line-height:var(--luzmo-radio-line-height,var(--radio-line-height));transition:color var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-in-out;margin-block-start:var(--radio-label-top-to-text);margin-block-end:var(--radio-label-bottom-to-text);margin-inline-start:var(--luzmo-radio-text-to-control,var(--radio-text-to-control))}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(--luzmo-radio-line-height-cjk,var(--radio-line-height-cjk))}#button{box-sizing:border-box;inline-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));block-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));flex-grow:0;flex-shrink:0;margin-block-start:var(--luzmo-radio-button-top-to-control,var(--radio-button-top-to-control));position:relative}#button:before{z-index:0;content:"";box-sizing:border-box;inline-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));block-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));background-color:var(--highcontrast-radio-button-background-color,var(--luzmo-radio-button-background-color,var(--radio-button-background-color)));border-width:var(--luzmo-radio-border-width,var(--radio-border-width));border-color:var(--highcontrast-radio-button-border-color-default,var(--luzmo-radio-button-border-color-default,var(--radio-button-border-color-default)));transition:border var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-in-out, box-shadow var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-in-out;border-style:solid;border-radius:50%;display:block;position:absolute}#button:after{content:"";transition:opacity var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-out, margin var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-out;border-radius:50%;display:block;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%)translateY(-50%)}: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)) #button:after{transform:translate(50%)translateY(-50%)}:host{--radio-button-border-color-default:var(--luzmo-border-color-full);--radio-button-border-color-hover:var(--luzmo-border-color-full-hover);--radio-button-border-color-down:var(--luzmo-border-color-full-hover);--radio-button-border-color-focus:var(--luzmo-border-color-full-hover);--radio-neutral-content-color:var(--luzmo-selected-color-hard);--radio-neutral-content-color-hover:var(--luzmo-selected-color-hard-hover);--radio-neutral-content-color-down:var(--luzmo-selected-color-hard-down);--radio-neutral-content-color-focus:var(--luzmo-selected-color-hard-focus);--radio-button-selection-indicator:var(--luzmo-spacing-2);--radio-focus-indicator-width:var(--luzmo-indicator-width);--radio-focus-indicator-gap:var(--luzmo-indicator-gap);--radio-focus-indicator-color:var(--luzmo-primary);--radio-disabled-content-color:var(--luzmo-disabled-color);--radio-disabled-border-color:var(--luzmo-border-color-disabled);--radio-emphasized-accent-color:var(--luzmo-primary);--radio-emphasized-accent-color-hover:var(--luzmo-primary-hover);--radio-emphasized-accent-color-down:var(--luzmo-primary-down);--radio-emphasized-accent-color-focus:var(--luzmo-primary-focus);--radio-border-width:calc(var(--luzmo-border-width) * 2);--radio-button-background-color:var(--luzmo-background-color);--radio-button-checked-border-color-default:var(--luzmo-selected-color-hard);--radio-button-checked-border-color-hover:var(--luzmo-selected-color-hard-hover);--radio-button-checked-border-color-down:var(--luzmo-selected-color-hard-down);--radio-button-checked-border-color-focus:var(--luzmo-selected-color-hard-focus);--radio-line-height:1.3;--radio-animation-duration:var(--luzmo-animation-duration);--radio-height:32px;--radio-button-control-size:14px;--radio-text-to-control:10px;--radio-label-top-to-text:6px;--radio-label-bottom-to-text:9px;--radio-button-top-to-control:9px;--radio-font-size:14px}:host(:lang(ja)),:host(:lang(zh)),:host(:lang(ko)){--radio-line-height-cjk:1.5}:host{--radio-height:var(--luzmo-component-height);--radio-button-control-size:14px;--radio-text-to-control:10px;--radio-label-top-to-text:7px;--radio-label-bottom-to-text:9px;--radio-button-top-to-control:9px;--radio-font-size:14px}:host([size=s]){--radio-height:var(--luzmo-component-height-s);--radio-button-control-size:var(--luzmo-spacing-4);--radio-text-to-control:9px;--radio-label-top-to-text:var(--luzmo-spacing-2);--radio-label-bottom-to-text:5px;--radio-button-top-to-control:6px;--radio-font-size:var(--luzmo-spacing-4)}:host([size=l]){--radio-height:var(--luzmo-component-height-l);--radio-button-control-size:16px;--radio-text-to-control:11px;--radio-label-top-to-text:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--radio-label-bottom-to-text:11px;--radio-button-top-to-control:var(--luzmo-spacing-4);--radio-font-size:16px}:host([size=xl]){--radio-height:var(--luzmo-component-height-xl);--radio-button-control-size:18px;--radio-text-to-control:13px;--radio-label-top-to-text:var(--luzmo-spacing-4);--radio-label-bottom-to-text:14px;--radio-button-top-to-control:15px;--radio-font-size:18px}:host([emphasized]){--radio-button-checked-border-color-default:var(--luzmo-primary);--radio-button-checked-border-color-hover:var(--luzmo-primary-hover);--radio-button-checked-border-color-down:var(--luzmo-primary-down);--radio-button-checked-border-color-focus:var(--luzmo-primary-focus)}:host(:focus){outline:none}:host([disabled]){pointer-events:none}:host([dir=rtl]) #button:after{transform:translate(50%)translateY(-50%)}`,c=class extends t.n(n.t(e.n),{noDefaultSize:!0}){constructor(...e){super(...e),this.autofocus=!1,this.value=``,this.checked=!1,this.disabled=!1,this.emphasized=!1,this.invalid=!1,this.readonly=!1}static get styles(){return[(0,a.unsafeCSS)(s)]}click(){this.disabled||this.activate()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focus())}activate(){this.checked||(this.checked=!0,this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0})))}handleKeyup(e){e.code===`Space`&&this.activate()}render(){return a.html`
19
- <div id="input"></div>
20
- <span id="button"></span>
21
- <span id="label" role="presentation"><slot></slot></span>
22
- `}firstUpdated(e){super.firstUpdated(e),this.setAttribute(`role`,`radio`),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.manageAutoFocus(),this.addEventListener(`click`,this.activate),this.addEventListener(`keyup`,this.handleKeyup)}updated(e){super.updated(e),e.has(`invalid`)&&(this.invalid?this.setAttribute(`aria-invalid`,`true`):this.removeAttribute(`aria-invalid`)),e.has(`checked`)&&(this.checked?this.setAttribute(`aria-checked`,`true`):this.setAttribute(`aria-checked`,`false`)),e.has(`disabled`)&&(this.disabled?this.setAttribute(`aria-disabled`,`true`):this.removeAttribute(`aria-disabled`))}};e.t([(0,o.property)({type:Boolean})],c.prototype,`autofocus`,void 0),e.t([(0,o.property)({type:String,reflect:!0})],c.prototype,`value`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`checked`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`disabled`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`emphasized`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`invalid`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`readonly`,void 0);var l=class extends n.t(i.t){constructor(...e){super(...e),this.name=``,this.rovingTabindexController=new r.t(this,{focusInIndex:e=>e.findIndex(e=>this.selected?!e.disabled&&e.value===this.selected:!e.disabled),elementEnterAction:e=>{this._setSelected(e.value)},elements:()=>this.buttons,isFocusableElement:e=>!e.disabled}),this.selected=``}get buttons(){return this.defaultNodes.filter(e=>e instanceof c)}focus(){this.rovingTabindexController.focus()}_setSelected(e){if(e===this.selected)return;let t=this.selected,n=e?this.querySelector(`luzmo-radio[value="${e}"]`):void 0;if(this.selected=n?e:``,!this.dispatchEvent(new Event(`change`,{cancelable:!0,bubbles:!0,composed:!0}))){this.selected=t;return}this.validateRadios()}willUpdate(e){if(!this.hasUpdated){this.setAttribute(`role`,`radiogroup`);let e=this.querySelector(`luzmo-radio[checked]`),t=e?e.value:``;if(this.selected=t||this.selected,this.selected&&this.selected!==t){let e=this.querySelector(`luzmo-radio[value="${this.selected}"]`);e&&(e.checked=!0)}this.shadowRoot.addEventListener(`change`,e=>{e.stopPropagation();let t=e.target;this._setSelected(t.value)})}e.has(`selected`)&&this.validateRadios()}async validateRadios(){let e=!1;this.hasUpdated||await this.updateComplete,this.buttons.map(t=>{t.checked=this.selected===t.value,e||=t.checked}),e||(this.selected=``)}handleSlotchange(){this.rovingTabindexController.clearElementCache()}};e.t([(0,o.property)({type:String})],l.prototype,`name`,void 0),e.t([(0,o.queryAssignedNodes)()],l.prototype,`defaultNodes`,void 0),e.t([(0,o.property)({reflect:!0})],l.prototype,`selected`,void 0),customElements.get(`luzmo-radio`)||customElements.define(`luzmo-radio`,c),customElements.get(`luzmo-radio-group`)||customElements.define(`luzmo-radio-group`,l),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});