@luzmo/lucero 2.2.1 → 2.4.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 (512) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +34 -1
  3. package/components/accordion/index.cjs +2 -2
  4. package/components/accordion/index.js +3 -8
  5. package/components/{accordion-DpsYMoeb.cjs → accordion-BK0LfhmL.cjs} +2 -2
  6. package/components/{accordion-BDchhAjE.js → accordion-ciplqKwM.js} +2 -1
  7. package/components/action-bar/action-bar.d.ts +3 -3
  8. package/components/action-bar/index.cjs +2 -2
  9. package/components/action-bar/index.js +3 -8
  10. package/components/{action-bar-2FGCCKMW.js → action-bar-BZBIeGo7.js} +6 -5
  11. package/components/action-bar-DAqG_7VG.cjs +39 -0
  12. package/components/action-button/index.cjs +2 -2
  13. package/components/action-button/index.js +3 -8
  14. package/components/{action-button-OB5MM04X.js → action-button-BRijXjEz.js} +2 -1
  15. package/components/action-button-CX1uYbQp.cjs +22 -0
  16. package/components/action-group/index.cjs +2 -2
  17. package/components/action-group/index.js +3 -11
  18. package/components/{action-group-BQ-fyPYS.js → action-group-DSiruuF0.js} +5 -2
  19. package/components/action-group-oo7YV0EW.cjs +20 -0
  20. package/components/action-menu/index.cjs +2 -2
  21. package/components/action-menu/index.js +3 -8
  22. package/components/{action-menu-Diehg1Kc.js → action-menu-C0sHNsjG.js} +7 -6
  23. package/components/{action-menu-CtMswuyc.cjs → action-menu-CwzRbF61.cjs} +2 -2
  24. package/components/avatar/index.cjs +2 -2
  25. package/components/avatar/index.js +3 -8
  26. package/components/{avatar-Nb0368Wi.js → avatar-CwSyYAKV.js} +2 -1
  27. package/components/avatar-DHS5UGTJ.cjs +34 -0
  28. package/components/badge/index.cjs +2 -2
  29. package/components/badge/index.js +3 -8
  30. package/components/{badge-DP1uxXaZ.js → badge-D2Hjf-Ww.js} +2 -1
  31. package/components/badge-D8pIDEoq.cjs +23 -0
  32. package/components/button/index.cjs +2 -2
  33. package/components/button/index.js +4 -9
  34. package/components/button-Bvnidb4x.cjs +20 -0
  35. package/components/{button-DXWWEbir.js → button-DIV_j_U3.js} +4 -3
  36. package/components/button-base-DiNxrttk.cjs +1 -1
  37. package/components/button-base-DiPzVpp4.js +1 -1
  38. package/components/button-group/index.cjs +2 -2
  39. package/components/button-group/index.js +3 -8
  40. package/components/button-group-Du7R4SxZ.cjs +18 -0
  41. package/components/{button-group-DaANSInm.js → button-group-Duf-Igst.js} +2 -1
  42. package/components/calendar/index.cjs +2 -2
  43. package/components/calendar/index.js +3 -8
  44. package/components/{calendar-C8u_88jX.js → calendar-D1UtHvpY.js} +4 -3
  45. package/components/calendar-pQxEWdYC.cjs +138 -0
  46. package/components/chat-message/index.cjs +2 -2
  47. package/components/chat-message/index.js +3 -8
  48. package/components/chat-message-Dgo6h0rD.cjs +148 -0
  49. package/components/{chat-message-CXq0Trjx.js → chat-message-T6QIK2Bl.js} +528 -563
  50. package/components/chat-message-group/index.cjs +2 -2
  51. package/components/chat-message-group/index.js +3 -8
  52. package/components/chat-message-group-CvxdX3jt.cjs +24 -0
  53. package/components/{chat-message-group-D7vdn2gG.js → chat-message-group-k9lo-ZqD.js} +2 -1
  54. package/components/checkbox/index.cjs +2 -2
  55. package/components/checkbox/index.js +3 -8
  56. package/components/{checkbox-6YzkdHR4.js → checkbox-BEjvkjfc.js} +2 -1
  57. package/components/checkbox-ClVrkeLp.cjs +25 -0
  58. package/components/checkbox-mixin-jqmrh48O.js +1 -1
  59. package/components/checkbox-mixin-rFRXqyrK.cjs +1 -1
  60. package/components/{close-button-BntGLAcp.cjs → close-button-BAELImQY.cjs} +2 -2
  61. package/components/{close-button-D12zZ9zC.js → close-button-Dlvtf9lB.js} +3 -3
  62. package/components/color-area/index.cjs +2 -2
  63. package/components/color-area/index.js +3 -8
  64. package/components/color-area-CmKlQG1i.cjs +80 -0
  65. package/components/{color-area-DMpXKgPY.js → color-area-lbg8wwZG.js} +3 -2
  66. package/components/color-controller-DbyPc33Y.cjs +1 -1
  67. package/components/color-controller-Rg_Zl0sT.js +1 -1
  68. package/components/color-field/index.cjs +2 -2
  69. package/components/color-field/index.js +3 -8
  70. package/components/{color-field-BNGnBRSO.cjs → color-field-BH9x46k_.cjs} +2 -2
  71. package/components/{color-field-CUdHxonc.js → color-field-C9S-Fv46.js} +2 -1
  72. package/components/color-handle/color-handle.d.ts +1 -1
  73. package/components/color-handle/index.cjs +2 -2
  74. package/components/color-handle/index.js +3 -8
  75. package/components/color-handle-2iFLp9FN.cjs +24 -0
  76. package/components/{color-handle-TKbLs1ax.js → color-handle-BEDQ1RcS.js} +3 -2
  77. package/components/color-loupe/index.cjs +2 -2
  78. package/components/color-loupe/index.js +3 -11
  79. package/components/color-loupe-6NcLbFco.cjs +56 -0
  80. package/components/{color-loupe-DAxrNPJz.js → color-loupe-CqHyyvjQ.js} +5 -2
  81. package/components/color-menu/index.cjs +2 -2
  82. package/components/color-menu/index.js +3 -8
  83. package/components/color-menu-BYTgxLQG.cjs +89 -0
  84. package/components/{color-menu-jkdcr5ir.js → color-menu-qJK_clDq.js} +9 -8
  85. package/components/color-palette/index.cjs +2 -2
  86. package/components/color-palette/index.js +3 -8
  87. package/components/{color-palette-FQyIMSwP.js → color-palette-CqiO5ohz.js} +2 -1
  88. package/components/color-palette-group/index.cjs +2 -2
  89. package/components/color-palette-group/index.js +3 -8
  90. package/components/color-palette-group-D4k_7pW6.cjs +28 -0
  91. package/components/{color-palette-group-o6bnF-Ir.js → color-palette-group-zByrO_qb.js} +2 -1
  92. package/components/color-palette-x6W09EBL.cjs +18 -0
  93. package/components/color-picker/index.cjs +2 -2
  94. package/components/color-picker/index.js +3 -8
  95. package/components/{color-picker-C4pvkA2k.cjs → color-picker-BAikpqUT.cjs} +2 -2
  96. package/components/{color-picker-DF3gBQvH.js → color-picker-CSuAPo5X.js} +6 -5
  97. package/components/color-slider/index.cjs +2 -2
  98. package/components/color-slider/index.js +3 -8
  99. package/components/{color-slider-DejvUYrW.js → color-slider-0JzdSRTy.js} +3 -2
  100. package/components/color-slider-CMW8gJ0Z.cjs +57 -0
  101. package/components/condition-attribute-with-id-BdnTdWKz.js +1 -1
  102. package/components/condition-attribute-with-id-Cw92IbcP.cjs +1 -1
  103. package/components/date-range-picker/index.cjs +2 -2
  104. package/components/date-range-picker/index.js +3 -8
  105. package/components/date-range-picker-D149LIGC.cjs +180 -0
  106. package/components/{date-range-picker-DCOv5PYH.js → date-range-picker-DKVmGpUC.js} +7 -6
  107. package/components/date-time-picker/index.cjs +2 -2
  108. package/components/date-time-picker/index.js +3 -8
  109. package/components/{date-time-picker-ClgATXBy.js → date-time-picker-6c19YzwF.js} +7 -6
  110. package/components/date-time-picker-CRpvRk9T.cjs +105 -0
  111. package/components/decorate-CkCg3wfh.js +1 -1
  112. package/components/decorate-Dq34MBGe.cjs +1 -1
  113. package/components/dependency-manger-BSaHw9ju.cjs +1 -1
  114. package/components/dependency-manger-wHEXoU92.js +1 -1
  115. package/components/divider/index.cjs +2 -2
  116. package/components/divider/index.js +3 -8
  117. package/components/divider-BcE8D-pH.cjs +18 -0
  118. package/components/{divider-CGbT-CL8.js → divider-Cz5nyvP9.js} +2 -1
  119. package/components/divider.module-BV6tmpOY.cjs +1 -1
  120. package/components/divider.module-CPEKsaqR.js +1 -1
  121. package/components/element-resolution-BjaAlqwX.cjs +1 -1
  122. package/components/element-resolution-gap51AVo.js +1 -1
  123. package/components/field-group/index.cjs +2 -2
  124. package/components/field-group/index.js +2 -7
  125. package/components/field-group-C_kRq7pJ.js +1 -1
  126. package/components/field-group-Dd5xYczm.cjs +1 -1
  127. package/components/field-label/index.cjs +2 -2
  128. package/components/field-label/index.js +3 -11
  129. package/components/field-label-C0vfY1b6.cjs +25 -0
  130. package/components/{field-label-B9S41b7c.js → field-label-C28wWqC5.js} +5 -2
  131. package/components/focus-group-C8lOjbi9.cjs +1 -1
  132. package/components/focus-group-DVPa1zxz.js +1 -1
  133. package/components/focus-visible-Bt2uDmuM.js +1 -1
  134. package/components/focus-visible-DNHNlrty.cjs +1 -1
  135. package/components/focusable-B6h03pAe.cjs +1 -1
  136. package/components/focusable-DuP0-Kuy.js +1 -1
  137. package/components/focusable-selectors-BWpiuXz5.js +1 -1
  138. package/components/focusable-selectors-DJqGLTJo.cjs +1 -1
  139. package/components/get-label-from-slot-Bo9mqYCZ.js +1 -1
  140. package/components/get-label-from-slot-TV4APBYs.cjs +1 -1
  141. package/components/icon/index.cjs +2 -2
  142. package/components/icon/index.js +3 -8
  143. package/components/{icon-DB1DRieA.js → icon-CsJZMhIm.js} +2 -1
  144. package/components/icon-zOPAWCdx.cjs +18 -0
  145. package/components/index.cjs +2 -2
  146. package/components/index.js +64 -75
  147. package/components/infield-button/index.cjs +2 -2
  148. package/components/infield-button/index.js +3 -8
  149. package/components/{infield-button-C1mz69Qf.js → infield-button-DiE8R6ol.js} +2 -1
  150. package/components/infield-button-kilVRjwB.cjs +22 -0
  151. package/components/label/index.cjs +2 -2
  152. package/components/label/index.js +3 -8
  153. package/components/{label-DPG13Ib0.cjs → label-B3zs6OX0.cjs} +2 -2
  154. package/components/{label-B1HYQ4Pp.js → label-e6Y13vrS.js} +2 -1
  155. package/components/language-resolution-BaKYDD1a.js +1 -1
  156. package/components/language-resolution-CSjktYg5.cjs +1 -1
  157. package/components/like-anchor-BX4PSB3d.cjs +1 -1
  158. package/components/like-anchor-DXCaEv7O.js +1 -1
  159. package/components/manage-help-text-ByLb0QYX.js +1 -1
  160. package/components/manage-help-text-DtFJsl0k.cjs +1 -1
  161. package/components/menu/index.cjs +2 -2
  162. package/components/menu/index.js +3 -8
  163. package/components/{menu-Cq7BEv5Y.cjs → menu-CrhA2iPZ.cjs} +3 -3
  164. package/components/{menu-DY8q8qyn.js → menu-fdJseu1y.js} +3 -2
  165. package/components/multi-language-field/index.cjs +2 -2
  166. package/components/multi-language-field/index.js +3 -8
  167. package/components/{multi-language-field-Cfy3M_ZS.cjs → multi-language-field-BndVikur.cjs} +2 -2
  168. package/components/{multi-language-field-DhQ98r2D.js → multi-language-field-vJMK-osi.js} +3 -2
  169. package/components/notice/index.cjs +2 -2
  170. package/components/notice/index.js +3 -8
  171. package/components/notice-CsWaqcq3.cjs +60 -0
  172. package/components/{notice-s6QHF_tq.js → notice-N0-lxEf_.js} +4 -3
  173. package/components/number-field/index.cjs +2 -2
  174. package/components/number-field/index.js +3 -8
  175. package/components/{number-field-BqnZS9Gx.js → number-field-DAOy_AvQ.js} +3 -2
  176. package/components/number-field-xxXgR70l.cjs +57 -0
  177. package/components/observe-slot-presence-BKY6n06-.js +1 -1
  178. package/components/observe-slot-presence-CS8pMePk.cjs +1 -1
  179. package/components/observe-slot-text-CvL-2ey3.cjs +1 -1
  180. package/components/observe-slot-text-Db8Kx3P-.js +1 -1
  181. package/components/options/index.cjs +2 -2
  182. package/components/options/index.js +3 -8
  183. package/components/options/options.d.ts +1 -0
  184. package/components/{options-Bd6Uly5_.cjs → options-CP9V2CSJ.cjs} +2 -2
  185. package/components/{options-CpaaBaxn.js → options-D_ifU0DH.js} +4 -2
  186. package/components/overlay/index.cjs +2 -2
  187. package/components/overlay/index.js +4 -10
  188. package/components/overlay/placement-controller.d.ts +2 -1
  189. package/components/overlay-Dn7EbA_W.cjs +102 -0
  190. package/components/{overlay-CyBsHuOL.js → overlay-DpHIYJtd.js} +282 -77
  191. package/components/{pending-state-a527YMWV.cjs → pending-state-CGHvTtKR.cjs} +2 -2
  192. package/components/{pending-state-BeG7qBDP.js → pending-state-D_b45qvi.js} +2 -2
  193. package/components/picker/index.cjs +2 -2
  194. package/components/picker/index.js +3 -8
  195. package/components/picker-BliQJlY_.cjs +124 -0
  196. package/components/{picker-f4fSGZX8.js → picker-D0fMBZLb.js} +6 -6
  197. package/components/picker-button/index.cjs +2 -2
  198. package/components/picker-button/index.js +3 -8
  199. package/components/picker-button-B8Jbf9jK.cjs +37 -0
  200. package/components/{picker-button-DVzLeTq8.js → picker-button-CJQJshbo.js} +3 -2
  201. package/components/platform-BAjeJp2W.cjs +1 -1
  202. package/components/platform-Ce9pNsR9.js +1 -1
  203. package/components/popover/index.cjs +2 -2
  204. package/components/popover/index.js +3 -11
  205. package/components/popover-BsdqkvKI.cjs +30 -0
  206. package/components/{popover-DTsrgH-f.js → popover-DC8tkee-.js} +17 -15
  207. package/components/progress-bar/index.cjs +2 -2
  208. package/components/progress-bar/index.js +3 -8
  209. package/components/progress-bar-CrodWzcc.cjs +34 -0
  210. package/components/{progress-bar-BJO8j1aX.js → progress-bar-D4iFHkp7.js} +2 -1
  211. package/components/progress-circle/index.cjs +2 -2
  212. package/components/progress-circle/index.js +3 -11
  213. package/components/{progress-circle-BVToDWX8.js → progress-circle-By6qUQYe.js} +5 -2
  214. package/components/progress-circle-bO_VAX3N.cjs +33 -0
  215. package/components/progress-steps/index.cjs +2 -2
  216. package/components/progress-steps/index.d.ts +2 -1
  217. package/components/progress-steps/index.js +4 -9
  218. package/components/progress-steps/progress-steps-model.d.ts +23 -0
  219. package/components/progress-steps/progress-steps.d.ts +82 -109
  220. package/components/progress-steps/types.d.ts +18 -3
  221. package/components/progress-steps-Y-Tgh_fQ.cjs +98 -0
  222. package/components/progress-steps-ohguJaPa.js +368 -0
  223. package/components/prompt-box/index.cjs +2 -2
  224. package/components/prompt-box/index.js +3 -8
  225. package/components/{prompt-box-BY1xKFZO.js → prompt-box-Cz_m2wso.js} +8 -8
  226. package/components/{prompt-box-Dg9S0C5x.cjs → prompt-box-sp9_-Hnx.cjs} +3 -3
  227. package/components/question-box/index.cjs +2 -2
  228. package/components/question-box/index.js +3 -8
  229. package/components/{question-box-CZxQTeS9.cjs → question-box-Bdtsgv1k.cjs} +2 -2
  230. package/components/{question-box-CyojSIop.js → question-box-D7YSi_6c.js} +9 -8
  231. package/components/radio/index.cjs +2 -2
  232. package/components/radio/index.js +3 -8
  233. package/components/{radio-DRI4on-W.js → radio-B6hX9Klr.js} +2 -1
  234. package/components/radio-CRTfoEX_.cjs +22 -0
  235. package/components/random-id-BcUJAxUZ.cjs +1 -1
  236. package/components/random-id-CiMDyX7v.js +1 -1
  237. package/components/rolldown-runtime-Dy4uBu1J.js +1 -1
  238. package/components/roving-tabindex-BoPao4td.cjs +1 -1
  239. package/components/roving-tabindex-pomAn3z-.js +1 -1
  240. package/components/scaled-indicator-C-TupV4L.js +1 -1
  241. package/components/scaled-indicator-DLJIztx0.cjs +1 -1
  242. package/components/search/index.cjs +2 -2
  243. package/components/search/index.js +3 -8
  244. package/components/{search-C-EPZmTG.js → search-DEjLSJ96.js} +4 -3
  245. package/components/search-PxJEuwHt.cjs +47 -0
  246. package/components/segments-factory-BCRi1NKb.js +1 -1
  247. package/components/segments-factory-DtPyN5sh.cjs +1 -1
  248. package/components/select/index.cjs +2 -2
  249. package/components/select/index.js +3 -8
  250. package/components/{select-BbFG38ag.js → select-BUgHi69P.js} +9 -8
  251. package/components/select-DsGVB01K.cjs +158 -0
  252. package/components/sized-mixin-BT7cv-fT.cjs +1 -1
  253. package/components/sized-mixin-DzQTebN-.js +1 -1
  254. package/components/skeleton-loader/index.cjs +2 -2
  255. package/components/skeleton-loader/index.js +3 -8
  256. package/components/{skeleton-loader-C0LH3prK.js → skeleton-loader-BeCsYADg.js} +2 -1
  257. package/components/skeleton-loader-CNcwCh4V.cjs +18 -0
  258. package/components/slider/index.cjs +2 -2
  259. package/components/slider/index.js +3 -8
  260. package/components/{slider-B7QAhDTM.js → slider-Bsl8Xrme.js} +3 -2
  261. package/components/{slider-DxliwjT6.cjs → slider-C_8pSK4N.cjs} +2 -2
  262. package/components/slottable-request-event-C6eb7Ch3.cjs +1 -1
  263. package/components/slottable-request-event-MRSZbgTu.js +1 -1
  264. package/components/split-view/index.cjs +2 -2
  265. package/components/split-view/index.js +3 -8
  266. package/components/split-view-BwCFYey6.cjs +43 -0
  267. package/components/{split-view-FxpiSCem.js → split-view-CDwHDmII.js} +2 -1
  268. package/components/status-light/index.cjs +2 -2
  269. package/components/status-light/index.js +3 -8
  270. package/components/status-light-D3hdx8Pd.cjs +21 -0
  271. package/components/{status-light-DC8qqO8q.js → status-light-DwUnjE3t.js} +2 -1
  272. package/components/strategies-BwNbUXYS.cjs +1 -1
  273. package/components/strategies-Cl59wdNZ.js +1 -1
  274. package/components/streaming-listener-Bfyk6Fsx.cjs +1 -1
  275. package/components/streaming-listener-CtcMpYfS.js +1 -1
  276. package/components/swatch/index.cjs +2 -2
  277. package/components/swatch/index.js +3 -8
  278. package/components/{swatch-C2ty27bJ.js → swatch-Bj2FARl1.js} +2 -1
  279. package/components/{swatch-DUmBmg4S.cjs → swatch-CQ0inIHK.cjs} +2 -2
  280. package/components/switch/index.cjs +2 -2
  281. package/components/switch/index.js +3 -8
  282. package/components/{switch-DOuXlFwI.js → switch-CpG-hSWY.js} +2 -1
  283. package/components/switch-qwpYXVnO.cjs +22 -0
  284. package/components/tabs/index.cjs +2 -2
  285. package/components/tabs/index.js +3 -8
  286. package/components/{tabs-CjY4eX9W.js → tabs-BD_ATrBg.js} +4 -3
  287. package/components/{tabs-ZwcVrVub.cjs → tabs-DxOD4QNt.cjs} +2 -2
  288. package/components/tags/index.cjs +2 -2
  289. package/components/tags/index.js +3 -8
  290. package/components/{tags-BCKNzEaH.js → tags-BIpFgOYy.js} +4 -3
  291. package/components/tags-fLCGajv_.cjs +47 -0
  292. package/components/text-field/index.cjs +2 -2
  293. package/components/text-field/index.js +3 -8
  294. package/components/text-field-3fDtTQkR.cjs +1 -1
  295. package/components/text-field-CbN4nydd.cjs +21 -0
  296. package/components/text-field-CmSym2QK.js +1 -1
  297. package/components/{text-field-C2MHZbTp.js → text-field-CmyqQxq0.js} +2 -1
  298. package/components/text-field.module-BHhBReKL.js +1 -1
  299. package/components/text-field.module-l8CaTCwE.cjs +1 -1
  300. package/components/toast/index.cjs +2 -2
  301. package/components/toast/index.js +3 -8
  302. package/components/toast-DRrGgznK.cjs +51 -0
  303. package/components/{toast-DlOeMDCI.js → toast-KwHx-agn.js} +3 -2
  304. package/components/tokens.cjs +18 -0
  305. package/components/tokens.css +18 -0
  306. package/components/tokens.js +23 -0
  307. package/components/tooltip/index.cjs +2 -2
  308. package/components/tooltip/index.js +3 -8
  309. package/components/tooltip-DjOW52n2.cjs +45 -0
  310. package/components/{tooltip-Byl1h4nN.js → tooltip-xTa9Q5JW.js} +2 -1
  311. package/components/top-nav/index.cjs +2 -2
  312. package/components/top-nav/index.js +3 -8
  313. package/components/top-nav-81IKEGjR.cjs +41 -0
  314. package/components/{top-nav-B9YKdtFB.js → top-nav-CXjnpdFR.js} +2 -1
  315. package/components/utils.cjs +1 -1
  316. package/components/utils.js +1 -1
  317. package/components/voice-recorder-B1tBrGTV.cjs +1 -1
  318. package/components/voice-recorder-CTg3kRxx.js +1 -1
  319. package/custom-elements.json +1 -1
  320. package/package.json +11 -2
  321. package/standalone/accordion.js +45 -0
  322. package/standalone/action-bar.js +41 -0
  323. package/standalone/action-button.js +20 -0
  324. package/standalone/action-group.js +20 -0
  325. package/standalone/action-menu.js +58 -0
  326. package/standalone/avatar.js +36 -0
  327. package/standalone/badge.js +20 -0
  328. package/standalone/button-group.js +20 -0
  329. package/standalone/button.js +20 -0
  330. package/standalone/calendar.js +20 -0
  331. package/standalone/chat-message-group.js +26 -0
  332. package/standalone/chat-message.js +150 -0
  333. package/standalone/checkbox.js +20 -0
  334. package/standalone/chunks/NumberFormatter-DMCfW685.js +2 -0
  335. package/standalone/chunks/NumberParser-r_jv94LA.js +2 -0
  336. package/standalone/chunks/action-button-BzzPBqt5.js +6 -0
  337. package/standalone/chunks/action-group-DTxf-0tP.js +4 -0
  338. package/standalone/chunks/async-directive-BA2_dM-5.js +2 -0
  339. package/standalone/chunks/async-directive-CPdA0BOw.js +2 -0
  340. package/standalone/chunks/badge-DD-tMgzi.js +7 -0
  341. package/standalone/chunks/button-Bv3v7VbN.js +4 -0
  342. package/standalone/chunks/button-Dykw3TSO.js +2 -0
  343. package/standalone/chunks/button-base-C7jeeyLp.js +9 -0
  344. package/standalone/chunks/calendar-ZwUYkzVq.js +122 -0
  345. package/standalone/chunks/checkbox-OQtakoP8.js +9 -0
  346. package/standalone/chunks/checkbox-mixin-BAQWmwps.js +11 -0
  347. package/standalone/chunks/class-map-CxQ0PcQP.js +2 -0
  348. package/standalone/chunks/clear-button-pVGfwye8.js +2 -0
  349. package/standalone/chunks/close-button-RpPiwBdf.js +2 -0
  350. package/standalone/chunks/color-area-Cj8oPsIF.js +64 -0
  351. package/standalone/chunks/color-controller-fJNWRHVI.js +2 -0
  352. package/standalone/chunks/color-field-CrCF4kqZ.js +7 -0
  353. package/standalone/chunks/color-handle-BHrAxEG2.js +8 -0
  354. package/standalone/chunks/color-loupe-C34cms5t.js +40 -0
  355. package/standalone/chunks/color-menu-B5UOMYmX.js +73 -0
  356. package/standalone/chunks/color-slider-CAqvxsgS.js +41 -0
  357. package/standalone/chunks/condition-attribute-with-id-Dv8Yd-N1.js +2 -0
  358. package/standalone/chunks/dependency-manger-BPrqqTnJ.js +2 -0
  359. package/standalone/chunks/directive-Du_3lDov.js +2 -0
  360. package/standalone/chunks/directive-helpers-Bu8icI7Y.js +2 -0
  361. package/standalone/chunks/divider-Bf9Drp2z.js +2 -0
  362. package/standalone/chunks/divider.module-sYekRHno.js +2 -0
  363. package/standalone/chunks/element-resolution-DX0ea-Cd.js +2 -0
  364. package/standalone/chunks/field-group-D8EjgC6F.js +7 -0
  365. package/standalone/chunks/field-label-VWHDlW9_.js +9 -0
  366. package/standalone/chunks/flow-aCcJ5kgi.js +2 -0
  367. package/standalone/chunks/focus-group-Cl6MLy-C.js +2 -0
  368. package/standalone/chunks/focusable-selectors-D5e0OxNL.js +2 -0
  369. package/standalone/chunks/get-label-from-slot-Dfoiptqo.js +2 -0
  370. package/standalone/chunks/icon-Dy6J1QeX.js +2 -0
  371. package/{components/infield-button-CYO9V1eX.cjs → standalone/chunks/infield-button-D03MpU_s.js} +3 -19
  372. package/standalone/chunks/keyed-CNWmQd2J.js +2 -0
  373. package/standalone/chunks/language-resolution-BWHk9A73.js +2 -0
  374. package/standalone/chunks/lit-BN_lRQbJ.js +3 -0
  375. package/standalone/chunks/lucero-runtime-DGJ9-isg.js +16 -0
  376. package/standalone/chunks/luzmo-icons-CJa-aByT.js +13 -0
  377. package/standalone/chunks/manage-help-text-Cl9OJ2xf.js +14 -0
  378. package/standalone/chunks/menu-nolJetlp.js +92 -0
  379. package/standalone/chunks/number-field-C3DYfl1s.js +41 -0
  380. package/standalone/chunks/observe-slot-presence-DWPtw22K.js +2 -0
  381. package/standalone/chunks/options-BjRSj630.js +89 -0
  382. package/standalone/chunks/overlay-C4ir0iyC.js +31 -0
  383. package/standalone/chunks/overlay-C_XW8yry.js +57 -0
  384. package/standalone/chunks/pending-state-DxeRqe6Q.js +11 -0
  385. package/standalone/chunks/picker-button-BeXTIgUt.js +21 -0
  386. package/standalone/chunks/picker-hbMQOkUX.js +108 -0
  387. package/standalone/chunks/platform-BfrBbd97.js +2 -0
  388. package/standalone/chunks/popover-BsB3dmQe.js +14 -0
  389. package/standalone/chunks/progress-circle-CEx1b5Sv.js +17 -0
  390. package/standalone/chunks/property-CLXrnTGx.js +2 -0
  391. package/standalone/chunks/radio-2vHhfmHw.js +6 -0
  392. package/standalone/chunks/random-id-CeLe5NEk.js +2 -0
  393. package/standalone/chunks/repeat-CZdNcszA.js +2 -0
  394. package/standalone/chunks/rolldown-runtime-DWK5is8u.js +2 -0
  395. package/standalone/chunks/roving-tabindex-CB4xC55P.js +2 -0
  396. package/standalone/chunks/scaled-indicator-k-1JmS0b.js +10 -0
  397. package/standalone/chunks/segments-factory-Ch3AAizU.js +2 -0
  398. package/standalone/chunks/skeleton-loader-BxYcRRJr.js +2 -0
  399. package/standalone/chunks/slottable-request-event-D9FhiqH1.js +2 -0
  400. package/standalone/chunks/strategies-kad_0dTB.js +2 -0
  401. package/standalone/chunks/streaming-listener-DFczLm8I.js +2 -0
  402. package/standalone/chunks/style-map-D4QeV3m0.js +2 -0
  403. package/standalone/chunks/swatch-m_4GcO2_.js +33 -0
  404. package/standalone/chunks/text-field-BnZtyodU.js +5 -0
  405. package/standalone/chunks/text-field-BrlDeJsx.js +65 -0
  406. package/standalone/chunks/text-field.module-ClDE7laI.js +2 -0
  407. package/standalone/chunks/tooltip-DB6jRVyB.js +29 -0
  408. package/standalone/chunks/unsafe-html-BPQaWy0v.js +2 -0
  409. package/standalone/chunks/voice-recorder--d34tYNu.js +2 -0
  410. package/standalone/chunks/when-BWvpqCBs.js +2 -0
  411. package/standalone/clear-button.js +20 -0
  412. package/standalone/close-button.js +20 -0
  413. package/standalone/color-area.js +20 -0
  414. package/standalone/color-field.js +20 -0
  415. package/standalone/color-handle.js +20 -0
  416. package/standalone/color-loupe.js +20 -0
  417. package/standalone/color-menu.js +20 -0
  418. package/standalone/color-palette-group.js +30 -0
  419. package/standalone/color-palette.js +20 -0
  420. package/standalone/color-picker.js +50 -0
  421. package/standalone/color-slider.js +20 -0
  422. package/standalone/date-range-picker.js +182 -0
  423. package/standalone/date-time-picker.js +107 -0
  424. package/standalone/divider.js +20 -0
  425. package/standalone/field-group.js +20 -0
  426. package/standalone/field-label.js +20 -0
  427. package/standalone/icon.js +20 -0
  428. package/standalone/infield-button.js +20 -0
  429. package/standalone/label.js +20 -0
  430. package/standalone/lit.js +20 -0
  431. package/standalone/manifest.json +152 -0
  432. package/standalone/menu.js +20 -0
  433. package/standalone/multi-language-field.js +42 -0
  434. package/standalone/notice.js +62 -0
  435. package/standalone/number-field.js +20 -0
  436. package/standalone/options.js +20 -0
  437. package/standalone/overlay.js +20 -0
  438. package/standalone/picker-button.js +20 -0
  439. package/standalone/picker.js +20 -0
  440. package/standalone/popover.js +20 -0
  441. package/standalone/progress-bar.js +36 -0
  442. package/standalone/progress-circle.js +20 -0
  443. package/standalone/progress-steps.js +100 -0
  444. package/standalone/prompt-box.js +316 -0
  445. package/standalone/question-box.js +403 -0
  446. package/standalone/radio.js +20 -0
  447. package/standalone/search.js +49 -0
  448. package/standalone/select.js +160 -0
  449. package/standalone/skeleton-loader.js +20 -0
  450. package/standalone/slider.js +137 -0
  451. package/standalone/split-view.js +45 -0
  452. package/standalone/status-light.js +23 -0
  453. package/standalone/swatch.js +20 -0
  454. package/standalone/switch.js +24 -0
  455. package/standalone/tabs.js +78 -0
  456. package/standalone/tags.js +49 -0
  457. package/standalone/text-field.js +20 -0
  458. package/standalone/toast.js +53 -0
  459. package/standalone/tokens.css +1 -0
  460. package/standalone/tokens.js +20 -0
  461. package/standalone/tooltip.js +20 -0
  462. package/standalone/top-nav.js +43 -0
  463. package/standalone/utils.js +20 -0
  464. package/styles/tokens.d.ts +1 -0
  465. package/utils/reactive-controllers/pending-state.d.ts +1 -1
  466. package/components/action-bar-CXT4lT30.cjs +0 -39
  467. package/components/action-button-BKnzGQR6.cjs +0 -22
  468. package/components/action-group-D1G30Iir.cjs +0 -20
  469. package/components/avatar-Cu9c0sCS.cjs +0 -34
  470. package/components/badge-XJP3sZhB.cjs +0 -23
  471. package/components/button-group-6M8M-TUI.cjs +0 -18
  472. package/components/button-l0fRopSN.cjs +0 -20
  473. package/components/calendar-DZkKMs2L.cjs +0 -138
  474. package/components/chat-message-group-CzCwyW7F.cjs +0 -24
  475. package/components/chat-message-t4a0r3R6.cjs +0 -148
  476. package/components/checkbox-DdatW4xE.cjs +0 -25
  477. package/components/color-area-B_pRu9Vf.cjs +0 -80
  478. package/components/color-handle-DIoVrLRF.cjs +0 -24
  479. package/components/color-loupe-sY1wOisV.cjs +0 -56
  480. package/components/color-menu-CdETqhbP.cjs +0 -89
  481. package/components/color-palette-CidHsmE0.cjs +0 -18
  482. package/components/color-palette-group-B4r4tPfY.cjs +0 -28
  483. package/components/color-slider-DLEM1nGA.cjs +0 -57
  484. package/components/date-range-picker-9ioTuDZq.cjs +0 -180
  485. package/components/date-time-picker-DRjQTyGS.cjs +0 -105
  486. package/components/divider-wana0uPI.cjs +0 -18
  487. package/components/field-label-C5vdJ1ys.cjs +0 -25
  488. package/components/icon-CSqR-OOO.cjs +0 -18
  489. package/components/notice-xgrLOiC0.cjs +0 -60
  490. package/components/number-field-04RFqrUa.cjs +0 -57
  491. package/components/overlay-B-gaxspw.cjs +0 -47
  492. package/components/overlay-CPZvL0Ic.cjs +0 -73
  493. package/components/overlay-DdIs4w5M.js +0 -227
  494. package/components/picker-D225VAbx.cjs +0 -124
  495. package/components/picker-button-BR7oM7_M.cjs +0 -37
  496. package/components/popover-DWWYpY-k.cjs +0 -30
  497. package/components/progress-bar-C7wJ5bxS.cjs +0 -34
  498. package/components/progress-circle-DyApSKdm.cjs +0 -33
  499. package/components/progress-steps-Ba4VbAKR.cjs +0 -96
  500. package/components/progress-steps-nJ8Xw-nG.js +0 -262
  501. package/components/radio-O3a1rmCe.cjs +0 -22
  502. package/components/search-BhMhfCBh.cjs +0 -47
  503. package/components/select-D5fQgPPj.cjs +0 -158
  504. package/components/skeleton-loader-Cm50Ztzk.cjs +0 -18
  505. package/components/split-view-5uMSU_b7.cjs +0 -43
  506. package/components/status-light-BYBYorYy.cjs +0 -21
  507. package/components/switch-B-gu-War.cjs +0 -22
  508. package/components/tags-B28zWEic.cjs +0 -47
  509. package/components/text-field-wJK2bzMT.cjs +0 -21
  510. package/components/toast-COQ7Xl5T.cjs +0 -51
  511. package/components/tooltip-Sm0pruxL.cjs +0 -45
  512. package/components/top-nav-BcZLCBP_.cjs +0 -41
