@luzmo/lucero 2.2.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +34 -1
  3. package/components/accordion/index.cjs +2 -2
  4. package/components/accordion/index.js +3 -8
  5. package/components/{accordion-DpsYMoeb.cjs → accordion-BK0LfhmL.cjs} +2 -2
  6. package/components/{accordion-BDchhAjE.js → accordion-ciplqKwM.js} +2 -1
  7. package/components/action-bar/action-bar.d.ts +3 -3
  8. package/components/action-bar/index.cjs +2 -2
  9. package/components/action-bar/index.js +3 -8
  10. package/components/{action-bar-2FGCCKMW.js → action-bar-BZBIeGo7.js} +6 -5
  11. package/components/action-bar-DAqG_7VG.cjs +39 -0
  12. package/components/action-button/index.cjs +2 -2
  13. package/components/action-button/index.js +3 -8
  14. package/components/{action-button-OB5MM04X.js → action-button-BRijXjEz.js} +2 -1
  15. package/components/action-button-CX1uYbQp.cjs +22 -0
  16. package/components/action-group/index.cjs +2 -2
  17. package/components/action-group/index.js +3 -11
  18. package/components/{action-group-BQ-fyPYS.js → action-group-DSiruuF0.js} +5 -2
  19. package/components/action-group-oo7YV0EW.cjs +20 -0
  20. package/components/action-menu/index.cjs +2 -2
  21. package/components/action-menu/index.js +3 -8
  22. package/components/{action-menu-Diehg1Kc.js → action-menu-C0sHNsjG.js} +7 -6
  23. package/components/{action-menu-CtMswuyc.cjs → action-menu-CwzRbF61.cjs} +2 -2
  24. package/components/avatar/index.cjs +2 -2
  25. package/components/avatar/index.js +3 -8
  26. package/components/{avatar-Nb0368Wi.js → avatar-CwSyYAKV.js} +2 -1
  27. package/components/avatar-DHS5UGTJ.cjs +34 -0
  28. package/components/badge/index.cjs +2 -2
  29. package/components/badge/index.js +3 -8
  30. package/components/{badge-DP1uxXaZ.js → badge-D2Hjf-Ww.js} +2 -1
  31. package/components/badge-D8pIDEoq.cjs +23 -0
  32. package/components/button/index.cjs +2 -2
  33. package/components/button/index.js +4 -9
  34. package/components/button-Bvnidb4x.cjs +20 -0
  35. package/components/{button-DXWWEbir.js → button-DIV_j_U3.js} +4 -3
  36. package/components/button-base-DiNxrttk.cjs +1 -1
  37. package/components/button-base-DiPzVpp4.js +1 -1
  38. package/components/button-group/index.cjs +2 -2
  39. package/components/button-group/index.js +3 -8
  40. package/components/button-group-Du7R4SxZ.cjs +18 -0
  41. package/components/{button-group-DaANSInm.js → button-group-Duf-Igst.js} +2 -1
  42. package/components/calendar/index.cjs +2 -2
  43. package/components/calendar/index.js +3 -8
  44. package/components/{calendar-C8u_88jX.js → calendar-D1UtHvpY.js} +4 -3
  45. package/components/calendar-pQxEWdYC.cjs +138 -0
  46. package/components/chat-message/index.cjs +2 -2
  47. package/components/chat-message/index.js +3 -8
  48. package/components/chat-message-Dgo6h0rD.cjs +148 -0
  49. package/components/{chat-message-CXq0Trjx.js → chat-message-T6QIK2Bl.js} +528 -563
  50. package/components/chat-message-group/index.cjs +2 -2
  51. package/components/chat-message-group/index.js +3 -8
  52. package/components/chat-message-group-CvxdX3jt.cjs +24 -0
  53. package/components/{chat-message-group-D7vdn2gG.js → chat-message-group-k9lo-ZqD.js} +2 -1
  54. package/components/checkbox/index.cjs +2 -2
  55. package/components/checkbox/index.js +3 -8
  56. package/components/{checkbox-6YzkdHR4.js → checkbox-BEjvkjfc.js} +2 -1
  57. package/components/checkbox-ClVrkeLp.cjs +25 -0
  58. package/components/checkbox-mixin-jqmrh48O.js +1 -1
  59. package/components/checkbox-mixin-rFRXqyrK.cjs +1 -1
  60. package/components/{close-button-BntGLAcp.cjs → close-button-BAELImQY.cjs} +2 -2
  61. package/components/{close-button-D12zZ9zC.js → close-button-Dlvtf9lB.js} +3 -3
  62. package/components/color-area/index.cjs +2 -2
  63. package/components/color-area/index.js +3 -8
  64. package/components/color-area-CmKlQG1i.cjs +80 -0
  65. package/components/{color-area-DMpXKgPY.js → color-area-lbg8wwZG.js} +3 -2
  66. package/components/color-controller-DbyPc33Y.cjs +1 -1
  67. package/components/color-controller-Rg_Zl0sT.js +1 -1
  68. package/components/color-field/index.cjs +2 -2
  69. package/components/color-field/index.js +3 -8
  70. package/components/{color-field-BNGnBRSO.cjs → color-field-BH9x46k_.cjs} +2 -2
  71. package/components/{color-field-CUdHxonc.js → color-field-C9S-Fv46.js} +2 -1
  72. package/components/color-handle/color-handle.d.ts +1 -1
  73. package/components/color-handle/index.cjs +2 -2
  74. package/components/color-handle/index.js +3 -8
  75. package/components/color-handle-2iFLp9FN.cjs +24 -0
  76. package/components/{color-handle-TKbLs1ax.js → color-handle-BEDQ1RcS.js} +3 -2
  77. package/components/color-loupe/index.cjs +2 -2
  78. package/components/color-loupe/index.js +3 -11
  79. package/components/color-loupe-6NcLbFco.cjs +56 -0
  80. package/components/{color-loupe-DAxrNPJz.js → color-loupe-CqHyyvjQ.js} +5 -2
  81. package/components/color-menu/index.cjs +2 -2
  82. package/components/color-menu/index.js +3 -8
  83. package/components/color-menu-BYTgxLQG.cjs +89 -0
  84. package/components/{color-menu-jkdcr5ir.js → color-menu-qJK_clDq.js} +9 -8
  85. package/components/color-palette/index.cjs +2 -2
  86. package/components/color-palette/index.js +3 -8
  87. package/components/{color-palette-FQyIMSwP.js → color-palette-CqiO5ohz.js} +2 -1
  88. package/components/color-palette-group/index.cjs +2 -2
  89. package/components/color-palette-group/index.js +3 -8
  90. package/components/color-palette-group-D4k_7pW6.cjs +28 -0
  91. package/components/{color-palette-group-o6bnF-Ir.js → color-palette-group-zByrO_qb.js} +2 -1
  92. package/components/color-palette-x6W09EBL.cjs +18 -0
  93. package/components/color-picker/index.cjs +2 -2
  94. package/components/color-picker/index.js +3 -8
  95. package/components/{color-picker-C4pvkA2k.cjs → color-picker-BAikpqUT.cjs} +2 -2
  96. package/components/{color-picker-DF3gBQvH.js → color-picker-CSuAPo5X.js} +6 -5
  97. package/components/color-slider/index.cjs +2 -2
  98. package/components/color-slider/index.js +3 -8
  99. package/components/{color-slider-DejvUYrW.js → color-slider-0JzdSRTy.js} +3 -2
  100. package/components/color-slider-CMW8gJ0Z.cjs +57 -0
  101. package/components/condition-attribute-with-id-BdnTdWKz.js +1 -1
  102. package/components/condition-attribute-with-id-Cw92IbcP.cjs +1 -1
  103. package/components/date-range-picker/index.cjs +2 -2
  104. package/components/date-range-picker/index.js +3 -8
  105. package/components/date-range-picker-D149LIGC.cjs +180 -0
  106. package/components/{date-range-picker-DCOv5PYH.js → date-range-picker-DKVmGpUC.js} +7 -6
  107. package/components/date-time-picker/index.cjs +2 -2
  108. package/components/date-time-picker/index.js +3 -8
  109. package/components/{date-time-picker-ClgATXBy.js → date-time-picker-6c19YzwF.js} +7 -6
  110. package/components/date-time-picker-CRpvRk9T.cjs +105 -0
  111. package/components/decorate-CkCg3wfh.js +1 -1
  112. package/components/decorate-Dq34MBGe.cjs +1 -1
  113. package/components/dependency-manger-BSaHw9ju.cjs +1 -1
  114. package/components/dependency-manger-wHEXoU92.js +1 -1
  115. package/components/divider/index.cjs +2 -2
  116. package/components/divider/index.js +3 -8
  117. package/components/divider-BcE8D-pH.cjs +18 -0
  118. package/components/{divider-CGbT-CL8.js → divider-Cz5nyvP9.js} +2 -1
  119. package/components/divider.module-BV6tmpOY.cjs +1 -1
  120. package/components/divider.module-CPEKsaqR.js +1 -1
  121. package/components/element-resolution-BjaAlqwX.cjs +1 -1
  122. package/components/element-resolution-gap51AVo.js +1 -1
  123. package/components/field-group/index.cjs +2 -2
  124. package/components/field-group/index.js +2 -7
  125. package/components/field-group-C_kRq7pJ.js +1 -1
  126. package/components/field-group-Dd5xYczm.cjs +1 -1
  127. package/components/field-label/index.cjs +2 -2
  128. package/components/field-label/index.js +3 -11
  129. package/components/field-label-C0vfY1b6.cjs +25 -0
  130. package/components/{field-label-B9S41b7c.js → field-label-C28wWqC5.js} +5 -2
  131. package/components/focus-group-C8lOjbi9.cjs +1 -1
  132. package/components/focus-group-DVPa1zxz.js +1 -1
  133. package/components/focus-visible-Bt2uDmuM.js +1 -1
  134. package/components/focus-visible-DNHNlrty.cjs +1 -1
  135. package/components/focusable-B6h03pAe.cjs +1 -1
  136. package/components/focusable-DuP0-Kuy.js +1 -1
  137. package/components/focusable-selectors-BWpiuXz5.js +1 -1
  138. package/components/focusable-selectors-DJqGLTJo.cjs +1 -1
  139. package/components/get-label-from-slot-Bo9mqYCZ.js +1 -1
  140. package/components/get-label-from-slot-TV4APBYs.cjs +1 -1
  141. package/components/icon/index.cjs +2 -2
  142. package/components/icon/index.js +3 -8
  143. package/components/{icon-DB1DRieA.js → icon-CsJZMhIm.js} +2 -1
  144. package/components/icon-zOPAWCdx.cjs +18 -0
  145. package/components/index.cjs +2 -2
  146. package/components/index.js +64 -75
  147. package/components/infield-button/index.cjs +2 -2
  148. package/components/infield-button/index.js +3 -8
  149. package/components/{infield-button-C1mz69Qf.js → infield-button-DiE8R6ol.js} +2 -1
  150. package/components/infield-button-kilVRjwB.cjs +22 -0
  151. package/components/label/index.cjs +2 -2
  152. package/components/label/index.js +3 -8
  153. package/components/{label-DPG13Ib0.cjs → label-B3zs6OX0.cjs} +2 -2
  154. package/components/{label-B1HYQ4Pp.js → label-e6Y13vrS.js} +2 -1
  155. package/components/language-resolution-BaKYDD1a.js +1 -1
  156. package/components/language-resolution-CSjktYg5.cjs +1 -1
  157. package/components/like-anchor-BX4PSB3d.cjs +1 -1
  158. package/components/like-anchor-DXCaEv7O.js +1 -1
  159. package/components/manage-help-text-ByLb0QYX.js +1 -1
  160. package/components/manage-help-text-DtFJsl0k.cjs +1 -1
  161. package/components/menu/index.cjs +2 -2
  162. package/components/menu/index.js +3 -8
  163. package/components/{menu-Cq7BEv5Y.cjs → menu-CrhA2iPZ.cjs} +3 -3
  164. package/components/{menu-DY8q8qyn.js → menu-fdJseu1y.js} +3 -2
  165. package/components/multi-language-field/index.cjs +2 -2
  166. package/components/multi-language-field/index.js +3 -8
  167. package/components/{multi-language-field-Cfy3M_ZS.cjs → multi-language-field-BndVikur.cjs} +2 -2
  168. package/components/{multi-language-field-DhQ98r2D.js → multi-language-field-vJMK-osi.js} +3 -2
  169. package/components/notice/index.cjs +2 -2
  170. package/components/notice/index.js +3 -8
  171. package/components/notice-CsWaqcq3.cjs +60 -0
  172. package/components/{notice-s6QHF_tq.js → notice-N0-lxEf_.js} +4 -3
  173. package/components/number-field/index.cjs +2 -2
  174. package/components/number-field/index.js +3 -8
  175. package/components/{number-field-BqnZS9Gx.js → number-field-DAOy_AvQ.js} +3 -2
  176. package/components/number-field-xxXgR70l.cjs +57 -0
  177. package/components/observe-slot-presence-BKY6n06-.js +1 -1
  178. package/components/observe-slot-presence-CS8pMePk.cjs +1 -1
  179. package/components/observe-slot-text-CvL-2ey3.cjs +1 -1
  180. package/components/observe-slot-text-Db8Kx3P-.js +1 -1
  181. package/components/options/index.cjs +2 -2
  182. package/components/options/index.js +3 -8
  183. package/components/options/options.d.ts +1 -0
  184. package/components/{options-Bd6Uly5_.cjs → options-CP9V2CSJ.cjs} +2 -2
  185. package/components/{options-CpaaBaxn.js → options-D_ifU0DH.js} +4 -2
  186. package/components/overlay/index.cjs +2 -2
  187. package/components/overlay/index.js +4 -10
  188. package/components/overlay/placement-controller.d.ts +2 -1
  189. package/components/overlay-Dn7EbA_W.cjs +102 -0
  190. package/components/{overlay-CyBsHuOL.js → overlay-DpHIYJtd.js} +282 -77
  191. package/components/{pending-state-a527YMWV.cjs → pending-state-CGHvTtKR.cjs} +2 -2
  192. package/components/{pending-state-BeG7qBDP.js → pending-state-D_b45qvi.js} +2 -2
  193. package/components/picker/index.cjs +2 -2
  194. package/components/picker/index.js +3 -8
  195. package/components/picker-BliQJlY_.cjs +124 -0
  196. package/components/{picker-f4fSGZX8.js → picker-D0fMBZLb.js} +6 -6
  197. package/components/picker-button/index.cjs +2 -2
  198. package/components/picker-button/index.js +3 -8
  199. package/components/picker-button-B8Jbf9jK.cjs +37 -0
  200. package/components/{picker-button-DVzLeTq8.js → picker-button-CJQJshbo.js} +3 -2
  201. package/components/platform-BAjeJp2W.cjs +1 -1
  202. package/components/platform-Ce9pNsR9.js +1 -1
  203. package/components/popover/index.cjs +2 -2
  204. package/components/popover/index.js +3 -11
  205. package/components/popover-BsdqkvKI.cjs +30 -0
  206. package/components/{popover-DTsrgH-f.js → popover-DC8tkee-.js} +17 -15
  207. package/components/progress-bar/index.cjs +2 -2
  208. package/components/progress-bar/index.js +3 -8
  209. package/components/progress-bar-CrodWzcc.cjs +34 -0
  210. package/components/{progress-bar-BJO8j1aX.js → progress-bar-D4iFHkp7.js} +2 -1
  211. package/components/progress-circle/index.cjs +2 -2
  212. package/components/progress-circle/index.js +3 -11
  213. package/components/{progress-circle-BVToDWX8.js → progress-circle-By6qUQYe.js} +5 -2
  214. package/components/progress-circle-bO_VAX3N.cjs +33 -0
  215. package/components/progress-steps/index.cjs +2 -2
  216. package/components/progress-steps/index.d.ts +2 -1
  217. package/components/progress-steps/index.js +4 -9
  218. package/components/progress-steps/progress-steps-model.d.ts +23 -0
  219. package/components/progress-steps/progress-steps.d.ts +82 -109
  220. package/components/progress-steps/types.d.ts +18 -3
  221. package/components/progress-steps-Y-Tgh_fQ.cjs +98 -0
  222. package/components/progress-steps-ohguJaPa.js +368 -0
  223. package/components/prompt-box/index.cjs +2 -2
  224. package/components/prompt-box/index.js +3 -8
  225. package/components/{prompt-box-BY1xKFZO.js → prompt-box-Cz_m2wso.js} +8 -8
  226. package/components/{prompt-box-Dg9S0C5x.cjs → prompt-box-sp9_-Hnx.cjs} +3 -3
  227. package/components/question-box/index.cjs +2 -2
  228. package/components/question-box/index.js +3 -8
  229. package/components/{question-box-CZxQTeS9.cjs → question-box-Bdtsgv1k.cjs} +2 -2
  230. package/components/{question-box-CyojSIop.js → question-box-D7YSi_6c.js} +9 -8
  231. package/components/radio/index.cjs +2 -2
  232. package/components/radio/index.js +3 -8
  233. package/components/{radio-DRI4on-W.js → radio-B6hX9Klr.js} +2 -1
  234. package/components/radio-CRTfoEX_.cjs +22 -0
  235. package/components/random-id-BcUJAxUZ.cjs +1 -1
  236. package/components/random-id-CiMDyX7v.js +1 -1
  237. package/components/rolldown-runtime-Dy4uBu1J.js +1 -1
  238. package/components/roving-tabindex-BoPao4td.cjs +1 -1
  239. package/components/roving-tabindex-pomAn3z-.js +1 -1
  240. package/components/scaled-indicator-C-TupV4L.js +1 -1
  241. package/components/scaled-indicator-DLJIztx0.cjs +1 -1
  242. package/components/search/index.cjs +2 -2
  243. package/components/search/index.js +3 -8
  244. package/components/{search-C-EPZmTG.js → search-DEjLSJ96.js} +4 -3
  245. package/components/search-PxJEuwHt.cjs +47 -0
  246. package/components/segments-factory-BCRi1NKb.js +1 -1
  247. package/components/segments-factory-DtPyN5sh.cjs +1 -1
  248. package/components/select/index.cjs +2 -2
  249. package/components/select/index.js +3 -8
  250. package/components/{select-BbFG38ag.js → select-BUgHi69P.js} +9 -8
  251. package/components/select-DsGVB01K.cjs +158 -0
  252. package/components/sized-mixin-BT7cv-fT.cjs +1 -1
  253. package/components/sized-mixin-DzQTebN-.js +1 -1
  254. package/components/skeleton-loader/index.cjs +2 -2
  255. package/components/skeleton-loader/index.js +3 -8
  256. package/components/{skeleton-loader-C0LH3prK.js → skeleton-loader-BeCsYADg.js} +2 -1
  257. package/components/skeleton-loader-CNcwCh4V.cjs +18 -0
  258. package/components/slider/index.cjs +2 -2
  259. package/components/slider/index.js +3 -8
  260. package/components/{slider-B7QAhDTM.js → slider-Bsl8Xrme.js} +3 -2
  261. package/components/{slider-DxliwjT6.cjs → slider-C_8pSK4N.cjs} +2 -2
  262. package/components/slottable-request-event-C6eb7Ch3.cjs +1 -1
  263. package/components/slottable-request-event-MRSZbgTu.js +1 -1
  264. package/components/split-view/index.cjs +2 -2
  265. package/components/split-view/index.js +3 -8
  266. package/components/split-view-BwCFYey6.cjs +43 -0
  267. package/components/{split-view-FxpiSCem.js → split-view-CDwHDmII.js} +2 -1
  268. package/components/status-light/index.cjs +2 -2
  269. package/components/status-light/index.js +3 -8
  270. package/components/status-light-D3hdx8Pd.cjs +21 -0
  271. package/components/{status-light-DC8qqO8q.js → status-light-DwUnjE3t.js} +2 -1
  272. package/components/strategies-BwNbUXYS.cjs +1 -1
  273. package/components/strategies-Cl59wdNZ.js +1 -1
  274. package/components/streaming-listener-Bfyk6Fsx.cjs +1 -1
  275. package/components/streaming-listener-CtcMpYfS.js +1 -1
  276. package/components/swatch/index.cjs +2 -2
  277. package/components/swatch/index.js +3 -8
  278. package/components/{swatch-C2ty27bJ.js → swatch-Bj2FARl1.js} +2 -1
  279. package/components/{swatch-DUmBmg4S.cjs → swatch-CQ0inIHK.cjs} +2 -2
  280. package/components/switch/index.cjs +2 -2
  281. package/components/switch/index.js +3 -8
  282. package/components/{switch-DOuXlFwI.js → switch-CpG-hSWY.js} +2 -1
  283. package/components/switch-qwpYXVnO.cjs +22 -0
  284. package/components/tabs/index.cjs +2 -2
  285. package/components/tabs/index.js +3 -8
  286. package/components/{tabs-CjY4eX9W.js → tabs-BD_ATrBg.js} +4 -3
  287. package/components/{tabs-ZwcVrVub.cjs → tabs-DxOD4QNt.cjs} +2 -2
  288. package/components/tags/index.cjs +2 -2
  289. package/components/tags/index.js +3 -8
  290. package/components/{tags-BCKNzEaH.js → tags-BIpFgOYy.js} +4 -3
  291. package/components/tags-fLCGajv_.cjs +47 -0
  292. package/components/text-field/index.cjs +2 -2
  293. package/components/text-field/index.js +3 -8
  294. package/components/text-field-3fDtTQkR.cjs +1 -1
  295. package/components/text-field-CbN4nydd.cjs +21 -0
  296. package/components/text-field-CmSym2QK.js +1 -1
  297. package/components/{text-field-C2MHZbTp.js → text-field-CmyqQxq0.js} +2 -1
  298. package/components/text-field.module-BHhBReKL.js +1 -1
  299. package/components/text-field.module-l8CaTCwE.cjs +1 -1
  300. package/components/toast/index.cjs +2 -2
  301. package/components/toast/index.js +3 -8
  302. package/components/toast-DRrGgznK.cjs +51 -0
  303. package/components/{toast-DlOeMDCI.js → toast-KwHx-agn.js} +3 -2
  304. package/components/tokens.cjs +18 -0
  305. package/components/tokens.css +18 -0
  306. package/components/tokens.js +23 -0
  307. package/components/tooltip/index.cjs +2 -2
  308. package/components/tooltip/index.js +3 -8
  309. package/components/tooltip-DjOW52n2.cjs +45 -0
  310. package/components/{tooltip-Byl1h4nN.js → tooltip-xTa9Q5JW.js} +2 -1
  311. package/components/top-nav/index.cjs +2 -2
  312. package/components/top-nav/index.js +3 -8
  313. package/components/top-nav-81IKEGjR.cjs +41 -0
  314. package/components/{top-nav-B9YKdtFB.js → top-nav-CXjnpdFR.js} +2 -1
  315. package/components/utils.cjs +1 -1
  316. package/components/utils.js +1 -1
  317. package/components/voice-recorder-B1tBrGTV.cjs +1 -1
  318. package/components/voice-recorder-CTg3kRxx.js +1 -1
  319. package/custom-elements.json +1 -1
  320. package/package.json +11 -2
  321. package/standalone/accordion.js +45 -0
  322. package/standalone/action-bar.js +41 -0
  323. package/standalone/action-button.js +20 -0
  324. package/standalone/action-group.js +20 -0
  325. package/standalone/action-menu.js +58 -0
  326. package/standalone/avatar.js +36 -0
  327. package/standalone/badge.js +20 -0
  328. package/standalone/button-group.js +20 -0
  329. package/standalone/button.js +20 -0
  330. package/standalone/calendar.js +20 -0
  331. package/standalone/chat-message-group.js +26 -0
  332. package/standalone/chat-message.js +150 -0
  333. package/standalone/checkbox.js +20 -0
  334. package/standalone/chunks/NumberFormatter-DMCfW685.js +2 -0
  335. package/standalone/chunks/NumberParser-r_jv94LA.js +2 -0
  336. package/standalone/chunks/action-button-BzzPBqt5.js +6 -0
  337. package/standalone/chunks/action-group-DTxf-0tP.js +4 -0
  338. package/standalone/chunks/async-directive-BA2_dM-5.js +2 -0
  339. package/standalone/chunks/async-directive-CPdA0BOw.js +2 -0
  340. package/standalone/chunks/badge-DD-tMgzi.js +7 -0
  341. package/standalone/chunks/button-Bv3v7VbN.js +4 -0
  342. package/standalone/chunks/button-Dykw3TSO.js +2 -0
  343. package/standalone/chunks/button-base-C7jeeyLp.js +9 -0
  344. package/standalone/chunks/calendar-ZwUYkzVq.js +122 -0
  345. package/standalone/chunks/checkbox-OQtakoP8.js +9 -0
  346. package/standalone/chunks/checkbox-mixin-BAQWmwps.js +11 -0
  347. package/standalone/chunks/class-map-CxQ0PcQP.js +2 -0
  348. package/standalone/chunks/clear-button-pVGfwye8.js +2 -0
  349. package/standalone/chunks/close-button-RpPiwBdf.js +2 -0
  350. package/standalone/chunks/color-area-Cj8oPsIF.js +64 -0
  351. package/standalone/chunks/color-controller-fJNWRHVI.js +2 -0
  352. package/standalone/chunks/color-field-CrCF4kqZ.js +7 -0
  353. package/standalone/chunks/color-handle-BHrAxEG2.js +8 -0
  354. package/standalone/chunks/color-loupe-C34cms5t.js +40 -0
  355. package/standalone/chunks/color-menu-B5UOMYmX.js +73 -0
  356. package/standalone/chunks/color-slider-CAqvxsgS.js +41 -0
  357. package/standalone/chunks/condition-attribute-with-id-Dv8Yd-N1.js +2 -0
  358. package/standalone/chunks/dependency-manger-BPrqqTnJ.js +2 -0
  359. package/standalone/chunks/directive-Du_3lDov.js +2 -0
  360. package/standalone/chunks/directive-helpers-Bu8icI7Y.js +2 -0
  361. package/standalone/chunks/divider-Bf9Drp2z.js +2 -0
  362. package/standalone/chunks/divider.module-sYekRHno.js +2 -0
  363. package/standalone/chunks/element-resolution-DX0ea-Cd.js +2 -0
  364. package/standalone/chunks/field-group-D8EjgC6F.js +7 -0
  365. package/standalone/chunks/field-label-VWHDlW9_.js +9 -0
  366. package/standalone/chunks/flow-aCcJ5kgi.js +2 -0
  367. package/standalone/chunks/focus-group-Cl6MLy-C.js +2 -0
  368. package/standalone/chunks/focusable-selectors-D5e0OxNL.js +2 -0
  369. package/standalone/chunks/get-label-from-slot-Dfoiptqo.js +2 -0
  370. package/standalone/chunks/icon-Dy6J1QeX.js +2 -0
  371. package/{components/infield-button-CYO9V1eX.cjs → standalone/chunks/infield-button-D03MpU_s.js} +3 -19
  372. package/standalone/chunks/keyed-CNWmQd2J.js +2 -0
  373. package/standalone/chunks/language-resolution-BWHk9A73.js +2 -0
  374. package/standalone/chunks/lit-BN_lRQbJ.js +3 -0
  375. package/standalone/chunks/lucero-runtime-DGJ9-isg.js +16 -0
  376. package/standalone/chunks/luzmo-icons-CJa-aByT.js +13 -0
  377. package/standalone/chunks/manage-help-text-Cl9OJ2xf.js +14 -0
  378. package/standalone/chunks/menu-nolJetlp.js +92 -0
  379. package/standalone/chunks/number-field-C3DYfl1s.js +41 -0
  380. package/standalone/chunks/observe-slot-presence-DWPtw22K.js +2 -0
  381. package/standalone/chunks/options-BjRSj630.js +89 -0
  382. package/standalone/chunks/overlay-C4ir0iyC.js +31 -0
  383. package/standalone/chunks/overlay-C_XW8yry.js +57 -0
  384. package/standalone/chunks/pending-state-DxeRqe6Q.js +11 -0
  385. package/standalone/chunks/picker-button-BeXTIgUt.js +21 -0
  386. package/standalone/chunks/picker-hbMQOkUX.js +108 -0
  387. package/standalone/chunks/platform-BfrBbd97.js +2 -0
  388. package/standalone/chunks/popover-BsB3dmQe.js +14 -0
  389. package/standalone/chunks/progress-circle-CEx1b5Sv.js +17 -0
  390. package/standalone/chunks/property-CLXrnTGx.js +2 -0
  391. package/standalone/chunks/radio-2vHhfmHw.js +6 -0
  392. package/standalone/chunks/random-id-CeLe5NEk.js +2 -0
  393. package/standalone/chunks/repeat-CZdNcszA.js +2 -0
  394. package/standalone/chunks/rolldown-runtime-DWK5is8u.js +2 -0
  395. package/standalone/chunks/roving-tabindex-CB4xC55P.js +2 -0
  396. package/standalone/chunks/scaled-indicator-k-1JmS0b.js +10 -0
  397. package/standalone/chunks/segments-factory-Ch3AAizU.js +2 -0
  398. package/standalone/chunks/skeleton-loader-BxYcRRJr.js +2 -0
  399. package/standalone/chunks/slottable-request-event-D9FhiqH1.js +2 -0
  400. package/standalone/chunks/strategies-kad_0dTB.js +2 -0
  401. package/standalone/chunks/streaming-listener-DFczLm8I.js +2 -0
  402. package/standalone/chunks/style-map-D4QeV3m0.js +2 -0
  403. package/standalone/chunks/swatch-m_4GcO2_.js +33 -0
  404. package/standalone/chunks/text-field-BnZtyodU.js +5 -0
  405. package/standalone/chunks/text-field-BrlDeJsx.js +65 -0
  406. package/standalone/chunks/text-field.module-ClDE7laI.js +2 -0
  407. package/standalone/chunks/tooltip-DB6jRVyB.js +29 -0
  408. package/standalone/chunks/unsafe-html-BPQaWy0v.js +2 -0
  409. package/standalone/chunks/voice-recorder--d34tYNu.js +2 -0
  410. package/standalone/chunks/when-BWvpqCBs.js +2 -0
  411. package/standalone/clear-button.js +20 -0
  412. package/standalone/close-button.js +20 -0
  413. package/standalone/color-area.js +20 -0
  414. package/standalone/color-field.js +20 -0
  415. package/standalone/color-handle.js +20 -0
  416. package/standalone/color-loupe.js +20 -0
  417. package/standalone/color-menu.js +20 -0
  418. package/standalone/color-palette-group.js +30 -0
  419. package/standalone/color-palette.js +20 -0
  420. package/standalone/color-picker.js +50 -0
  421. package/standalone/color-slider.js +20 -0
  422. package/standalone/date-range-picker.js +182 -0
  423. package/standalone/date-time-picker.js +107 -0
  424. package/standalone/divider.js +20 -0
  425. package/standalone/field-group.js +20 -0
  426. package/standalone/field-label.js +20 -0
  427. package/standalone/icon.js +20 -0
  428. package/standalone/infield-button.js +20 -0
  429. package/standalone/label.js +20 -0
  430. package/standalone/lit.js +20 -0
  431. package/standalone/manifest.json +152 -0
  432. package/standalone/menu.js +20 -0
  433. package/standalone/multi-language-field.js +42 -0
  434. package/standalone/notice.js +62 -0
  435. package/standalone/number-field.js +20 -0
  436. package/standalone/options.js +20 -0
  437. package/standalone/overlay.js +20 -0
  438. package/standalone/picker-button.js +20 -0
  439. package/standalone/picker.js +20 -0
  440. package/standalone/popover.js +20 -0
  441. package/standalone/progress-bar.js +36 -0
  442. package/standalone/progress-circle.js +20 -0
  443. package/standalone/progress-steps.js +100 -0
  444. package/standalone/prompt-box.js +316 -0
  445. package/standalone/question-box.js +403 -0
  446. package/standalone/radio.js +20 -0
  447. package/standalone/search.js +49 -0
  448. package/standalone/select.js +160 -0
  449. package/standalone/skeleton-loader.js +20 -0
  450. package/standalone/slider.js +137 -0
  451. package/standalone/split-view.js +45 -0
  452. package/standalone/status-light.js +23 -0
  453. package/standalone/swatch.js +20 -0
  454. package/standalone/switch.js +24 -0
  455. package/standalone/tabs.js +78 -0
  456. package/standalone/tags.js +49 -0
  457. package/standalone/text-field.js +20 -0
  458. package/standalone/toast.js +53 -0
  459. package/standalone/tokens.css +1 -0
  460. package/standalone/tokens.js +20 -0
  461. package/standalone/tooltip.js +20 -0
  462. package/standalone/top-nav.js +43 -0
  463. package/standalone/utils.js +20 -0
  464. package/styles/tokens.d.ts +1 -0
  465. package/utils/reactive-controllers/pending-state.d.ts +1 -1
  466. package/components/action-bar-CXT4lT30.cjs +0 -39
  467. package/components/action-button-BKnzGQR6.cjs +0 -22
  468. package/components/action-group-D1G30Iir.cjs +0 -20
  469. package/components/avatar-Cu9c0sCS.cjs +0 -34
  470. package/components/badge-XJP3sZhB.cjs +0 -23
  471. package/components/button-group-6M8M-TUI.cjs +0 -18
  472. package/components/button-l0fRopSN.cjs +0 -20
  473. package/components/calendar-DZkKMs2L.cjs +0 -138
  474. package/components/chat-message-group-CzCwyW7F.cjs +0 -24
  475. package/components/chat-message-t4a0r3R6.cjs +0 -148
  476. package/components/checkbox-DdatW4xE.cjs +0 -25
  477. package/components/color-area-B_pRu9Vf.cjs +0 -80
  478. package/components/color-handle-DIoVrLRF.cjs +0 -24
  479. package/components/color-loupe-sY1wOisV.cjs +0 -56
  480. package/components/color-menu-CdETqhbP.cjs +0 -89
  481. package/components/color-palette-CidHsmE0.cjs +0 -18
  482. package/components/color-palette-group-B4r4tPfY.cjs +0 -28
  483. package/components/color-slider-DLEM1nGA.cjs +0 -57
  484. package/components/date-range-picker-9ioTuDZq.cjs +0 -180
  485. package/components/date-time-picker-DRjQTyGS.cjs +0 -105
  486. package/components/divider-wana0uPI.cjs +0 -18
  487. package/components/field-label-C5vdJ1ys.cjs +0 -25
  488. package/components/icon-CSqR-OOO.cjs +0 -18
  489. package/components/notice-xgrLOiC0.cjs +0 -60
  490. package/components/number-field-04RFqrUa.cjs +0 -57
  491. package/components/overlay-B-gaxspw.cjs +0 -47
  492. package/components/overlay-CPZvL0Ic.cjs +0 -73
  493. package/components/overlay-DdIs4w5M.js +0 -227
  494. package/components/picker-D225VAbx.cjs +0 -124
  495. package/components/picker-button-BR7oM7_M.cjs +0 -37
  496. package/components/popover-DWWYpY-k.cjs +0 -30
  497. package/components/progress-bar-C7wJ5bxS.cjs +0 -34
  498. package/components/progress-circle-DyApSKdm.cjs +0 -33
  499. package/components/progress-steps-Ba4VbAKR.cjs +0 -96
  500. package/components/progress-steps-nJ8Xw-nG.js +0 -262
  501. package/components/radio-O3a1rmCe.cjs +0 -22
  502. package/components/search-BhMhfCBh.cjs +0 -47
  503. package/components/select-D5fQgPPj.cjs +0 -158
  504. package/components/skeleton-loader-Cm50Ztzk.cjs +0 -18
  505. package/components/split-view-5uMSU_b7.cjs +0 -43
  506. package/components/status-light-BYBYorYy.cjs +0 -21
  507. package/components/switch-B-gu-War.cjs +0 -22
  508. package/components/tags-B28zWEic.cjs +0 -47
  509. package/components/text-field-wJK2bzMT.cjs +0 -21
  510. package/components/toast-COQ7Xl5T.cjs +0 -51
  511. package/components/tooltip-Sm0pruxL.cjs +0 -45
  512. package/components/top-nav-BcZLCBP_.cjs +0 -41
