@luzmo/lucero 2.5.0 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/components/accordion/index.cjs +1 -1
  2. package/components/accordion/index.js +1 -2
  3. package/components/{accordion-ciplqKwM.js → accordion-BJLsCC-2.js} +7 -8
  4. package/components/{accordion-BK0LfhmL.cjs → accordion-OQ0RoC_7.cjs} +1 -1
  5. package/components/action-bar/index.cjs +1 -1
  6. package/components/action-bar/index.js +1 -2
  7. package/components/{action-bar-BZBIeGo7.js → action-bar-B-Y-gJ8B.js} +9 -17
  8. package/components/{action-bar-DAqG_7VG.cjs → action-bar-Dyt2tyjr.cjs} +1 -1
  9. package/components/action-button/action-button.d.ts +3 -2
  10. package/components/action-button/index.cjs +1 -1
  11. package/components/action-button/index.js +1 -2
  12. package/components/action-button-BB3ZZFNN.js +136 -0
  13. package/components/action-button-CL4ZlryE.cjs +22 -0
  14. package/components/action-group/index.cjs +1 -1
  15. package/components/action-group/index.js +1 -2
  16. package/components/{action-group-oo7YV0EW.cjs → action-group-Doll-3Bf.cjs} +1 -1
  17. package/components/{action-group-DSiruuF0.js → action-group-HECoPCas.js} +7 -9
  18. package/components/action-menu/action-menu.d.ts +16 -1
  19. package/components/action-menu/index.cjs +1 -1
  20. package/components/action-menu/index.d.ts +1 -0
  21. package/components/action-menu/index.js +1 -2
  22. package/components/action-menu-BW-XpCVO.cjs +58 -0
  23. package/components/{action-menu-D1hTsg9A.js → action-menu-LnXQ7reF.js} +47 -31
  24. package/components/avatar/index.cjs +1 -1
  25. package/components/avatar/index.js +1 -2
  26. package/components/{avatar-CwSyYAKV.js → avatar-CVRQDsx6.js} +7 -9
  27. package/components/{avatar-DHS5UGTJ.cjs → avatar-DFzJbtId.cjs} +1 -1
  28. package/components/badge/index.cjs +1 -1
  29. package/components/badge/index.js +1 -2
  30. package/components/badge-BSfzmBRf.js +94 -0
  31. package/components/badge-DzElGOcl.cjs +23 -0
  32. package/components/button/index.cjs +1 -1
  33. package/components/button/index.js +2 -2
  34. package/components/button-BGEWdRbY.cjs +20 -0
  35. package/components/button-CpaltgRZ.js +125 -0
  36. package/components/{button-base-DiPzVpp4.js → button-base-BzakIKd0.js} +12 -35
  37. package/components/{button-base-DiNxrttk.cjs → button-base-CpK2ktvQ.cjs} +3 -3
  38. package/components/button-group/index.cjs +1 -1
  39. package/components/button-group/index.js +1 -2
  40. package/components/{button-group-Du7R4SxZ.cjs → button-group-C23OtGC0.cjs} +1 -1
  41. package/components/{button-group-Duf-Igst.js → button-group-DMsT6N0P.js} +4 -6
  42. package/components/calendar/index.cjs +1 -1
  43. package/components/calendar/index.js +1 -2
  44. package/components/{calendar-pQxEWdYC.cjs → calendar-BqyGW8gU.cjs} +3 -3
  45. package/components/{calendar-D1UtHvpY.js → calendar-D4x5gp_0.js} +14 -33
  46. package/components/chat-message/index.cjs +1 -1
  47. package/components/chat-message/index.js +1 -2
  48. package/components/{chat-message-D6U-sprD.js → chat-message-5gP_qbiz.js} +665 -654
  49. package/components/chat-message-Dn5GKsSD.cjs +148 -0
  50. package/components/chat-message-group/index.cjs +1 -1
  51. package/components/chat-message-group/index.js +1 -2
  52. package/components/{chat-message-group-k9lo-ZqD.js → chat-message-group-Bp4mshBY.js} +18 -18
  53. package/components/{chat-message-group-CvxdX3jt.cjs → chat-message-group-CJddlS85.cjs} +1 -1
  54. package/components/checkbox/index.cjs +1 -1
  55. package/components/checkbox/index.js +1 -2
  56. package/components/checkbox-CVi4GMoo.cjs +25 -0
  57. package/components/{checkbox-CydI9yXG.js → checkbox-CvRvgRzh.js} +7 -13
  58. package/components/{checkbox-mixin-jqmrh48O.js → checkbox-mixin-BIuvxtEt.js} +2 -3
  59. package/components/{checkbox-mixin-rFRXqyrK.cjs → checkbox-mixin-DAdnTm-F.cjs} +1 -1
  60. package/components/{close-button-Dlvtf9lB.js → close-button-7zS6PUzh.js} +5 -6
  61. package/components/{close-button-BAELImQY.cjs → close-button-B06i2hJn.cjs} +1 -1
  62. package/components/color-area/index.cjs +1 -1
  63. package/components/color-area/index.js +1 -2
  64. package/components/{color-area-CmKlQG1i.cjs → color-area-D1fRozE0.cjs} +1 -1
  65. package/components/{color-area-lbg8wwZG.js → color-area-qlEAp8ZN.js} +10 -20
  66. package/components/color-controller-BpdydwTO.cjs +18 -0
  67. package/components/{color-controller-Rg_Zl0sT.js → color-controller-CauSxC_r.js} +1 -2
  68. package/components/color-field/index.cjs +1 -1
  69. package/components/color-field/index.js +1 -2
  70. package/components/{color-field-BH9x46k_.cjs → color-field-CN8shDl_.cjs} +1 -1
  71. package/components/{color-field-C9S-Fv46.js → color-field-CVyDNZ4b.js} +5 -7
  72. package/components/color-handle/index.cjs +1 -1
  73. package/components/color-handle/index.js +1 -2
  74. package/components/{color-handle-2iFLp9FN.cjs → color-handle-BE0Z1gTU.cjs} +1 -1
  75. package/components/{color-handle-BEDQ1RcS.js → color-handle-Dc0uLgkf.js} +4 -6
  76. package/components/color-loupe/index.cjs +1 -1
  77. package/components/color-loupe/index.js +1 -2
  78. package/components/{color-loupe-6NcLbFco.cjs → color-loupe-2X1bCYU9.cjs} +1 -1
  79. package/components/{color-loupe-CqHyyvjQ.js → color-loupe-Bu37Uwk6.js} +3 -5
  80. package/components/color-menu/index.cjs +1 -1
  81. package/components/color-menu/index.js +1 -2
  82. package/components/{color-menu-qJK_clDq.js → color-menu-BxFQnH79.js} +12 -14
  83. package/components/{color-menu-BYTgxLQG.cjs → color-menu-Cus3S-Re.cjs} +1 -1
  84. package/components/color-palette/index.cjs +1 -1
  85. package/components/color-palette/index.js +1 -2
  86. package/components/{color-palette-x6W09EBL.cjs → color-palette-D5NZDz5I.cjs} +1 -1
  87. package/components/{color-palette-CqiO5ohz.js → color-palette-UU7Feiwh.js} +7 -8
  88. package/components/color-palette-group/index.cjs +1 -1
  89. package/components/color-palette-group/index.js +1 -2
  90. package/components/{color-palette-group-zByrO_qb.js → color-palette-group-CwmC9iR1.js} +5 -7
  91. package/components/{color-palette-group-D4k_7pW6.cjs → color-palette-group-DhGh0Db8.cjs} +1 -1
  92. package/components/color-picker/index.cjs +1 -1
  93. package/components/color-picker/index.js +1 -2
  94. package/components/{color-picker-BAikpqUT.cjs → color-picker-BTT1O-76.cjs} +1 -1
  95. package/components/{color-picker-CSuAPo5X.js → color-picker-orFSIqoZ.js} +9 -11
  96. package/components/color-slider/index.cjs +1 -1
  97. package/components/color-slider/index.js +1 -2
  98. package/components/{color-slider-CMW8gJ0Z.cjs → color-slider-9Ck28Qdk.cjs} +1 -1
  99. package/components/{color-slider-0JzdSRTy.js → color-slider-X1EArAnx.js} +8 -14
  100. package/components/{condition-attribute-with-id-BdnTdWKz.js → condition-attribute-with-id-v1wjKZc3.js} +1 -2
  101. package/components/date-range-picker/index.cjs +1 -1
  102. package/components/date-range-picker/index.js +1 -2
  103. package/components/{date-range-picker-DKVmGpUC.js → date-range-picker-CoCz3uDz.js} +28 -29
  104. package/components/{date-range-picker-D149LIGC.cjs → date-range-picker-DyJdcFiA.cjs} +3 -3
  105. package/components/date-time-picker/index.cjs +1 -1
  106. package/components/date-time-picker/index.js +1 -2
  107. package/components/{date-time-picker-CRpvRk9T.cjs → date-time-picker-CEEeMXGn.cjs} +3 -3
  108. package/components/{date-time-picker-6c19YzwF.js → date-time-picker-CsgO17tA.js} +23 -36
  109. package/components/{decorate-CkCg3wfh.js → decorate-CpKsOs9z.js} +18 -19
  110. package/components/{decorate-Dq34MBGe.cjs → decorate-SO02l0A6.cjs} +1 -1
  111. package/components/{dependency-manger-wHEXoU92.js → dependency-manger-BneVBZQi.js} +1 -2
  112. package/components/divider/index.cjs +1 -1
  113. package/components/divider/index.js +1 -2
  114. package/components/{divider-Cz5nyvP9.js → divider-Bt0NIqfu.js} +5 -7
  115. package/components/{divider-BcE8D-pH.cjs → divider-fWGUxO6A.cjs} +1 -1
  116. package/components/{divider.module-CPEKsaqR.js → divider.module-B_GRUJ4d.js} +1 -2
  117. package/components/{element-resolution-gap51AVo.js → element-resolution-BYvcpZwK.js} +1 -2
  118. package/components/field-group/index.cjs +1 -1
  119. package/components/field-group/index.js +2 -3
  120. package/components/{field-group-Dd5xYczm.cjs → field-group-B8mhEhNJ.cjs} +1 -1
  121. package/components/{field-group-C_kRq7pJ.js → field-group-CdDcdMO1.js} +3 -4
  122. package/components/field-label/index.cjs +1 -1
  123. package/components/field-label/index.js +1 -2
  124. package/components/{field-label-C0vfY1b6.cjs → field-label-B3IsGUTv.cjs} +2 -2
  125. package/components/{field-label-C28wWqC5.js → field-label-DOUnHwwh.js} +9 -15
  126. package/components/focus-group-C0ncbmUD.cjs +18 -0
  127. package/components/{focus-group-DVPa1zxz.js → focus-group-lQqPbdDl.js} +5 -7
  128. package/components/{focus-visible-DNHNlrty.cjs → focus-visible-BQAhwoxi.cjs} +1 -1
  129. package/components/{focus-visible-Bt2uDmuM.js → focus-visible-D6TRtUd7.js} +2 -3
  130. package/components/focusable-BIHTrJd6.cjs +18 -0
  131. package/components/{focusable-selectors-BWpiuXz5.js → focusable-selectors-BDNeWxbe.js} +1 -2
  132. package/components/{focusable-DuP0-Kuy.js → focusable-xjv79E40.js} +9 -17
  133. package/components/{get-label-from-slot-Bo9mqYCZ.js → get-label-from-slot-Bw5crGFw.js} +1 -2
  134. package/components/icon/index.cjs +1 -1
  135. package/components/icon/index.js +1 -2
  136. package/components/{icon-zOPAWCdx.cjs → icon-BlbMP3mJ.cjs} +1 -1
  137. package/components/{icon-CsJZMhIm.js → icon-DADJww_a.js} +4 -7
  138. package/components/index.cjs +1 -1
  139. package/components/index.js +72 -71
  140. package/components/infield-button/index.cjs +1 -1
  141. package/components/infield-button/index.js +1 -2
  142. package/components/{infield-button-DiE8R6ol.js → infield-button-CeE_JxR6.js} +5 -7
  143. package/components/{infield-button-kilVRjwB.cjs → infield-button-uD1GqTLW.cjs} +1 -1
  144. package/components/label/index.cjs +1 -1
  145. package/components/label/index.js +1 -2
  146. package/components/{label-e6Y13vrS.js → label-D1v4e6mN.js} +3 -5
  147. package/components/{label-B3zs6OX0.cjs → label-uuwIy_Ge.cjs} +1 -1
  148. package/components/{language-resolution-BaKYDD1a.js → language-resolution-7rc0khIK.js} +3 -4
  149. package/components/{language-resolution-CSjktYg5.cjs → language-resolution-B7D3hQ6_.cjs} +1 -1
  150. package/components/{like-anchor-DXCaEv7O.js → like-anchor-DcFv8rEo.js} +2 -3
  151. package/components/{like-anchor-BX4PSB3d.cjs → like-anchor-De9STeWr.cjs} +1 -1
  152. package/components/{manage-help-text-ByLb0QYX.js → manage-help-text-CFUaqINN.js} +4 -6
  153. package/components/{match-media-C5X2OZiD.js → match-media-UNh23w4s.js} +1 -2
  154. package/components/menu/index.cjs +1 -1
  155. package/components/menu/index.js +1 -2
  156. package/components/menu-BKwt6rnv.cjs +108 -0
  157. package/components/{menu-fdJseu1y.js → menu-L5qYivn6.js} +43 -67
  158. package/components/multi-language-field/index.cjs +1 -1
  159. package/components/multi-language-field/index.js +1 -2
  160. package/components/{multi-language-field-vJMK-osi.js → multi-language-field-NY2XwK2M.js} +6 -8
  161. package/components/{multi-language-field-BndVikur.cjs → multi-language-field-djoM4Okc.cjs} +1 -1
  162. package/components/notice/index.cjs +1 -1
  163. package/components/notice/index.js +1 -2
  164. package/components/{notice-N0-lxEf_.js → notice-CrLVNmqL.js} +6 -8
  165. package/components/{notice-CsWaqcq3.cjs → notice-f0p0TiGw.cjs} +1 -1
  166. package/components/number-field/index.cjs +1 -1
  167. package/components/number-field/index.js +1 -2
  168. package/components/{number-field-xxXgR70l.cjs → number-field-Ceeli_mh.cjs} +2 -2
  169. package/components/{number-field-DAOy_AvQ.js → number-field-D9UqpqpW.js} +12 -20
  170. package/components/{observe-slot-presence-BKY6n06-.js → observe-slot-presence-t2N_C6Ud.js} +1 -2
  171. package/components/{observe-slot-text-CvL-2ey3.cjs → observe-slot-text-BqwCIv2a.cjs} +1 -1
  172. package/components/{observe-slot-text-Db8Kx3P-.js → observe-slot-text-Dzkb_VqN.js} +2 -3
  173. package/components/options/index.cjs +1 -1
  174. package/components/options/index.js +1 -2
  175. package/components/{options-D_ifU0DH.js → options-BHDesKbF.js} +20 -31
  176. package/components/{options-CP9V2CSJ.cjs → options-Dk1uFeUT.cjs} +5 -5
  177. package/components/overlay/index.cjs +1 -1
  178. package/components/overlay/index.js +2 -2
  179. package/components/overlay-DAOyrYJL.cjs +102 -0
  180. package/components/{overlay-DpHIYJtd.js → overlay-D_Xfq92b.js} +62 -118
  181. package/components/{pending-state-CGHvTtKR.cjs → pending-state-A6NrvaQj.cjs} +1 -1
  182. package/components/{pending-state-D_b45qvi.js → pending-state-BuYmUP6G.js} +2 -3
  183. package/components/picker/index.cjs +1 -1
  184. package/components/picker/index.js +2 -3
  185. package/components/{picker-uKcRswTQ.js → picker-C5eX5WBl.js} +25 -41
  186. package/components/picker-CQCAt4Mx.cjs +124 -0
  187. package/components/picker-button/index.cjs +1 -1
  188. package/components/picker-button/index.js +1 -2
  189. package/components/{picker-button-B8Jbf9jK.cjs → picker-button-BWDfzx38.cjs} +2 -2
  190. package/components/{picker-button-CJQJshbo.js → picker-button-BhfY9gyk.js} +11 -12
  191. package/components/{platform-Ce9pNsR9.js → platform-CDW-WdXN.js} +1 -2
  192. package/components/popover/index.cjs +1 -1
  193. package/components/popover/index.js +1 -2
  194. package/components/{popover-BsdqkvKI.cjs → popover-CFzz83f8.cjs} +1 -1
  195. package/components/{popover-DC8tkee-.js → popover-CWrRLzOL.js} +4 -6
  196. package/components/progress-bar/index.cjs +1 -1
  197. package/components/progress-bar/index.js +1 -2
  198. package/components/{progress-bar-CrodWzcc.cjs → progress-bar-9Qg0PYAq.cjs} +2 -2
  199. package/components/{progress-bar-D4iFHkp7.js → progress-bar-D6wIZV5l.js} +16 -22
  200. package/components/progress-circle/index.cjs +1 -1
  201. package/components/progress-circle/index.js +1 -2
  202. package/components/{progress-circle-bO_VAX3N.cjs → progress-circle-C_9UZs2Y.cjs} +1 -1
  203. package/components/{progress-circle-By6qUQYe.js → progress-circle-DcGKwBTC.js} +5 -7
  204. package/components/progress-steps/index.cjs +1 -1
  205. package/components/progress-steps/index.js +1 -2
  206. package/components/progress-steps/progress-steps-model.d.ts +5 -0
  207. package/components/progress-steps/progress-steps.d.ts +4 -8
  208. package/components/progress-steps-5MhpnGKv.cjs +98 -0
  209. package/components/{progress-steps-BvCzsq9Z.js → progress-steps-Byem5ieS.js} +43 -54
  210. package/components/prompt-box/index.cjs +1 -1
  211. package/components/prompt-box/index.js +1 -2
  212. package/components/{prompt-box-Cz_m2wso.js → prompt-box-CrtFGmjm.js} +80 -112
  213. package/components/{prompt-box-sp9_-Hnx.cjs → prompt-box-D7owyhfG.cjs} +15 -15
  214. package/components/question-box/index.cjs +1 -1
  215. package/components/question-box/index.js +1 -2
  216. package/components/{question-box-Bcm-P-UV.js → question-box-BJYYLghb.js} +40 -86
  217. package/components/{question-box-DZnuGMBB.cjs → question-box-ym1eakXA.cjs} +3 -3
  218. package/components/radio/index.cjs +1 -1
  219. package/components/radio/index.js +1 -2
  220. package/components/{radio-B6hX9Klr.js → radio-CyxICbLM.js} +9 -15
  221. package/components/{radio-CRTfoEX_.cjs → radio-Dd-GgUMm.cjs} +2 -2
  222. package/components/{random-id-CiMDyX7v.js → random-id-CO3s9i3n.js} +1 -2
  223. package/components/{rolldown-runtime-Dy4uBu1J.js → rolldown-runtime-CGnMp29N.js} +1 -2
  224. package/components/{roving-tabindex-pomAn3z-.js → roving-tabindex-BKMkfzY0.js} +2 -3
  225. package/components/{roving-tabindex-BoPao4td.cjs → roving-tabindex-BUFR8hPH.cjs} +1 -1
  226. package/components/{scaled-indicator-C-TupV4L.js → scaled-indicator-CsfzvTDr.js} +1 -2
  227. package/components/search/index.cjs +1 -1
  228. package/components/search/index.js +1 -2
  229. package/components/{search-DEjLSJ96.js → search-C5uFmm6S.js} +7 -9
  230. package/components/{search-PxJEuwHt.cjs → search-DiCwSHFf.cjs} +1 -1
  231. package/components/segments-factory-BFgL5o9K.cjs +18 -0
  232. package/components/{segments-factory-BCRi1NKb.js → segments-factory-B_IBjpdp.js} +5 -12
  233. package/components/select/index.cjs +1 -1
  234. package/components/select/index.js +1 -2
  235. package/components/{select-CKMCEJf7.cjs → select-2Fvb7tpj.cjs} +6 -6
  236. package/components/{select-B86uAHme.js → select-HqF3tcHz.js} +31 -56
  237. package/components/{sized-mixin-DzQTebN-.js → sized-mixin-BmxIAuoH.js} +2 -3
  238. package/components/{sized-mixin-BT7cv-fT.cjs → sized-mixin-CSajkMro.cjs} +1 -1
  239. package/components/skeleton-loader/index.cjs +1 -1
  240. package/components/skeleton-loader/index.js +1 -2
  241. package/components/{skeleton-loader-CNcwCh4V.cjs → skeleton-loader-CEca0cqz.cjs} +1 -1
  242. package/components/{skeleton-loader-BeCsYADg.js → skeleton-loader-tin9y3xc.js} +3 -5
  243. package/components/slider/index.cjs +1 -1
  244. package/components/slider/index.js +1 -2
  245. package/components/{slider-C_8pSK4N.cjs → slider-C1AdDTfB.cjs} +2 -2
  246. package/components/{slider-Bsl8Xrme.js → slider-Ch7OgTdj.js} +13 -26
  247. package/components/{slottable-request-event-MRSZbgTu.js → slottable-request-event-24jJOhbh.js} +1 -2
  248. package/components/split-view/index.cjs +1 -1
  249. package/components/split-view/index.js +1 -2
  250. package/components/{split-view-CDwHDmII.js → split-view-DDwpoN2O.js} +8 -11
  251. package/components/{split-view-BwCFYey6.cjs → split-view-DNVlr5VD.cjs} +1 -1
  252. package/components/status-light/index.cjs +1 -1
  253. package/components/status-light/index.js +1 -2
  254. package/components/status-light-Do6z53mM.cjs +21 -0
  255. package/components/{status-light-DwUnjE3t.js → status-light-DqHhhZed.js} +6 -8
  256. package/components/strategies-C6hzAW86.cjs +18 -0
  257. package/components/{strategies-COS7mShJ.js → strategies-DgPG-vNk.js} +6 -13
  258. package/components/{streaming-listener-CtcMpYfS.js → streaming-listener-B6mDl4pZ.js} +1 -2
  259. package/components/swatch/index.cjs +1 -1
  260. package/components/swatch/index.js +1 -2
  261. package/components/{swatch-Bj2FARl1.js → swatch-BBVsuSAV.js} +25 -44
  262. package/components/{swatch-CQ0inIHK.cjs → swatch-DiNMN-SZ.cjs} +3 -3
  263. package/components/switch/index.cjs +1 -1
  264. package/components/switch/index.js +1 -2
  265. package/components/{switch-CpG-hSWY.js → switch-BBtewLDD.js} +6 -8
  266. package/components/{switch-qwpYXVnO.cjs → switch-DMhCYTgq.cjs} +1 -1
  267. package/components/table/index.cjs +1 -1
  268. package/components/table/index.js +1 -2
  269. package/components/table-CLMLGloR.cjs +180 -0
  270. package/components/{table-B75GjBhD.js → table-DlOWqm5C.js} +217 -264
  271. package/components/tabs/index.cjs +1 -1
  272. package/components/tabs/index.js +1 -2
  273. package/components/{tabs-DxOD4QNt.cjs → tabs-B0WHKMuF.cjs} +2 -2
  274. package/components/{tabs-BD_ATrBg.js → tabs-Dkt0B_-A.js} +17 -22
  275. package/components/tags/index.cjs +1 -1
  276. package/components/tags/index.js +1 -2
  277. package/components/tags-Be4yrNPw.js +206 -0
  278. package/components/tags-CHDNXpxh.cjs +47 -0
  279. package/components/template-property-Bks4Db5C.js +46 -0
  280. package/components/template-property-yhcAmPXk.cjs +18 -0
  281. package/components/text-field/index.cjs +1 -1
  282. package/components/text-field/index.js +2 -2
  283. package/components/{text-field-3fDtTQkR.cjs → text-field-BVl-HWzb.cjs} +1 -1
  284. package/components/{text-field-CmyqQxq0.js → text-field-D49lAD7L.js} +4 -5
  285. package/components/{text-field-CbN4nydd.cjs → text-field-DCcOZSvY.cjs} +1 -1
  286. package/components/{text-field-CmSym2QK.js → text-field-DpvP_tCP.js} +7 -10
  287. package/components/{text-field.module-BHhBReKL.js → text-field.module-hEHhPVFf.js} +1 -2
  288. package/components/toast/index.cjs +1 -1
  289. package/components/toast/index.js +1 -2
  290. package/components/{toast-DRrGgznK.cjs → toast-B6yesIcI.cjs} +1 -1
  291. package/components/{toast-KwHx-agn.js → toast-CXZUVaYz.js} +5 -7
  292. package/components/tokens.js +1 -2
  293. package/components/tooltip/index.cjs +1 -1
  294. package/components/tooltip/index.js +1 -2
  295. package/components/{tooltip-DjOW52n2.cjs → tooltip-BE01O3Sg.cjs} +1 -1
  296. package/components/{tooltip-xTa9Q5JW.js → tooltip-g2jd5Wsv.js} +19 -24
  297. package/components/top-nav/index.cjs +1 -1
  298. package/components/top-nav/index.js +1 -2
  299. package/components/{top-nav-81IKEGjR.cjs → top-nav-B0E1K_zf.cjs} +1 -1
  300. package/components/{top-nav-CXjnpdFR.js → top-nav-DiUCsUpZ.js} +9 -11
  301. package/components/utils.cjs +1 -1
  302. package/components/utils.js +9 -8
  303. package/components/{voice-recorder-CTg3kRxx.js → voice-recorder-BXY_l_78.js} +1 -2
  304. package/custom-elements.json +1 -1
  305. package/package.json +1 -1
  306. package/standalone/accordion.js +6 -2
  307. package/standalone/action-bar.js +1 -1
  308. package/standalone/action-button.js +1 -1
  309. package/standalone/action-group.js +1 -1
  310. package/standalone/action-menu.js +5 -3
  311. package/standalone/avatar.js +1 -1
  312. package/standalone/badge.js +1 -1
  313. package/standalone/button-group.js +1 -1
  314. package/standalone/button.js +1 -1
  315. package/standalone/calendar.js +1 -1
  316. package/standalone/chat-message-group.js +1 -1
  317. package/standalone/chat-message.js +31 -31
  318. package/standalone/checkbox.js +1 -1
  319. package/standalone/chunks/NumberFormatter-COykocAS.js +2 -0
  320. package/standalone/chunks/NumberParser--1Rm0Yk7.js +2 -0
  321. package/standalone/chunks/action-button-0d4u0dWv.js +6 -0
  322. package/standalone/chunks/{action-group-DTxf-0tP.js → action-group-DlClwXLO.js} +5 -1
  323. package/standalone/chunks/async-directive-ByLzVnWY.js +2 -0
  324. package/standalone/chunks/async-directive-DNgXlN7F.js +2 -0
  325. package/standalone/chunks/badge-DPFbBRCY.js +7 -0
  326. package/standalone/chunks/{button-Q1n9DH9a.js → button-Bgc3zdEa.js} +1 -1
  327. package/standalone/chunks/button-BhSe7abg.js +4 -0
  328. package/standalone/chunks/button-base-DLYrzCSm.js +9 -0
  329. package/standalone/chunks/calendar-BxARYymw.js +122 -0
  330. package/standalone/chunks/checkbox-Cl6YBcGA.js +9 -0
  331. package/standalone/chunks/{checkbox-mixin-BAQWmwps.js → checkbox-mixin-HnfmivU3.js} +1 -1
  332. package/standalone/chunks/class-map-E9JVium5.js +2 -0
  333. package/standalone/chunks/{clear-button-3zpCVxG5.js → clear-button-B4r_oxfc.js} +1 -1
  334. package/standalone/chunks/{close-button-C96dazyi.js → close-button-DVCeu3_f.js} +1 -1
  335. package/standalone/chunks/{color-area-Cj8oPsIF.js → color-area-BCI2oMGd.js} +3 -1
  336. package/standalone/chunks/color-controller-BlFueK6Y.js +2 -0
  337. package/standalone/chunks/{color-field-BFvUGE4L.js → color-field-BaVvupq0.js} +1 -1
  338. package/standalone/chunks/{color-handle-BHrAxEG2.js → color-handle-BLQiuRSS.js} +1 -1
  339. package/standalone/chunks/{color-loupe-C34cms5t.js → color-loupe-_dC69K1Z.js} +1 -1
  340. package/standalone/chunks/{color-menu-BIKuitbH.js → color-menu-BDZh85nX.js} +1 -1
  341. package/standalone/chunks/color-slider-Bipcekrc.js +49 -0
  342. package/standalone/chunks/{directive-helpers-Bu8icI7Y.js → directive-helpers-DM8VtBpR.js} +1 -1
  343. package/standalone/chunks/{divider-Bf9Drp2z.js → divider-vAjIOfo1.js} +1 -1
  344. package/standalone/chunks/{field-group-D8EjgC6F.js → field-group-C1oDgW9m.js} +1 -1
  345. package/standalone/chunks/{field-label-VWHDlW9_.js → field-label-Djcst_hn.js} +2 -2
  346. package/standalone/chunks/flow-CL5kBpdV.js +2 -0
  347. package/standalone/chunks/focus-group-xdTxdfaB.js +4 -0
  348. package/standalone/chunks/{icon-BypO7M7G.js → icon-6P1RsbD1.js} +1 -1
  349. package/standalone/chunks/{infield-button-D03MpU_s.js → infield-button-B8EkjwP9.js} +1 -1
  350. package/standalone/chunks/keyed-DYJaQjip.js +2 -0
  351. package/standalone/chunks/{language-resolution-BWHk9A73.js → language-resolution-BwIkGyuH.js} +1 -1
  352. package/standalone/chunks/lit-DWANyjiY.js +3 -0
  353. package/standalone/chunks/lucero-runtime-DMlHjBe_.js +18 -0
  354. package/standalone/chunks/{luzmo-icons-B-pCv-xg.js → luzmo-icons-vtQE0BSI.js} +1 -1
  355. package/standalone/chunks/{manage-help-text-Cl9OJ2xf.js → manage-help-text-DO3PkWgh.js} +1 -1
  356. package/standalone/chunks/menu-CefrRBIS.js +100 -0
  357. package/standalone/chunks/{number-field-B6BDXkL7.js → number-field-Dc4nBa6l.js} +2 -2
  358. package/standalone/chunks/observe-slot-presence-BxmG6A0m.js +2 -0
  359. package/standalone/chunks/options-rb_zaAJ6.js +89 -0
  360. package/standalone/chunks/overlay-CgQMEmrM.js +122 -0
  361. package/standalone/chunks/{pending-state-DxeRqe6Q.js → pending-state-DnTXKvtm.js} +1 -1
  362. package/standalone/chunks/picker-HoERLlkx.js +108 -0
  363. package/standalone/chunks/{picker-button-BZWqDoNQ.js → picker-button-DbamPU-T.js} +2 -2
  364. package/standalone/chunks/platform-wNs7qaiE.js +10 -0
  365. package/standalone/chunks/{popover-BsB3dmQe.js → popover-Ca-FBqiU.js} +1 -1
  366. package/standalone/chunks/{progress-circle-CEx1b5Sv.js → progress-circle-CFtVq9Ou.js} +1 -1
  367. package/standalone/chunks/property-BsDbx7Z2.js +2 -0
  368. package/standalone/chunks/{radio-2vHhfmHw.js → radio-BJ3RhyUD.js} +2 -2
  369. package/standalone/chunks/random-id-0GBXy8EY.js +2 -0
  370. package/standalone/chunks/repeat-CtNle5_O.js +2 -0
  371. package/standalone/chunks/{roving-tabindex-CB4xC55P.js → roving-tabindex-CivopiNn.js} +1 -1
  372. package/standalone/chunks/scaled-indicator-Do5uhz24.js +10 -0
  373. package/standalone/chunks/segments-factory-B6oGyosS.js +2 -0
  374. package/standalone/chunks/{skeleton-loader-BxYcRRJr.js → skeleton-loader-CymPdQl3.js} +1 -1
  375. package/standalone/chunks/strategies-yujlVHBS.js +4 -0
  376. package/standalone/chunks/streaming-listener-DbMoHlSj.js +8 -0
  377. package/standalone/chunks/style-map-DmBaq1-c.js +2 -0
  378. package/standalone/chunks/{swatch-CGR_GWqO.js → swatch-DivHeYOK.js} +4 -4
  379. package/standalone/chunks/template-property-CyrkVY0Q.js +2 -0
  380. package/standalone/chunks/{text-field-4OKvLOXG.js → text-field-D5ncaa2n.js} +1 -1
  381. package/standalone/chunks/{text-field-C2oROxum.js → text-field-DXzpM1Qn.js} +1 -1
  382. package/standalone/chunks/{tooltip-DB6jRVyB.js → tooltip-B-j8PrNl.js} +13 -1
  383. package/standalone/chunks/{unsafe-html-BPQaWy0v.js → unsafe-html-BeDipvu3.js} +1 -1
  384. package/standalone/clear-button.js +1 -1
  385. package/standalone/close-button.js +1 -1
  386. package/standalone/color-area.js +1 -1
  387. package/standalone/color-field.js +1 -1
  388. package/standalone/color-handle.js +1 -1
  389. package/standalone/color-loupe.js +1 -1
  390. package/standalone/color-menu.js +1 -1
  391. package/standalone/color-palette-group.js +1 -1
  392. package/standalone/color-palette.js +1 -1
  393. package/standalone/color-picker.js +1 -1
  394. package/standalone/color-slider.js +1 -1
  395. package/standalone/date-range-picker.js +3 -3
  396. package/standalone/date-time-picker.js +3 -3
  397. package/standalone/divider.js +1 -1
  398. package/standalone/field-group.js +1 -1
  399. package/standalone/field-label.js +1 -1
  400. package/standalone/icon.js +1 -1
  401. package/standalone/infield-button.js +1 -1
  402. package/standalone/label.js +1 -1
  403. package/standalone/lit.js +1 -1
  404. package/standalone/manifest.json +65 -65
  405. package/standalone/menu.js +1 -1
  406. package/standalone/multi-language-field.js +1 -1
  407. package/standalone/notice.js +1 -1
  408. package/standalone/number-field.js +1 -1
  409. package/standalone/options.js +1 -1
  410. package/standalone/overlay.js +1 -1
  411. package/standalone/picker-button.js +1 -1
  412. package/standalone/picker.js +1 -1
  413. package/standalone/popover.js +1 -1
  414. package/standalone/progress-bar.js +2 -2
  415. package/standalone/progress-circle.js +1 -1
  416. package/standalone/progress-steps.js +10 -10
  417. package/standalone/prompt-box.js +17 -17
  418. package/standalone/question-box.js +3 -3
  419. package/standalone/radio.js +1 -1
  420. package/standalone/search.js +1 -1
  421. package/standalone/select.js +6 -6
  422. package/standalone/skeleton-loader.js +1 -1
  423. package/standalone/slider.js +2 -2
  424. package/standalone/split-view.js +1 -1
  425. package/standalone/status-light.js +1 -1
  426. package/standalone/swatch.js +1 -1
  427. package/standalone/switch.js +1 -1
  428. package/standalone/table.js +32 -32
  429. package/standalone/tabs.js +2 -2
  430. package/standalone/tags.js +1 -1
  431. package/standalone/text-field.js +1 -1
  432. package/standalone/toast.js +1 -1
  433. package/standalone/tooltip.js +1 -1
  434. package/standalone/top-nav.js +1 -1
  435. package/standalone/utils.js +1 -1
  436. package/utils/index.d.ts +1 -0
  437. package/utils/template-property.d.ts +13 -0
  438. package/components/action-button-BRijXjEz.js +0 -138
  439. package/components/action-button-CX1uYbQp.cjs +0 -22
  440. package/components/action-menu-BNZWjeDd.cjs +0 -56
  441. package/components/badge-D2Hjf-Ww.js +0 -96
  442. package/components/badge-D8pIDEoq.cjs +0 -23
  443. package/components/button-Bvnidb4x.cjs +0 -20
  444. package/components/button-DIV_j_U3.js +0 -126
  445. package/components/chat-message-BDfomRm-.cjs +0 -148
  446. package/components/checkbox-JCvBro0K.cjs +0 -25
  447. package/components/color-controller-DbyPc33Y.cjs +0 -18
  448. package/components/focus-group-C8lOjbi9.cjs +0 -18
  449. package/components/focusable-B6h03pAe.cjs +0 -18
  450. package/components/menu-CrhA2iPZ.cjs +0 -108
  451. package/components/overlay-Dn7EbA_W.cjs +0 -102
  452. package/components/picker-COeWCv60.cjs +0 -124
  453. package/components/progress-steps-CvdQQwHc.cjs +0 -98
  454. package/components/segments-factory-DtPyN5sh.cjs +0 -18
  455. package/components/status-light-D3hdx8Pd.cjs +0 -21
  456. package/components/strategies-Bb7zEjrU.cjs +0 -18
  457. package/components/table-CHrAaVU1.cjs +0 -180
  458. package/components/tags-BIpFgOYy.js +0 -208
  459. package/components/tags-fLCGajv_.cjs +0 -47
  460. package/standalone/chunks/NumberFormatter-DMCfW685.js +0 -2
  461. package/standalone/chunks/NumberParser-r_jv94LA.js +0 -2
  462. package/standalone/chunks/action-button-FSsfXYe9.js +0 -6
  463. package/standalone/chunks/async-directive-BA2_dM-5.js +0 -2
  464. package/standalone/chunks/async-directive-CPdA0BOw.js +0 -2
  465. package/standalone/chunks/badge-DD-tMgzi.js +0 -7
  466. package/standalone/chunks/button-Bv3v7VbN.js +0 -4
  467. package/standalone/chunks/button-base-C7jeeyLp.js +0 -9
  468. package/standalone/chunks/calendar-DcFjY2tw.js +0 -122
  469. package/standalone/chunks/checkbox-DQ4wPgG_.js +0 -9
  470. package/standalone/chunks/class-map-CxQ0PcQP.js +0 -2
  471. package/standalone/chunks/color-controller-fJNWRHVI.js +0 -2
  472. package/standalone/chunks/color-slider-CAqvxsgS.js +0 -41
  473. package/standalone/chunks/flow-aCcJ5kgi.js +0 -2
  474. package/standalone/chunks/focus-group-Cl6MLy-C.js +0 -2
  475. package/standalone/chunks/keyed-CNWmQd2J.js +0 -2
  476. package/standalone/chunks/lit-BN_lRQbJ.js +0 -3
  477. package/standalone/chunks/lucero-runtime-DGJ9-isg.js +0 -16
  478. package/standalone/chunks/menu-DSMoQt1w.js +0 -92
  479. package/standalone/chunks/observe-slot-presence-DWPtw22K.js +0 -2
  480. package/standalone/chunks/options-CkmITqgV.js +0 -89
  481. package/standalone/chunks/overlay-C4ir0iyC.js +0 -31
  482. package/standalone/chunks/overlay-C_XW8yry.js +0 -57
  483. package/standalone/chunks/picker-FCQK0vdE.js +0 -108
  484. package/standalone/chunks/platform-BfrBbd97.js +0 -2
  485. package/standalone/chunks/property-CLXrnTGx.js +0 -2
  486. package/standalone/chunks/random-id-CeLe5NEk.js +0 -2
  487. package/standalone/chunks/repeat-CZdNcszA.js +0 -2
  488. package/standalone/chunks/scaled-indicator-k-1JmS0b.js +0 -10
  489. package/standalone/chunks/segments-factory-eS38mJRz.js +0 -2
  490. package/standalone/chunks/strategies-C-vW4MlK.js +0 -2
  491. package/standalone/chunks/streaming-listener-DFczLm8I.js +0 -2
  492. package/standalone/chunks/style-map-D4QeV3m0.js +0 -2
