@luzmo/lucero 1.0.3-alpha.9 → 2.0.1

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 (424) hide show
  1. package/components/accordion/index.cjs +1 -1
  2. package/components/accordion/index.js +2 -2
  3. package/components/{accordion-DC7cjb1c.js → accordion-BDchhAjE.js} +4 -4
  4. package/components/accordion-DpsYMoeb.cjs +43 -0
  5. package/components/action-bar/index.cjs +1 -1
  6. package/components/action-bar/index.js +2 -2
  7. package/components/{action-bar-Dn4IDXEF.js → action-bar-2FGCCKMW.js} +7 -7
  8. package/components/action-bar-CXT4lT30.cjs +39 -0
  9. package/components/action-button/action-button.d.ts +12 -1
  10. package/components/action-button/index.cjs +1 -1
  11. package/components/action-button/index.d.ts +1 -1
  12. package/components/action-button/index.js +2 -2
  13. package/components/action-button-BKnzGQR6.cjs +22 -0
  14. package/components/action-button-OB5MM04X.js +137 -0
  15. package/components/action-group/index.cjs +1 -1
  16. package/components/action-group/index.js +2 -2
  17. package/components/{action-group-DYKpp-mz.js → action-group-BQ-fyPYS.js} +3 -3
  18. package/components/action-group-D1G30Iir.cjs +20 -0
  19. package/components/action-menu/index.cjs +1 -1
  20. package/components/action-menu/index.js +2 -2
  21. package/components/{action-menu-C1C1Gx39.cjs → action-menu-CtMswuyc.cjs} +15 -15
  22. package/components/{action-menu-BlR6cLpi.js → action-menu-Diehg1Kc.js} +21 -21
  23. package/components/avatar/avatar.d.ts +17 -1
  24. package/components/avatar/index.cjs +1 -1
  25. package/components/avatar/index.js +2 -2
  26. package/components/avatar-Cu9c0sCS.cjs +34 -0
  27. package/components/avatar-Nb0368Wi.js +98 -0
  28. package/components/badge/badge.d.ts +4 -1
  29. package/components/badge/index.cjs +1 -1
  30. package/components/badge/index.js +2 -2
  31. package/components/badge-CrUIOuV-.cjs +23 -0
  32. package/components/badge-DAGeawhJ.js +95 -0
  33. package/components/button/button-base.d.ts +4 -0
  34. package/components/button/button.d.ts +0 -1
  35. package/components/button/index.cjs +1 -1
  36. package/components/button/index.js +3 -3
  37. package/components/{button-D1a4B85S.js → button-DXWWEbir.js} +6 -6
  38. package/components/button-base-DiNxrttk.cjs +25 -0
  39. package/components/{button-base-CzTYjZND.js → button-base-DiPzVpp4.js} +38 -23
  40. package/components/button-group/index.cjs +1 -1
  41. package/components/button-group/index.js +2 -2
  42. package/components/button-group-6M8M-TUI.cjs +18 -0
  43. package/components/{button-group-BiQxYcQ2.js → button-group-DaANSInm.js} +2 -2
  44. package/components/button-l0fRopSN.cjs +20 -0
  45. package/components/calendar/index.cjs +1 -1
  46. package/components/calendar/index.js +2 -2
  47. package/components/{calendar-BNRjXf9B.js → calendar-C8u_88jX.js} +5 -9
  48. package/components/calendar-DZkKMs2L.cjs +138 -0
  49. package/components/chat-message/chat-message.d.ts +0 -1
  50. package/components/chat-message/index.cjs +1 -1
  51. package/components/chat-message/index.js +2 -2
  52. package/components/{chat-message-DJgocVNj.js → chat-message-CXq0Trjx.js} +757 -545
  53. package/components/chat-message-group/index.cjs +1 -1
  54. package/components/chat-message-group/index.js +2 -2
  55. package/components/chat-message-group-CzCwyW7F.cjs +24 -0
  56. package/components/{chat-message-group-B4U2MzHx.js → chat-message-group-D7vdn2gG.js} +2 -2
  57. package/components/chat-message-t4a0r3R6.cjs +148 -0
  58. package/components/checkbox/checkbox.d.ts +7 -0
  59. package/components/checkbox/index.cjs +1 -1
  60. package/components/checkbox/index.js +2 -2
  61. package/components/{checkbox-CPS-tR_i.js → checkbox-6YzkdHR4.js} +9 -5
  62. package/components/checkbox-DdatW4xE.cjs +25 -0
  63. package/components/{checkbox-mixin-C5sLMo5L.js → checkbox-mixin-jqmrh48O.js} +2 -2
  64. package/components/{checkbox-mixin-D4HeLrMj.cjs → checkbox-mixin-rFRXqyrK.cjs} +3 -3
  65. package/components/close-button-BntGLAcp.cjs +18 -0
  66. package/components/{close-button-MgaJT7yO.js → close-button-D12zZ9zC.js} +4 -4
  67. package/components/color-area/index.cjs +1 -1
  68. package/components/color-area/index.js +2 -2
  69. package/components/color-area-B_pRu9Vf.cjs +80 -0
  70. package/components/{color-area-mWOctRNt.js → color-area-DMpXKgPY.js} +13 -13
  71. package/components/color-controller-DbyPc33Y.cjs +18 -0
  72. package/components/color-field/index.cjs +1 -1
  73. package/components/color-field/index.js +2 -2
  74. package/components/{color-field-D7_7z2A2.cjs → color-field-BNGnBRSO.cjs} +2 -2
  75. package/components/{color-field-CxdIoSq6.js → color-field-CUdHxonc.js} +3 -3
  76. package/components/color-handle/index.cjs +1 -1
  77. package/components/color-handle/index.js +2 -2
  78. package/components/color-handle-DIoVrLRF.cjs +24 -0
  79. package/components/{color-handle-BOusOFFx.js → color-handle-TKbLs1ax.js} +2 -2
  80. package/components/color-loupe/index.cjs +1 -1
  81. package/components/color-loupe/index.js +2 -2
  82. package/components/{color-loupe-bEzi2P0y.js → color-loupe-DAxrNPJz.js} +2 -2
  83. package/components/color-loupe-sY1wOisV.cjs +56 -0
  84. package/components/color-menu/index.cjs +1 -1
  85. package/components/color-menu/index.js +2 -2
  86. package/components/color-menu-CdETqhbP.cjs +89 -0
  87. package/components/{color-menu-Cryp_5Gh.js → color-menu-jkdcr5ir.js} +24 -24
  88. package/components/color-palette/index.cjs +1 -1
  89. package/components/color-palette/index.js +2 -2
  90. package/components/color-palette-CidHsmE0.cjs +18 -0
  91. package/components/{color-palette-BAdaNySC.js → color-palette-FQyIMSwP.js} +3 -3
  92. package/components/color-palette-group/index.cjs +1 -1
  93. package/components/color-palette-group/index.js +2 -2
  94. package/components/color-palette-group-B4r4tPfY.cjs +28 -0
  95. package/components/{color-palette-group-D8Mavsd2.js → color-palette-group-o6bnF-Ir.js} +3 -3
  96. package/components/color-picker/index.cjs +1 -1
  97. package/components/color-picker/index.js +2 -2
  98. package/components/{color-picker-DL7rqWnW.cjs → color-picker-C4pvkA2k.cjs} +2 -2
  99. package/components/{color-picker-DgjqWiVd.js → color-picker-DF3gBQvH.js} +6 -6
  100. package/components/color-slider/index.cjs +1 -1
  101. package/components/color-slider/index.js +2 -2
  102. package/components/color-slider-DLEM1nGA.cjs +57 -0
  103. package/components/{color-slider-ihAIFt5p.js → color-slider-DejvUYrW.js} +6 -5
  104. package/components/{condition-attribute-with-id-DauPaLSS.cjs → condition-attribute-with-id-Cw92IbcP.cjs} +1 -1
  105. package/components/date-range-picker/index.cjs +1 -1
  106. package/components/date-range-picker/index.js +2 -2
  107. package/components/date-range-picker-9ioTuDZq.cjs +180 -0
  108. package/components/{date-range-picker-CcDzRDm5.js → date-range-picker-DCOv5PYH.js} +13 -13
  109. package/components/date-time-picker/index.cjs +1 -1
  110. package/components/date-time-picker/index.js +2 -2
  111. package/components/{date-time-picker-PHKHDgL9.js → date-time-picker-ClgATXBy.js} +11 -11
  112. package/components/date-time-picker-DRjQTyGS.cjs +105 -0
  113. package/components/{decorate-aGxJUVxg.js → decorate-CkCg3wfh.js} +1 -1
  114. package/components/decorate-Dq34MBGe.cjs +18 -0
  115. package/components/{dependency-manger-CHy9t__e.cjs → dependency-manger-BSaHw9ju.cjs} +1 -1
  116. package/components/divider/index.cjs +1 -1
  117. package/components/divider/index.js +2 -2
  118. package/components/{divider-cU0lVwOp.js → divider-CGbT-CL8.js} +3 -3
  119. package/components/divider-wana0uPI.cjs +18 -0
  120. package/components/{divider.module-CL60P_z8.cjs → divider.module-BV6tmpOY.cjs} +1 -1
  121. package/components/{element-resolution-C0aiOB0Y.cjs → element-resolution-BjaAlqwX.cjs} +1 -1
  122. package/components/field-group/index.cjs +1 -1
  123. package/components/field-group/index.js +2 -2
  124. package/components/{field-group-C7ROsWq3.js → field-group-C_kRq7pJ.js} +2 -2
  125. package/components/{field-group-OcI5Lgu7.cjs → field-group-Dd5xYczm.cjs} +2 -2
  126. package/components/field-label/index.cjs +1 -1
  127. package/components/field-label/index.js +2 -2
  128. package/components/{field-label-CtGCEmdp.js → field-label-B9S41b7c.js} +5 -5
  129. package/components/field-label-C5vdJ1ys.cjs +25 -0
  130. package/components/focus-group-C8lOjbi9.cjs +18 -0
  131. package/components/{focus-group-BshI1RpM.js → focus-group-DVPa1zxz.js} +1 -1
  132. package/components/{focus-visible-CrooVCUu.js → focus-visible-Bt2uDmuM.js} +2 -2
  133. package/components/focus-visible-DNHNlrty.cjs +18 -0
  134. package/components/focusable-B6h03pAe.cjs +18 -0
  135. package/components/{focusable-BmS8IzhH.js → focusable-DuP0-Kuy.js} +2 -2
  136. package/components/{focusable-selectors-5n5liBn0.cjs → focusable-selectors-DJqGLTJo.cjs} +1 -1
  137. package/components/{get-label-from-slot-LO_DZP60.cjs → get-label-from-slot-TV4APBYs.cjs} +1 -1
  138. package/components/icon/index.cjs +1 -1
  139. package/components/icon/index.js +2 -2
  140. package/components/icon-CSqR-OOO.cjs +18 -0
  141. package/components/{icon-CwBAE1eU.js → icon-DB1DRieA.js} +5 -2
  142. package/components/index.cjs +1 -1
  143. package/components/index.js +71 -69
  144. package/components/infield-button/index.cjs +1 -1
  145. package/components/infield-button/index.js +2 -2
  146. package/components/{infield-button-BvKsbtKr.js → infield-button-C1mz69Qf.js} +3 -3
  147. package/components/infield-button-CYO9V1eX.cjs +22 -0
  148. package/components/label/index.cjs +1 -1
  149. package/components/label/index.js +2 -2
  150. package/components/{label-ClJE2esm.js → label-B1HYQ4Pp.js} +1 -1
  151. package/components/label-DPG13Ib0.cjs +18 -0
  152. package/components/language-resolution-BaKYDD1a.js +115 -0
  153. package/components/language-resolution-CSjktYg5.cjs +18 -0
  154. package/components/{like-anchor-BZJXts_H.cjs → like-anchor-BX4PSB3d.cjs} +2 -2
  155. package/components/{like-anchor-DeOXX-MX.js → like-anchor-DXCaEv7O.js} +1 -1
  156. package/components/{manage-help-text-CF0xBh0F.js → manage-help-text-ByLb0QYX.js} +13 -10
  157. package/components/{manage-help-text-D9VbYRf_.cjs → manage-help-text-DtFJsl0k.cjs} +3 -3
  158. package/components/menu/index.cjs +1 -1
  159. package/components/menu/index.js +2 -2
  160. package/components/menu/menu-item.d.ts +1 -1
  161. package/components/menu/menu.d.ts +12 -1
  162. package/components/menu-Cq7BEv5Y.cjs +108 -0
  163. package/components/{menu-Cdz2FEB7.js → menu-DY8q8qyn.js} +82 -65
  164. package/components/multi-language-field/index.cjs +1 -1
  165. package/components/multi-language-field/index.js +2 -2
  166. package/components/{multi-language-field-DmoMyCBH.cjs → multi-language-field-Cfy3M_ZS.cjs} +2 -2
  167. package/components/{multi-language-field-BzY75rOY.js → multi-language-field-DhQ98r2D.js} +4 -4
  168. package/components/notice/index.cjs +18 -0
  169. package/components/notice/index.d.ts +8 -0
  170. package/components/notice/index.js +25 -0
  171. package/components/notice/notice.d.ts +121 -0
  172. package/components/notice-s6QHF_tq.js +218 -0
  173. package/components/notice-xgrLOiC0.cjs +60 -0
  174. package/components/number-field/index.cjs +1 -1
  175. package/components/number-field/index.js +2 -2
  176. package/components/number-field-04RFqrUa.cjs +57 -0
  177. package/components/{number-field-DrJURvoW.js → number-field-BqnZS9Gx.js} +55 -55
  178. package/components/observe-slot-presence-CS8pMePk.cjs +18 -0
  179. package/components/observe-slot-text-CvL-2ey3.cjs +18 -0
  180. package/components/{observe-slot-text-Ddf1OC6F.js → observe-slot-text-Db8Kx3P-.js} +7 -7
  181. package/components/options/index.cjs +1 -1
  182. package/components/options/index.d.ts +5 -3
  183. package/components/options/index.js +2 -2
  184. package/components/options/option.d.ts +0 -1
  185. package/components/options/options.d.ts +3 -0
  186. package/components/{options-BGwKMvng.js → options-BqFBNoKA.js} +23 -22
  187. package/components/options-Dh4FJuAu.cjs +102 -0
  188. package/components/overlay/index.cjs +1 -1
  189. package/components/overlay/index.d.ts +3 -2
  190. package/components/overlay/index.js +4 -4
  191. package/components/overlay/overlay-trigger.d.ts +1 -1
  192. package/components/overlay-B-gaxspw.cjs +47 -0
  193. package/components/{overlay-BGI4wOGe.cjs → overlay-CPZvL0Ic.cjs} +2 -2
  194. package/components/{overlay-BbQuYBxp.js → overlay-CyBsHuOL.js} +20 -15
  195. package/components/{overlay-mdk7-NOt.js → overlay-DdIs4w5M.js} +3 -3
  196. package/components/{pending-state-DFcNf5rd.js → pending-state-BeG7qBDP.js} +1 -1
  197. package/components/{pending-state-DIeF18qg.cjs → pending-state-a527YMWV.cjs} +2 -2
  198. package/components/picker/index.cjs +1 -1
  199. package/components/picker/index.js +2 -2
  200. package/components/picker/picker.d.ts +4 -0
  201. package/components/picker-D225VAbx.cjs +124 -0
  202. package/components/picker-button/index.cjs +1 -1
  203. package/components/picker-button/index.js +2 -2
  204. package/components/picker-button-BR7oM7_M.cjs +37 -0
  205. package/components/{picker-button-VAxzuhhg.js → picker-button-DVzLeTq8.js} +5 -5
  206. package/components/{picker-DOiM_cUu.js → picker-f4fSGZX8.js} +65 -66
  207. package/components/platform-BAjeJp2W.cjs +18 -0
  208. package/components/{platform-D4V_cOJF.js → platform-Ce9pNsR9.js} +2 -2
  209. package/components/popover/index.cjs +1 -1
  210. package/components/popover/index.js +2 -2
  211. package/components/{popover-DyC9xGhX.js → popover-DTsrgH-f.js} +4 -4
  212. package/components/popover-DWWYpY-k.cjs +30 -0
  213. package/components/progress-bar/index.cjs +1 -1
  214. package/components/progress-bar/index.js +2 -2
  215. package/components/{progress-bar-DHgFRml1.js → progress-bar-BJO8j1aX.js} +9 -6
  216. package/components/progress-bar-C7wJ5bxS.cjs +34 -0
  217. package/components/progress-circle/index.cjs +1 -1
  218. package/components/progress-circle/index.js +2 -2
  219. package/components/{progress-circle-Cg_ua9Ff.js → progress-circle-BVToDWX8.js} +3 -3
  220. package/components/progress-circle-DyApSKdm.cjs +33 -0
  221. package/components/progress-steps/index.cjs +1 -1
  222. package/components/progress-steps/index.js +2 -2
  223. package/components/progress-steps-Ba4VbAKR.cjs +96 -0
  224. package/components/{progress-steps-Da8aZWx3.js → progress-steps-nJ8Xw-nG.js} +10 -10
  225. package/components/prompt-box/index.cjs +1 -1
  226. package/components/prompt-box/index.js +2 -2
  227. package/components/prompt-box/prompt-box-templates.d.ts +1 -0
  228. package/components/prompt-box/prompt-box.d.ts +3 -0
  229. package/components/{prompt-box-DahvVbcc.js → prompt-box-BY1xKFZO.js} +102 -96
  230. package/components/prompt-box-Dg9S0C5x.cjs +314 -0
  231. package/components/question-box/index.cjs +18 -0
  232. package/components/question-box/index.d.ts +11 -0
  233. package/components/question-box/index.js +25 -0
  234. package/components/question-box/question-box-elicitation.d.ts +58 -0
  235. package/components/question-box/question-box-model.d.ts +25 -0
  236. package/components/question-box/question-box-templates.d.ts +65 -0
  237. package/components/question-box/question-box.d.ts +182 -0
  238. package/components/question-box/types.d.ts +124 -0
  239. package/components/question-box-5VO9CM8H.js +1171 -0
  240. package/components/question-box-DvXRIiVG.cjs +401 -0
  241. package/components/radio/index.cjs +1 -1
  242. package/components/radio/index.js +2 -2
  243. package/components/radio/radio-group.d.ts +5 -1
  244. package/components/radio/radio.d.ts +7 -1
  245. package/components/{radio-BzEPGUmQ.js → radio-DRI4on-W.js} +30 -26
  246. package/components/radio-O3a1rmCe.cjs +22 -0
  247. package/components/{random-id-B51lUxUB.cjs → random-id-BcUJAxUZ.cjs} +1 -1
  248. package/components/{random-id-Dd4boCPV.js → random-id-CiMDyX7v.js} +1 -1
  249. package/components/{roving-tabindex-B7x5ePUB.cjs → roving-tabindex-BoPao4td.cjs} +1 -1
  250. package/components/{roving-tabindex-BP6mQbXf.js → roving-tabindex-pomAn3z-.js} +1 -1
  251. package/components/{scaled-indicator-Bl-3A2gz.cjs → scaled-indicator-DLJIztx0.cjs} +2 -2
  252. package/components/search/index.cjs +1 -1
  253. package/components/search/index.js +2 -2
  254. package/components/search-BhMhfCBh.cjs +47 -0
  255. package/components/search-C-EPZmTG.js +100 -0
  256. package/components/segments-factory-DtPyN5sh.cjs +18 -0
  257. package/components/select/index.cjs +1 -1
  258. package/components/select/index.js +2 -2
  259. package/components/{select-C2gh8zRr.js → select-CFtAPE-U.js} +20 -20
  260. package/components/select-JFwtVyhG.cjs +158 -0
  261. package/components/{chunk-D-qHiVGv.cjs → sized-mixin-BT7cv-fT.cjs} +1 -1
  262. package/components/{sized-mixin-DaBoZkVS.js → sized-mixin-DzQTebN-.js} +1 -1
  263. package/components/skeleton-loader/index.cjs +1 -1
  264. package/components/skeleton-loader/index.js +2 -2
  265. package/components/{skeleton-loader-oJVESWls.js → skeleton-loader-C0LH3prK.js} +1 -1
  266. package/components/skeleton-loader-Cm50Ztzk.cjs +18 -0
  267. package/components/slider/controllers/slider-handle-controller.d.ts +79 -0
  268. package/components/slider/index.cjs +1 -1
  269. package/components/slider/index.d.ts +5 -1
  270. package/components/slider/index.js +3 -3
  271. package/components/slider/slider-control-templates.d.ts +36 -0
  272. package/components/slider/slider-handle.d.ts +62 -0
  273. package/components/slider/slider-model.d.ts +16 -0
  274. package/components/slider/slider-templates.d.ts +6 -0
  275. package/components/slider/slider.d.ts +197 -19
  276. package/components/slider/types.d.ts +57 -0
  277. package/components/slider-B7QAhDTM.js +921 -0
  278. package/components/slider-DxliwjT6.cjs +135 -0
  279. package/components/{slottable-request-event-gAcEQan2.cjs → slottable-request-event-C6eb7Ch3.cjs} +1 -1
  280. package/components/status-light/index.cjs +1 -1
  281. package/components/status-light/index.js +2 -2
  282. package/components/status-light/status-light.d.ts +3 -0
  283. package/components/status-light-BYBYorYy.cjs +21 -0
  284. package/components/status-light-DC8qqO8q.js +86 -0
  285. package/components/strategies-BwNbUXYS.cjs +18 -0
  286. package/components/{strategies-DhxJGIZT.js → strategies-Cl59wdNZ.js} +21 -19
  287. package/components/streaming-listener-Bfyk6Fsx.cjs +18 -0
  288. package/components/swatch/index.cjs +1 -1
  289. package/components/swatch/index.js +2 -2
  290. package/components/{swatch-BLuV-hlF.js → swatch-C2ty27bJ.js} +4 -4
  291. package/components/{swatch-G70JUe6I.cjs → swatch-DUmBmg4S.cjs} +2 -2
  292. package/components/switch/index.cjs +1 -1
  293. package/components/switch/index.js +2 -2
  294. package/components/switch-B-gu-War.cjs +22 -0
  295. package/components/{switch-CSuMgmAh.js → switch-DOuXlFwI.js} +5 -5
  296. package/components/tabs/index.cjs +1 -1
  297. package/components/tabs/index.js +2 -2
  298. package/components/tabs/tabs.d.ts +1 -2
  299. package/components/{tabs-B54ELQtU.js → tabs-CjY4eX9W.js} +11 -11
  300. package/components/{tabs-Jo_qqM_H.cjs → tabs-ZwcVrVub.cjs} +2 -2
  301. package/components/tags/index.cjs +1 -1
  302. package/components/tags/index.js +2 -2
  303. package/components/tags/tag.d.ts +7 -3
  304. package/components/tags-B28zWEic.cjs +47 -0
  305. package/components/tags-BCKNzEaH.js +207 -0
  306. package/components/text-field/help-text-manager.d.ts +3 -1
  307. package/components/text-field/help-text.d.ts +4 -0
  308. package/components/text-field/index.cjs +1 -1
  309. package/components/text-field/index.js +3 -3
  310. package/components/text-field/manage-help-text.d.ts +2 -1
  311. package/components/text-field/text-field.d.ts +9 -0
  312. package/components/{text-field-FJr8ZUhI.cjs → text-field-3fDtTQkR.cjs} +2 -2
  313. package/components/{text-field-BoGAvXvh.js → text-field-C2MHZbTp.js} +3 -3
  314. package/components/{text-field-Cs8HYRYL.js → text-field-CmSym2QK.js} +5 -5
  315. package/components/text-field-wJK2bzMT.cjs +21 -0
  316. package/components/{text-field.module-Btsve-VN.js → text-field.module-BHhBReKL.js} +1 -1
  317. package/components/{text-field.module-D5oDP7MB.cjs → text-field.module-l8CaTCwE.cjs} +1 -1
  318. package/components/toast/index.cjs +1 -1
  319. package/components/toast/index.js +2 -2
  320. package/components/toast-COQ7Xl5T.cjs +51 -0
  321. package/components/{toast-Bd0fleYT.js → toast-DlOeMDCI.js} +4 -4
  322. package/components/tooltip/index.cjs +1 -1
  323. package/components/tooltip/index.js +2 -2
  324. package/components/{tooltip-CVSSKlDP.js → tooltip-Byl1h4nN.js} +4 -4
  325. package/components/tooltip-Sm0pruxL.cjs +45 -0
  326. package/components/top-nav/index.cjs +1 -1
  327. package/components/top-nav/index.js +2 -2
  328. package/components/{top-nav-B3w3DZ56.js → top-nav-B9YKdtFB.js} +7 -11
  329. package/components/top-nav-BcZLCBP_.cjs +41 -0
  330. package/components/utils.cjs +1 -1
  331. package/components/utils.js +7 -7
  332. package/components/{voice-recorder-BUtmSvPO.cjs → voice-recorder-B1tBrGTV.cjs} +1 -1
  333. package/custom-elements.json +1 -1
  334. package/index.d.ts +2 -0
  335. package/package.json +15 -4
  336. package/utils/button-interaction-controllers/interaction-controller.d.ts +4 -2
  337. package/utils/reactive-controllers/language-resolution.d.ts +32 -2
  338. package/utils/reactive-controllers/match-media.d.ts +1 -0
  339. package/components/accordion-BHBIfsLU.cjs +0 -43
  340. package/components/action-bar-BSMX042X.cjs +0 -39
  341. package/components/action-button-Cr_QN4On.cjs +0 -22
  342. package/components/action-button-DC-ZFZTm.js +0 -135
  343. package/components/action-group-CH8FTW0i.cjs +0 -20
  344. package/components/avatar-CyY_ZSD0.js +0 -65
  345. package/components/avatar-PulwjkMI.cjs +0 -24
  346. package/components/badge-D1Ry32wi.cjs +0 -23
  347. package/components/badge-D6p2hPj8.js +0 -94
  348. package/components/button-C5hcfigl.cjs +0 -20
  349. package/components/button-base-Dj2qQqwO.cjs +0 -25
  350. package/components/button-group-DIz5TZvc.cjs +0 -18
  351. package/components/calendar-BWArK3rh.cjs +0 -142
  352. package/components/chat-message-CNE-mGuP.cjs +0 -149
  353. package/components/chat-message-group-COmhCN-R.cjs +0 -24
  354. package/components/checkbox-DFwDrIdY.cjs +0 -25
  355. package/components/close-button-_EXjp6_m.cjs +0 -18
  356. package/components/color-area-C3Y2d5cu.cjs +0 -80
  357. package/components/color-controller-DueaXfnX.cjs +0 -18
  358. package/components/color-handle-Cka48yPY.cjs +0 -24
  359. package/components/color-loupe-DMk8uWZW.cjs +0 -56
  360. package/components/color-menu-BAKmi_EI.cjs +0 -89
  361. package/components/color-palette-349EkPMg.cjs +0 -18
  362. package/components/color-palette-group-BvP09zmT.cjs +0 -28
  363. package/components/color-slider-DxjJ72ue.cjs +0 -57
  364. package/components/date-range-picker-A-XRRg1X.cjs +0 -180
  365. package/components/date-time-picker-Ca9GEA4N.cjs +0 -105
  366. package/components/decorate-B2wePfNm.cjs +0 -18
  367. package/components/divider-Dn8XqbB6.cjs +0 -18
  368. package/components/field-label-BCl6R1uO.cjs +0 -25
  369. package/components/focus-group-SF8Kj7iB.cjs +0 -18
  370. package/components/focus-visible-B0NNezGc.cjs +0 -18
  371. package/components/focusable-CupEoHmn.cjs +0 -18
  372. package/components/icon-B7hKwn_q.cjs +0 -18
  373. package/components/infield-button-D5cuBWE5.cjs +0 -22
  374. package/components/label-CqolZbJo.cjs +0 -18
  375. package/components/language-resolution-BYemISJC.cjs +0 -18
  376. package/components/language-resolution-BpfGTC29.js +0 -43
  377. package/components/menu-DFKS4sRU.cjs +0 -108
  378. package/components/number-field-BmWODnnR.cjs +0 -57
  379. package/components/observe-slot-presence-Dx8hzNzK.cjs +0 -18
  380. package/components/observe-slot-text-BhTcGuHY.cjs +0 -18
  381. package/components/options-CKi3VkNR.cjs +0 -101
  382. package/components/overlay-DU_p8MNs.cjs +0 -47
  383. package/components/picker-CssPvvau.cjs +0 -123
  384. package/components/picker-button-adl1JO5u.cjs +0 -37
  385. package/components/platform-B7Sk7Qon.cjs +0 -18
  386. package/components/popover-dgL04x6P.cjs +0 -30
  387. package/components/progress-bar-BR28tISC.cjs +0 -31
  388. package/components/progress-circle-DuzwUiGN.cjs +0 -33
  389. package/components/progress-steps-WriXaZpE.cjs +0 -96
  390. package/components/prompt-box-DfTe3nG0.cjs +0 -311
  391. package/components/radio-d-2GUbYE.cjs +0 -22
  392. package/components/search-CCvT87FX.cjs +0 -47
  393. package/components/search-Dtff2EzC.js +0 -100
  394. package/components/segments-factory-CHo9oQw7.cjs +0 -18
  395. package/components/select-qAKOLhmQ.cjs +0 -158
  396. package/components/sized-mixin-StFA4y0J.cjs +0 -18
  397. package/components/skeleton-loader-dNRfq6lt.cjs +0 -18
  398. package/components/slider-D8w2ipBg.cjs +0 -18
  399. package/components/slider-Fy-VeKrU.js +0 -96
  400. package/components/status-light-BG_kopZQ.cjs +0 -21
  401. package/components/status-light-DXWPBufE.js +0 -85
  402. package/components/strategies-kuvLVIKO.cjs +0 -18
  403. package/components/streaming-listener-BnDW38lt.cjs +0 -18
  404. package/components/switch-nuCOB2P3.cjs +0 -22
  405. package/components/tags-Bpl4u-eo.js +0 -206
  406. package/components/tags-Dj7Xm3KI.cjs +0 -47
  407. package/components/text-field-A4Obzs4l.cjs +0 -21
  408. package/components/toast-NZ0Z1lz9.cjs +0 -51
  409. package/components/tooltip-6y-g7e9V.cjs +0 -45
  410. package/components/top-nav-DZO8yZs6.cjs +0 -45
  411. /package/components/{color-controller-G2_v2xSl.js → color-controller-Rg_Zl0sT.js} +0 -0
  412. /package/components/{condition-attribute-with-id-Duo51HZ7.js → condition-attribute-with-id-BdnTdWKz.js} +0 -0
  413. /package/components/{dependency-manger-DMrulWcJ.js → dependency-manger-wHEXoU92.js} +0 -0
  414. /package/components/{divider.module-C65RfSUa.js → divider.module-CPEKsaqR.js} +0 -0
  415. /package/components/{element-resolution-Bs1x89vU.js → element-resolution-gap51AVo.js} +0 -0
  416. /package/components/{focusable-selectors-Bg60_Kra.js → focusable-selectors-BWpiuXz5.js} +0 -0
  417. /package/components/{get-label-from-slot-5vVnfSgN.js → get-label-from-slot-Bo9mqYCZ.js} +0 -0
  418. /package/components/{observe-slot-presence-BCqd3VSd.js → observe-slot-presence-BKY6n06-.js} +0 -0
  419. /package/components/{rolldown-runtime-CAFD8bLK.js → rolldown-runtime-Dy4uBu1J.js} +0 -0
  420. /package/components/{scaled-indicator-fMYan6VK.js → scaled-indicator-C-TupV4L.js} +0 -0
  421. /package/components/{segments-factory-D0IveW-q.js → segments-factory-BCRi1NKb.js} +0 -0
  422. /package/components/{slottable-request-event-DZ2Z_BLk.js → slottable-request-event-MRSZbgTu.js} +0 -0
  423. /package/components/{streaming-listener-2NcP7ys7.js → streaming-listener-CtcMpYfS.js} +0 -0
  424. /package/components/{voice-recorder-477xPHRU.js → voice-recorder-CTg3kRxx.js} +0 -0