@@ -0,0 +1,368 @@
1
+ /*! * Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
+ * This license allows users with a current active Luzmo account to use Lucero.
7
+ * This license terminates automatically if a user no longer has an active Luzmo account.
8
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
+ * SOFTWARE.
17
+ * */
18
+ import "./tokens.js";
19
+ import { n as e, t } from "./decorate-CkCg3wfh.js";
20
+ import { n } from "./sized-mixin-DzQTebN-.js";
21
+ import { r, t as i } from "./language-resolution-BaKYDD1a.js";
22
+ import { html as a, nothing as o, unsafeCSS as s } from "lit";
23
+ import { property as c, state as l } from "lit/decorators.js";
24
+ import { luzmoAlert as u, luzmoAngleRight as d, luzmoCheckCircleOutline as f, luzmoClose14 as p, luzmoIcon as m } from "@luzmo/icons";
25
+ import { classMap as h } from "lit/directives/class-map.js";
26
+ import { repeat as g } from "lit/directives/repeat.js";
27
+ import { keyed as _ } from "lit/directives/keyed.js";
28
+ //#region src/components/progress-steps/progress-steps-model.ts
29
+ function v(e) {
30
+ for (let t = (e?.length ?? 0) - 1; t >= 0; t--) if (e[t].status === "inProgress") return e[t];
31
+ return null;
32
+ }
33
+ function y(e) {
34
+ let t = v(e.children);
35
+ return t ? y(t) ?? t : null;
36
+ }
37
+ function b(e, t) {
38
+ return typeof e == "object" ? e[t] ?? e.en ?? Object.values(e)[0] ?? "" : String(e);
39
+ }
40
+ function x(e) {
41
+ return !!e?.children?.length;
42
+ }
43
+ function S(e) {
44
+ let t = v(e?.children);
45
+ return t ? {
46
+ mainStep: t,
47
+ subStep: y(t)
48
+ } : null;
49
+ }
50
+ function C(e) {
51
+ let t = 0;
52
+ for (let n of e?.children ?? []) t += +(n.status === "error") + C(n);
53
+ return t;
54
+ }
55
+ function w(e) {
56
+ return !!e?.children?.some((e) => e.status === "success" || e.status === "error");
57
+ }
58
+ function T(e) {
59
+ return e?.status === "success" || e?.status === "error";
60
+ }
61
+ function E(e, t) {
62
+ return e.description ? e.description.replaceAll(/\{\{(\w+)\}\}/g, (n, r) => {
63
+ let i = e.descriptionMetadata?.[r];
64
+ return i == null ? n : Array.isArray(i) ? i.map((e) => b(e, t)).join(", ") : b(i, t);
65
+ }) : e.step;
66
+ }
67
+ //#endregion
68
+ //#region src/components/progress-steps/progress-steps.module.scss?inline
69
+ var D = ":host{box-sizing:border-box;font-family:var(--luzmo-font-family);font-size:var(--luzmo-progress-steps-font-size,var(--progress-steps-font-size));line-height:var(--progress-steps-line-height);color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));display:block}.summary{box-sizing:border-box;align-items:center;gap:var(--progress-steps-gap);max-inline-size:100%;min-block-size:var(--progress-steps-min-height);padding-block:0;padding-inline:var(--progress-steps-padding-inline);border-radius:var(--progress-steps-border-radius);color:inherit;font:inherit;text-align:start;cursor:pointer;appearance:none;background:0 0;border:0;margin:0;display:inline-flex}.summary:hover{background-color:var(--progress-steps-hover-background)}.summary:focus-visible{outline:var(--progress-steps-focus-ring-width) solid var(--highcontrast-progress-steps-focus-ring-color,var(--progress-steps-focus-ring-color));outline-offset:var(--progress-steps-focus-ring-gap)}.status-icon{inline-size:var(--progress-steps-icon-size);block-size:var(--progress-steps-icon-size);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;inset-block-start:var(--progress-steps-icon-offset)}.status-icon svg{block-size:100%;inline-size:100%}.status-icon-failed{color:var(--luzmo-progress-steps-warning-color,var(--progress-steps-warning-color))}.spinner{box-sizing:border-box;border:calc(var(--luzmo-border-width) * 1.5) solid var(--highcontrast-progress-steps-spinner-track-color,var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)));border-block-start-color:var(--highcontrast-progress-steps-spinner-color,currentcolor);block-size:70%;inline-size:70%;animation:progress-steps-spin var(--progress-steps-spinner-duration) linear infinite;border-radius:50%}.headline{flex:0 auto;min-inline-size:0;display:block;position:relative;overflow:hidden}.headline-text{white-space:nowrap;min-inline-size:0;display:flex}.headline-text.entering{animation:progress-steps-enter var(--progress-steps-transition-duration) ease-out}.headline-text.leaving{inline-size:100%;animation:progress-steps-leave var(--progress-steps-transition-duration) ease-in forwards;position:absolute;inset-block-start:0;inset-inline-start:0}.main-step{text-overflow:ellipsis;min-inline-size:0;color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));flex:0 auto;overflow:hidden}.main-step:not(:last-child){max-inline-size:var(--progress-steps-main-step-max-width);flex-shrink:0}.sub-step{flex:0 auto;min-inline-size:0;display:flex}.sub-step-texts{min-inline-size:0;display:block;position:relative;overflow:hidden}.sub-step-text{text-overflow:ellipsis;display:block;overflow:hidden}.sub-step-text.entering{animation:progress-steps-enter var(--progress-steps-transition-duration) ease-out}.sub-step-text.leaving{animation:progress-steps-leave var(--progress-steps-transition-duration) ease-in forwards;position:absolute;inset-block-start:0;inset-inline-start:0}.summary[data-state=done] .main-step{color:inherit}.summary:hover .main-step{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.sub-step:before,.failed-count:before{content:\"·\"/\"\";flex:none;padding-inline:.35em}.failed-count:before{padding-inline-start:0}.failed-count{white-space:nowrap;flex:none}.shimmer{-webkit-mask-image:linear-gradient(to right, currentcolor 35%, color-mix(in srgb, currentcolor 35%, transparent) 50%, currentcolor 65%);mask-image:linear-gradient(to right, currentcolor 35%, color-mix(in srgb, currentcolor 35%, transparent) 50%, currentcolor 65%);animation:progress-steps-shimmer var(--progress-steps-shimmer-duration) linear infinite;-webkit-mask-size:300% 100%;mask-size:300% 100%}.chevron{inline-size:calc(var(--progress-steps-icon-size) * .8);block-size:calc(var(--progress-steps-icon-size) * .8);transition:transform var(--progress-steps-transition-duration) ease;flex:none;display:inline-flex}.chevron svg{block-size:100%;inline-size:100%}:host([open]) .chevron{transform:rotate(90deg)}:host([dir=rtl]) .chevron svg{transform:scaleX(-1)}:host([dir=rtl][open]) .chevron{transform:rotate(-90deg)}:host([dir=rtl]) .shimmer{animation-direction:reverse}.details{padding-block:var(--progress-steps-step-spacing);padding-inline:var(--progress-steps-padding-inline);font-size:var(--luzmo-progress-steps-font-size-small,var(--progress-steps-font-size-small));line-height:var(--progress-steps-details-line-height);animation:progress-steps-details-in var(--progress-steps-transition-duration) ease-out}.steps,.substeps{margin:0;padding:0;list-style:none}.step{grid-template-columns:var(--progress-steps-icon-size) minmax(0, 1fr);column-gap:var(--progress-steps-gap);padding-block:var(--progress-steps-step-spacing);display:grid;position:relative}.step:before,.step:after{content:\"\";border-inline-start:var(--luzmo-border-width) solid var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));position:absolute;inset-inline-start:calc(var(--progress-steps-icon-size) / 2 - var(--luzmo-border-width) / 2)}.step:before{block-size:calc(var(--progress-steps-marker-center) - var(--progress-steps-marker-radius));inset-block-start:0}.step:after{inset-block:calc(var(--progress-steps-marker-center) + var(--progress-steps-marker-radius)) 0}.step:first-child:before{display:none}.step:last-child:not(:has(>.substeps)):after{display:none}.step-marker{block-size:calc(1em * var(--progress-steps-details-line-height));color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));justify-content:center;align-items:center;display:inline-flex}.step-marker svg{inline-size:var(--progress-steps-marker-size);block-size:var(--progress-steps-marker-size)}.step-dot{box-sizing:border-box;inline-size:var(--progress-steps-dot-size);block-size:var(--progress-steps-dot-size);border:calc(var(--progress-steps-dot-size) / 2) solid currentcolor;border-radius:50%}.step-inProgress .step-marker{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.step-inProgress .step-marker .step-dot{animation:1.2s ease-in-out infinite progress-steps-pulse}.step-pending .step-dot{border-width:var(--luzmo-border-width)}.step-error .step-marker{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.step-label{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));overflow-wrap:anywhere}.step>.substeps{grid-column:2}.substep>.substeps{padding-inline-start:var(--progress-steps-substep-indent)}.substep{padding-block:calc(var(--progress-steps-step-spacing) / 2);overflow-wrap:anywhere}.substep-inProgress{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.substep-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.substep-icon{vertical-align:-.1em;block-size:.85em;inline-size:.85em;margin-inline-end:.3em;display:inline-flex}.substep-icon svg{block-size:100%;inline-size:100%}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:host([no-animate]) .headline-text,:host([no-animate]) .sub-step-text,:host([no-animate]) .details,:host([no-animate]) .chevron,:host([no-animate]) .spinner,:host([no-animate]) .step-dot{transition:none;animation:none}:host([no-animate]) .leaving{display:none}@keyframes progress-steps-shimmer{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@keyframes progress-steps-enter{0%{opacity:0;transform:translateY(60%)}}@keyframes progress-steps-leave{to{opacity:0;transform:translateY(-60%)}}@keyframes progress-steps-details-in{0%{opacity:0;transform:translateY(calc(-1 * var(--luzmo-spacing-2)))}}@keyframes progress-steps-spin{to{transform:rotate(360deg)}}@keyframes progress-steps-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.shimmer,.headline-text,.sub-step-text,.details,.chevron,.spinner,.step-dot{transition:none;animation:none}.leaving{display:none}}@media (forced-colors:active){.shimmer{animation:none;-webkit-mask-image:none;mask-image:none}.spinner{forced-color-adjust:none}}:host{--progress-steps-font-size:var(--luzmo-font-size);--progress-steps-line-height:1.5;--progress-steps-font-color:color-mix(in oklch, var(--luzmo-font-color) 65%, var(--luzmo-font-color-extra-dimmed));--progress-steps-font-color-dimmed:color-mix(in oklch, var(--luzmo-font-color) 35%, var(--luzmo-font-color-extra-dimmed));--progress-steps-error-color:var(--luzmo-negative-color);--progress-steps-warning-color:var(--luzmo-notice-color);--progress-steps-substep-connector-color:var(--luzmo-border-color-down);--progress-steps-hover-background:var(--luzmo-background-color-hover);--progress-steps-border-radius:var(--luzmo-border-radius);--progress-steps-focus-ring-width:var(--luzmo-indicator-width);--progress-steps-focus-ring-gap:var(--luzmo-indicator-gap);--progress-steps-focus-ring-color:var(--luzmo-indicator-color);--progress-steps-min-height:var(--luzmo-component-height-xs);--progress-steps-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-padding-inline:var(--luzmo-spacing-2);--progress-steps-step-spacing:var(--luzmo-spacing-1);--progress-steps-icon-size:var(--luzmo-icon-size-m);--progress-steps-icon-offset:.04em;--progress-steps-main-step-max-width:65%;--progress-steps-font-size-small:.93em;--progress-steps-details-line-height:1.4;--progress-steps-marker-size:.8em;--progress-steps-dot-size:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-substep-indent:var(--luzmo-spacing-4);--progress-steps-transition-duration:.25s;--progress-steps-shimmer-duration:1.8s;--progress-steps-spinner-duration:.9s}:host([size=s]){--progress-steps-font-size:var(--luzmo-font-size-s);--progress-steps-icon-size:var(--luzmo-icon-size-s);--progress-steps-gap:var(--luzmo-spacing-2)}:host([size=l]){--progress-steps-font-size:var(--luzmo-font-size-l);--progress-steps-icon-size:var(--luzmo-icon-size-l);--progress-steps-min-height:var(--luzmo-component-height-s);--progress-steps-step-spacing:var(--luzmo-spacing-2)}:host([size=xl]){--progress-steps-font-size:var(--luzmo-font-size-xl);--progress-steps-icon-size:var(--luzmo-icon-size-xl);--progress-steps-min-height:var(--luzmo-component-height-s);--progress-steps-gap:var(--luzmo-spacing-3);--progress-steps-step-spacing:var(--luzmo-spacing-2)}.step{--progress-steps-marker-center:calc(var(--progress-steps-step-spacing) + .5em * var(--progress-steps-details-line-height));--progress-steps-marker-radius:calc(var(--progress-steps-dot-size) / 2)}.step-error{--progress-steps-marker-radius:calc(var(--progress-steps-marker-size) / 2)}@media (forced-colors:active){:host{--highcontrast-progress-steps-focus-ring-color:Highlight;--highcontrast-progress-steps-spinner-track-color:GrayText;--highcontrast-progress-steps-spinner-color:CanvasText}}", O = {
70
+ condensedSingular: "Worked through {{count}} step",
71
+ condensedPlural: "Worked through {{count}} steps",
72
+ failedSingular: "{{count}} failed",
73
+ failedPlural: "{{count}} failed",
74
+ stepInProgress: "Step in progress",
75
+ stepPending: "Step pending",
76
+ stepCompleted: "Step completed",
77
+ stepFailed: "Step failed"
78
+ }, k = 500, A = 800, j = 1e3, M = 250, N = {
79
+ mainStep: null,
80
+ subStep: null
81
+ }, P = (e, t) => e?.mainStep === t.mainStep && e?.subStep === t.subStep, F = class extends n(e, {
82
+ defaultSize: "m",
83
+ validSizes: [
84
+ "s",
85
+ "m",
86
+ "l",
87
+ "xl"
88
+ ]
89
+ }) {
90
+ constructor(...e) {
91
+ super(...e), this.progress = null, this.locale = "en", this.collapsed = !1, this.displayMode = "detailed", this.condensed = !1, this.labels = { ...O }, this.noAnimate = !1, this.open = !1, this._phase = "idle", this._current = null, this._leaving = null, this._subStepTransition = null, this._announcement = "", this._languageResolver = new i(this), this._pending = null, this._shownAt = 0;
92
+ }
93
+ static get styles() {
94
+ let e = super.styles;
95
+ return [...Array.isArray(e) ? e : e ? [e] : [], s(D)];
96
+ }
97
+ connectedCallback() {
98
+ super.connectedCallback(), this.hasUpdated && this._syncPhase();
99
+ }
100
+ disconnectedCallback() {
101
+ super.disconnectedCallback(), this._clearTimers(), this._leaving = null, this._subStepTransition = null;
102
+ }
103
+ willUpdate(e) {
104
+ super.willUpdate(e), e.has(r) && (this._numberFormatter = void 0), e.has("progress") ? (e.get("progress")?.id !== this.progress?.id && (this._resetRun(), this.hasUpdated && (this.open = !1)), this._syncPhase()) : (e.has("collapsed") && this.collapsed || e.has("locale")) && this._syncPhase();
105
+ }
106
+ get _labels() {
107
+ return {
108
+ ...O,
109
+ ...this.labels
110
+ };
111
+ }
112
+ _syncPhase() {
113
+ if (!x(this.progress)) {
114
+ this._resetRun();
115
+ return;
116
+ }
117
+ let e = T(this.progress) ? null : S(this.progress);
118
+ if (e) {
119
+ this._clearSettleTimer(), this._phase = "running", this._queue(e);
120
+ return;
121
+ }
122
+ if (this._phase === "done") return;
123
+ let t = this.collapsed || T(this.progress);
124
+ if (this._phase === "idle") {
125
+ (t || w(this.progress)) && this._finish();
126
+ return;
127
+ }
128
+ if (t) {
129
+ this._finish();
130
+ return;
131
+ }
132
+ this._settleTimer ??= setTimeout(() => {
133
+ this._settleTimer = void 0, this._finish();
134
+ }, A);
135
+ }
136
+ _queue(e) {
137
+ let t = {
138
+ mainStep: E(e.mainStep, this.locale),
139
+ subStep: e.subStep ? E(e.subStep, this.locale) : null
140
+ };
141
+ if (P(this._current, t)) {
142
+ this._pending = null, this._clearDwellTimer();
143
+ return;
144
+ }
145
+ this._pending = t;
146
+ let n = this._current ? this._shownAt + k - Date.now() : 0;
147
+ this.noAnimate || n <= 0 ? this._showPending() : this._dwellTimer ??= setTimeout(() => {
148
+ this._dwellTimer = void 0, this._showPending();
149
+ }, n);
150
+ }
151
+ _showPending() {
152
+ let e = this._pending;
153
+ this._pending = null, e && this._phase === "running" && (this._show(e), this._announce(e.mainStep));
154
+ }
155
+ _finish() {
156
+ let e = this._phase === "running";
157
+ this._clearDwellTimer(), this._clearSettleTimer(), this._pending = null, this._phase = "done", this._show(N), e && this._announce(this._summaryText());
158
+ }
159
+ _show(e) {
160
+ let t = this._current;
161
+ t && !this.noAnimate && (t.mainStep !== null && t.mainStep === e.mainStep ? this._subStepTransition = { leaving: t.subStep } : (this._leaving = t, this._subStepTransition = null), clearTimeout(this._leaveTimer), this._leaveTimer = setTimeout(() => {
162
+ this._leaving = null, this._subStepTransition = null;
163
+ }, M)), this._current = e, this._shownAt = Date.now();
164
+ }
165
+ _announce(e) {
166
+ clearTimeout(this._announceTimer), this._announceTimer = setTimeout(() => {
167
+ this._announcement = e;
168
+ }, j);
169
+ }
170
+ _resetRun() {
171
+ this._clearTimers(), this._phase = "idle", this._current = null, this._leaving = null, this._subStepTransition = null, this._pending = null, this._announcement = "";
172
+ }
173
+ _clearDwellTimer() {
174
+ clearTimeout(this._dwellTimer), this._dwellTimer = void 0;
175
+ }
176
+ _clearSettleTimer() {
177
+ clearTimeout(this._settleTimer), this._settleTimer = void 0;
178
+ }
179
+ _clearTimers() {
180
+ this._clearDwellTimer(), this._clearSettleTimer(), clearTimeout(this._leaveTimer), clearTimeout(this._announceTimer);
181
+ }
182
+ _formatCount(e, t) {
183
+ return e.replaceAll("{{count}}", this._numberFormat.format(t));
184
+ }
185
+ get _numberFormat() {
186
+ if (!this._numberFormatter) try {
187
+ this._numberFormatter = new Intl.NumberFormat(this._languageResolver.language);
188
+ } catch {
189
+ this._numberFormatter = new Intl.NumberFormat();
190
+ }
191
+ return this._numberFormatter;
192
+ }
193
+ _summaryText() {
194
+ let e = this.progress?.children?.length ?? 0, t = this._labels;
195
+ return this._formatCount(e === 1 ? t.condensedSingular : t.condensedPlural, e);
196
+ }
197
+ _setOpen(e) {
198
+ this.open = e, this.dispatchEvent(new CustomEvent(e ? "luzmo-step-expanded" : "luzmo-step-collapsed", {
199
+ bubbles: !0,
200
+ composed: !0,
201
+ detail: { nodeId: this.progress?.id ?? "" }
202
+ }));
203
+ }
204
+ handleToggle() {
205
+ this._setOpen(!this.open);
206
+ }
207
+ handleKeydown(e) {
208
+ e.key === "Escape" && this.open && (e.preventDefault(), this._setOpen(!1));
209
+ }
210
+ _statusLabel(e) {
211
+ let t = this._labels;
212
+ switch (e) {
213
+ case "inProgress": return t.stepInProgress;
214
+ case "success": return t.stepCompleted;
215
+ case "error": return t.stepFailed;
216
+ default: return t.stepPending;
217
+ }
218
+ }
219
+ _renderStatusIcon(e) {
220
+ return e ? a`<span
221
+ class="status-icon status-icon-failed"
222
+ aria-hidden="true"
223
+ >${m(u)}</span
224
+ >` : this._phase === "running" ? a`<span class="status-icon" aria-hidden="true"
225
+ ><span class="spinner"></span
226
+ ></span>` : a`<span
227
+ class="status-icon status-icon-finished"
228
+ aria-hidden="true"
229
+ >${m(f)}</span
230
+ >`;
231
+ }
232
+ _renderContent({ mainStep: e, subStep: t }, n = null) {
233
+ if (e === null) return a`<span class="main-step">${this._summaryText()}</span>`;
234
+ let r = n?.leaving ?? null;
235
+ return t === null && r === null ? a`<span class="main-step">${e}</span>` : a`<span class="main-step">${e}</span>
236
+ <span class="sub-step"
237
+ ><span class="sub-step-texts"
238
+ >${r === null ? o : a`<span class="sub-step-text leaving" aria-hidden="true"
239
+ >${r}</span
240
+ >`}${t === null ? o : _(t, a`<span
241
+ class=${h({
242
+ "sub-step-text": !0,
243
+ entering: n !== null
244
+ })}
245
+ >${t}</span
246
+ >`)}</span
247
+ ></span
248
+ >`;
249
+ }
250
+ _renderStepMarker(e) {
251
+ return a`<span
252
+ class="step-marker"
253
+ role="img"
254
+ aria-label=${this._statusLabel(e)}
255
+ >${e === "error" ? m(p) : a`<span class="step-dot"></span>`}</span
256
+ >`;
257
+ }
258
+ _renderSubstep(e) {
259
+ return a`<li
260
+ class=${h({
261
+ substep: !0,
262
+ [`substep-${e.status}`]: !0
263
+ })}
264
+ >
265
+ ${e.status === "error" ? a`<span
266
+ class="substep-icon"
267
+ role="img"
268
+ aria-label=${this._labels.stepFailed}
269
+ >${m(p)}</span
270
+ >` : o}<span class="substep-label"
271
+ >${E(e, this.locale)}</span
272
+ >
273
+ ${e.children?.length ? this._renderSubsteps(e.children) : o}
274
+ </li>`;
275
+ }
276
+ _renderSubsteps(e) {
277
+ return a`<ul class="substeps">
278
+ ${g(e, (e) => e.id, (e) => this._renderSubstep(e))}
279
+ </ul>`;
280
+ }
281
+ _renderStep(e, t) {
282
+ return a`<li
283
+ class=${h({
284
+ step: !0,
285
+ [`step-${e.status}`]: !0
286
+ })}
287
+ >
288
+ ${this._renderStepMarker(e.status)}
289
+ <span class="step-label"
290
+ >${E(e, this.locale)}</span
291
+ >
292
+ ${t && e.children?.length ? this._renderSubsteps(e.children) : o}
293
+ </li>`;
294
+ }
295
+ _renderDetails() {
296
+ let e = this.displayMode !== "compact";
297
+ return a`<div id="details" class="details">
298
+ <ol class="steps">
299
+ ${g(this.progress?.children ?? [], (e) => e.id, (t) => this._renderStep(t, e))}
300
+ </ol>
301
+ </div>`;
302
+ }
303
+ render() {
304
+ if (this._phase === "idle" || !this._current) return o;
305
+ let e = C(this.progress), t = this._labels, n = this._phase === "running" && !this.noAnimate;
306
+ return a`
307
+ <button
308
+ type="button"
309
+ class="summary"
310
+ data-state=${this._phase}
311
+ aria-expanded=${this.open ? "true" : "false"}
312
+ aria-controls=${this.open ? "details" : o}
313
+ @click=${this.handleToggle}
314
+ @keydown=${this.handleKeydown}
315
+ >
316
+ ${this._renderStatusIcon(e > 0 || this.progress?.status === "error")}
317
+ <span class=${h({
318
+ headline: !0,
319
+ shimmer: n
320
+ })}>
321
+ ${this._leaving ? a`<span class="headline-text leaving" aria-hidden="true"
322
+ >${this._renderContent(this._leaving)}</span
323
+ >` : o}
324
+ ${_(this._current.mainStep ?? N, a`<span
325
+ class=${h({
326
+ "headline-text": !0,
327
+ entering: this._leaving !== null
328
+ })}
329
+ >${this._renderContent(this._current, this._subStepTransition)}</span
330
+ >`)}
331
+ </span>
332
+ ${e > 0 ? a`<span class="failed-count"
333
+ >${this._formatCount(e === 1 ? t.failedSingular : t.failedPlural, e)}</span
334
+ >` : o}
335
+ <span class="chevron" aria-hidden="true"
336
+ >${m(d)}</span
337
+ >
338
+ </button>
339
+ ${this.open ? this._renderDetails() : o}
340
+ <span class="visually-hidden" role="status">${this._announcement}</span>
341
+ `;
342
+ }
343
+ };
344
+ //#endregion
345
+ //#region src/components/progress-steps/index.ts
346
+ t([c({ attribute: !1 })], F.prototype, "progress", void 0), t([c({
347
+ type: String,
348
+ reflect: !0
349
+ })], F.prototype, "locale", void 0), t([c({
350
+ type: Boolean,
351
+ reflect: !0
352
+ })], F.prototype, "collapsed", void 0), t([c({
353
+ type: String,
354
+ attribute: "display-mode",
355
+ reflect: !0
356
+ })], F.prototype, "displayMode", void 0), t([c({
357
+ type: Boolean,
358
+ reflect: !0
359
+ })], F.prototype, "condensed", void 0), t([c({ attribute: !1 })], F.prototype, "labels", void 0), t([c({
360
+ type: Boolean,
361
+ attribute: "no-animate",
362
+ reflect: !0
363
+ })], F.prototype, "noAnimate", void 0), t([c({
364
+ type: Boolean,
365
+ reflect: !0
366
+ })], F.prototype, "open", void 0), t([l()], F.prototype, "_phase", void 0), t([l()], F.prototype, "_current", void 0), t([l()], F.prototype, "_leaving", void 0), t([l()], F.prototype, "_subStepTransition", void 0), t([l()], F.prototype, "_announcement", void 0), typeof customElements < "u" && !customElements.get("luzmo-progress-steps") && customElements.define("luzmo-progress-steps", F);
367
+ //#endregion
368
+ export { O as n, F as t };
@@ -1,6 +1,6 @@
1
1
  /*! * Lucero - The design system for Luzmo.
2
2
  *
3
- * Copyright © 2025 Luzmo
3
+ * Copyright © 2026 Luzmo
4
4
  * All rights reserved.
5
5
  * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
6
  * This license allows users with a current active Luzmo account to use Lucero.
@@ -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`});const e=require("../prompt-box-Dg9S0C5x.cjs");exports.DEFAULT_FILE_ICONS=e.n,exports.ELEMENT_MIME_TYPE=e.r,exports.LuzmoPromptBox=e.t;
18
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("../tokens.cjs");const e=require("../prompt-box-sp9_-Hnx.cjs");exports.DEFAULT_FILE_ICONS=e.n,exports.ELEMENT_MIME_TYPE=e.r,exports.LuzmoPromptBox=e.t;
@@ -1,6 +1,6 @@
1
1
  /*! * Lucero - The design system for Luzmo.
2
2
  *
3
- * Copyright © 2025 Luzmo
3
+ * Copyright © 2026 Luzmo
4
4
  * All rights reserved.
5
5
  * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
6
  * This license allows users with a current active Luzmo account to use Lucero.
@@ -15,11 +15,6 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- (() => {
19
- if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
20
- let e = document.createElement("style");
21
- e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-border-width: 1px;--luzmo-shadow-color-rgb: 0, 0, 0;--luzmo-shadow-opacity: 0.1;--luzmo-shadow-color: rgba( var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity) );--luzmo-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-disabled: var(--luzmo-disabled-color);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-accent-on-subtle-color: var(--luzmo-primary);--luzmo-primary-rgb: 68, 52, 255;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5%);--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5%);--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-secondary: #d000d0;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 208, 0, 208;--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba( var(--luzmo-border-color-rgb), 0.4 );--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-width: thin;--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-on-subtle-color: var(--luzmo-negative-color);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-negative-inverse-color: #ffffff;--luzmo-positive-color: rgb(18, 133, 90);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-on-subtle-color: color-mix( in oklch, var(--luzmo-positive-color), var(--luzmo-font-color) 11% );--luzmo-positive-color-rgb: 18, 133, 90;--luzmo-positive-inverse-color: #ffffff;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-neutral-on-subtle-color: var(--luzmo-selected-color-hard);--luzmo-informative-color: #1670dd;--luzmo-informative-color-hover: color-mix(in oklch, var(--luzmo-informative-color), black 8%);--luzmo-informative-color-down: color-mix(in oklch, var(--luzmo-informative-color), black 20%);--luzmo-informative-color-focus: var(--luzmo-informative-color-hover);--luzmo-informative-on-subtle-color: color-mix( in oklch, var(--luzmo-informative-color), var(--luzmo-font-color) 9% );--luzmo-informative-color-rgb: 22, 112, 221;--luzmo-informative-inverse-color: #ffffff;--luzmo-notice-color: rgb(229, 127, 0);--luzmo-notice-color-hover: color-mix(in oklch, var(--luzmo-notice-color), black 8%);--luzmo-notice-color-down: color-mix(in oklch, var(--luzmo-notice-color), black 20%);--luzmo-notice-color-focus: var(--luzmo-notice-color-hover);--luzmo-notice-on-subtle-color: color-mix( in oklch, var(--luzmo-notice-color), var(--luzmo-font-color) 40% );--luzmo-notice-inverse-color: var(--luzmo-selected-color-hard);--luzmo-seafoam-color: rgb(0, 140, 140);--luzmo-indigo-color: rgb(68, 52, 255);--luzmo-purple-color: rgb(112, 48, 210);--luzmo-fuchsia-color: rgb(205, 30, 170);--luzmo-magenta-color: rgb(203, 36, 98);--luzmo-yellow-color: rgb(228, 208, 0);--luzmo-gray-color: rgb(110, 110, 110);--luzmo-red-color: rgb(202, 34, 28);--luzmo-orange-color: rgb(218, 123, 17);--luzmo-chartreuse-color: rgb(85, 135, 0);--luzmo-celery-color: rgb(48, 134, 22);--luzmo-green-color: rgb(18, 133, 90);--luzmo-cyan-color: rgb(0, 134, 180);--luzmo-blue-color: rgb(22, 112, 221);--luzmo-disabled-color: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 10px;--luzmo-icon-size-xs: 12px;--luzmo-icon-size-s: 14px;--luzmo-icon-size-m: 16px;--luzmo-icon-size-l: 18px;--luzmo-icon-size-xl: 20px;--luzmo-icon-size-xxl: 32px}html.dark,html.dark-theme,:where(.dark-theme){--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.2);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.35);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-rgb: 255, 255, 255;--luzmo-border-color-full: #4c4c57;--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), white 20%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), white 35%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), white 20%);--luzmo-border-color-disabled: #333;--luzmo-shadow-opacity: 0.35;--luzmo-shadow-color: rgba( var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity) );--luzmo-font-color: #ced4da;--luzmo-font-color-extra-dimmed: #72787f;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), white 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), white 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), white 8%);--luzmo-primary: #7b90ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), white 12%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), white 24%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), white 12%);--luzmo-accent-on-subtle-color: color-mix( in oklch, var(--luzmo-primary), var(--luzmo-font-color) 1% );--luzmo-background-color: #262626;--luzmo-background-color-rgb: 0, 0, 0;--luzmo-background-color-disabled: #939ea8;--luzmo-background-color-hover: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 3%), white 14%);--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 3%), white 25%);--luzmo-background-color-focus: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 3%), white 14%);--luzmo-background-color-highlight: rgb(72, 72, 72);--luzmo-background-color-highlight-disabled: #313131;--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), white 20%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), white 35%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), white 20%);--luzmo-primary-inverse-color: var(--luzmo-background-color);--luzmo-indicator-color: var(--luzmo-primary);--luzmo-primary-rgb: 94, 113, 208;--luzmo-secondary: #ebff00;--luzmo-secondary-inverse-color: #333;--luzmo-secondary-rgb: 200, 219, 0;--luzmo-negative-color: #f76d74;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), white 12%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), white 24%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), white 12%);--luzmo-negative-on-subtle-color: color-mix( in oklch, var(--luzmo-negative-color), var(--luzmo-font-color) 40% );--luzmo-negative-color-rgb: 247, 109, 116;--luzmo-negative-inverse-color: var(--luzmo-background-color);--luzmo-positive-color: #39a875;--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), white 12%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), white 24%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), white 12%);--luzmo-positive-on-subtle-color: color-mix( in oklch, var(--luzmo-positive-color), var(--luzmo-font-color) 35% );--luzmo-positive-color-rgb: 57, 168, 117;--luzmo-positive-inverse-color: var(--luzmo-background-color);--luzmo-selected-color: #afafaf;--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), white 20%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), white 35%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), white 20%);--luzmo-selected-color-hard: #e9e9e9;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), white 20%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), white 35%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), white 20%);--luzmo-neutral-on-subtle-color: var(--luzmo-selected-color-hard);--luzmo-informative-color: #5c94ff;--luzmo-informative-color-hover: color-mix(in oklch, var(--luzmo-informative-color), white 12%);--luzmo-informative-color-down: color-mix(in oklch, var(--luzmo-informative-color), white 24%);--luzmo-informative-color-focus: var(--luzmo-informative-color-hover);--luzmo-informative-on-subtle-color: color-mix( in oklch, var(--luzmo-informative-color), var(--luzmo-font-color) 36% );--luzmo-informative-color-rgb: 92, 148, 255;--luzmo-informative-inverse-color: var(--luzmo-background-color);--luzmo-notice-color-hover: color-mix(in oklch, var(--luzmo-notice-color), white 12%);--luzmo-notice-color-down: color-mix(in oklch, var(--luzmo-notice-color), white 24%);--luzmo-notice-color-focus: var(--luzmo-notice-color-hover);--luzmo-notice-on-subtle-color: var(--luzmo-notice-color);--luzmo-notice-inverse-color: var(--luzmo-background-color);--luzmo-disabled-color: #75797b}", document.head.appendChild(e);
22
- }
23
- })();
24
- import { n as e, r as t, t as n } from "../prompt-box-BY1xKFZO.js";
18
+ import "../tokens.js";
19
+ import { n as e, r as t, t as n } from "../prompt-box-Cz_m2wso.js";
25
20
  export { e as DEFAULT_FILE_ICONS, t as ELEMENT_MIME_TYPE, n as LuzmoPromptBox };
@@ -1,6 +1,6 @@
1
1
  /*! * Lucero - The design system for Luzmo.
2
2
  *
3
- * Copyright © 2025 Luzmo
3
+ * Copyright © 2026 Luzmo
4
4
  * All rights reserved.
5
5
  * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
6
  * This license allows users with a current active Luzmo account to use Lucero.
@@ -15,15 +15,15 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
+ import "./tokens.js";
18
19
  import { n as e, t } from "./decorate-CkCg3wfh.js";
19
20
  import { n } from "./sized-mixin-DzQTebN-.js";
20
- import "./icon-DB1DRieA.js";
21
- import "./action-button-OB5MM04X.js";
22
- import { m as r } from "./overlay-CyBsHuOL.js";
23
- import "./overlay-DdIs4w5M.js";
24
- import "./button-DXWWEbir.js";
25
- import "./text-field-C2MHZbTp.js";
26
- import "./skeleton-loader-C0LH3prK.js";
21
+ import "./icon-CsJZMhIm.js";
22
+ import "./action-button-BRijXjEz.js";
23
+ import { v as r } from "./overlay-DpHIYJtd.js";
24
+ import "./button-DIV_j_U3.js";
25
+ import "./text-field-CmyqQxq0.js";
26
+ import "./skeleton-loader-BeCsYADg.js";
27
27
  import { t as i } from "./voice-recorder-CTg3kRxx.js";
28
28
  import { html as a, nothing as o, unsafeCSS as s } from "lit";
29
29
  import { property as c, query as l, state as u } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  /*! * Lucero - The design system for Luzmo.
2
2
  *
3
- * Copyright © 2025 Luzmo
3
+ * Copyright © 2026 Luzmo
4
4
  * All rights reserved.
5
5
  * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
6
  * This license allows users with a current active Luzmo account to use Lucero.
@@ -15,9 +15,9 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs");require("./icon-CSqR-OOO.cjs"),require("./action-button-BKnzGQR6.cjs");const n=require("./overlay-B-gaxspw.cjs");require("./overlay-CPZvL0Ic.cjs"),require("./button-l0fRopSN.cjs"),require("./text-field-wJK2bzMT.cjs"),require("./skeleton-loader-Cm50Ztzk.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===`
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
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.m(t.x,t.y,r),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||ee(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
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
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`
22
22
  <div class="top-actions ${t?``:`empty`}" part="top-actions">
23
23
  <slot name="top-actions" @slotchange=${n}></slot>
@@ -1,6 +1,6 @@
1
1
  /*! * Lucero - The design system for Luzmo.
2
2
  *
3
- * Copyright © 2025 Luzmo
3
+ * Copyright © 2026 Luzmo
4
4
  * All rights reserved.
5
5
  * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
6
  * This license allows users with a current active Luzmo account to use Lucero.
@@ -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`});const e=require("../question-box-CZxQTeS9.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-Bdtsgv1k.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;