@@ -15,10 +15,10 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- require("./tokens.cjs");const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs");require("./icon-zOPAWCdx.cjs"),require("./action-button-CX1uYbQp.cjs");const n=require("./overlay-Dn7EbA_W.cjs");require("./button-Bvnidb4x.cjs"),require("./text-field-CbN4nydd.cjs"),require("./skeleton-loader-CNcwCh4V.cjs");const r=require("./voice-recorder-B1tBrGTV.cjs");let i=require("lit"),a=require("lit/decorators.js"),o=require("@luzmo/icons");var s=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}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}}))}},c=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){if(!r.t.isSupported()){this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:`Voice recording is not supported in this browser`}}));return}if(this.isRecording){this.stop();return}this.shouldFocusFinishButton=e,this._init(),this._voiceRecorder&&(await this._voiceRecorder.startRecording()&&(this.isRecording=!0,this.duration=0,this.audioLevel=0,this._host.requestUpdate()),this._host.dispatchEvent(new CustomEvent(`luzmo-record`,{bubbles:!0,composed:!0,detail:{isRecording:this.isRecording}})))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return r.t.formatDuration(this.duration)}static isSupported(){return r.t.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new r.t({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function l(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function u(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function d(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=l(e,i),s=u(o,n,r),c=l(e,a),d=u(c,n,r);return d<s&&(o=c,s=d),{range:o,distSq:s}}function f(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=d(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,u=l(e,o),d=l(e,o+1),f=t<c?u:d,p=n-(r.top+r.height/2),m=t<c?t-r.left:t-r.right,h=m*m+p*p;h<a&&(a=h,i=f)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function p(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a)if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else`caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=f(t,n,r,i)),a}function m(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function h(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function g(e){return e===` `||e===`
19
- `||e===`\xA0`}function ee(e){let t=m(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return g(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0||g(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0||g(t.at(-1)??``)}}return!1}function te(e,t){let n=m(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function _(e,t){let n=m(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function v(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);h(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function ne(e,t,n,r){let i=m(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),h(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),h(s,n);return}}}var y=`application/x-luzmo-element`,b=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=m(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;(!t||!this.richInputElement?.contains(t))&&(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(y);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?p(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){if(!this._host.allowElements){this._host.value=this._segmentsToPlainText(e);return}this._elements.clear(),this._host.updateComplete.then(()=>{if(this.richInputElement){this.richInputElement.innerHTML=``;for(let t of e)if(t.type===`text`&&t.value)this.richInputElement.append(document.createTextNode(t.value));else if(t.type===`element`&&t.value){let e={...t.value};e.id||=this._generateId(),this._elements.set(e.id,e),this.richInputElement.append(this._createBadgeNode(e))}this.syncValue()}})}insertElement(e,t,n,r){return this._insertElementAtRange(e,t,n,r,null)}_insertElementAtRange(e,t,n,r,i){if(this._cannotEditRichContent()||this._host.acceptedElementTypes.length>0&&!this._host.acceptedElementTypes.includes(e)||!this.richInputElement)return``;let a=this._generateId(),o={id:a,elementType:e,label:t,data:n,icon:r};this._elements.set(a,o);let s=this._createBadgeNode(o),c=this.richInputElement,l=!1,u=i===null?this._getSelectionRange():i;if(u&&c.contains(u.commonAncestorContainer)){u.deleteContents(),u.insertNode(s);let e=s.previousSibling;if(e?.nodeType===Node.TEXT_NODE){let t=e.previousSibling;t?.classList?.contains(`element-badge`)&&this._ensureSpaceAfter(t)}this._ensureSpaceAfter(s),v(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),v(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return m(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=m(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE)if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;!n||r||t.innerHTML===``||(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
20
- `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},x=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=_(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=te(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let r=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,r):this.virtualElement=new n.v(t.x,t.y,r),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||ee(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
21
- `)?null:r}_isTriggerKey(e){return this._triggers.some(t=>t.key===e)}_updateFilteredOptions(){let e=this.activeConfig;if(!e?.options){this.filteredOptions=[];return}if(e.lazy){this.filteredOptions=e.options;return}if(!this.searchString){this.filteredOptions=e.options;return}let t=this.searchString.toLowerCase(),n=[],r=null;for(let i of e.options){if(i.header){r=i;continue}(i.label.toLowerCase().includes(t)||(i.description?.toLowerCase().includes(t)??!1))&&(r&&=(n.push(r),null),n.push(i))}this.filteredOptions=n}_findSelectableIndex(e,t){let n=this.filteredOptions.length;if(n===0)return-1;let r=(e%n+n)%n;for(let e=0;e<n;e++){if(!this.filteredOptions[r].header)return r;r=((r+t)%n+n)%n}return-1}_moveHighlight(e){let t=this.filteredOptions.length;if(t===0)return;let n=(this.highlightedIndex+e+t)%t;n=this._findSelectableIndex(n,e),n!==-1&&(this.pointerMovedSinceKeyNav=!1,this.hoveredIndex=-1,this.highlightedIndex=n,this._host.requestUpdate(),requestAnimationFrame(()=>{this._host.shadowRoot?.querySelector(`.trigger-option.highlighted`)?.scrollIntoView({block:`nearest`})}))}_selectHighlighted(){let e=this.filteredOptions[this.highlightedIndex];if(!e){this.close();return}this.selectOption(e)}selectOption(e){if(!this.activeTrigger||!this.richInputElement)return;let t=this.activeTrigger,n=this.richInputElement,r=this._host.shadowRoot;ne(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);v(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{v(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}}))}},S=!1,C=0;function w(){S=!0}function T(){S=!1}function re(){document.addEventListener(`keydown`,w,!0),document.addEventListener(`mousedown`,T,!0),document.addEventListener(`pointerdown`,T,!0)}function E(){document.removeEventListener(`keydown`,w,!0),document.removeEventListener(`mousedown`,T,!0),document.removeEventListener(`pointerdown`,T,!0)}function D(){C===0&&typeof window<`u`&&re(),C++}function O(){C--,C<=0&&(C=0,E())}function k(){return S}function A(e,t,n){return i.html`
18
+ require("./tokens.cjs");const e=require("./decorate-SO02l0A6.cjs"),t=require("./sized-mixin-CSajkMro.cjs");require("./icon-BlbMP3mJ.cjs"),require("./action-button-CL4ZlryE.cjs");const n=require("./overlay-DAOyrYJL.cjs");require("./button-BGEWdRbY.cjs"),require("./text-field-DCcOZSvY.cjs"),require("./skeleton-loader-CEca0cqz.cjs");const r=require("./voice-recorder-B1tBrGTV.cjs");let i=require("lit"),a=require("lit/decorators.js"),o=require("@luzmo/icons");var s=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}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)}getAcceptAttribute(){if(this._host.acceptedFileTypes.length>0)return this._host.acceptedFileTypes.join(`,`);let e=[];return this._host.allowImages&&e.push(`image/*`),this._host.allowFiles&&e.push(`*/*`),e.join(`,`)}isImageFile(e){return this._isImageFile(e)}_isImageFile(e){return e.type.startsWith(`image/`)}_isFileTypeAccepted(e){if(this._host.acceptedFileTypes.length===0)return!0;let t=e.name.toLowerCase(),n=e.type.toLowerCase();for(let e of this._host.acceptedFileTypes){let r=e.toLowerCase();if(r.endsWith(`/*`)){let e=r.slice(0,-2);if(n.startsWith(e+`/`))return!0}else if(n===r)return!0;else if(r.startsWith(`.`)&&t.endsWith(r))return!0}return!1}_generateId(){return`attachment-${++this._idCounter}-${Date.now()}`}_revokeAllPreviewUrls(){for(let e of this._attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}_dispatchChange(){this._host.dispatchEvent(new CustomEvent(`luzmo-attachments-change`,{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}},c=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){r.t.isSupported()?this.isRecording?this.stop():(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}})))):this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:`Voice recording is not supported in this browser`}}))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return r.t.formatDuration(this.duration)}static isSupported(){return r.t.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new r.t({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function l(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function u(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function d(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=l(e,i),s=u(o,n,r),c=l(e,a),d=u(c,n,r);return d<s&&(o=c,s=d),{range:o,distSq:s}}function f(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=d(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,u=l(e,o),d=l(e,o+1),f=t<c?u:d,p=n-(r.top+r.height/2),m=t<c?t-r.left:t-r.right,h=m*m+p*p;h<a&&(a=h,i=f)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function p(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a){if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else`caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r))}return a&&t.contains(a.startContainer)||(a=f(t,n,r,i)),a}function m(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function h(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function g(e){return e===` `||e===`
19
+ `||e===`\xA0`}function ee(e){let t=m(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return g(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0||g(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0||g(t.at(-1)??``)}}return!1}function te(e,t){let n=m(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function _(e,t){let n=m(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function v(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);h(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function ne(e,t,n,r){let i=m(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),h(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),h(s,n);return}}}var y=`application/x-luzmo-element`,b=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=m(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;t&&this.richInputElement?.contains(t)||(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(y);if(!t)this._host.requestUpdate();else try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?p(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){this._host.allowElements?(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()}})):this._host.value=this._segmentsToPlainText(e)}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),v(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),v(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return m(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=m(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;n&&!r&&t.innerHTML!==``&&(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
20
+ `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},x=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=_(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=te(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let r=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,r):this.virtualElement=new n.v(t.x,t.y,r),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),this._selectHighlighted(),!0):!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length===1&&this._isTriggerKey(t)&&ee(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
21
+ `)?null:r}_isTriggerKey(e){return this._triggers.some(t=>t.key===e)}_updateFilteredOptions(){let e=this.activeConfig;if(!e?.options){this.filteredOptions=[];return}if(e.lazy||!this.searchString){this.filteredOptions=e.options;return}let t=this.searchString.toLowerCase(),n=[],r=null;for(let i of e.options)i.header?r=i:(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];e?this.selectOption(e):this.close()}selectOption(e){if(!this.activeTrigger||!this.richInputElement)return;let t=this.activeTrigger,n=this.richInputElement,r=this._host.shadowRoot;ne(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);v(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{v(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}}))}},S=!1,C=0;function w(){S=!0}function T(){S=!1}function re(){document.addEventListener(`keydown`,w,!0),document.addEventListener(`mousedown`,T,!0),document.addEventListener(`pointerdown`,T,!0)}function E(){document.removeEventListener(`keydown`,w,!0),document.removeEventListener(`mousedown`,T,!0),document.removeEventListener(`pointerdown`,T,!0)}function D(){C===0&&typeof window<`u`&&re(),C++}function O(){C--,C<=0&&(C=0,E())}function k(){return S}function A(e,t,n){return i.html`
22
22
  <div class="top-actions ${t?``:`empty`}" part="top-actions">
23
23
  <slot name="top-actions" @slotchange=${n}></slot>
24
24
  </div>
@@ -119,24 +119,24 @@ require("./tokens.cjs");const e=require("./decorate-Dq34MBGe.cjs"),t=require("./
119
119
  >
120
120
  <luzmo-icon slot="icon" .icon=${o.luzmoArrowUp}></luzmo-icon>
121
121
  </luzmo-button>
122
- `}function I(e,t){if(!t)return e;let n=e.toLowerCase().indexOf(t.toLowerCase());return n===-1?e:i.html`${e.slice(0,n)}<mark class="trigger-option-highlight">${e.slice(n,n+t.length)}</mark>${e.slice(n+t.length)}`}function L(e,t){return i.html`
122
+ `}function I(e,t){if(!t)return e;let n=e.toLowerCase().indexOf(t.toLowerCase());if(n===-1)return e;let r=e.slice(0,n),a=e.slice(n,n+t.length),o=e.slice(n+t.length);return i.html`${r}<mark class="trigger-option-highlight">${a}</mark>${o}`}function L(e,t){let n=t?.iconTemplate?i.html`<span class="trigger-option-header-icon">${t.iconTemplate(e)}</span>`:e.icon?i.html`<luzmo-icon
123
+ class="trigger-option-header-icon"
124
+ .icon=${e.icon}
125
+ size="s"
126
+ ></luzmo-icon>`:i.nothing;return i.html`
123
127
  <div
124
128
  class="trigger-option-header"
125
129
  part="trigger-option-header"
126
130
  role="presentation"
127
131
  >
128
- ${t?.iconTemplate?i.html`<span class="trigger-option-header-icon">${t.iconTemplate(e)}</span>`:e.icon?i.html`<luzmo-icon
129
- class="trigger-option-header-icon"
130
- .icon=${e.icon}
131
- size="s"
132
- ></luzmo-icon>`:i.nothing}
132
+ ${n}
133
133
  <span class="trigger-option-header-label">${e.label}</span>
134
134
  </div>
135
- `}function R(e,t,n,r,a){let s=()=>{e.selectTriggerOption(t)},c=()=>{e.triggerMenuController.pointerMovedSinceKeyNav&&(e.triggerMenuController.hoveredIndex=n,e.highlightTriggerOption(n))},l=()=>{e.triggerMenuController.hoveredIndex===n&&(e.triggerMenuController.hoveredIndex=-1,e.requestUpdate())},u=n===r,d=n===e.triggerMenuController.hoveredIndex,f=e.triggerMenuController.searchString,p=i.html`${a?.iconTemplate?i.html`<span class="trigger-option-icon">${a.iconTemplate(t)}</span>`:t.icon?i.html`<luzmo-icon
135
+ `}function R(e,t,n,r,a){let s=()=>{e.selectTriggerOption(t)},c=()=>{e.triggerMenuController.pointerMovedSinceKeyNav&&(e.triggerMenuController.hoveredIndex=n,e.highlightTriggerOption(n))},l=()=>{e.triggerMenuController.hoveredIndex===n&&(e.triggerMenuController.hoveredIndex=-1,e.requestUpdate())},u=n===r,d=n===e.triggerMenuController.hoveredIndex,f=e.triggerMenuController.searchString,p=a?.iconTemplate?i.html`<span class="trigger-option-icon">${a.iconTemplate(t)}</span>`:t.icon?i.html`<luzmo-icon
136
136
  class="trigger-option-icon"
137
137
  .icon=${t.icon}
138
138
  size="s"
139
- ></luzmo-icon>`:i.nothing}
139
+ ></luzmo-icon>`:i.nothing,m=i.html`${p}
140
140
  <div class="trigger-option-content">
141
141
  <span class="trigger-option-label"
142
142
  >${a?.highlightSearch&&f?I(t.label,f):t.label}</span
@@ -154,7 +154,7 @@ require("./tokens.cjs");const e=require("./decorate-Dq34MBGe.cjs"),t=require("./
154
154
  @pointerenter=${c}
155
155
  @pointerleave=${l}
156
156
  >
157
- ${p}
157
+ ${m}
158
158
  ${u?i.html`<luzmo-icon
159
159
  class="trigger-option-enter-icon"
160
160
  .icon=${o.luzmoArrowEnter}
@@ -224,7 +224,7 @@ require("./tokens.cjs");const e=require("./decorate-Dq34MBGe.cjs"),t=require("./
224
224
  @focusout=${e.handleInputFocusOut}
225
225
  hide-validation-icons
226
226
  ></luzmo-text-field>
227
- `}var U={pdf:o.luzmoFilePdf,csv:o.luzmoFileCsv,xls:o.luzmoFileExcel,xlsx:o.luzmoFileExcel,mp4:o.luzmoFileVideo,mov:o.luzmoFileVideo,webm:o.luzmoFileVideo,avi:o.luzmoFileVideo,mkv:o.luzmoFileVideo},W=new Set([`__proto__`,`constructor`,`prototype`]);function G(e){return e.trim().toLowerCase().replace(/^\./,``)}function K(e){let t=e.lastIndexOf(`.`);if(!(t<=0||t===e.length-1))return G(e.slice(t+1))}function q(e){if(!e||Object.keys(e).length===0)return U;let t={...U};for(let[n,r]of Object.entries(e)){let e=G(n);!e||W.has(e)||(t[e]=r)}return t}function J(e,t){let n=K(e.name);return n?t[n]??o.luzmoFileDoc:o.luzmoFileDoc}function Y(e,t){return i.html`
227
+ `}var U={pdf:o.luzmoFilePdf,csv:o.luzmoFileCsv,xls:o.luzmoFileExcel,xlsx:o.luzmoFileExcel,mp4:o.luzmoFileVideo,mov:o.luzmoFileVideo,webm:o.luzmoFileVideo,avi:o.luzmoFileVideo,mkv:o.luzmoFileVideo},W=new Set([`__proto__`,`constructor`,`prototype`]);function G(e){return e.trim().toLowerCase().replace(/^\./,``)}function K(e){let t=e.lastIndexOf(`.`);if(!(t<=0||t===e.length-1))return G(e.slice(t+1))}function q(e){if(!e||Object.keys(e).length===0)return U;let t={...U};for(let[n,r]of Object.entries(e)){let e=G(n);e&&!W.has(e)&&(t[e]=r)}return t}function J(e,t){let n=K(e.name);return n?t[n]??o.luzmoFileDoc:o.luzmoFileDoc}function Y(e,t){return i.html`
228
228
  <div
229
229
  class="image-attachment"
230
230
  part="image-attachment"
@@ -291,7 +291,7 @@ require("./tokens.cjs");const e=require("./decorate-Dq34MBGe.cjs"),t=require("./
291
291
  aria-hidden="true"
292
292
  tabindex="-1"
293
293
  />
294
- `}var X=`luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field`;function Z(e){let t=[];return e.matches(X)&&t.push(e),t.push(...e.querySelectorAll(X)),t}function Q(e,t,n){if(!e)return;let r=e.querySelector(`slot[name="submit-button"]`);for(let e of r?.assignedElements()??[])for(let r of Z(e))n?(r.setAttribute(`pending`,``),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`)):t?(r.removeAttribute(`pending`),r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`pending`),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`));for(let r of[`slot[name="top-actions"]`,`slot[name="bottom-actions"]`,`slot[name="record-button"]`]){let i=e.querySelector(r);for(let e of i?.assignedElements()??[])for(let r of Z(e))t||n?(r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`disabled`),r.removeAttribute(`readonly`))}}function ce(e){let t=[],n=new Set([`luzmo-switch`,`luzmo-checkbox`,`luzmo-radio`]);for(let r of e)for(let e of Z(r)){let r={element:e,name:e.getAttribute(`name`)||e.getAttribute(`label`)||void 0};`value`in e&&(r.value=e.value);let i=e.tagName.toLowerCase();n.has(i)&&`checked`in e&&(r.checked=e.checked),t.push(r)}return t}var le=`: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 t.n(e.n,{validSizes:[`xs`,`s`,`m`,`l`,`xl`],defaultSize:`m`}){constructor(...e){super(...e),this.rows=1,this.grows=!1,this.maxRows=-1,this.recording=!1,this.hideSubmit=!1,this.disableSubmit=!1,this.singleLine=!1,this.placeholder=``,this.value=``,this.disabled=!1,this.readonly=!1,this.maxlength=-1,this.pending=!1,this.stoppable=!1,this.allowImages=!1,this.allowFiles=!1,this.acceptedFileTypes=[],this.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 s(this),this._recording=new c(this),this._richInput=new b(this),this._triggerMenu=new x(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=()=>{k()&&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[(0,i.unsafeCSS)(le)]}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(),D(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),this.addEventListener(`paste`,this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),O(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),this.removeEventListener(`paste`,this._handlePaste)}updated(e){super.updated(e),this._richInputElement&&(this._richInput.richInputElement=this._richInputElement,this._triggerMenu.richInputElement=this._richInputElement),(e.has(`pending`)||e.has(`disabled`))&&Q(this.shadowRoot,this.disabled,this.pending),this._recording.shouldFocusFinishButton&&this._recording.isRecording&&(this._recording.shouldFocusFinishButton=!1,requestAnimationFrame(()=>{this._finishRecordingButton?.focus()}))}focus(){this.allowElements&&this._richInputElement?this._richInputElement.focus():this._inputElement?.focus()}clear(){this._triggerMenu.close(),this.value=``,this._attachments.clearAttachments(),this.allowElements&&this._richInput.clearElements()}addFiles(e){return this._attachments.addFiles(e)}removeAttachment(e){this._attachments.removeAttachment(e)}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 i.html`
294
+ `}var X=`luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field`;function Z(e){let t=[];return e.matches(X)&&t.push(e),t.push(...e.querySelectorAll(X)),t}function Q(e,t,n){if(!e)return;let r=e.querySelector(`slot[name="submit-button"]`);for(let e of r?.assignedElements()??[])for(let r of Z(e))n?(r.setAttribute(`pending`,``),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`)):t?(r.removeAttribute(`pending`),r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`pending`),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`));for(let r of[`slot[name="top-actions"]`,`slot[name="bottom-actions"]`,`slot[name="record-button"]`]){let i=e.querySelector(r);for(let e of i?.assignedElements()??[])for(let r of Z(e))t||n?(r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`disabled`),r.removeAttribute(`readonly`))}}function ce(e){let t=[],n=new Set([`luzmo-switch`,`luzmo-checkbox`,`luzmo-radio`]);for(let r of e)for(let e of Z(r)){let r={element:e,name:e.getAttribute(`name`)||e.getAttribute(`label`)||void 0};`value`in e&&(r.value=e.value);let i=e.tagName.toLowerCase();n.has(i)&&`checked`in e&&(r.checked=e.checked),t.push(r)}return t}var le=`: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 t.n(e.n,{validSizes:[`xs`,`s`,`m`,`l`,`xl`],defaultSize:`m`}){constructor(...e){super(...e),this.rows=1,this.grows=!1,this.maxRows=-1,this.recording=!1,this.hideSubmit=!1,this.disableSubmit=!1,this.singleLine=!1,this.placeholder=``,this.value=``,this.disabled=!1,this.readonly=!1,this.maxlength=-1,this.pending=!1,this.stoppable=!1,this.allowImages=!1,this.allowFiles=!1,this.acceptedFileTypes=[],this.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 s(this),this._recording=new c(this),this._richInput=new b(this),this._triggerMenu=new x(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()}else(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=()=>{k()&&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[(0,i.unsafeCSS)(le)]}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(),D(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),this.addEventListener(`paste`,this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),O(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),this.removeEventListener(`paste`,this._handlePaste)}updated(e){super.updated(e),this._richInputElement&&(this._richInput.richInputElement=this._richInputElement,this._triggerMenu.richInputElement=this._richInputElement),(e.has(`pending`)||e.has(`disabled`))&&Q(this.shadowRoot,this.disabled,this.pending),this._recording.shouldFocusFinishButton&&this._recording.isRecording&&(this._recording.shouldFocusFinishButton=!1,requestAnimationFrame(()=>{this._finishRecordingButton?.focus()}))}focus(){this.allowElements&&this._richInputElement?this._richInputElement.focus():this._inputElement?.focus()}clear(){this._triggerMenu.close(),this.value=``,this._attachments.clearAttachments(),this.allowElements&&this._richInput.clearElements()}addFiles(e){return this._attachments.addFiles(e)}removeAttachment(e){this._attachments.removeAttachment(e)}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 i.html`
295
295
  ${se(this)}
296
296
  <div
297
297
  class="container ${this._inputFocused?`input-focused`:``} ${this._richInput?.isDragOver?`drag-over`:``}"
@@ -15,4 +15,4 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../tokens.cjs");const e=require("../question-box-DZnuGMBB.cjs");exports.DEFAULT_QUESTION_BOX_LABELS=e.a,exports.LuzmoQuestionBox=e.t,exports.QUESTION_BOX_OTHER_VALUE=e.o,exports.questionBoxOtherKey=e.s,exports.questionsToRequestedSchema=e.n,exports.requestedSchemaToQuestions=e.r,exports.toElicitationContent=e.i;
18
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../tokens.cjs");const e=require("../question-box-ym1eakXA.cjs");exports.DEFAULT_QUESTION_BOX_LABELS=e.a,exports.LuzmoQuestionBox=e.t,exports.QUESTION_BOX_OTHER_VALUE=e.o,exports.questionBoxOtherKey=e.s,exports.questionsToRequestedSchema=e.n,exports.requestedSchemaToQuestions=e.r,exports.toElicitationContent=e.i;
@@ -16,5 +16,4 @@
16
16
  * SOFTWARE.
17
17
  * */
18
18
  import "../tokens.js";
19
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../question-box-Bcm-P-UV.js";
20
- export { e as DEFAULT_QUESTION_BOX_LABELS, o as LuzmoQuestionBox, r as QUESTION_BOX_OTHER_VALUE, a as questionBoxOtherKey, n as questionsToRequestedSchema, i as requestedSchemaToQuestions, t as toElicitationContent };
19
+ export { a as DEFAULT_QUESTION_BOX_LABELS, t as LuzmoQuestionBox, o as QUESTION_BOX_OTHER_VALUE, s as questionBoxOtherKey, n as questionsToRequestedSchema, r as requestedSchemaToQuestions, i as toElicitationContent } from "../question-box-BJYYLghb.js";