@@ -1,311 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./decorate-B2wePfNm.cjs`),t=require(`./sized-mixin-StFA4y0J.cjs`);require(`./icon-B7hKwn_q.cjs`),require(`./action-button-Cr_QN4On.cjs`);const n=require(`./overlay-DU_p8MNs.cjs`);require(`./overlay-BGI4wOGe.cjs`),require(`./button-C5hcfigl.cjs`),require(`./text-field-A4Obzs4l.cjs`),require(`./skeleton-loader-dNRfq6lt.cjs`);const r=require(`./voice-recorder-BUtmSvPO.cjs`);let i=require(`lit`),a=require(`lit/decorators.js`),o=require(`@luzmo/icons`);var s=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}setAttachmentLoading(e,t){let n=this._attachments.findIndex(t=>t.id===e);if(n===-1)return;let r=this._attachments[n];!!r.loading!==t&&(this._attachments=[...this._attachments.slice(0,n),{...r,loading:t},...this._attachments.slice(n+1)],this._dispatchChange(),this._host.requestUpdate())}clearAttachments(){this._revokeAllPreviewUrls(),this._attachments=[],this._dispatchChange(),this._host.requestUpdate()}getAttachments(){return[...this._attachments]}handlePastedImages(e){if(!this._host.allowImages||this._host.disabled||this._host.readonly||this._host.pending||!e)return!1;let t=[];for(let n of e.items)if(n.type.startsWith(`image/`)){let e=n.getAsFile();e&&t.push(e)}return t.length>0?(this.addFiles(t),!0):!1}getAcceptAttribute(){if(this._host.acceptedFileTypes.length>0)return this._host.acceptedFileTypes.join(`,`);let e=[];return this._host.allowImages&&e.push(`image/*`),this._host.allowFiles&&e.push(`*/*`),e.join(`,`)}isImageFile(e){return this._isImageFile(e)}_isImageFile(e){return e.type.startsWith(`image/`)}_isFileTypeAccepted(e){if(this._host.acceptedFileTypes.length===0)return!0;let t=e.name.toLowerCase(),n=e.type.toLowerCase();for(let e of this._host.acceptedFileTypes){let r=e.toLowerCase();if(r.endsWith(`/*`)){let e=r.slice(0,-2);if(n.startsWith(e+`/`))return!0}else if(n===r)return!0;else if(r.startsWith(`.`)&&t.endsWith(r))return!0}return!1}_generateId(){return`attachment-${++this._idCounter}-${Date.now()}`}_revokeAllPreviewUrls(){for(let e of this._attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}_dispatchChange(){this._host.dispatchEvent(new CustomEvent(`luzmo-attachments-change`,{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}},c=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){if(!r.t.isSupported()){this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:`Voice recording is not supported in this browser`}}));return}if(this.isRecording){this.stop();return}this.shouldFocusFinishButton=e,this._init(),this._voiceRecorder&&(await this._voiceRecorder.startRecording()&&(this.isRecording=!0,this.duration=0,this.audioLevel=0,this._host.requestUpdate()),this._host.dispatchEvent(new CustomEvent(`luzmo-record`,{bubbles:!0,composed:!0,detail:{isRecording:this.isRecording}})))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return r.t.formatDuration(this.duration)}static isSupported(){return r.t.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new r.t({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function l(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function u(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function d(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=l(e,i),s=u(o,n,r),c=l(e,a),d=u(c,n,r);return d<s&&(o=c,s=d),{range:o,distSq:s}}function f(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=d(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,u=l(e,o),d=l(e,o+1),f=t<c?u:d,p=n-(r.top+r.height/2),m=t<c?t-r.left:t-r.right,h=m*m+p*p;h<a&&(a=h,i=f)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function p(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a)if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else `caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=f(t,n,r,i)),a}function m(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function h(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function g(e){return e===` `||e===`
19
- `||e===`\xA0`}function ee(e){let t=m(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return g(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0?!0:g(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0?!0:g(t.at(-1)??``)}}return!1}function _(e,t){let n=m(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function v(e,t){let n=m(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function y(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);h(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function b(e,t,n,r){let i=m(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),h(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),h(s,n);return}}}var x=`application/x-luzmo-element`,S=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=m(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;(!t||!this.richInputElement?.contains(t))&&(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(x);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?p(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){if(!this._host.allowElements){this._host.value=this._segmentsToPlainText(e);return}this._elements.clear(),this._host.updateComplete.then(()=>{if(this.richInputElement){this.richInputElement.innerHTML=``;for(let t of e)if(t.type===`text`&&t.value)this.richInputElement.append(document.createTextNode(t.value));else if(t.type===`element`&&t.value){let e={...t.value};e.id||=this._generateId(),this._elements.set(e.id,e),this.richInputElement.append(this._createBadgeNode(e))}this.syncValue()}})}insertElement(e,t,n,r){return this._insertElementAtRange(e,t,n,r,null)}_insertElementAtRange(e,t,n,r,i){if(this._cannotEditRichContent()||this._host.acceptedElementTypes.length>0&&!this._host.acceptedElementTypes.includes(e)||!this.richInputElement)return``;let a=this._generateId(),o={id:a,elementType:e,label:t,data:n,icon:r};this._elements.set(a,o);let s=this._createBadgeNode(o),c=this.richInputElement,l=!1,u=i===null?this._getSelectionRange():i;if(u&&c.contains(u.commonAncestorContainer)){u.deleteContents(),u.insertNode(s);let e=s.previousSibling;if(e?.nodeType===Node.TEXT_NODE){let t=e.previousSibling;t?.classList?.contains(`element-badge`)&&this._ensureSpaceAfter(t)}this._ensureSpaceAfter(s),y(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),y(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return m(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=m(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE)if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;!n||r||t.innerHTML===``||(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
20
- `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},C=class{constructor(e){this._triggers=[],this.activeTrigger=null,this.searchString=``,this.virtualElement=null,this.highlightedIndex=0,this.pointerMovedSinceKeyNav=!0,this.hoveredIndex=-1,this.filteredOptions=[],this.richInputElement=null,this.handleOverlayClosed=()=>{this.close()},this.handleOverlayKeydown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.close(),this.richInputElement?.focus())},this.handlePointerMove=()=>{this.pointerMovedSinceKeyNav=!0},this._handleTriggerSelect=e=>{if(!this.activeTrigger)return;let{elementType:t,label:n,data:r,icon:i}=e.detail;this.selectOption({label:n,value:n,data:r,icon:i,elementType:t})},this._handleDocumentPointerDown=e=>{let t=e.composedPath(),n=this._host.shadowRoot?.querySelector(`luzmo-overlay[part="trigger-menu-overlay"]`);n&&t.includes(n)||this.richInputElement&&t.includes(this.richInputElement)||(this.close(),this.richInputElement?.focus())},this._host=e,e.addController(this)}hostConnected(){this._host.addEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}hostDisconnected(){document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0),this._host.removeEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}get triggers(){return this._triggers}set triggers(e){this._triggers=e,this.activeTrigger&&this._updateFilteredOptions()}get activeConfig(){if(this.activeTrigger)return this._triggers.find(e=>e.key===this.activeTrigger)}get hasTriggers(){return this._triggers.length>0}getSlotName(e){return this._triggers.find(t=>t.key===e)?.slotName}get allSlotNames(){return this._triggers.map(e=>e.slotName).filter(e=>!!e)}handleInput(e){if(this.activeTrigger){let e=v(this._host.shadowRoot,this.activeTrigger)??this._extractTriggerSearchFromContent(this.activeTrigger);e===null?this.close():(this.searchString=e,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1),this._dispatchChange(!0),this._host.requestUpdate(),document.dispatchEvent(new Event(`luzmo-update-overlays`)))}else this._detectTrigger(e)}open(e){if(!this._triggers.find(t=>t.key===e))return;let t=_(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let r=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,r):this.virtualElement=new n.m(t.x,t.y,r),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||ee(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
21
- `)?null:r}_isTriggerKey(e){return this._triggers.some(t=>t.key===e)}_updateFilteredOptions(){let e=this.activeConfig;if(!e?.options){this.filteredOptions=[];return}if(e.lazy){this.filteredOptions=e.options;return}if(!this.searchString){this.filteredOptions=e.options;return}let t=this.searchString.toLowerCase(),n=[],r=null;for(let i of e.options){if(i.header){r=i;continue}(i.label.toLowerCase().includes(t)||(i.description?.toLowerCase().includes(t)??!1))&&(r&&=(n.push(r),null),n.push(i))}this.filteredOptions=n}_findSelectableIndex(e,t){let n=this.filteredOptions.length;if(n===0)return-1;let r=(e%n+n)%n;for(let e=0;e<n;e++){if(!this.filteredOptions[r].header)return r;r=((r+t)%n+n)%n}return-1}_moveHighlight(e){let t=this.filteredOptions.length;if(t===0)return;let n=(this.highlightedIndex+e+t)%t;n=this._findSelectableIndex(n,e),n!==-1&&(this.pointerMovedSinceKeyNav=!1,this.hoveredIndex=-1,this.highlightedIndex=n,this._host.requestUpdate(),requestAnimationFrame(()=>{this._host.shadowRoot?.querySelector(`.trigger-option.highlighted`)?.scrollIntoView({block:`nearest`})}))}_selectHighlighted(){let e=this.filteredOptions[this.highlightedIndex];if(!e){this.close();return}this.selectOption(e)}selectOption(e){if(!this.activeTrigger||!this.richInputElement)return;let t=this.activeTrigger,n=this.richInputElement,r=this._host.shadowRoot;b(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);y(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{y(n,a)})})}_dispatchChange(e){this.activeTrigger&&this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:this.activeTrigger,open:e,searchString:this.searchString}}))}},w=!1,T=0;function E(){w=!0}function D(){w=!1}function te(){document.addEventListener(`keydown`,E,!0),document.addEventListener(`mousedown`,D,!0),document.addEventListener(`pointerdown`,D,!0)}function ne(){document.removeEventListener(`keydown`,E,!0),document.removeEventListener(`mousedown`,D,!0),document.removeEventListener(`pointerdown`,D,!0)}function O(){T===0&&typeof window<`u`&&te(),T++}function k(){T--,T<=0&&(T=0,ne())}function A(){return w}function j(e,t,n){return i.html`
22
- <div class="top-actions ${t?``:`empty`}" part="top-actions">
23
- <slot name="top-actions" @slotchange=${n}></slot>
24
- </div>
25
- `}function M(e,t,n){return i.html`
26
- <div
27
- class="bottom-actions ${t?``:`empty`}"
28
- part="bottom-actions"
29
- >
30
- <slot name="bottom-actions" @slotchange=${n}></slot>
31
- </div>
32
- `}function N(e){let t=[];for(let n=0;n<5;n++){let r=1-Math.abs(n-2)*.15,a=.3+e.recordingController.audioLevel*.7*r,o=Math.max(.2,Math.min(1,a));t.push(i.html`
33
- <span class="waveform-bar" style="--bar-height: ${o}"></span>
34
- `)}return i.html`
35
- <div class="waveform" part="waveform" aria-hidden="true">${t}</div>
36
- `}function P(e){let t=e.handleRecordButtonSlotChange,n=e.hasRecordButton,r=e.recordingController.isRecording,a=()=>{e.recordingController.cancel()},s=t=>{e.handleRecordClick(t)};return n||!e.recording?i.html`<slot name="record-button" @slotchange=${t}></slot>`:r?i.html`
37
- <slot name="record-button" @slotchange=${t}></slot>
38
- <div class="recording-ui" part="recording-ui">
39
- <luzmo-action-button
40
- class="cancel-recording-button"
41
- part="cancel-recording-button"
42
- .size=${e.size}
43
- ?disabled=${e.disabled}
44
- @click=${a}
45
- aria-label="Cancel recording"
46
- >
47
- <luzmo-icon
48
- slot="icon"
49
- .icon=${o.luzmoClear}
50
- .size=${e.size}
51
- ></luzmo-icon>
52
- </luzmo-action-button>
53
- ${N(e)}
54
- <span class="recording-duration" part="recording-duration">
55
- ${e.recordingController.formatDuration()}
56
- </span>
57
- <luzmo-button
58
- class="finish-recording-button"
59
- part="finish-recording-button"
60
- .size=${e.size}
61
- icon-only
62
- variant="primary"
63
- ?disabled=${e.disabled}
64
- @click=${s}
65
- aria-label="Finish recording"
66
- >
67
- <luzmo-icon slot="icon" .icon=${o.luzmoCheck}></luzmo-icon>
68
- </luzmo-button>
69
- </div>
70
- `:i.html`
71
- <slot name="record-button" @slotchange=${t}></slot>
72
- <luzmo-action-button
73
- class="record-button"
74
- part="record-button"
75
- quiet
76
- .size=${e.size}
77
- ?disabled=${e.disabled}
78
- ?readonly=${e.pending}
79
- @click=${s}
80
- aria-label="Record"
81
- >
82
- <luzmo-icon
83
- slot="icon"
84
- .icon=${o.luzmoMicrophone}
85
- .size=${e.size}
86
- ></luzmo-icon>
87
- </luzmo-action-button>
88
- `}function F(e){let t=e.handleSubmitButtonSlotChange,n=e.recordingController.isRecording,r=()=>{e.submit()},a=()=>{e.handleStopClick()};if(n||e.hasSubmitButton||e.hideSubmit&&!e.hasSubmitButton)return i.html`<slot name="submit-button" @slotchange=${t}></slot>`;let s=!!e.value.trim()||e.richInputController.elementCount>0;return e.pending&&e.stoppable?i.html`
89
- <slot name="submit-button" @slotchange=${t}></slot>
90
- <luzmo-button
91
- class="submit-button stop-button"
92
- part="submit-button stop-button"
93
- .size=${e.size}
94
- icon-only
95
- variant="primary"
96
- ?disabled=${e.disabled}
97
- @click=${a}
98
- aria-label="Stop"
99
- label="Stop"
100
- >
101
- <luzmo-icon slot="icon" .icon=${o.luzmoStop}></luzmo-icon>
102
- </luzmo-button>
103
- `:i.html`
104
- <slot name="submit-button" @slotchange=${t}></slot>
105
- <luzmo-button
106
- class="submit-button"
107
- part="submit-button"
108
- .size=${e.size}
109
- icon-only
110
- variant="primary"
111
- ?disabled=${e.disabled||e.disableSubmit||!e.pending&&!s}
112
- ?pending=${e.pending}
113
- @click=${r}
114
- aria-label="Submit"
115
- label="Submit"
116
- .label=${`Submit`}
117
- >
118
- <luzmo-icon slot="icon" .icon=${o.luzmoArrowUp}></luzmo-icon>
119
- </luzmo-button>
120
- `}function I(e,t){if(!t)return e;let n=e.toLowerCase().indexOf(t.toLowerCase());return n===-1?e:i.html`${e.slice(0,n)}<mark class="trigger-option-highlight">${e.slice(n,n+t.length)}</mark>${e.slice(n+t.length)}`}function L(e,t){return i.html`
121
- <div
122
- class="trigger-option-header"
123
- part="trigger-option-header"
124
- role="presentation"
125
- >
126
- ${t?.iconTemplate?i.html`<span class="trigger-option-header-icon">${t.iconTemplate(e)}</span>`:e.icon?i.html`<luzmo-icon
127
- class="trigger-option-header-icon"
128
- .icon=${e.icon}
129
- size="s"
130
- ></luzmo-icon>`:i.nothing}
131
- <span class="trigger-option-header-label">${e.label}</span>
132
- </div>
133
- `}function R(e,t,n,r,a){let s=()=>{e.selectTriggerOption(t)},c=()=>{e.triggerMenuController.pointerMovedSinceKeyNav&&(e.triggerMenuController.hoveredIndex=n,e.highlightTriggerOption(n))},l=()=>{e.triggerMenuController.hoveredIndex===n&&(e.triggerMenuController.hoveredIndex=-1,e.requestUpdate())},u=n===r,d=n===e.triggerMenuController.hoveredIndex,f=e.triggerMenuController.searchString,p=i.html`${a?.iconTemplate?i.html`<span class="trigger-option-icon">${a.iconTemplate(t)}</span>`:t.icon?i.html`<luzmo-icon
134
- class="trigger-option-icon"
135
- .icon=${t.icon}
136
- size="s"
137
- ></luzmo-icon>`:i.nothing}
138
- <div class="trigger-option-content">
139
- <span class="trigger-option-label"
140
- >${a?.highlightSearch&&f?I(t.label,f):t.label}</span
141
- >
142
- ${t.description?i.html`<span class="trigger-option-description"
143
- >${t.description}</span
144
- >`:i.nothing}
145
- </div>`;return i.html`
146
- <div
147
- class="trigger-option ${u?`highlighted`:``} ${d?`hovered`:``} ${t.description?`has-description`:``}"
148
- part="trigger-option"
149
- role="option"
150
- aria-selected=${u}
151
- @click=${s}
152
- @pointerenter=${c}
153
- @pointerleave=${l}
154
- >
155
- ${p}
156
- ${u?i.html`<luzmo-icon
157
- class="trigger-option-enter-icon"
158
- .icon=${o.luzmoArrowEnter}
159
- size="s"
160
- ></luzmo-icon>`:i.nothing}
161
- </div>
162
- `}function z(e,t,n,r){let a=[];for(let[i,o]of t.entries())o.header?a.push(L(o,r)):a.push(R(e,o,i,n,r));return i.html`
163
- <div
164
- class="trigger-options"
165
- part="trigger-options"
166
- role="listbox"
167
- @pointermove=${e.triggerMenuController.handlePointerMove}
168
- >
169
- ${a}
170
- </div>
171
- `}function B(e){return i.html`<slot name=${e} style="display: none;"></slot>`}function V(e){let t=e.triggerMenuController;if(!t.hasTriggers){let e=[];for(let n of t.allSlotNames)e.push(B(n));return i.html`${e}`}let n=t.activeConfig,r=n?.slotName??null,a=t.filteredOptions.length>0,o=t.activeTrigger!==null,s=[];for(let e of t.allSlotNames)e!==r&&s.push(B(e));return i.html`
172
- <luzmo-overlay
173
- part="trigger-menu-overlay"
174
- type="manual"
175
- placement="bottom-start"
176
- receives-focus="auto"
177
- .triggerElement=${t.virtualElement}
178
- .open=${o}
179
- @luzmo-closed=${t.handleOverlayClosed}
180
- @keydown=${t.handleOverlayKeydown}
181
- >
182
- ${o&&r?i.html`<slot name=${r}></slot>`:i.nothing}
183
- ${o&&a?z(e,t.filteredOptions,t.highlightedIndex,n):i.nothing}
184
- </luzmo-overlay>
185
- ${s}
186
- `}function H(e){let t=!e.readonly&&!e.pending&&!e.disabled,n=e.richInputController;return i.html`
187
- <div
188
- class="rich-input"
189
- part="rich-input"
190
- contenteditable=${t?`true`:`false`}
191
- role="textbox"
192
- aria-multiline="true"
193
- aria-label=${e.placeholder||`Enter your message`}
194
- data-placeholder=${e.placeholder}
195
- @input=${e.handleRichInputEvent}
196
- @keydown=${e.handleRichKeydown}
197
- @paste=${n.handleRichPaste}
198
- @dragover=${n.handleRichDragOver}
199
- @dragleave=${n.handleRichDragLeave}
200
- @drop=${n.handleRichDrop}
201
- @focusin=${e.handleInputFocusIn}
202
- @focusout=${e.handleInputFocusOut}
203
- ></div>
204
- `}function re(e){return e.allowElements?H(e):i.html`
205
- <luzmo-text-field
206
- class="input-field"
207
- part="input"
208
- placeholder=${e.placeholder}
209
- .value=${e.value}
210
- .size=${e.size}
211
- rows=${e.rows}
212
- ?grows=${e.grows}
213
- max-rows=${e.maxRows}
214
- ?readonly=${e.readonly||e.pending||e.disabled}
215
- maxlength=${e.maxlength>0?e.maxlength:-1}
216
- multiline
217
- quiet
218
- label=${e.placeholder||`Enter your message`}
219
- @input=${e.handleInput}
220
- @keydown=${e.handleKeydown}
221
- @focusin=${e.handleInputFocusIn}
222
- @focusout=${e.handleInputFocusOut}
223
- hide-validation-icons
224
- ></luzmo-text-field>
225
- `}var U={pdf:o.luzmoFilePdf,csv:o.luzmoFileCsv,xls:o.luzmoFileExcel,xlsx:o.luzmoFileExcel,mp4:o.luzmoFileVideo,mov:o.luzmoFileVideo,webm:o.luzmoFileVideo,avi:o.luzmoFileVideo,mkv:o.luzmoFileVideo},W=new Set([`__proto__`,`constructor`,`prototype`]);function G(e){return e.trim().toLowerCase().replace(/^\./,``)}function K(e){let t=e.lastIndexOf(`.`);if(!(t<=0||t===e.length-1))return G(e.slice(t+1))}function q(e){if(!e||Object.keys(e).length===0)return U;let t={...U};for(let[n,r]of Object.entries(e)){let e=G(n);!e||W.has(e)||(t[e]=r)}return t}function J(e,t){let n=K(e.name);return n?t[n]??o.luzmoFileDoc:o.luzmoFileDoc}function Y(e,t){return i.html`
226
- <div
227
- class="image-attachment"
228
- part="image-attachment"
229
- title=${t.file.name}
230
- aria-busy=${t.loading?`true`:i.nothing}
231
- >
232
- ${t.loading?i.html`
233
- <luzmo-skeleton-loader
234
- class="attachment-skeleton"
235
- part="attachment-skeleton"
236
- ></luzmo-skeleton-loader>
237
- `:i.html`
238
- <img
239
- src=${t.previewUrl||``}
240
- alt=${t.file.name}
241
- class="image-preview"
242
- />
243
- `}
244
- <luzmo-clear-button
245
- class="attachment-remove"
246
- .size=${e.size}
247
- ?disabled=${e.disabled||e.pending}
248
- label=${e.removeAttachmentLabel(t.file.name)}
249
- data-attachment-id=${t.id}
250
- @click=${e.handleAttachmentRemoveClick}
251
- ></luzmo-clear-button>
252
- </div>
253
- `}function X(e,t,n){return i.html`
254
- <div
255
- class="file-attachment"
256
- part="file-attachment"
257
- title=${t.file.name}
258
- aria-busy=${t.loading?`true`:i.nothing}
259
- >
260
- ${t.loading?i.html`
261
- <luzmo-skeleton-loader
262
- class="attachment-skeleton"
263
- part="attachment-skeleton"
264
- ></luzmo-skeleton-loader>
265
- `:i.html`
266
- <luzmo-icon
267
- class="file-attachment-icon"
268
- .icon=${J(t.file,n)}
269
- ></luzmo-icon>
270
- `}
271
- <luzmo-clear-button
272
- class="attachment-remove"
273
- .size=${e.size}
274
- ?disabled=${e.disabled||e.pending}
275
- label=${e.removeAttachmentLabel(t.file.name)}
276
- data-attachment-id=${t.id}
277
- @click=${e.handleAttachmentRemoveClick}
278
- ></luzmo-clear-button>
279
- </div>
280
- `}function ie(e){let t=e.attachmentsController;if(!t.hasAttachments)return i.nothing;let n=q(e.fileIcons),r=t.imageAttachments,a=t.fileAttachments,o=[];for(let t of r)o.push(Y(e,t));for(let t of a)o.push(X(e,t,n));return i.html`
281
- <div class="attachments" part="attachments">${o}</div>
282
- `}function ae(e){return!e.allowImages&&!e.allowFiles?i.nothing:i.html`
283
- <input
284
- type="file"
285
- class="hidden-file-input"
286
- accept=${e.attachmentsController.getAcceptAttribute()}
287
- multiple
288
- @change=${t=>{let n=t.target;n.files?.length&&e.attachmentsController.addFiles([...n.files]),n.value=``}}
289
- aria-hidden="true"
290
- tabindex="-1"
291
- />
292
- `}var Z=`luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field`;function Q(e){let t=[];return e.matches(Z)&&t.push(e),t.push(...e.querySelectorAll(Z)),t}function oe(e,t,n){if(!e)return;let r=e.querySelector(`slot[name="submit-button"]`);for(let e of r?.assignedElements()??[])for(let r of Q(e))n?(r.setAttribute(`pending`,``),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`)):t?(r.removeAttribute(`pending`),r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`pending`),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`));for(let r of[`slot[name="top-actions"]`,`slot[name="bottom-actions"]`,`slot[name="record-button"]`]){let i=e.querySelector(r);for(let e of i?.assignedElements()??[])for(let r of Q(e))t||n?(r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`disabled`),r.removeAttribute(`readonly`))}}function se(e){let t=[],n=new Set([`luzmo-switch`,`luzmo-checkbox`,`luzmo-radio`]);for(let r of e)for(let e of Q(r)){let r={element:e,name:e.getAttribute(`name`)||e.getAttribute(`label`)||void 0};`value`in e&&(r.value=e.value);let i=e.tagName.toLowerCase();n.has(i)&&`checked`in e&&(r.checked=e.checked),t.push(r)}return t}var ce=`:host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-font-family));font-size:var(--luzmo-prompt-box-font-size,var(--prompt-box-font-size));line-height:var(--luzmo-prompt-box-line-height,var(--prompt-box-line-height));color:var(--highcontrast-prompt-box-text-color,var(--luzmo-prompt-box-text-color,var(--prompt-box-text-color)));flex-direction:column;width:100%;display:flex}:host([disabled]){opacity:var(--luzmo-prompt-box-disabled-opacity,var(--prompt-box-disabled-opacity));pointer-events:none}.container{gap:var(--luzmo-prompt-box-gap,var(--prompt-box-gap));padding:var(--luzmo-prompt-box-vertical-padding,var(--prompt-box-vertical-padding)) var(--luzmo-prompt-box-horizontal-padding,var(--prompt-box-horizontal-padding));background-color:var(--highcontrast-prompt-box-background-color,var(--luzmo-prompt-box-background-color,var(--prompt-box-background-color)));border-radius:var(--luzmo-prompt-box-border-radius,var(--prompt-box-border-radius));border-width:var(--luzmo-prompt-box-border-width,var(--prompt-box-border-width));border-style:solid;border-color:var(--highcontrast-prompt-box-border-color,var(--luzmo-prompt-box-border-color,var(--prompt-box-border-color)));box-shadow:var(--luzmo-prompt-box-shadow,var(--prompt-box-shadow));transition:border-color var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out, box-shadow var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-direction:column;display:flex}.container.input-focused{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)))}.container.drag-over{border-color:var(--luzmo-prompt-box-border-color-drag,var(--luzmo-primary,#0064fa))}:host(:focus-visible) .container,:host(.focus-visible) .container{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)));box-shadow:var(--luzmo-prompt-box-shadow-focus,var(--prompt-box-shadow-focus))}:host(:focus){outline:none}.top-actions{align-items:center;gap:var(--luzmo-prompt-box-top-actions-gap,var(--prompt-box-top-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;display:flex}.top-actions.empty{display:none}.hidden-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.attachments{align-items:center;gap:var(--luzmo-prompt-box-attachments-gap,var(--prompt-box-attachments-gap,8px));flex-flow:row;display:flex;overflow:auto hidden}.image-attachment,.file-attachment{width:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));height:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));background-color:var(--luzmo-prompt-box-image-background,var(--prompt-box-image-background,#0000000d));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.file-attachment-icon{--luzmo-icon-size:var(--luzmo-prompt-box-file-icon-size,var(--prompt-box-file-icon-size,28px));color:var(--luzmo-prompt-box-file-icon-color,var(--prompt-box-file-icon-color,var(--luzmo-font-color-extra-dimmed)))}.attachment-skeleton{--luzmo-skeleton-loader-border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));block-size:100%;inline-size:100%}.attachment-remove{width:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));height:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));background-color:var(--luzmo-prompt-box-remove-button-background,var(--prompt-box-remove-button-background,#00000080));--luzmo-clear-button-icon-color:var(--luzmo-prompt-box-remove-button-icon-color,var(--prompt-box-remove-button-icon-color,#fff));border-radius:50%;position:absolute;top:4px;right:4px}.attachment-remove:hover{background-color:var(--luzmo-prompt-box-remove-button-background-hover,var(--prompt-box-remove-button-background-hover,#000000b3))}.input-wrapper{flex:1;display:flex;position:relative}.input-field{--luzmo-text-field-focus-indicator-width:0;--luzmo-text-field-border-width:0;--luzmo-text-field-width:100%;--luzmo-text-field-min-width:0;--luzmo-text-field-placeholder-text-color-default:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));flex:1;width:100%;min-width:0}.actions-row{justify-content:space-between;align-items:center;gap:var(--luzmo-prompt-box-actions-gap,var(--prompt-box-actions-gap));display:flex}.bottom-actions{align-items:center;gap:var(--luzmo-prompt-box-bottom-actions-gap,var(--prompt-box-bottom-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;flex:1;display:flex}.button-group{align-items:center;gap:var(--luzmo-prompt-box-button-group-gap,var(--prompt-box-button-group-gap));margin-left:auto;display:flex}.record-button,.cancel-recording-button{--luzmo-action-button-border-radius:var(--luzmo-prompt-box-record-button-border-radius,50%);--luzmo-action-button-focus-indicator-border-radius:var(--luzmo-prompt-box-record-button-focus-indicator-border-radius,50%)}.submit-button{margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start))}.recording-ui{align-items:center;gap:var(--luzmo-prompt-box-recording-gap,var(--prompt-box-recording-gap));display:flex}.waveform{align-items:center;gap:var(--luzmo-prompt-box-waveform-gap,var(--prompt-box-waveform-gap,3px));height:var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px));padding:0 4px;display:flex}.waveform-bar{width:var(--luzmo-prompt-box-waveform-bar-width,var(--prompt-box-waveform-bar-width,3px));height:calc(var(--bar-height,.3) * var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px)));background-color:var(--luzmo-prompt-box-waveform-bar-color,var(--prompt-box-waveform-bar-color,currentColor));border-radius:var(--luzmo-prompt-box-waveform-bar-radius,var(--prompt-box-waveform-bar-radius,2px));min-height:4px;transition:height 50ms ease-out;animation:1s ease-in-out infinite waveform-pulse}.waveform-bar:first-child{animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.1s}.waveform-bar:nth-child(5){animation-delay:0s}@keyframes waveform-pulse{0%,to{opacity:.6}50%{opacity:1}}.recording-duration{font-family:var(--luzmo-prompt-box-recording-duration-font-family,var(--prompt-box-recording-duration-font-family,monospace));font-size:var(--luzmo-prompt-box-recording-duration-font-size,var(--prompt-box-recording-duration-font-size,14px));font-weight:var(--luzmo-prompt-box-recording-duration-font-weight,var(--prompt-box-recording-duration-font-weight,500));color:var(--luzmo-prompt-box-recording-duration-color,var(--prompt-box-recording-duration-color,currentColor));text-align:center}.rich-input{width:100%;min-width:0;min-height:1.5em;max-height:var(--luzmo-prompt-box-max-height,var(--prompt-box-max-height,200px));padding:var(--luzmo-prompt-box-rich-input-padding,var(--prompt-box-rich-input-padding,4px 0));font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;flex:1;overflow-y:auto}.rich-input:empty:before{content:attr(data-placeholder);color:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));pointer-events:none}.rich-input[contenteditable=false]{opacity:.5;cursor:default}.drag-caret{background:var(--luzmo-primary,#0064fa);pointer-events:none;border-radius:1px;width:2px}.element-badge{align-items:center;gap:var(--luzmo-prompt-box-badge-gap,var(--prompt-box-badge-gap,6px));vertical-align:baseline;padding:var(--luzmo-prompt-box-badge-padding,var(--prompt-box-badge-padding,1px 6px));background-color:var(--luzmo-prompt-box-badge-background,var(--prompt-box-badge-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .1)));color:var(--luzmo-prompt-box-badge-color,var(--prompt-box-badge-color,var(--luzmo-primary,#0064fa)));border-radius:var(--luzmo-prompt-box-badge-border-radius,var(--prompt-box-badge-border-radius,4px));font-size:var(--luzmo-prompt-box-badge-font-size,var(--prompt-box-badge-font-size,.9em));font-weight:var(--luzmo-prompt-box-badge-font-weight,var(--prompt-box-badge-font-weight,500));cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:var(--luzmo-prompt-box-badge-max-width,var(--prompt-box-badge-max-width,200px));margin:0 1px;line-height:1.4;display:inline-flex}.element-badge-icon{flex-shrink:0;display:inline-flex}.element-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.element-badge-remove{appearance:none;font:inherit;color:inherit;width:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));height:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));font-size:var(--luzmo-prompt-box-badge-remove-font-size,var(--prompt-box-badge-remove-font-size,12px));cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:opacity .1s,background-color .1s;display:inline-flex}.element-badge-remove:hover{opacity:1;background-color:var(--luzmo-prompt-box-badge-remove-hover-background,var(--prompt-box-badge-remove-hover-background,#0000001a))}.element-badge-remove:focus-visible{opacity:1;outline:2px solid var(--luzmo-primary,#0064fa);outline-offset:1px}:host([single-line]) .container{align-items:center;gap:var(--luzmo-prompt-box-single-line-gap,var(--prompt-box-single-line-gap));flex-direction:row}:host([single-line]) .top-actions{flex-wrap:nowrap;flex-shrink:0}:host([single-line]) .attachments{max-height:var(--luzmo-prompt-box-single-line-attachments-max-height,var(--prompt-box-single-line-attachments-max-height));flex-direction:row;flex-shrink:0;align-items:center;overflow:auto hidden}:host([single-line]) .image-attachment,:host([single-line]) .file-attachment{width:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size));height:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size))}:host([single-line]) .file-attachment-icon{--luzmo-icon-size:var(--luzmo-prompt-box-single-line-file-icon-size,var(--prompt-box-single-line-file-icon-size,14px))}:host([single-line]) .input-wrapper{min-width:0}:host([single-line]) .input-field{--luzmo-text-area-min-block-size-quiet:auto;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px}:host([single-line]) .rich-input{min-height:unset;padding:0}:host([single-line]) .actions-row{flex-shrink:0}:host([single-line]) .bottom-actions{flex-wrap:nowrap;flex:0}::slotted([slot=top-actions]),::slotted([slot=bottom-actions]){align-items:center;display:inline-flex}::slotted([slot=record-button]){display:inline-flex}::slotted([slot=submit-button]){margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start));display:inline-flex}luzmo-overlay[part=trigger-menu-overlay]{--luzmo-overlay-min-width:0}.trigger-options{min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-width:var(--luzmo-prompt-box-trigger-menu-max-width,var(--prompt-box-trigger-menu-max-width,400px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));flex-direction:column;display:flex;overflow-y:auto}.trigger-options::-webkit-scrollbar{width:var(--luzmo-prompt-box-trigger-menu-scrollbar-width,var(--prompt-box-trigger-menu-scrollbar-width))}.trigger-options::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-border-radius,var(--prompt-box-trigger-menu-scrollbar-track-border-radius))}.trigger-options::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-border-radius,var(--prompt-box-trigger-menu-scrollbar-thumb-border-radius))}.trigger-options::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-hover-background,var(--prompt-box-trigger-menu-scrollbar-thumb-hover-background))}.trigger-options{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background)) var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));background-color:var(--luzmo-prompt-box-trigger-menu-background,var(--prompt-box-trigger-menu-background,var(--luzmo-background-color,#fff)));border:1px solid var(--luzmo-prompt-box-trigger-menu-border-color,var(--prompt-box-trigger-menu-border-color,var(--luzmo-border-color,#0000001a)));border-radius:var(--luzmo-prompt-box-trigger-menu-border-radius,var(--prompt-box-trigger-menu-border-radius,var(--luzmo-border-radius-100,8px)));box-shadow:0 2px 8px var(--luzmo-prompt-box-trigger-menu-shadow-color,var(--prompt-box-trigger-menu-shadow-color,#0000001f))}.trigger-option{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-gap,var(--prompt-box-trigger-option-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-padding-block,var(--prompt-box-trigger-option-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-padding-inline,var(--prompt-box-trigger-option-padding-inline,10px));cursor:pointer;box-sizing:border-box;scroll-margin-block:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));transition:background-color .1s;display:flex}.trigger-option.has-description{padding-block:var(--luzmo-prompt-box-trigger-option-description-padding-block,var(--prompt-box-trigger-option-description-padding-block,4px));min-block-size:auto}.trigger-option.hovered,.trigger-option.highlighted{background-color:var(--luzmo-prompt-box-trigger-option-background-hover,var(--prompt-box-trigger-option-background-hover,var(--luzmo-background-color-hover,#0000000f)))}.trigger-option-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-icon-color,var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit)));font-size:var(--luzmo-prompt-box-trigger-option-icon-size,var(--prompt-box-trigger-option-icon-size,var(--luzmo-font-size,14px)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.trigger-option-label{font-size:var(--luzmo-prompt-box-trigger-option-font-size,var(--prompt-box-trigger-option-font-size,var(--luzmo-font-size,14px)));line-height:var(--luzmo-prompt-box-trigger-option-line-height,var(--prompt-box-trigger-option-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-color,var(--prompt-box-trigger-option-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-description{font-size:var(--luzmo-prompt-box-trigger-option-description-font-size,var(--prompt-box-trigger-option-description-font-size,var(--luzmo-font-size-xs,12px)));line-height:var(--luzmo-prompt-box-trigger-option-description-line-height,var(--prompt-box-trigger-option-description-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-description-color,var(--prompt-box-trigger-option-description-color,var(--luzmo-font-color,#6e6e6e)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-enter-icon{color:var(--luzmo-prompt-box-trigger-option-enter-icon-color,var(--prompt-box-trigger-option-enter-icon-color,var(--luzmo-font-color-dimmed,#0006)));flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.trigger-option-highlight{background-color:var(--luzmo-prompt-box-trigger-option-highlight-background,var(--prompt-box-trigger-option-highlight-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .12)));color:inherit;border-radius:2px;padding:0 1px}.trigger-option-header{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-header-gap,var(--prompt-box-trigger-option-header-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-header-padding-block,var(--prompt-box-trigger-option-header-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-header-padding-inline,var(--prompt-box-trigger-option-header-padding-inline,10px));background-color:var(--luzmo-prompt-box-trigger-option-header-background,var(--prompt-box-trigger-option-header-background));border-block-start:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));border-block-end:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex}.trigger-options>.trigger-option-header:first-child{border-block-start:none}.trigger-option-header-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-header-icon-color,var(--prompt-box-trigger-option-header-icon-color,var(--luzmo-font-color,#333)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-header-label{font-size:var(--luzmo-prompt-box-trigger-option-header-font-size,var(--prompt-box-trigger-option-header-font-size,var(--luzmo-font-size,14px)));font-weight:var(--luzmo-prompt-box-trigger-option-header-font-weight,var(--prompt-box-trigger-option-header-font-weight,normal));line-height:var(--luzmo-prompt-box-trigger-option-header-line-height,var(--prompt-box-trigger-option-header-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-header-color,var(--prompt-box-trigger-option-header-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}luzmo-overlay[part=trigger-menu-overlay] ::slotted(*){min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));overflow-y:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important}@media (forced-colors:active){:host{--highcontrast-prompt-box-background-color:Canvas;--highcontrast-prompt-box-border-color:CanvasText;--highcontrast-prompt-box-border-color-focus:Highlight;--highcontrast-prompt-box-text-color:CanvasText}}:host{--prompt-box-font-family:var(--luzmo-font-family);--prompt-box-font-size:var(--luzmo-font-size);--prompt-box-line-height:1.5;--prompt-box-text-color:var(--luzmo-font-color);--prompt-box-background-color:var(--luzmo-background-color);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-border-width:var(--luzmo-border-width);--prompt-box-border-color:var(--luzmo-border-color);--prompt-box-border-color-focus:var(--luzmo-primary);--prompt-box-shadow:0 2px 8px rgba(var(--luzmo-border-color-rgb), .08);--prompt-box-shadow-focus:0 2px 12px rgba(var(--luzmo-primary-rgb), .15);--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-vertical-padding:var(--luzmo-spacing-4);--prompt-box-horizontal-padding:var(--luzmo-spacing-5);--prompt-box-actions-gap:var(--luzmo-spacing-3);--prompt-box-top-actions-gap:var(--luzmo-spacing-2);--prompt-box-bottom-actions-gap:var(--luzmo-spacing-2);--prompt-box-button-group-gap:var(--luzmo-spacing-2);--prompt-box-submit-button-margin-inline-start:var(--luzmo-spacing-3);--prompt-box-max-height:200px;--prompt-box-rich-input-padding:4px 0;--prompt-box-placeholder-color:var(--luzmo-font-color-extra-dimmed);--prompt-box-animation-duration:var(--luzmo-animation-duration,.15s);--prompt-box-disabled-opacity:.5;--prompt-box-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-preview-size:64px;--prompt-box-image-border-radius:var(--luzmo-border-radius);--prompt-box-image-background:#0000000d;--prompt-box-file-icon-size:var(--luzmo-icon-size-xl);--prompt-box-file-icon-color:var(--luzmo-font-color-extra-dimmed);--prompt-box-remove-button-size:20px;--prompt-box-remove-button-background:#00000080;--prompt-box-remove-button-background-hover:#000000b3;--prompt-box-remove-button-icon-color:#fff;--prompt-box-badge-gap:6px;--prompt-box-badge-padding:1px 6px;--prompt-box-badge-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .1);--prompt-box-badge-color:var(--luzmo-primary,#0064fa);--prompt-box-badge-border-radius:4px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-font-weight:500;--prompt-box-badge-max-width:200px;--prompt-box-badge-remove-size:14px;--prompt-box-badge-remove-font-size:12px;--prompt-box-badge-remove-hover-background:#0000001a;--prompt-box-waveform-gap:3px;--prompt-box-waveform-height:24px;--prompt-box-waveform-bar-width:3px;--prompt-box-waveform-bar-color:currentColor;--prompt-box-waveform-bar-radius:2px;--prompt-box-recording-duration-font-family:monospace;--prompt-box-recording-duration-font-size:14px;--prompt-box-recording-duration-font-weight:500;--prompt-box-recording-duration-color:currentColor;--prompt-box-trigger-menu-min-width:250px;--prompt-box-trigger-menu-max-width:300px;--prompt-box-trigger-menu-max-height:300px;--prompt-box-trigger-menu-background:var(--luzmo-background-color,#fff);--prompt-box-trigger-menu-border-color:var(--luzmo-border-color,#0000001a);--prompt-box-trigger-menu-border-radius:var(--luzmo-border-radius-100,8px);--prompt-box-trigger-menu-shadow-color:#0000001f;--prompt-box-trigger-menu-scrollbar-width:var(--luzmo-scrollbar-size);--prompt-box-trigger-menu-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--prompt-box-trigger-menu-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--prompt-box-trigger-menu-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--prompt-box-single-line-gap:var(--luzmo-spacing-3);--prompt-box-single-line-attachments-max-height:32px;--prompt-box-single-line-image-size:28px;--prompt-box-single-line-file-icon-size:var(--luzmo-icon-size-s);--prompt-box-trigger-option-gap:10px;--prompt-box-trigger-option-min-height:var(--luzmo-component-height,32px);--prompt-box-trigger-option-padding-block:4px;--prompt-box-trigger-option-padding-inline:10px;--prompt-box-trigger-option-description-padding-block:4px;--prompt-box-trigger-option-background-hover:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-icon-color:var(--luzmo-font-color,inherit);--prompt-box-trigger-option-icon-width:20px;--prompt-box-trigger-option-icon-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-description-font-size:var(--luzmo-font-size-xs,12px);--prompt-box-trigger-option-description-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-description-color:var(--luzmo-font-color,#6e6e6e);--prompt-box-trigger-option-enter-icon-color:var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit));--prompt-box-trigger-option-highlight-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .12);--prompt-box-trigger-option-header-gap:10px;--prompt-box-trigger-option-header-padding-block:4px;--prompt-box-trigger-option-header-padding-inline:10px;--prompt-box-trigger-option-header-background:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-header-border-color:var(--luzmo-border-color,#0000001f);--prompt-box-trigger-option-header-icon-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-header-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-header-font-weight:normal;--prompt-box-trigger-option-header-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-header-color:var(--luzmo-font-color,#333)}:host([size=xs]){--prompt-box-font-size:var(--luzmo-font-size-xs);--prompt-box-border-radius:var(--luzmo-border-radius);--prompt-box-vertical-padding:var(--luzmo-spacing-2);--prompt-box-horizontal-padding:var(--luzmo-spacing-3);--prompt-box-gap:var(--luzmo-spacing-3);--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:var(--luzmo-spacing-3);--prompt-box-max-height:120px;--prompt-box-image-preview-size:40px;--prompt-box-file-icon-size:var(--luzmo-icon-size-m);--prompt-box-remove-button-size:16px;--prompt-box-badge-font-size:.8em;--prompt-box-badge-padding:0px 3px;--prompt-box-badge-remove-size:10px;--prompt-box-badge-remove-font-size:9px}:host([size=s]){--prompt-box-font-size:var(--luzmo-font-size-s);--prompt-box-border-radius:var(--luzmo-border-radius-l);--prompt-box-vertical-padding:var(--luzmo-spacing-3);--prompt-box-horizontal-padding:var(--luzmo-spacing-4);--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-max-height:150px;--prompt-box-image-preview-size:48px;--prompt-box-file-icon-size:var(--luzmo-icon-size-l);--prompt-box-remove-button-size:18px;--prompt-box-badge-font-size:.85em;--prompt-box-badge-padding:0px 4px;--prompt-box-badge-remove-size:12px;--prompt-box-badge-remove-font-size:10px}:host([size=l]){--prompt-box-font-size:var(--luzmo-font-size-l);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:var(--luzmo-spacing-5);--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--prompt-box-recording-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--prompt-box-max-height:250px;--prompt-box-image-preview-size:72px;--prompt-box-file-icon-size:var(--luzmo-icon-size-xxl);--prompt-box-remove-button-size:24px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 8px;--prompt-box-badge-remove-size:16px;--prompt-box-badge-remove-font-size:13px}:host([size=xl]){--prompt-box-font-size:var(--luzmo-font-size-xl);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-attachments-gap:var(--luzmo-spacing-3);--prompt-box-max-height:300px;--prompt-box-image-preview-size:96px;--prompt-box-file-icon-size:var(--luzmo-icon-size-xxl);--prompt-box-remove-button-size:28px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 10px;--prompt-box-badge-remove-size:18px;--prompt-box-badge-remove-font-size:14px}:host([pending]){--prompt-box-actions-opacity:.75}`,$=class extends t.n(e.n,{validSizes:[`xs`,`s`,`m`,`l`,`xl`],defaultSize:`m`}){constructor(...e){super(...e),this.rows=1,this.grows=!1,this.maxRows=-1,this.recording=!1,this.hideSubmit=!1,this.disableSubmit=!1,this.singleLine=!1,this.placeholder=``,this.value=``,this.disabled=!1,this.readonly=!1,this.maxlength=-1,this.pending=!1,this.stoppable=!1,this.allowImages=!1,this.allowFiles=!1,this.acceptedFileTypes=[],this.fileIcons={},this.removeAttachmentLabel=e=>`Remove ${e}`,this.allowElements=!1,this.acceptedElementTypes=[],this._hasTopActions=!1,this._hasBottomActions=!1,this._hasRecordButton=!1,this._hasSubmitButton=!1,this._inputFocused=!1,this._attachments=new s(this),this._recording=new c(this),this._richInput=new S(this),this._triggerMenu=new C(this),this.handleRecordButtonSlotChange=this._slotPresenceHandler(e=>this._hasRecordButton=e),this.handleSubmitButtonSlotChange=this._slotPresenceHandler(e=>this._hasSubmitButton=e),this.handleRecordClick=e=>{let t=e.currentTarget.matches(`:focus-visible`);this._recording.start(t)},this.handleAttachmentRemoveClick=e=>{let t=e.currentTarget.dataset.attachmentId;t&&this._attachments.removeAttachment(t)},this.handleInput=e=>{let t=e.target;this.value=t.value,this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleKeydown=e=>{if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),this.disableSubmit)return;this._submit()}},this.handleInputFocusIn=()=>{this._inputFocused=!0},this.handleInputFocusOut=()=>{this._inputFocused=!1},this.handleRichInputEvent=e=>{this._richInput.syncValue(),this._triggerMenu.handleInput(e),this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichKeydown=e=>{if(!this._triggerMenu.handleKeydown(e)){if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),this.disableSubmit)return;this._submit();return}(e.key===`Backspace`||e.key===`Delete`)&&this._richInput.handleBadgeDelete(e.key)&&e.preventDefault()}},this.handleStopClick=()=>{this.disabled||!this.pending||!this.stoppable||this.dispatchEvent(new CustomEvent(`luzmo-stop`,{bubbles:!0,composed:!0}))},this._handleComponentFocusIn=()=>{A()&&this.classList.add(`focus-visible`)},this._handleComponentFocusOut=e=>{let t=e.relatedTarget;t instanceof Node&&(this.contains(t)||this.shadowRoot?.contains(t))||this.classList.remove(`focus-visible`)},this._handlePaste=e=>{this.handlePastedImages(e.clipboardData)},this._handleTopActionsSlotChange=this._slotPresenceHandler(e=>this._hasTopActions=e),this._handleBottomActionsSlotChange=this._slotPresenceHandler(e=>this._hasBottomActions=e)}static get styles(){return[(0,i.unsafeCSS)(ce)]}get triggers(){return this._triggerMenu.triggers}set triggers(e){let t=this._triggerMenu.triggers,n=Array.isArray(e)?e:[];n.length>0&&!this.allowElements&&console.warn("[luzmo-prompt-box] `triggers` only work when `allow-elements` / allowElements is enabled (rich input is required for trigger menus)."),this._triggerMenu.triggers=n,this.requestUpdate(`triggers`,t)}get attachmentsController(){return this._attachments}get recordingController(){return this._recording}get richInputController(){return this._richInput}get triggerMenuController(){return this._triggerMenu}get hasRecordButton(){return this._hasRecordButton}get hasSubmitButton(){return this._hasSubmitButton}get segments(){return this._richInput.getSegments()}set segments(e){this._richInput.setSegments(e)}connectedCallback(){super.connectedCallback(),O(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),this.addEventListener(`paste`,this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),k(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),this.removeEventListener(`paste`,this._handlePaste)}updated(e){super.updated(e),this._richInputElement&&(this._richInput.richInputElement=this._richInputElement,this._triggerMenu.richInputElement=this._richInputElement),(e.has(`pending`)||e.has(`disabled`))&&oe(this.shadowRoot,this.disabled,this.pending),this._recording.shouldFocusFinishButton&&this._recording.isRecording&&(this._recording.shouldFocusFinishButton=!1,requestAnimationFrame(()=>{this._finishRecordingButton?.focus()}))}focus(){this.allowElements&&this._richInputElement?this._richInputElement.focus():this._inputElement?.focus()}clear(){this._triggerMenu.close(),this.value=``,this._attachments.clearAttachments(),this.allowElements&&this._richInput.clearElements()}addFiles(e){return this._attachments.addFiles(e)}removeAttachment(e){this._attachments.removeAttachment(e)}setAttachmentLoading(e,t){this._attachments.setAttachmentLoading(e,t)}clearAttachments(){this._attachments.clearAttachments()}getAttachments(){return this._attachments.getAttachments()}openFilePicker(){this._fileInput?.click()}insertElement(e,t,n,r){return this._richInput.insertElement(e,t,n,r)}removeElement(e){this._richInput.removeElement(e)}getElements(){return this._richInput.getElements()}getTopActions(){return(this.shadowRoot?.querySelector(`slot[name="top-actions"]`))?.assignedElements()??[]}getBottomActions(){return(this.shadowRoot?.querySelector(`slot[name="bottom-actions"]`))?.assignedElements()??[]}submit(){this._submit()}selectTriggerOption(e){this._triggerMenu.selectOption(e)}highlightTriggerOption(e){this._triggerMenu.highlightedIndex=e,this.requestUpdate()}_slotPresenceHandler(e){return t=>{let n=t.target;e(n.assignedNodes().length>0)}}handlePastedImages(e){return this._attachments.handlePastedImages(e)}_submit(){if(this.disabled||this.readonly||this.pending||this.disableSubmit)return;let e=this.shadowRoot?.querySelector(`slot[name="top-actions"]`),t=this.shadowRoot?.querySelector(`slot[name="bottom-actions"]`),n=e?.assignedElements()??[],r=t?.assignedElements()??[],i=se([...n,...r]),a={value:this.value,segments:this.segments,topActions:[...n],bottomActions:[...r],actionValues:i,attachments:[...this._attachments.getAttachments()]};this.dispatchEvent(new CustomEvent(`luzmo-submit`,{bubbles:!0,composed:!0,detail:a}))}render(){return i.html`
293
- ${ae(this)}
294
- <div
295
- class="container ${this._inputFocused?`input-focused`:``} ${this._richInput?.isDragOver?`drag-over`:``}"
296
- part="container"
297
- >
298
- ${j(this,this._hasTopActions,this._handleTopActionsSlotChange)}
299
- <div class="input-wrapper" part="input-wrapper">
300
- ${re(this)}
301
- </div>
302
- ${ie(this)}
303
- <div class="actions-row" part="actions-row">
304
- ${M(this,this._hasBottomActions,this._handleBottomActionsSlotChange)}
305
- <div class="button-group" part="button-group">
306
- ${P(this)} ${F(this)}
307
- </div>
308
- </div>
309
- </div>
310
- ${V(this)}
311
- `}};e.t([(0,a.property)({type:Number})],$.prototype,`rows`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`grows`,void 0),e.t([(0,a.property)({type:Number,attribute:`max-rows`})],$.prototype,`maxRows`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`recording`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`hide-submit`})],$.prototype,`hideSubmit`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`disable-submit`})],$.prototype,`disableSubmit`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`single-line`})],$.prototype,`singleLine`,void 0),e.t([(0,a.property)({type:String})],$.prototype,`placeholder`,void 0),e.t([(0,a.property)({type:String})],$.prototype,`value`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`readonly`,void 0),e.t([(0,a.property)({type:Number})],$.prototype,`maxlength`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`pending`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`stoppable`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-images`})],$.prototype,`allowImages`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-files`})],$.prototype,`allowFiles`,void 0),e.t([(0,a.property)({type:Array,attribute:`accepted-file-types`})],$.prototype,`acceptedFileTypes`,void 0),e.t([(0,a.property)({attribute:!1})],$.prototype,`fileIcons`,void 0),e.t([(0,a.property)({attribute:!1})],$.prototype,`removeAttachmentLabel`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-elements`})],$.prototype,`allowElements`,void 0),e.t([(0,a.property)({type:Array,attribute:`accepted-element-types`})],$.prototype,`acceptedElementTypes`,void 0),e.t([(0,a.property)({type:Array})],$.prototype,`triggers`,null),e.t([(0,a.state)()],$.prototype,`_hasTopActions`,void 0),e.t([(0,a.state)()],$.prototype,`_hasBottomActions`,void 0),e.t([(0,a.state)()],$.prototype,`_hasRecordButton`,void 0),e.t([(0,a.state)()],$.prototype,`_hasSubmitButton`,void 0),e.t([(0,a.state)()],$.prototype,`_inputFocused`,void 0),e.t([(0,a.query)(`luzmo-text-field`)],$.prototype,`_inputElement`,void 0),e.t([(0,a.query)(`.rich-input`)],$.prototype,`_richInputElement`,void 0),e.t([(0,a.query)(`input[type="file"]`)],$.prototype,`_fileInput`,void 0),e.t([(0,a.query)(`.finish-recording-button`)],$.prototype,`_finishRecordingButton`,void 0),customElements.get(`luzmo-prompt-box`)||customElements.define(`luzmo-prompt-box`,$),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}});
@@ -1,22 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./decorate-B2wePfNm.cjs`),t=require(`./sized-mixin-StFA4y0J.cjs`),n=require(`./focus-visible-B0NNezGc.cjs`),r=require(`./roving-tabindex-B7x5ePUB.cjs`),i=require(`./field-group-OcI5Lgu7.cjs`);let a=require(`lit`),o=require(`lit/decorators.js`);var s=`@media (forced-colors:active){:host{--highcontrast-radio-neutral-content-color:CanvasText;--highcontrast-radio-neutral-content-color-hover:CanvasText;--highcontrast-radio-neutral-content-color-down:CanvasText;--highcontrast-radio-neutral-content-color-focus:CanvasText;--highcontrast-radio-button-border-color-default:ButtonText;--highcontrast-radio-button-border-color-hover:Highlight;--highcontrast-radio-button-border-color-down:ButtonText;--highcontrast-radio-button-border-color-focus:Highlight;--highcontrast-radio-emphasized-accent-color:ButtonText;--highcontrast-radio-emphasized-accent-color-hover:Highlight;--highcontrast-radio-emphasized-accent-color-down:ButtonText;--highcontrast-radio-emphasized-accent-color-focus:Highlight;--highcontrast-radio-button-checked-border-color-default:Highlight;--highcontrast-radio-button-checked-border-color-hover:Highlight;--highcontrast-radio-button-checked-border-color-down:Highlight;--highcontrast-radio-button-checked-border-color-focus:Highlight;--highcontrast-radio-disabled-content-color:GrayText;--highcontrast-radio-disabled-border-color:GrayText;--highcontrast-radio-focus-indicator-color:CanvasText}#button:after{forced-color-adjust:none}}:host{vertical-align:top;min-block-size:var(--luzmo-radio-height,var(--radio-height));max-inline-size:100%;font-family:var(--luzmo-radio-font-family,var(--luzmo-font-family));align-items:flex-start;display:inline-flex;position:relative}:host(:active) #button:before{border-color:var(--highcontrast-radio-button-border-color-down,var(--luzmo-radio-button-border-color-down,var(--radio-button-border-color-down)))}:host(:active[checked]) #input+#button:before{border-color:var(--highcontrast-radio-button-checked-border-color-down,var(--luzmo-radio-button-checked-border-color-down,var(--radio-button-checked-border-color-down)))}:host(:active) #label{color:var(--highcontrast-radio-neutral-content-color-down,var(--luzmo-radio-neutral-content-color-down,var(--radio-neutral-content-color-down)))}:host(:focus-visible) #button:before{border-color:var(--highcontrast-radio-button-border-color-focus,var(--luzmo-radio-button-border-color-focus,var(--radio-button-border-color-focus)))}:host(:focus-visible) #button:after{border-style:solid;border-color:var(--highcontrast-radio-focus-indicator-color,var(--luzmo-radio-focus-indicator-color,var(--radio-focus-indicator-color)));border-width:var(--luzmo-radio-focus-indicator-width,var(--radio-focus-indicator-width));inline-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2);block-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2)}:host(:focus-visible[checked]) #input+#button:before{border-color:var(--highcontrast-radio-button-checked-border-color-focus,var(--luzmo-radio-button-checked-border-color-focus,var(--radio-button-checked-border-color-focus)))}:host(:focus-visible) #label{color:var(--highcontrast-radio-neutral-content-color-focus,var(--luzmo-radio-neutral-content-color-focus,var(--radio-neutral-content-color-focus)))}:host([readonly]) #input:read-only{cursor:auto}:host([readonly]) #button{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);position:fixed;inset-block-end:100%;inset-inline-end:100%}:host([readonly][checked][disabled]) #input~#label,:host([readonly][disabled]) #input~#label,:host([readonly]) #label{color:var(--highcontrast-radio-neutral-content-color,var(--luzmo-radio-neutral-content-color,var(--radio-neutral-content-color)));margin-inline-start:0}:host([emphasized][checked]) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color,var(--luzmo-radio-emphasized-accent-color,var(--radio-emphasized-accent-color)))}@media (hover:hover){:host(:hover) #button:before{border-color:var(--highcontrast-radio-button-border-color-hover,var(--luzmo-radio-button-border-color-hover,var(--radio-button-border-color-hover)))}:host([checked]:hover) #input+#button:before{border-color:var(--highcontrast-radio-button-checked-border-color-hover,var(--luzmo-radio-button-checked-border-color-hover,var(--radio-button-checked-border-color-hover)))}:host(:hover) #label{color:var(--highcontrast-radio-neutral-content-color-hover,var(--luzmo-radio-neutral-content-color-hover,var(--radio-neutral-content-color-hover)))}:host([emphasized][checked]:hover) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color-hover,var(--luzmo-radio-emphasized-accent-color-hover,var(--radio-emphasized-accent-color-hover)))}}:host([emphasized]:active[checked]) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color-down,var(--luzmo-radio-emphasized-accent-color-down,var(--radio-emphasized-accent-color-down)))}:host([emphasized]:focus-visible[checked]) #input+#button:before{border-color:var(--highcontrast-radio-emphasized-accent-color-focus,var(--luzmo-radio-emphasized-accent-color-focus,var(--radio-emphasized-accent-color-focus)))}:host([checked][disabled]) #input+#button:before,:host([disabled]) #input+#button:before{border-color:var(--highcontrast-radio-disabled-border-color,var(--luzmo-radio-disabled-border-color,var(--radio-disabled-border-color)))}:host([checked][disabled]) #input~#label,:host([disabled]) #input~#label{color:var(--highcontrast-radio-disabled-content-color,var(--luzmo-radio-disabled-content-color,var(--radio-disabled-content-color)))}#input{font-family:inherit;font-size:100%;line-height:var(--luzmo-radio-line-height,var(--radio-line-height));box-sizing:border-box;opacity:0;z-index:1;cursor:pointer;block-size:100%;inline-size:100%;margin:0;padding:0;position:absolute;overflow:visible}:host([disabled]) #input{cursor:default}:host([checked]) #input+#button:before{border-width:calc(var(--radio-button-control-size) / 2 - var(--radio-button-selection-indicator) / 2);border-color:var(--highcontrast-radio-button-checked-border-color-default,var(--luzmo-radio-button-checked-border-color-default,var(--radio-button-checked-border-color-default)))}#input:focus-visible+#button:after{border-width:var(--luzmo-radio-focus-indicator-width,var(--radio-focus-indicator-width));border-color:var(--highcontrast-radio-focus-indicator-color,var(--luzmo-radio-focus-indicator-color,var(--radio-focus-indicator-color)));inline-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2);block-size:calc(var(--radio-button-control-size) + var(--radio-focus-indicator-gap) * 2);border-style:solid}#label{text-align:start;font-size:var(--luzmo-radio-font-size,var(--radio-font-size));color:var(--highcontrast-radio-neutral-content-color,var(--luzmo-radio-neutral-content-color,var(--radio-neutral-content-color)));line-height:var(--luzmo-radio-line-height,var(--radio-line-height));transition:color var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-in-out;margin-block-start:var(--radio-label-top-to-text);margin-block-end:var(--radio-label-bottom-to-text);margin-inline-start:var(--luzmo-radio-text-to-control,var(--radio-text-to-control))}#label:lang(ja),#label:lang(ko),#label:lang(zh){line-height:var(--luzmo-radio-line-height-cjk,var(--radio-line-height-cjk))}#button{box-sizing:border-box;inline-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));block-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));flex-grow:0;flex-shrink:0;margin-block-start:var(--luzmo-radio-button-top-to-control,var(--radio-button-top-to-control));position:relative}#button:before{z-index:0;content:"";box-sizing:border-box;inline-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));block-size:var(--luzmo-radio-button-control-size,var(--radio-button-control-size));background-color:var(--highcontrast-radio-button-background-color,var(--luzmo-radio-button-background-color,var(--radio-button-background-color)));border-width:var(--luzmo-radio-border-width,var(--radio-border-width));border-color:var(--highcontrast-radio-button-border-color-default,var(--luzmo-radio-button-border-color-default,var(--radio-button-border-color-default)));transition:border var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-in-out, box-shadow var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-in-out;border-style:solid;border-radius:50%;display:block;position:absolute}#button:after{content:"";transition:opacity var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-out, margin var(--luzmo-radio-animation-duration,var(--radio-animation-duration)) ease-out;border-radius:50%;display:block;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%)translateY(-50%)}:host:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) #button:after{transform:translate(50%)translateY(-50%)}:host{--radio-button-border-color-default:var(--luzmo-border-color-full);--radio-button-border-color-hover:var(--luzmo-border-color-full-hover);--radio-button-border-color-down:var(--luzmo-border-color-full-hover);--radio-button-border-color-focus:var(--luzmo-border-color-full-hover);--radio-neutral-content-color:var(--luzmo-selected-color-hard);--radio-neutral-content-color-hover:var(--luzmo-selected-color-hard-hover);--radio-neutral-content-color-down:var(--luzmo-selected-color-hard-down);--radio-neutral-content-color-focus:var(--luzmo-selected-color-hard-focus);--radio-button-selection-indicator:var(--luzmo-spacing-2);--radio-focus-indicator-width:var(--luzmo-indicator-width);--radio-focus-indicator-gap:var(--luzmo-indicator-gap);--radio-focus-indicator-color:var(--luzmo-primary);--radio-disabled-content-color:var(--luzmo-disabled-color);--radio-disabled-border-color:var(--luzmo-border-color-disabled);--radio-emphasized-accent-color:var(--luzmo-primary);--radio-emphasized-accent-color-hover:var(--luzmo-primary-hover);--radio-emphasized-accent-color-down:var(--luzmo-primary-down);--radio-emphasized-accent-color-focus:var(--luzmo-primary-focus);--radio-border-width:calc(var(--luzmo-border-width) * 2);--radio-button-background-color:var(--luzmo-background-color);--radio-button-checked-border-color-default:var(--luzmo-selected-color-hard);--radio-button-checked-border-color-hover:var(--luzmo-selected-color-hard-hover);--radio-button-checked-border-color-down:var(--luzmo-selected-color-hard-down);--radio-button-checked-border-color-focus:var(--luzmo-selected-color-hard-focus);--radio-line-height:1.3;--radio-animation-duration:var(--luzmo-animation-duration);--radio-height:32px;--radio-button-control-size:14px;--radio-text-to-control:10px;--radio-label-top-to-text:6px;--radio-label-bottom-to-text:9px;--radio-button-top-to-control:9px;--radio-font-size:14px}:host(:lang(ja)),:host(:lang(zh)),:host(:lang(ko)){--radio-line-height-cjk:1.5}:host{--radio-height:var(--luzmo-component-height);--radio-button-control-size:14px;--radio-text-to-control:10px;--radio-label-top-to-text:7px;--radio-label-bottom-to-text:9px;--radio-button-top-to-control:9px;--radio-font-size:14px}:host([size=s]){--radio-height:var(--luzmo-component-height-s);--radio-button-control-size:var(--luzmo-spacing-4);--radio-text-to-control:9px;--radio-label-top-to-text:var(--luzmo-spacing-2);--radio-label-bottom-to-text:5px;--radio-button-top-to-control:6px;--radio-font-size:var(--luzmo-spacing-4)}:host([size=l]){--radio-height:var(--luzmo-component-height-l);--radio-button-control-size:16px;--radio-text-to-control:11px;--radio-label-top-to-text:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--radio-label-bottom-to-text:11px;--radio-button-top-to-control:var(--luzmo-spacing-4);--radio-font-size:16px}:host([size=xl]){--radio-height:var(--luzmo-component-height-xl);--radio-button-control-size:18px;--radio-text-to-control:13px;--radio-label-top-to-text:var(--luzmo-spacing-4);--radio-label-bottom-to-text:14px;--radio-button-top-to-control:15px;--radio-font-size:18px}:host([emphasized]){--radio-button-checked-border-color-default:var(--luzmo-primary);--radio-button-checked-border-color-hover:var(--luzmo-primary-hover);--radio-button-checked-border-color-down:var(--luzmo-primary-down);--radio-button-checked-border-color-focus:var(--luzmo-primary-focus)}:host(:focus){outline:none}:host([disabled]){pointer-events:none}:host([dir=rtl]) #button:after{transform:translate(50%)translateY(-50%)}`,c=class extends t.n(n.t(e.n),{noDefaultSize:!0}){constructor(...e){super(...e),this.autofocus=!1,this.value=``,this.checked=!1,this.disabled=!1,this.emphasized=!1,this.invalid=!1,this.readonly=!1}static get styles(){return[(0,a.unsafeCSS)(s)]}click(){this.disabled||this.activate()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focus())}activate(){this.checked||(this.checked=!0,this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0})))}handleKeyup(e){e.code===`Space`&&this.activate()}render(){return a.html`
19
- <div id="input"></div>
20
- <span id="button"></span>
21
- <span id="label" role="presentation"><slot></slot></span>
22
- `}firstUpdated(e){super.firstUpdated(e),this.setAttribute(`role`,`radio`),this.hasAttribute(`tabindex`)||(this.tabIndex=0),this.manageAutoFocus(),this.addEventListener(`click`,this.activate),this.addEventListener(`keyup`,this.handleKeyup)}updated(e){super.updated(e),e.has(`invalid`)&&(this.invalid?this.setAttribute(`aria-invalid`,`true`):this.removeAttribute(`aria-invalid`)),e.has(`checked`)&&(this.checked?this.setAttribute(`aria-checked`,`true`):this.setAttribute(`aria-checked`,`false`)),e.has(`disabled`)&&(this.disabled?this.setAttribute(`aria-disabled`,`true`):this.removeAttribute(`aria-disabled`))}};e.t([(0,o.property)({type:Boolean})],c.prototype,`autofocus`,void 0),e.t([(0,o.property)({type:String,reflect:!0})],c.prototype,`value`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`checked`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`disabled`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`emphasized`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`invalid`,void 0),e.t([(0,o.property)({type:Boolean,reflect:!0})],c.prototype,`readonly`,void 0);var l=class extends n.t(i.t){constructor(...e){super(...e),this.name=``,this.rovingTabindexController=new r.t(this,{focusInIndex:e=>e.findIndex(e=>this.selected?!e.disabled&&e.value===this.selected:!e.disabled),elementEnterAction:e=>{this._setSelected(e.value)},elements:()=>this.buttons,isFocusableElement:e=>!e.disabled}),this.selected=``}get buttons(){return this.defaultNodes.filter(e=>e instanceof c)}focus(){this.rovingTabindexController.focus()}_setSelected(e){if(e===this.selected)return;let t=this.selected,n=e?this.querySelector(`luzmo-radio[value="${e}"]`):void 0;if(this.selected=n?e:``,!this.dispatchEvent(new Event(`change`,{cancelable:!0,bubbles:!0,composed:!0}))){this.selected=t;return}this.validateRadios()}willUpdate(e){if(!this.hasUpdated){this.setAttribute(`role`,`radiogroup`);let e=this.querySelector(`luzmo-radio[checked]`),t=e?e.value:``;if(this.selected=t||this.selected,this.selected&&this.selected!==t){let e=this.querySelector(`luzmo-radio[value="${this.selected}"]`);e&&(e.checked=!0)}this.shadowRoot.addEventListener(`change`,e=>{e.stopPropagation();let t=e.target;this._setSelected(t.value)})}e.has(`selected`)&&this.validateRadios()}async validateRadios(){let e=!1;this.hasUpdated||await this.updateComplete,this.buttons.map(t=>{t.checked=this.selected===t.value,e||=t.checked}),e||(this.selected=``)}handleSlotchange(){this.rovingTabindexController.clearElementCache()}};e.t([(0,o.property)({type:String})],l.prototype,`name`,void 0),e.t([(0,o.queryAssignedNodes)()],l.prototype,`defaultNodes`,void 0),e.t([(0,o.property)({reflect:!0})],l.prototype,`selected`,void 0),customElements.get(`luzmo-radio`)||customElements.define(`luzmo-radio`,c),customElements.get(`luzmo-radio-group`)||customElements.define(`luzmo-radio-group`,l),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});
@@ -1,47 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./decorate-B2wePfNm.cjs`);require(`./icon-B7hKwn_q.cjs`),require(`./button-C5hcfigl.cjs`);const t=require(`./text-field-FJr8ZUhI.cjs`);let n=require(`lit`),r=require(`lit/decorators.js`),i=require(`@luzmo/icons`),a=require(`lit/directives/if-defined.js`);var o=`@media (forced-colors:active){#text-field #text-field,#text-field #text-field .input{--highcontrast-search-color-default:CanvasText;--highcontrast-search-color-hover:CanvasText;--highcontrast-search-color-focus:CanvasText;--highcontrast-search-color-disabled:GrayText}#text-field #button .luzmo-ClearButton-fill{forced-color-adjust:none;background-color:initial}}#text-field{--search-button-inline-size:var(--search-block-size);--search-min-inline-size:calc(var(--search-min-inline-multiplier) * var(--search-block-size));--luzmo-text-field-font-family:var(--luzmo-search-font-family,var(--search-font-family));--luzmo-text-field-font-weight:var(--luzmo-search-font-weight,var(--search-font-weight));--luzmo-text-field-border-radius:var(--luzmo-search-border-radius,var(--search-border-radius));--luzmo-text-field-border-width:var(--luzmo-search-border-width,var(--search-border-width));--luzmo-text-field-focus-indicator-gap:var(--luzmo-search-focus-indicator-gap,var(--search-focus-indicator-gap));--luzmo-text-field-focus-indicator-width:var(--luzmo-search-focus-indicator-width,var(--search-focus-indicator-width));--luzmo-text-field-focus-indicator-color:var(--luzmo-search-focus-indicator-color,var(--search-focus-indicator-color));--luzmo-text-field-text-color-default:var(--luzmo-search-color-default,var(--search-color-default));--luzmo-text-field-text-color-hover:var(--luzmo-search-color-hover,var(--search-color-hover));--luzmo-text-field-text-color-focus:var(--luzmo-search-color-focus,var(--search-color-focus));--luzmo-text-field-text-color-focus-hover:var(--luzmo-search-color-focus-hover,var(--search-color-focus-hover));--luzmo-text-field-text-color-keyboard-focus:var(--luzmo-search-color-key-focus,var(--search-color-key-focus));--luzmo-text-field-text-color-disabled:var(--luzmo-search-color-disabled,var(--search-color-disabled));--luzmo-text-field-border-color:var(--luzmo-search-border-color-default,var(--search-border-color-default));--luzmo-text-field-border-color-hover:var(--luzmo-search-border-color-hover,var(--search-border-color-hover));--luzmo-text-field-border-color-focus:var(--luzmo-search-border-color-focus,var(--search-border-color-focus));--luzmo-text-field-border-color-focus-hover:var(--luzmo-search-border-color-focus-hover,var(--search-border-color-focus-hover));--luzmo-text-field-border-color-keyboard-focus:var(--luzmo-search-border-color-key-focus,var(--search-border-color-key-focus));--luzmo-text-field-border-color-disabled:var(--luzmo-search-border-color-disabled,var(--search-border-color-disabled));--luzmo-text-field-background-color:var(--luzmo-search-background-color,var(--search-background-color));--luzmo-text-field-background-color-disabled:var(--luzmo-search-background-color-disabled,var(--search-background-color-disabled));inline-size:var(--luzmo-search-inline-size,var(--search-inline-size));min-inline-size:var(--luzmo-search-min-inline-size,var(--search-min-inline-size));display:inline-block;position:relative}#text-field .luzmo-HelpText{margin-block-start:var(--luzmo-search-to-help-text,var(--search-to-help-text))}#button{height:var(--search-block-size);width:var(--search-block-size);position:absolute;inset-block-start:0;inset-inline-end:0}#button,#button .luzmo-ClearButton-fill{border-radius:var(--luzmo-search-border-radius,var(--search-border-radius))}#text-field.is-disabled #button{display:none}#text-field{inline-size:100%}.icon-search{--search-color:var(--highcontrast-search-color-default,var(--luzmo-search-color-default,var(--search-color-default)));color:var(--search-color);margin-block:auto;display:block;position:absolute;inset-block:0}#text-field.is-focused .icon-search{--search-color:var(--highcontrast-search-color-focus,var(--luzmo-search-color-focus,var(--search-color-focus)))}#text-field.is-disabled .icon-search{--search-color:var(--highcontrast-search-color-disabled,var(--luzmo-search-color-disabled,var(--search-color-disabled)))}@media (hover:hover){#text-field:hover .icon-search{--search-color:var(--highcontrast-search-color-hover,var(--luzmo-search-color-hover,var(--search-color-hover)))}#text-field.is-focused:hover .icon-search{--search-color:var(--highcontrast-search-color-focus,var(--luzmo-search-color-focus-hover,var(--search-color-focus-hover)))}#text-field.is-disabled:hover .icon-search{--search-color:var(--highcontrast-search-color-disabled,var(--luzmo-search-color-disabled,var(--search-color-disabled)))}}.input{appearance:none;block-size:var(--luzmo-search-block-size,var(--search-block-size));font-style:var(--luzmo-search-font-style,var(--search-font-style));line-height:var(--luzmo-search-line-height,var(--search-line-height));padding-block-start:calc(var(--luzmo-search-top-to-text,var(--search-top-to-text)) - var(--luzmo-search-border-width,var(--search-border-width)));padding-block-end:calc(var(--luzmo-search-bottom-to-text,var(--search-bottom-to-text)) - var(--luzmo-search-border-width,var(--search-border-width)))}.input::-webkit-search-cancel-button{appearance:none}.input::-webkit-search-decoration{appearance:none}:host #text-field .icon-search{inset-inline-start:var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual))}:host(:not([quiet])) #text-field .input{padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) - var(--luzmo-search-border-width,var(--search-border-width)) + var(--luzmo-search-icon-size,var(--search-icon-size)) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)));padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) - var(--luzmo-search-border-width,var(--search-border-width)))}:host([hide-icon]:not([quiet])) #text-field .input{padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) - var(--luzmo-search-border-width,var(--search-border-width)))}:host([hide-icon][quiet]) #text-field .input{padding-inline-start:var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual))}:host([quiet]){--search-quiet-button-offset:var(--luzmo-search-quiet-button-offset,calc(var(--luzmo-search-block-size,var(--search-block-size)) / 2 - var(--luzmo-search-icon-size,var(--search-icon-size)) / 2))}:host([quiet]) #button .luzmo-ClearButton-icon{transform:translateX(var(--search-quiet-button-offset))}:host([quiet]) #text-field .input{border-radius:var(--luzmo-search-border-radius,var(--search-border-radius));padding-block-start:var(--luzmo-search-top-to-text,var(--search-top-to-text));padding-inline-start:calc(var(--luzmo-search-edge-to-visual,var(--search-edge-to-visual)) + var(--luzmo-search-icon-size,var(--search-icon-size)) + var(--luzmo-search-text-to-icon,var(--search-text-to-icon)));padding-inline-end:calc(var(--luzmo-search-button-inline-size,var(--search-button-inline-size)) - var(--search-quiet-button-offset))}:host{--search-border-color-default:var(--luzmo-border-color);--search-border-color-hover:rgba(var(--luzmo-primary-rgb), .3);--search-border-color-focus:var(--luzmo-primary);--search-border-color-focus-hover:var(--luzmo-primary);--search-border-color-key-focus:var(--luzmo-primary);--search-inline-size:192px;--search-min-inline-multiplier:3;--search-to-help-text:0px;--search-top-to-text:var(--luzmo-spacing-2);--search-bottom-to-text:var(--luzmo-spacing-2);--search-focus-indicator-width:var(--luzmo-indicator-width);--search-focus-indicator-gap:-1px;--search-focus-indicator-color:var(--luzmo-primary);--search-font-family:var(--luzmo-font-family);--search-font-weight:var(--luzmo-font-weight);--search-font-style:var(--luzmo-font-style);--search-line-height:var(--luzmo-line-height);--search-color-default:var(--luzmo-font-color);--search-color-hover:var(--luzmo-font-color-hover);--search-color-focus:var(--luzmo-font-color-focus);--search-color-focus-hover:var(--luzmo-font-focus);--search-color-key-focus:var(--luzmo-font-color-focus);--search-border-width:var(--luzmo-border-width);--search-background-color:var(--luzmo-background-color);--search-color-disabled:var(--luzmo-disabled-color);--search-background-color-disabled:var(--luzmo-background-color-disabled);--search-border-color-disabled:var(--luzmo-border-color-disabled)}:host #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--search-block-size:var(--luzmo-component-height);--search-icon-size:var(--luzmo-font-size-l);--search-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=s]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:var(--luzmo-spacing-3);--search-block-size:var(--luzmo-component-height-s);--search-icon-size:var(--luzmo-font-size);--search-text-to-icon:var(--luzmo-spacing-3)}:host([size=l]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:var(--luzmo-spacing-4);--search-block-size:var(--luzmo-component-height-l);--search-icon-size:var(--luzmo-font-size-xl);--search-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]) #text-field{--search-border-radius:var(--luzmo-border-radius);--search-edge-to-visual:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--search-block-size:var(--luzmo-component-height-xl);--search-icon-size:var(--luzmo-font-size-xxl);--search-text-to-icon:var(--luzmo-spacing-4)}:host([quiet]) #text-field{--search-background-color:transparent;--search-background-color-disabled:transparent;--search-border-color-disabled:var(--luzmo-border-color-disabled);--search-border-radius:0;--search-edge-to-visual:0px}:host{--luzmo-text-field-spacing-inline:var(--alias-infield-button-full-height-m)}input::-webkit-search-cancel-button{display:none}@media (forced-colors:active){luzmo-clear-button{--clear-button-fill-background-color:transparent;--clear-button-fill-background-color-disabled:transparent;--clear-button-fill-background-color-down:transparent;--clear-button-fill-background-color-hover:transparent;--clear-button-fill-background-color-key-focus:transparent}}`,s=e=>e.stopPropagation(),c=e=>e===`s`?i.luzmoSearch12:e===`l`?i.luzmoSearch:i.luzmoSearch14,l=class extends t.t{constructor(...e){super(...e),this.action=``,this.label=`Search`,this.placeholder=`Search`,this.hideIcon=!1}static get styles(){return[...super.styles,(0,n.unsafeCSS)(o)]}handleSubmit(e){this.dispatchEvent(new Event(`submit`,{cancelable:!0,bubbles:!0}))||e.preventDefault()}handleKeydown(e){let{code:t}=e;t===`Escape`&&this.holdValueOnEscape||!this.value||t!==`Escape`||this.reset()}async reset(){this.value=``,await this.updateComplete,this.focusElement.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0})),this.focusElement.dispatchEvent(new InputEvent(`change`,{bubbles:!0}))}renderField(){return n.html`
19
- <form
20
- action=${this.action}
21
- id="form"
22
- method=${(0,a.ifDefined)(this.method)}
23
- @submit=${this.handleSubmit}
24
- @reset=${this.reset}
25
- @keydown=${this.handleKeydown}
26
- >
27
- ${this.hideIcon?n.nothing:n.html`
28
- <luzmo-icon
29
- block
30
- .icon=${c(this.size)}
31
- size=${this.size}
32
- class="icon magnifier icon-workflow icon-search"
33
- ></luzmo-icon>
34
- `}
35
- ${super.renderField()}
36
- ${this.value?n.html`
37
- <luzmo-clear-button
38
- id="button"
39
- label="Reset"
40
- tabindex="-1"
41
- type="reset"
42
- size=${(0,a.ifDefined)(this.size)}
43
- @keydown=${s}
44
- ></luzmo-clear-button>
45
- `:n.nothing}
46
- </form>
47
- `}firstUpdated(e){super.firstUpdated(e),this.hasAttribute(`holdValueOnEscape`)||this.inputElement.setAttribute(`type`,`search`)}willUpdate(){this.multiline=!1}};e.t([(0,r.property)()],l.prototype,`action`,void 0),e.t([(0,r.property)()],l.prototype,`label`,void 0),e.t([(0,r.property)({type:String,reflect:!0})],l.prototype,`border`,void 0),e.t([(0,r.property)()],l.prototype,`method`,void 0),e.t([(0,r.property)()],l.prototype,`placeholder`,void 0),e.t([(0,r.property)({type:Boolean,reflect:!0,attribute:`hide-icon`})],l.prototype,`hideIcon`,void 0),e.t([(0,r.property)({type:Boolean})],l.prototype,`holdValueOnEscape`,void 0),e.t([(0,r.query)(`#form`)],l.prototype,`form`,void 0),customElements.get(`luzmo-search`)||customElements.define(`luzmo-search`,l),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return l}});