@@ -0,0 +1,100 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{c as r,l as i,u as a,v as o,y as s}from"./chunks/lucero-runtime-DGJ9-isg.js";import{C as c,L as l,i as u,o as d,u as f}from"./chunks/luzmo-icons-CJa-aByT.js";import{r as p,t as m}from"./chunks/language-resolution-BWHk9A73.js";import{t as h}from"./chunks/class-map-CxQ0PcQP.js";import{t as g}from"./chunks/repeat-CZdNcszA.js";import{t as _}from"./chunks/keyed-CNWmQd2J.js";function v(e){for(let t=(e?.length??0)-1;t>=0;t--)if(e[t].status===`inProgress`)return e[t];return null}function y(e){let t=v(e.children);return t?y(t)??t:null}function b(e,t){return typeof e==`object`?e[t]??e.en??Object.values(e)[0]??``:String(e)}function x(e){return!!e?.children?.length}function S(e){let t=v(e?.children);return t?{mainStep:t,subStep:y(t)}:null}function C(e){let t=0;for(let n of e?.children??[])t+=+(n.status===`error`)+C(n);return t}function w(e){return!!e?.children?.some(e=>e.status===`success`||e.status===`error`)}function T(e){return e?.status===`success`||e?.status===`error`}function E(e,t){return e.description?e.description.replaceAll(/\{\{(\w+)\}\}/g,(n,r)=>{let i=e.descriptionMetadata?.[r];return i==null?n:Array.isArray(i)?i.map(e=>b(e,t)).join(`, `):b(i,t)}):e.step}var D=`:host{box-sizing:border-box;font-family:var(--luzmo-font-family);font-size:var(--luzmo-progress-steps-font-size,var(--progress-steps-font-size));line-height:var(--progress-steps-line-height);color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));display:block}.summary{box-sizing:border-box;align-items:center;gap:var(--progress-steps-gap);max-inline-size:100%;min-block-size:var(--progress-steps-min-height);padding-block:0;padding-inline:var(--progress-steps-padding-inline);border-radius:var(--progress-steps-border-radius);color:inherit;font:inherit;text-align:start;cursor:pointer;appearance:none;background:0 0;border:0;margin:0;display:inline-flex}.summary:hover{background-color:var(--progress-steps-hover-background)}.summary:focus-visible{outline:var(--progress-steps-focus-ring-width) solid var(--highcontrast-progress-steps-focus-ring-color,var(--progress-steps-focus-ring-color));outline-offset:var(--progress-steps-focus-ring-gap)}.status-icon{inline-size:var(--progress-steps-icon-size);block-size:var(--progress-steps-icon-size);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;inset-block-start:var(--progress-steps-icon-offset)}.status-icon svg{block-size:100%;inline-size:100%}.status-icon-failed{color:var(--luzmo-progress-steps-warning-color,var(--progress-steps-warning-color))}.spinner{box-sizing:border-box;border:calc(var(--luzmo-border-width) * 1.5) solid var(--highcontrast-progress-steps-spinner-track-color,var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)));border-block-start-color:var(--highcontrast-progress-steps-spinner-color,currentcolor);block-size:70%;inline-size:70%;animation:progress-steps-spin var(--progress-steps-spinner-duration) linear infinite;border-radius:50%}.headline{flex:0 auto;min-inline-size:0;display:block;position:relative;overflow:hidden}.headline-text{white-space:nowrap;min-inline-size:0;display:flex}.headline-text.entering{animation:progress-steps-enter var(--progress-steps-transition-duration) ease-out}.headline-text.leaving{inline-size:100%;animation:progress-steps-leave var(--progress-steps-transition-duration) ease-in forwards;position:absolute;inset-block-start:0;inset-inline-start:0}.main-step{text-overflow:ellipsis;min-inline-size:0;color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));flex:0 auto;overflow:hidden}.main-step:not(:last-child){max-inline-size:var(--progress-steps-main-step-max-width);flex-shrink:0}.sub-step{flex:0 auto;min-inline-size:0;display:flex}.sub-step-texts{min-inline-size:0;display:block;position:relative;overflow:hidden}.sub-step-text{text-overflow:ellipsis;display:block;overflow:hidden}.sub-step-text.entering{animation:progress-steps-enter var(--progress-steps-transition-duration) ease-out}.sub-step-text.leaving{animation:progress-steps-leave var(--progress-steps-transition-duration) ease-in forwards;position:absolute;inset-block-start:0;inset-inline-start:0}.summary[data-state=done] .main-step{color:inherit}.summary:hover .main-step{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.sub-step:before,.failed-count:before{content:"·"/"";flex:none;padding-inline:.35em}.failed-count:before{padding-inline-start:0}.failed-count{white-space:nowrap;flex:none}.shimmer{-webkit-mask-image:linear-gradient(to right, currentcolor 35%, color-mix(in srgb, currentcolor 35%, transparent) 50%, currentcolor 65%);mask-image:linear-gradient(to right, currentcolor 35%, color-mix(in srgb, currentcolor 35%, transparent) 50%, currentcolor 65%);animation:progress-steps-shimmer var(--progress-steps-shimmer-duration) linear infinite;-webkit-mask-size:300% 100%;mask-size:300% 100%}.chevron{inline-size:calc(var(--progress-steps-icon-size) * .8);block-size:calc(var(--progress-steps-icon-size) * .8);transition:transform var(--progress-steps-transition-duration) ease;flex:none;display:inline-flex}.chevron svg{block-size:100%;inline-size:100%}:host([open]) .chevron{transform:rotate(90deg)}:host([dir=rtl]) .chevron svg{transform:scaleX(-1)}:host([dir=rtl][open]) .chevron{transform:rotate(-90deg)}:host([dir=rtl]) .shimmer{animation-direction:reverse}.details{padding-block:var(--progress-steps-step-spacing);padding-inline:var(--progress-steps-padding-inline);font-size:var(--luzmo-progress-steps-font-size-small,var(--progress-steps-font-size-small));line-height:var(--progress-steps-details-line-height);animation:progress-steps-details-in var(--progress-steps-transition-duration) ease-out}.steps,.substeps{margin:0;padding:0;list-style:none}.step{grid-template-columns:var(--progress-steps-icon-size) minmax(0, 1fr);column-gap:var(--progress-steps-gap);padding-block:var(--progress-steps-step-spacing);display:grid;position:relative}.step:before,.step:after{content:"";border-inline-start:var(--luzmo-border-width) solid var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));position:absolute;inset-inline-start:calc(var(--progress-steps-icon-size) / 2 - var(--luzmo-border-width) / 2)}.step:before{block-size:calc(var(--progress-steps-marker-center) - var(--progress-steps-marker-radius));inset-block-start:0}.step:after{inset-block:calc(var(--progress-steps-marker-center) + var(--progress-steps-marker-radius)) 0}.step:first-child:before{display:none}.step:last-child:not(:has(>.substeps)):after{display:none}.step-marker{block-size:calc(1em * var(--progress-steps-details-line-height));color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));justify-content:center;align-items:center;display:inline-flex}.step-marker svg{inline-size:var(--progress-steps-marker-size);block-size:var(--progress-steps-marker-size)}.step-dot{box-sizing:border-box;inline-size:var(--progress-steps-dot-size);block-size:var(--progress-steps-dot-size);border:calc(var(--progress-steps-dot-size) / 2) solid currentcolor;border-radius:50%}.step-inProgress .step-marker{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.step-inProgress .step-marker .step-dot{animation:1.2s ease-in-out infinite progress-steps-pulse}.step-pending .step-dot{border-width:var(--luzmo-border-width)}.step-error .step-marker{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.step-label{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));overflow-wrap:anywhere}.step>.substeps{grid-column:2}.substep>.substeps{padding-inline-start:var(--progress-steps-substep-indent)}.substep{padding-block:calc(var(--progress-steps-step-spacing) / 2);overflow-wrap:anywhere}.substep-inProgress{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.substep-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.substep-icon{vertical-align:-.1em;block-size:.85em;inline-size:.85em;margin-inline-end:.3em;display:inline-flex}.substep-icon svg{block-size:100%;inline-size:100%}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:host([no-animate]) .headline-text,:host([no-animate]) .sub-step-text,:host([no-animate]) .details,:host([no-animate]) .chevron,:host([no-animate]) .spinner,:host([no-animate]) .step-dot{transition:none;animation:none}:host([no-animate]) .leaving{display:none}@keyframes progress-steps-shimmer{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes progress-steps-enter{0%{opacity:0;transform:translateY(60%)}}@keyframes progress-steps-leave{to{opacity:0;transform:translateY(-60%)}}@keyframes progress-steps-details-in{0%{opacity:0;transform:translateY(calc(-1 * var(--luzmo-spacing-2)))}}@keyframes progress-steps-spin{to{transform:rotate(360deg)}}@keyframes progress-steps-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.shimmer,.headline-text,.sub-step-text,.details,.chevron,.spinner,.step-dot{transition:none;animation:none}.leaving{display:none}}@media (forced-colors:active){.shimmer{animation:none;-webkit-mask-image:none;mask-image:none}.spinner{forced-color-adjust:none}}:host{--progress-steps-font-size:var(--luzmo-font-size);--progress-steps-line-height:1.5;--progress-steps-font-color:color-mix(in oklch, var(--luzmo-font-color) 65%, var(--luzmo-font-color-extra-dimmed));--progress-steps-font-color-dimmed:color-mix(in oklch, var(--luzmo-font-color) 35%, var(--luzmo-font-color-extra-dimmed));--progress-steps-error-color:var(--luzmo-negative-color);--progress-steps-warning-color:var(--luzmo-notice-color);--progress-steps-substep-connector-color:var(--luzmo-border-color-down);--progress-steps-hover-background:var(--luzmo-background-color-hover);--progress-steps-border-radius:var(--luzmo-border-radius);--progress-steps-focus-ring-width:var(--luzmo-indicator-width);--progress-steps-focus-ring-gap:var(--luzmo-indicator-gap);--progress-steps-focus-ring-color:var(--luzmo-indicator-color);--progress-steps-min-height:var(--luzmo-component-height-xs);--progress-steps-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-padding-inline:var(--luzmo-spacing-2);--progress-steps-step-spacing:var(--luzmo-spacing-1);--progress-steps-icon-size:var(--luzmo-icon-size-m);--progress-steps-icon-offset:.04em;--progress-steps-main-step-max-width:65%;--progress-steps-font-size-small:.93em;--progress-steps-details-line-height:1.4;--progress-steps-marker-size:.8em;--progress-steps-dot-size:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-substep-indent:var(--luzmo-spacing-4);--progress-steps-transition-duration:.25s;--progress-steps-shimmer-duration:1.8s;--progress-steps-spinner-duration:.9s}:host([size=s]){--progress-steps-font-size:var(--luzmo-font-size-s);--progress-steps-icon-size:var(--luzmo-icon-size-s);--progress-steps-gap:var(--luzmo-spacing-2)}:host([size=l]){--progress-steps-font-size:var(--luzmo-font-size-l);--progress-steps-icon-size:var(--luzmo-icon-size-l);--progress-steps-min-height:var(--luzmo-component-height-s);--progress-steps-step-spacing:var(--luzmo-spacing-2)}:host([size=xl]){--progress-steps-font-size:var(--luzmo-font-size-xl);--progress-steps-icon-size:var(--luzmo-icon-size-xl);--progress-steps-min-height:var(--luzmo-component-height-s);--progress-steps-gap:var(--luzmo-spacing-3);--progress-steps-step-spacing:var(--luzmo-spacing-2)}.step{--progress-steps-marker-center:calc(var(--progress-steps-step-spacing) + .5em * var(--progress-steps-details-line-height));--progress-steps-marker-radius:calc(var(--progress-steps-dot-size) / 2)}.step-error{--progress-steps-marker-radius:calc(var(--progress-steps-marker-size) / 2)}@media (forced-colors:active){:host{--highcontrast-progress-steps-focus-ring-color:Highlight;--highcontrast-progress-steps-spinner-track-color:GrayText;--highcontrast-progress-steps-spinner-color:CanvasText}}`,O={condensedSingular:`Worked through {{count}} step`,condensedPlural:`Worked through {{count}} steps`,failedSingular:`{{count}} failed`,failedPlural:`{{count}} failed`,stepInProgress:`Step in progress`,stepPending:`Step pending`,stepCompleted:`Step completed`,stepFailed:`Step failed`},k=500,A=800,j=1e3,M=250,N={mainStep:null,subStep:null},P=(e,t)=>e?.mainStep===t.mainStep&&e?.subStep===t.subStep,F=class extends r(a,{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.open=!1,this._phase=`idle`,this._current=null,this._leaving=null,this._subStepTransition=null,this._announcement=``,this._languageResolver=new m(this),this._pending=null,this._shownAt=0}static get styles(){let e=super.styles;return[...Array.isArray(e)?e:e?[e]:[],n(D)]}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this._syncPhase()}disconnectedCallback(){super.disconnectedCallback(),this._clearTimers(),this._leaving=null,this._subStepTransition=null}willUpdate(e){super.willUpdate(e),e.has(p)&&(this._numberFormatter=void 0),e.has(`progress`)?(e.get(`progress`)?.id!==this.progress?.id&&(this._resetRun(),this.hasUpdated&&(this.open=!1)),this._syncPhase()):(e.has(`collapsed`)&&this.collapsed||e.has(`locale`))&&this._syncPhase()}get _labels(){return{...O,...this.labels}}_syncPhase(){if(!x(this.progress)){this._resetRun();return}let e=T(this.progress)?null:S(this.progress);if(e){this._clearSettleTimer(),this._phase=`running`,this._queue(e);return}if(this._phase===`done`)return;let t=this.collapsed||T(this.progress);if(this._phase===`idle`){(t||w(this.progress))&&this._finish();return}if(t){this._finish();return}this._settleTimer??=setTimeout(()=>{this._settleTimer=void 0,this._finish()},A)}_queue(e){let t={mainStep:E(e.mainStep,this.locale),subStep:e.subStep?E(e.subStep,this.locale):null};if(P(this._current,t)){this._pending=null,this._clearDwellTimer();return}this._pending=t;let n=this._current?this._shownAt+k-Date.now():0;this.noAnimate||n<=0?this._showPending():this._dwellTimer??=setTimeout(()=>{this._dwellTimer=void 0,this._showPending()},n)}_showPending(){let e=this._pending;this._pending=null,e&&this._phase===`running`&&(this._show(e),this._announce(e.mainStep))}_finish(){let e=this._phase===`running`;this._clearDwellTimer(),this._clearSettleTimer(),this._pending=null,this._phase=`done`,this._show(N),e&&this._announce(this._summaryText())}_show(e){let t=this._current;t&&!this.noAnimate&&(t.mainStep!==null&&t.mainStep===e.mainStep?this._subStepTransition={leaving:t.subStep}:(this._leaving=t,this._subStepTransition=null),clearTimeout(this._leaveTimer),this._leaveTimer=setTimeout(()=>{this._leaving=null,this._subStepTransition=null},M)),this._current=e,this._shownAt=Date.now()}_announce(e){clearTimeout(this._announceTimer),this._announceTimer=setTimeout(()=>{this._announcement=e},j)}_resetRun(){this._clearTimers(),this._phase=`idle`,this._current=null,this._leaving=null,this._subStepTransition=null,this._pending=null,this._announcement=``}_clearDwellTimer(){clearTimeout(this._dwellTimer),this._dwellTimer=void 0}_clearSettleTimer(){clearTimeout(this._settleTimer),this._settleTimer=void 0}_clearTimers(){this._clearDwellTimer(),this._clearSettleTimer(),clearTimeout(this._leaveTimer),clearTimeout(this._announceTimer)}_formatCount(e,t){return e.replaceAll(`{{count}}`,this._numberFormat.format(t))}get _numberFormat(){if(!this._numberFormatter)try{this._numberFormatter=new Intl.NumberFormat(this._languageResolver.language)}catch{this._numberFormatter=new Intl.NumberFormat}return this._numberFormatter}_summaryText(){let e=this.progress?.children?.length??0,t=this._labels;return this._formatCount(e===1?t.condensedSingular:t.condensedPlural,e)}_setOpen(e){this.open=e,this.dispatchEvent(new CustomEvent(e?`luzmo-step-expanded`:`luzmo-step-collapsed`,{bubbles:!0,composed:!0,detail:{nodeId:this.progress?.id??``}}))}handleToggle(){this._setOpen(!this.open)}handleKeydown(e){e.key===`Escape`&&this.open&&(e.preventDefault(),this._setOpen(!1))}_statusLabel(e){let t=this._labels;switch(e){case`inProgress`:return t.stepInProgress;case`success`:return t.stepCompleted;case`error`:return t.stepFailed;default:return t.stepPending}}_renderStatusIcon(t){return t?e`<span
21
+ class="status-icon status-icon-failed"
22
+ aria-hidden="true"
23
+ >${c(d)}</span
24
+ >`:this._phase===`running`?e`<span class="status-icon" aria-hidden="true"
25
+ ><span class="spinner"></span
26
+ ></span>`:e`<span
27
+ class="status-icon status-icon-finished"
28
+ aria-hidden="true"
29
+ >${c(l)}</span
30
+ >`}_renderContent({mainStep:n,subStep:r},i=null){if(n===null)return e`<span class="main-step">${this._summaryText()}</span>`;let a=i?.leaving??null;return r===null&&a===null?e`<span class="main-step">${n}</span>`:e`<span class="main-step">${n}</span>
31
+ <span class="sub-step"
32
+ ><span class="sub-step-texts"
33
+ >${a===null?t:e`<span class="sub-step-text leaving" aria-hidden="true"
34
+ >${a}</span
35
+ >`}${r===null?t:_(r,e`<span
36
+ class=${h({"sub-step-text":!0,entering:i!==null})}
37
+ >${r}</span
38
+ >`)}</span
39
+ ></span
40
+ >`}_renderStepMarker(t){return e`<span
41
+ class="step-marker"
42
+ role="img"
43
+ aria-label=${this._statusLabel(t)}
44
+ >${t===`error`?c(f):e`<span class="step-dot"></span>`}</span
45
+ >`}_renderSubstep(n){return e`<li
46
+ class=${h({substep:!0,[`substep-${n.status}`]:!0})}
47
+ >
48
+ ${n.status===`error`?e`<span
49
+ class="substep-icon"
50
+ role="img"
51
+ aria-label=${this._labels.stepFailed}
52
+ >${c(f)}</span
53
+ >`:t}<span class="substep-label"
54
+ >${E(n,this.locale)}</span
55
+ >
56
+ ${n.children?.length?this._renderSubsteps(n.children):t}
57
+ </li>`}_renderSubsteps(t){return e`<ul class="substeps">
58
+ ${g(t,e=>e.id,e=>this._renderSubstep(e))}
59
+ </ul>`}_renderStep(n,r){return e`<li
60
+ class=${h({step:!0,[`step-${n.status}`]:!0})}
61
+ >
62
+ ${this._renderStepMarker(n.status)}
63
+ <span class="step-label"
64
+ >${E(n,this.locale)}</span
65
+ >
66
+ ${r&&n.children?.length?this._renderSubsteps(n.children):t}
67
+ </li>`}_renderDetails(){let t=this.displayMode!==`compact`;return e`<div id="details" class="details">
68
+ <ol class="steps">
69
+ ${g(this.progress?.children??[],e=>e.id,e=>this._renderStep(e,t))}
70
+ </ol>
71
+ </div>`}render(){if(this._phase===`idle`||!this._current)return t;let n=C(this.progress),r=this._labels,i=this._phase===`running`&&!this.noAnimate;return e`
72
+ <button
73
+ type="button"
74
+ class="summary"
75
+ data-state=${this._phase}
76
+ aria-expanded=${this.open?`true`:`false`}
77
+ aria-controls=${this.open?`details`:t}
78
+ @click=${this.handleToggle}
79
+ @keydown=${this.handleKeydown}
80
+ >
81
+ ${this._renderStatusIcon(n>0||this.progress?.status===`error`)}
82
+ <span class=${h({headline:!0,shimmer:i})}>
83
+ ${this._leaving?e`<span class="headline-text leaving" aria-hidden="true"
84
+ >${this._renderContent(this._leaving)}</span
85
+ >`:t}
86
+ ${_(this._current.mainStep??N,e`<span
87
+ class=${h({"headline-text":!0,entering:this._leaving!==null})}
88
+ >${this._renderContent(this._current,this._subStepTransition)}</span
89
+ >`)}
90
+ </span>
91
+ ${n>0?e`<span class="failed-count"
92
+ >${this._formatCount(n===1?r.failedSingular:r.failedPlural,n)}</span
93
+ >`:t}
94
+ <span class="chevron" aria-hidden="true"
95
+ >${c(u)}</span
96
+ >
97
+ </button>
98
+ ${this.open?this._renderDetails():t}
99
+ <span class="visually-hidden" role="status">${this._announcement}</span>
100
+ `}};i([s({attribute:!1})],F.prototype,`progress`,void 0),i([s({type:String,reflect:!0})],F.prototype,`locale`,void 0),i([s({type:Boolean,reflect:!0})],F.prototype,`collapsed`,void 0),i([s({type:String,attribute:`display-mode`,reflect:!0})],F.prototype,`displayMode`,void 0),i([s({type:Boolean,reflect:!0})],F.prototype,`condensed`,void 0),i([s({attribute:!1})],F.prototype,`labels`,void 0),i([s({type:Boolean,attribute:`no-animate`,reflect:!0})],F.prototype,`noAnimate`,void 0),i([s({type:Boolean,reflect:!0})],F.prototype,`open`,void 0),i([o()],F.prototype,`_phase`,void 0),i([o()],F.prototype,`_current`,void 0),i([o()],F.prototype,`_leaving`,void 0),i([o()],F.prototype,`_subStepTransition`,void 0),i([o()],F.prototype,`_announcement`,void 0),typeof customElements<`u`&&!customElements.get(`luzmo-progress-steps`)&&customElements.define(`luzmo-progress-steps`,F);export{O as DEFAULT_PROGRESS_STEPS_LABELS,F as LuzmoProgressSteps};
@@ -0,0 +1,316 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{c as r,g as i,l as a,u as o,v as s,y as c}from"./chunks/lucero-runtime-DGJ9-isg.js";import{D as l,M as u,N as d,O as f,S as p,c as m,h,r as ee,v as te,w as g,y as _}from"./chunks/luzmo-icons-CJa-aByT.js";import"./chunks/icon-Dy6J1QeX.js";import"./chunks/action-button-BzzPBqt5.js";import{p as v}from"./chunks/overlay-C4ir0iyC.js";import"./chunks/overlay-C_XW8yry.js";import"./chunks/text-field-BnZtyodU.js";import"./chunks/clear-button-pVGfwye8.js";import"./chunks/button-Dykw3TSO.js";import"./chunks/skeleton-loader-BxYcRRJr.js";import{t as y}from"./chunks/voice-recorder--d34tYNu.js";var ne=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())}setAttachmentLoading(e,t){let n=this._attachments.findIndex(t=>t.id===e);if(n===-1)return;let r=this._attachments[n];!!r.loading!==t&&(this._attachments=[...this._attachments.slice(0,n),{...r,loading:t},...this._attachments.slice(n+1)],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}}))}},b=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(!y.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 y.formatDuration(this.duration)}static isSupported(){return y.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new y({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 x(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function S(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function C(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=x(e,i),s=S(o,n,r),c=x(e,a),l=S(c,n,r);return l<s&&(o=c,s=l),{range:o,distSq:s}}function w(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=C(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,l=x(e,o),u=x(e,o+1),d=t<c?l:u,f=n-(r.top+r.height/2),p=t<c?t-r.left:t-r.right,m=p*p+f*f;m<a&&(a=m,i=d)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function T(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=x(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=x(e.offsetNode,e.offset))}else`caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=w(t,n,r,i)),a}function E(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 D(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 O(e){return e===` `||e===`
21
+ `||e===`\xA0`}function re(e){let t=E(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return O(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||O(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||O(t.at(-1)??``)}}return!1}function ie(e,t){let n=E(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 ae(e,t){let n=E(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 k(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(` `);D(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 oe(e,t,n,r){let i=E(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)),D(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(),D(s,n);return}}}var A=`application/x-luzmo-element`,j=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=E(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(A);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?T(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),k(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),k(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return E(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=E(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:`
22
+ `});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=T(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=T(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},M=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=ae(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=ie(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let n=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,n):this.virtualElement=new v(t.x,t.y,n),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)||re(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(`
23
+ `)?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;oe(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);k(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{k(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}}))}},N=!1,P=0;function F(){N=!0}function I(){N=!1}function L(){document.addEventListener(`keydown`,F,!0),document.addEventListener(`mousedown`,I,!0),document.addEventListener(`pointerdown`,I,!0)}function R(){document.removeEventListener(`keydown`,F,!0),document.removeEventListener(`mousedown`,I,!0),document.removeEventListener(`pointerdown`,I,!0)}function z(){P===0&&typeof window<`u`&&L(),P++}function B(){P--,P<=0&&(P=0,R())}function V(){return N}function H(t,n,r){return e`
24
+ <div class="top-actions ${n?``:`empty`}" part="top-actions">
25
+ <slot name="top-actions" @slotchange=${r}></slot>
26
+ </div>
27
+ `}function U(t,n,r){return e`
28
+ <div
29
+ class="bottom-actions ${n?``:`empty`}"
30
+ part="bottom-actions"
31
+ >
32
+ <slot name="bottom-actions" @slotchange=${r}></slot>
33
+ </div>
34
+ `}function W(n,r,i){return e`
35
+ <div
36
+ class="error ${r?``:`empty`}"
37
+ part="error"
38
+ role=${r?`alert`:t}
39
+ >
40
+ <slot name="error" @slotchange=${i}></slot>
41
+ </div>
42
+ `}function G(t){let n=[];for(let r=0;r<5;r++){let i=1-Math.abs(r-2)*.15,a=.3+t.recordingController.audioLevel*.7*i,o=Math.max(.2,Math.min(1,a));n.push(e`
43
+ <span class="waveform-bar" style="--bar-height: ${o}"></span>
44
+ `)}return e`
45
+ <div class="waveform" part="waveform" aria-hidden="true">${n}</div>
46
+ `}function K(t){let n=t.handleRecordButtonSlotChange,r=t.hasRecordButton,i=t.recordingController.isRecording,a=()=>{t.recordingController.cancel()},o=e=>{t.handleRecordClick(e)};return r||!t.recording?e`<slot name="record-button" @slotchange=${n}></slot>`:i?e`
47
+ <slot name="record-button" @slotchange=${n}></slot>
48
+ <div class="recording-ui" part="recording-ui">
49
+ <luzmo-button
50
+ class="cancel-recording-button"
51
+ part="cancel-recording-button"
52
+ .size=${t.size}
53
+ icon-only
54
+ quiet
55
+ ?disabled=${t.disabled}
56
+ @click=${a}
57
+ aria-label="Cancel recording"
58
+ >
59
+ <luzmo-icon slot="icon" .icon=${te}></luzmo-icon>
60
+ </luzmo-button>
61
+ ${G(t)}
62
+ <span class="recording-duration" part="recording-duration">
63
+ ${t.recordingController.formatDuration()}
64
+ </span>
65
+ <luzmo-button
66
+ class="finish-recording-button"
67
+ part="finish-recording-button"
68
+ .size=${t.size}
69
+ icon-only
70
+ variant="primary"
71
+ ?disabled=${t.disabled}
72
+ @click=${o}
73
+ aria-label="Finish recording"
74
+ >
75
+ <luzmo-icon slot="icon" .icon=${m}></luzmo-icon>
76
+ </luzmo-button>
77
+ </div>
78
+ `:e`
79
+ <slot name="record-button" @slotchange=${n}></slot>
80
+ <luzmo-button
81
+ class="record-button"
82
+ part="record-button"
83
+ .size=${t.size}
84
+ icon-only
85
+ quiet
86
+ ?disabled=${t.disabled}
87
+ @click=${o}
88
+ aria-label="Record"
89
+ >
90
+ <luzmo-icon slot="icon" .icon=${ee}></luzmo-icon>
91
+ </luzmo-button>
92
+ `}function q(t){let n=t.handleSubmitButtonSlotChange,r=t.recordingController.isRecording,i=()=>{t.submit()},a=()=>{t.handleStopClick()};if(r||t.hasSubmitButton||t.hideSubmit&&!t.hasSubmitButton)return e`<slot name="submit-button" @slotchange=${n}></slot>`;let o=!!t.value.trim()||t.richInputController.elementCount>0;return t.pending&&t.stoppable?e`
93
+ <slot name="submit-button" @slotchange=${n}></slot>
94
+ <luzmo-button
95
+ class="submit-button stop-button"
96
+ part="submit-button stop-button"
97
+ .size=${t.size}
98
+ icon-only
99
+ variant="primary"
100
+ ?disabled=${t.disabled}
101
+ @click=${a}
102
+ aria-label="Stop"
103
+ label="Stop"
104
+ >
105
+ <luzmo-icon slot="icon" .icon=${h}></luzmo-icon>
106
+ </luzmo-button>
107
+ `:e`
108
+ <slot name="submit-button" @slotchange=${n}></slot>
109
+ <luzmo-button
110
+ class="submit-button"
111
+ part="submit-button"
112
+ .size=${t.size}
113
+ icon-only
114
+ variant="primary"
115
+ ?disabled=${t.disabled||t.disableSubmit||!t.pending&&!o}
116
+ ?pending=${t.pending}
117
+ @click=${i}
118
+ aria-label="Submit"
119
+ label="Submit"
120
+ .label=${`Submit`}
121
+ >
122
+ <luzmo-icon slot="icon" .icon=${d}></luzmo-icon>
123
+ </luzmo-button>
124
+ `}function se(t,n){if(!n)return t;let r=t.toLowerCase().indexOf(n.toLowerCase());return r===-1?t:e`${t.slice(0,r)}<mark class="trigger-option-highlight">${t.slice(r,r+n.length)}</mark>${t.slice(r+n.length)}`}function ce(n,r){return e`
125
+ <div
126
+ class="trigger-option-header"
127
+ part="trigger-option-header"
128
+ role="presentation"
129
+ >
130
+ ${r?.iconTemplate?e`<span class="trigger-option-header-icon">${r.iconTemplate(n)}</span>`:n.icon?e`<luzmo-icon
131
+ class="trigger-option-header-icon"
132
+ .icon=${n.icon}
133
+ size="s"
134
+ ></luzmo-icon>`:t}
135
+ <span class="trigger-option-header-label">${n.label}</span>
136
+ </div>
137
+ `}function le(n,r,i,a,o){let s=()=>{n.selectTriggerOption(r)},c=()=>{n.triggerMenuController.pointerMovedSinceKeyNav&&(n.triggerMenuController.hoveredIndex=i,n.highlightTriggerOption(i))},l=()=>{n.triggerMenuController.hoveredIndex===i&&(n.triggerMenuController.hoveredIndex=-1,n.requestUpdate())},d=i===a,f=i===n.triggerMenuController.hoveredIndex,p=n.triggerMenuController.searchString,m=e`${o?.iconTemplate?e`<span class="trigger-option-icon">${o.iconTemplate(r)}</span>`:r.icon?e`<luzmo-icon
138
+ class="trigger-option-icon"
139
+ .icon=${r.icon}
140
+ size="s"
141
+ ></luzmo-icon>`:t}
142
+ <div class="trigger-option-content">
143
+ <span class="trigger-option-label"
144
+ >${o?.highlightSearch&&p?se(r.label,p):r.label}</span
145
+ >
146
+ ${r.description?e`<span class="trigger-option-description"
147
+ >${r.description}</span
148
+ >`:t}
149
+ </div>`;return e`
150
+ <div
151
+ class="trigger-option ${d?`highlighted`:``} ${f?`hovered`:``} ${r.description?`has-description`:``}"
152
+ part="trigger-option"
153
+ role="option"
154
+ aria-selected=${d}
155
+ @click=${s}
156
+ @pointerenter=${c}
157
+ @pointerleave=${l}
158
+ >
159
+ ${m}
160
+ ${d?e`<luzmo-icon
161
+ class="trigger-option-enter-icon"
162
+ .icon=${u}
163
+ size="s"
164
+ ></luzmo-icon>`:t}
165
+ </div>
166
+ `}function ue(t,n,r,i){let a=[];for(let[e,o]of n.entries())o.header?a.push(ce(o,i)):a.push(le(t,o,e,r,i));return e`
167
+ <div
168
+ class="trigger-options"
169
+ part="trigger-options"
170
+ role="listbox"
171
+ @pointermove=${t.triggerMenuController.handlePointerMove}
172
+ >
173
+ ${a}
174
+ </div>
175
+ `}function J(t){return e`<slot name=${t} style="display: none;"></slot>`}function de(n){let r=n.triggerMenuController;if(!r.hasTriggers){let t=[];for(let e of r.allSlotNames)t.push(J(e));return e`${t}`}let i=r.activeConfig,a=i?.slotName??null,o=r.filteredOptions.length>0,s=r.activeTrigger!==null,c=[];for(let e of r.allSlotNames)e!==a&&c.push(J(e));return e`
176
+ <luzmo-overlay
177
+ part="trigger-menu-overlay"
178
+ type="manual"
179
+ placement="bottom-start"
180
+ receives-focus="auto"
181
+ .triggerElement=${r.virtualElement}
182
+ .open=${s}
183
+ @luzmo-closed=${r.handleOverlayClosed}
184
+ @keydown=${r.handleOverlayKeydown}
185
+ >
186
+ ${s&&a?e`<slot name=${a}></slot>`:t}
187
+ ${s&&o?ue(n,r.filteredOptions,r.highlightedIndex,i):t}
188
+ </luzmo-overlay>
189
+ ${c}
190
+ `}function fe(t){let n=!t.readonly&&!t.pending&&!t.disabled,r=t.richInputController;return e`
191
+ <div
192
+ class="rich-input"
193
+ part="rich-input"
194
+ contenteditable=${n?`true`:`false`}
195
+ role="textbox"
196
+ aria-multiline="true"
197
+ aria-label=${t.placeholder||`Enter your message`}
198
+ data-placeholder=${t.placeholder}
199
+ @input=${t.handleRichInputEvent}
200
+ @keydown=${t.handleRichKeydown}
201
+ @paste=${r.handleRichPaste}
202
+ @dragover=${r.handleRichDragOver}
203
+ @dragleave=${r.handleRichDragLeave}
204
+ @drop=${r.handleRichDrop}
205
+ @focusin=${t.handleInputFocusIn}
206
+ @focusout=${t.handleInputFocusOut}
207
+ ></div>
208
+ `}function pe(t){return t.allowElements?fe(t):e`
209
+ <luzmo-text-field
210
+ class="input-field"
211
+ part="input"
212
+ placeholder=${t.placeholder}
213
+ .value=${t.value}
214
+ .size=${t.size}
215
+ rows=${t.rows}
216
+ ?grows=${t.grows}
217
+ max-rows=${t.maxRows}
218
+ ?readonly=${t.readonly||t.pending||t.disabled}
219
+ maxlength=${t.maxlength>0?t.maxlength:-1}
220
+ multiline
221
+ quiet
222
+ label=${t.placeholder||`Enter your message`}
223
+ @input=${t.handleInput}
224
+ @keydown=${t.handleKeydown}
225
+ @focusin=${t.handleInputFocusIn}
226
+ @focusout=${t.handleInputFocusOut}
227
+ hide-validation-icons
228
+ ></luzmo-text-field>
229
+ `}var Y={pdf:_,csv:p,xls:g,xlsx:g,mp4:l,mov:l,webm:l,avi:l,mkv:l},me=new Set([`__proto__`,`constructor`,`prototype`]);function X(e){return e.trim().toLowerCase().replace(/^\./,``)}function he(e){let t=e.lastIndexOf(`.`);if(!(t<=0||t===e.length-1))return X(e.slice(t+1))}function ge(e){if(!e||Object.keys(e).length===0)return Y;let t={...Y};for(let[n,r]of Object.entries(e)){let e=X(n);!e||me.has(e)||(t[e]=r)}return t}function _e(e,t){let n=he(e.name);return n?t[n]??f:f}function ve(n,r){return e`
230
+ <div
231
+ class="image-attachment"
232
+ part="image-attachment"
233
+ title=${r.file.name}
234
+ aria-busy=${r.loading?`true`:t}
235
+ >
236
+ ${r.loading?e`
237
+ <luzmo-skeleton-loader
238
+ class="attachment-skeleton"
239
+ part="attachment-skeleton"
240
+ ></luzmo-skeleton-loader>
241
+ `:e`
242
+ <img
243
+ src=${r.previewUrl||``}
244
+ alt=${r.file.name}
245
+ class="image-preview"
246
+ />
247
+ `}
248
+ <luzmo-clear-button
249
+ class="attachment-remove"
250
+ .size=${n.size}
251
+ ?disabled=${n.disabled||n.pending}
252
+ label=${n.removeAttachmentLabel(r.file.name)}
253
+ data-attachment-id=${r.id}
254
+ @click=${n.handleAttachmentRemoveClick}
255
+ ></luzmo-clear-button>
256
+ </div>
257
+ `}function ye(n,r,i){return e`
258
+ <div
259
+ class="file-attachment"
260
+ part="file-attachment"
261
+ title=${r.file.name}
262
+ aria-busy=${r.loading?`true`:t}
263
+ >
264
+ ${r.loading?e`
265
+ <luzmo-skeleton-loader
266
+ class="attachment-skeleton"
267
+ part="attachment-skeleton"
268
+ ></luzmo-skeleton-loader>
269
+ `:e`
270
+ <luzmo-icon
271
+ class="file-attachment-icon"
272
+ .icon=${_e(r.file,i)}
273
+ ></luzmo-icon>
274
+ `}
275
+ <luzmo-clear-button
276
+ class="attachment-remove"
277
+ .size=${n.size}
278
+ ?disabled=${n.disabled||n.pending}
279
+ label=${n.removeAttachmentLabel(r.file.name)}
280
+ data-attachment-id=${r.id}
281
+ @click=${n.handleAttachmentRemoveClick}
282
+ ></luzmo-clear-button>
283
+ </div>
284
+ `}function be(n){let r=n.attachmentsController;if(!r.hasAttachments)return t;let i=ge(n.fileIcons),a=r.imageAttachments,o=r.fileAttachments,s=[];for(let e of a)s.push(ve(n,e));for(let e of o)s.push(ye(n,e,i));return e`
285
+ <div class="attachments" part="attachments">${s}</div>
286
+ `}function xe(n){return!n.allowImages&&!n.allowFiles?t:e`
287
+ <input
288
+ type="file"
289
+ class="hidden-file-input"
290
+ accept=${n.attachmentsController.getAcceptAttribute()}
291
+ multiple
292
+ @change=${e=>{let t=e.target;t.files?.length&&n.attachmentsController.addFiles([...t.files]),t.value=``}}
293
+ aria-hidden="true"
294
+ tabindex="-1"
295
+ />
296
+ `}var Z=`luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field`;function Q(e){let t=[];return e.matches(Z)&&t.push(e),t.push(...e.querySelectorAll(Z)),t}function Se(e,t,n){if(!e)return;let r=e.querySelector(`slot[name="submit-button"]`);for(let e of r?.assignedElements()??[])for(let r of Q(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 Q(e))t||n?(r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`disabled`),r.removeAttribute(`readonly`))}}function Ce(e){let t=[],n=new Set([`luzmo-switch`,`luzmo-checkbox`,`luzmo-radio`]);for(let r of e)for(let e of Q(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 we=`: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{align-items:center;gap:var(--luzmo-prompt-box-attachments-gap,var(--prompt-box-attachments-gap,8px));flex-flow:row;display:flex;overflow:auto hidden}.attachments::-webkit-scrollbar{width:var(--luzmo-prompt-box-scrollbar-width,var(--prompt-box-scrollbar-width));height:var(--luzmo-prompt-box-scrollbar-width,var(--prompt-box-scrollbar-width))}.attachments::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-scrollbar-track-background,var(--prompt-box-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-scrollbar-track-border-radius,var(--prompt-box-scrollbar-track-border-radius))}.attachments::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-scrollbar-thumb-background,var(--prompt-box-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-scrollbar-thumb-border-radius,var(--prompt-box-scrollbar-thumb-border-radius))}.attachments::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-scrollbar-thumb-hover-background,var(--prompt-box-scrollbar-thumb-hover-background))}.attachments{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-scrollbar-thumb-background,var(--prompt-box-scrollbar-thumb-background)) var(--luzmo-prompt-box-scrollbar-track-background,var(--prompt-box-scrollbar-track-background))}.image-attachment,.file-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));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.file-attachment-icon{--luzmo-icon-size:var(--luzmo-prompt-box-file-icon-size,var(--prompt-box-file-icon-size,28px));color:var(--luzmo-prompt-box-file-icon-color,var(--prompt-box-file-icon-color,var(--luzmo-font-color-extra-dimmed)))}.attachment-skeleton{--luzmo-skeleton-loader-border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));block-size:100%;inline-size: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))}.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}.error{color:var(--luzmo-prompt-box-error-color,var(--prompt-box-error-color,var(--luzmo-negative-color)));font-size:var(--luzmo-prompt-box-error-font-size,var(--prompt-box-error-font-size,var(--luzmo-font-size-s)));line-height:var(--luzmo-prompt-box-error-line-height,var(--prompt-box-error-line-height,1.4))}.error.empty{display:none}::slotted([slot=error]){color:inherit;font-size:inherit;line-height:inherit}.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}.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));flex:1;overflow-y:auto}.rich-input::-webkit-scrollbar{width:var(--luzmo-prompt-box-scrollbar-width,var(--prompt-box-scrollbar-width));height:var(--luzmo-prompt-box-scrollbar-width,var(--prompt-box-scrollbar-width))}.rich-input::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-scrollbar-track-background,var(--prompt-box-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-scrollbar-track-border-radius,var(--prompt-box-scrollbar-track-border-radius))}.rich-input::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-scrollbar-thumb-background,var(--prompt-box-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-scrollbar-thumb-border-radius,var(--prompt-box-scrollbar-thumb-border-radius))}.rich-input::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-scrollbar-thumb-hover-background,var(--prompt-box-scrollbar-thumb-hover-background))}.rich-input{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-scrollbar-thumb-background,var(--prompt-box-scrollbar-thumb-background)) var(--luzmo-prompt-box-scrollbar-track-background,var(--prompt-box-scrollbar-track-background));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}.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-flow:wrap}: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:auto hidden}:host([single-line]) .image-attachment,:host([single-line]) .file-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-attachment-icon{--luzmo-icon-size:var(--luzmo-prompt-box-single-line-file-icon-size,var(--prompt-box-single-line-file-icon-size,14px))}: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}:host([single-line]) .error:not(.empty){flex-basis:100%;order:1;inline-size:100%}::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-scrollbar-width,var(--prompt-box-scrollbar-width));height:var(--luzmo-prompt-box-scrollbar-width,var(--prompt-box-scrollbar-width))}.trigger-options::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-scrollbar-track-background,var(--prompt-box-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-scrollbar-track-border-radius,var(--prompt-box-scrollbar-track-border-radius))}.trigger-options::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-scrollbar-thumb-background,var(--prompt-box-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-scrollbar-thumb-border-radius,var(--prompt-box-scrollbar-thumb-border-radius))}.trigger-options::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-scrollbar-thumb-hover-background,var(--prompt-box-scrollbar-thumb-hover-background))}.trigger-options{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-scrollbar-thumb-background,var(--prompt-box-scrollbar-thumb-background)) var(--luzmo-prompt-box-scrollbar-track-background,var(--prompt-box-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,var(--luzmo-shadow-color)))}.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));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 var(--luzmo-shadow-color);--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-error-color:var(--luzmo-negative-color);--prompt-box-error-font-size:var(--luzmo-font-size-s);--prompt-box-error-line-height:1.4;--prompt-box-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-file-icon-size:var(--luzmo-icon-size-xl);--prompt-box-file-icon-color:var(--luzmo-font-color-extra-dimmed);--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-scrollbar-width:var(--luzmo-scrollbar-size);--prompt-box-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--prompt-box-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--prompt-box-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--prompt-box-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--prompt-box-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--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:var(--luzmo-shadow-color);--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-single-line-file-icon-size:var(--luzmo-icon-size-s);--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: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-file-icon-size:var(--luzmo-icon-size-m);--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: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-file-icon-size:var(--luzmo-icon-size-l);--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: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-file-icon-size:var(--luzmo-icon-size-xxl);--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-3);--prompt-box-max-height:300px;--prompt-box-image-preview-size:96px;--prompt-box-file-icon-size:var(--luzmo-icon-size-xxl);--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 r(o,{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.fileIcons={},this.removeAttachmentLabel=e=>`Remove ${e}`,this.allowElements=!1,this.acceptedElementTypes=[],this._hasTopActions=!1,this._hasBottomActions=!1,this._hasError=!1,this._hasRecordButton=!1,this._hasSubmitButton=!1,this._inputFocused=!1,this._attachments=new ne(this),this._recording=new b(this),this._richInput=new j(this),this._triggerMenu=new M(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.handleAttachmentRemoveClick=e=>{let t=e.currentTarget.dataset.attachmentId;t&&this._attachments.removeAttachment(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=()=>{V()&&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),this._handleErrorSlotChange=this._slotPresenceHandler(e=>this._hasError=e)}static get styles(){return[n(we)]}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 segments(){return this._richInput.getSegments()}set segments(e){this._richInput.setSegments(e)}connectedCallback(){super.connectedCallback(),z(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),this.addEventListener(`paste`,this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),B(),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`))&&Se(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)}setAttachmentLoading(e,t){this._attachments.setAttachmentLoading(e,t)}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=Ce([...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 e`
297
+ ${xe(this)}
298
+ <div
299
+ class="container ${this._inputFocused?`input-focused`:``} ${this._richInput?.isDragOver?`drag-over`:``}"
300
+ part="container"
301
+ >
302
+ ${H(this,this._hasTopActions,this._handleTopActionsSlotChange)}
303
+ <div class="input-wrapper" part="input-wrapper">
304
+ ${pe(this)}
305
+ </div>
306
+ ${be(this)}
307
+ ${W(this,this._hasError,this._handleErrorSlotChange)}
308
+ <div class="actions-row" part="actions-row">
309
+ ${U(this,this._hasBottomActions,this._handleBottomActionsSlotChange)}
310
+ <div class="button-group" part="button-group">
311
+ ${K(this)} ${q(this)}
312
+ </div>
313
+ </div>
314
+ </div>
315
+ ${de(this)}
316
+ `}};a([c({type:Number})],$.prototype,`rows`,void 0),a([c({type:Boolean,reflect:!0})],$.prototype,`grows`,void 0),a([c({type:Number,attribute:`max-rows`})],$.prototype,`maxRows`,void 0),a([c({type:Boolean,reflect:!0})],$.prototype,`recording`,void 0),a([c({type:Boolean,reflect:!0,attribute:`hide-submit`})],$.prototype,`hideSubmit`,void 0),a([c({type:Boolean,reflect:!0,attribute:`disable-submit`})],$.prototype,`disableSubmit`,void 0),a([c({type:Boolean,reflect:!0,attribute:`single-line`})],$.prototype,`singleLine`,void 0),a([c({type:String})],$.prototype,`placeholder`,void 0),a([c({type:String})],$.prototype,`value`,void 0),a([c({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),a([c({type:Boolean,reflect:!0})],$.prototype,`readonly`,void 0),a([c({type:Number})],$.prototype,`maxlength`,void 0),a([c({type:Boolean,reflect:!0})],$.prototype,`pending`,void 0),a([c({type:Boolean,reflect:!0})],$.prototype,`stoppable`,void 0),a([c({type:Boolean,reflect:!0,attribute:`allow-images`})],$.prototype,`allowImages`,void 0),a([c({type:Boolean,reflect:!0,attribute:`allow-files`})],$.prototype,`allowFiles`,void 0),a([c({type:Array,attribute:`accepted-file-types`})],$.prototype,`acceptedFileTypes`,void 0),a([c({attribute:!1})],$.prototype,`fileIcons`,void 0),a([c({attribute:!1})],$.prototype,`removeAttachmentLabel`,void 0),a([c({type:Boolean,reflect:!0,attribute:`allow-elements`})],$.prototype,`allowElements`,void 0),a([c({type:Array,attribute:`accepted-element-types`})],$.prototype,`acceptedElementTypes`,void 0),a([c({type:Array})],$.prototype,`triggers`,null),a([s()],$.prototype,`_hasTopActions`,void 0),a([s()],$.prototype,`_hasBottomActions`,void 0),a([s()],$.prototype,`_hasError`,void 0),a([s()],$.prototype,`_hasRecordButton`,void 0),a([s()],$.prototype,`_hasSubmitButton`,void 0),a([s()],$.prototype,`_inputFocused`,void 0),a([i(`luzmo-text-field`)],$.prototype,`_inputElement`,void 0),a([i(`.rich-input`)],$.prototype,`_richInputElement`,void 0),a([i(`input[type="file"]`)],$.prototype,`_fileInput`,void 0),a([i(`.finish-recording-button`)],$.prototype,`_finishRecordingButton`,void 0),customElements.get(`luzmo-prompt-box`)||customElements.define(`luzmo-prompt-box`,$);export{Y as DEFAULT_FILE_ICONS,A as ELEMENT_MIME_TYPE,$ as LuzmoPromptBox};