@luzmo/lucero 1.0.3-alpha.7 → 1.0.3-alpha.9

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 (363) hide show
  1. package/components/accordion/index.cjs +1 -1
  2. package/components/accordion/index.js +1 -1
  3. package/components/accordion-BHBIfsLU.cjs +43 -0
  4. package/components/{accordion-BDchhAjE.js → accordion-DC7cjb1c.js} +4 -4
  5. package/components/action-bar/index.cjs +1 -1
  6. package/components/action-bar/index.js +1 -1
  7. package/components/action-bar-BSMX042X.cjs +39 -0
  8. package/components/{action-bar-BO65QnWi.js → action-bar-Dn4IDXEF.js} +6 -6
  9. package/components/action-button/index.cjs +1 -1
  10. package/components/action-button/index.js +1 -1
  11. package/components/action-button-Cr_QN4On.cjs +22 -0
  12. package/components/{action-button-CfpJ8ybz.js → action-button-DC-ZFZTm.js} +3 -3
  13. package/components/action-group/index.cjs +1 -1
  14. package/components/action-group/index.js +1 -1
  15. package/components/action-group-CH8FTW0i.cjs +20 -0
  16. package/components/{action-group-BQ-fyPYS.js → action-group-DYKpp-mz.js} +3 -3
  17. package/components/action-menu/index.cjs +1 -1
  18. package/components/action-menu/index.js +1 -1
  19. package/components/{action-menu-CBSyW4O8.js → action-menu-BlR6cLpi.js} +8 -8
  20. package/components/{action-menu-CnkzFDHK.cjs → action-menu-C1C1Gx39.cjs} +2 -2
  21. package/components/avatar/index.cjs +1 -1
  22. package/components/avatar/index.js +1 -1
  23. package/components/{avatar-79Zd9NiA.js → avatar-CyY_ZSD0.js} +4 -4
  24. package/components/avatar-PulwjkMI.cjs +24 -0
  25. package/components/badge/index.cjs +1 -1
  26. package/components/badge/index.js +1 -1
  27. package/components/badge-D1Ry32wi.cjs +23 -0
  28. package/components/{badge-2zAt91bn.js → badge-D6p2hPj8.js} +3 -3
  29. package/components/button/index.cjs +1 -1
  30. package/components/button/index.js +2 -2
  31. package/components/button-C5hcfigl.cjs +20 -0
  32. package/components/{button-CPh-7eos.js → button-D1a4B85S.js} +5 -5
  33. package/components/{button-base-CgZijING.js → button-base-CzTYjZND.js} +4 -4
  34. package/components/{button-base-UZcvbkXl.cjs → button-base-Dj2qQqwO.cjs} +2 -2
  35. package/components/button-group/index.cjs +1 -1
  36. package/components/button-group/index.js +1 -1
  37. package/components/{button-group-DaANSInm.js → button-group-BiQxYcQ2.js} +2 -2
  38. package/components/button-group-DIz5TZvc.cjs +18 -0
  39. package/components/calendar/index.cjs +1 -1
  40. package/components/calendar/index.js +1 -1
  41. package/components/{calendar-Ck40E6VN.js → calendar-BNRjXf9B.js} +4 -4
  42. package/components/calendar-BWArK3rh.cjs +142 -0
  43. package/components/chat-message/index.cjs +1 -1
  44. package/components/chat-message/index.js +1 -1
  45. package/components/chat-message-CNE-mGuP.cjs +149 -0
  46. package/components/{chat-message-BDTAV-Ph.js → chat-message-DJgocVNj.js} +501 -679
  47. package/components/chat-message-group/index.cjs +1 -1
  48. package/components/chat-message-group/index.js +1 -1
  49. package/components/{chat-message-group-D7vdn2gG.js → chat-message-group-B4U2MzHx.js} +2 -2
  50. package/components/chat-message-group-COmhCN-R.cjs +24 -0
  51. package/components/checkbox/index.cjs +1 -1
  52. package/components/checkbox/index.js +1 -1
  53. package/components/{checkbox-DrbacuOs.js → checkbox-CPS-tR_i.js} +3 -3
  54. package/components/checkbox-DFwDrIdY.cjs +25 -0
  55. package/components/{checkbox-mixin-ClK1paqU.js → checkbox-mixin-C5sLMo5L.js} +1 -1
  56. package/components/{checkbox-mixin-PEFpw1Ep.cjs → checkbox-mixin-D4HeLrMj.cjs} +2 -2
  57. package/components/{rolldown-runtime-DWNI8pZO.cjs → chunk-D-qHiVGv.cjs} +1 -1
  58. package/components/{close-button-BG--crbw.js → close-button-MgaJT7yO.js} +4 -4
  59. package/components/close-button-_EXjp6_m.cjs +18 -0
  60. package/components/color-area/index.cjs +1 -1
  61. package/components/color-area/index.js +1 -1
  62. package/components/color-area-C3Y2d5cu.cjs +80 -0
  63. package/components/{color-area-CAM3uysY.js → color-area-mWOctRNt.js} +6 -6
  64. package/components/color-controller-DueaXfnX.cjs +18 -0
  65. package/components/color-field/index.cjs +1 -1
  66. package/components/color-field/index.js +1 -1
  67. package/components/{color-field-Bq0IEitn.js → color-field-CxdIoSq6.js} +3 -3
  68. package/components/{color-field-IpL7Z89G.cjs → color-field-D7_7z2A2.cjs} +2 -2
  69. package/components/color-handle/index.cjs +1 -1
  70. package/components/color-handle/index.js +1 -1
  71. package/components/{color-handle-DioEcX1V.js → color-handle-BOusOFFx.js} +2 -2
  72. package/components/color-handle-Cka48yPY.cjs +24 -0
  73. package/components/color-loupe/index.cjs +1 -1
  74. package/components/color-loupe/index.js +1 -1
  75. package/components/color-loupe-DMk8uWZW.cjs +56 -0
  76. package/components/{color-loupe-ZcCecT0r.js → color-loupe-bEzi2P0y.js} +1 -1
  77. package/components/color-menu/index.cjs +1 -1
  78. package/components/color-menu/index.js +1 -1
  79. package/components/color-menu-BAKmi_EI.cjs +89 -0
  80. package/components/{color-menu-DtYUtPee.js → color-menu-Cryp_5Gh.js} +9 -9
  81. package/components/color-palette/index.cjs +1 -1
  82. package/components/color-palette/index.js +1 -1
  83. package/components/color-palette-349EkPMg.cjs +18 -0
  84. package/components/{color-palette-FQyIMSwP.js → color-palette-BAdaNySC.js} +3 -3
  85. package/components/color-palette-group/index.cjs +1 -1
  86. package/components/color-palette-group/index.js +1 -1
  87. package/components/color-palette-group-BvP09zmT.cjs +28 -0
  88. package/components/{color-palette-group-o6bnF-Ir.js → color-palette-group-D8Mavsd2.js} +3 -3
  89. package/components/color-picker/index.cjs +1 -1
  90. package/components/color-picker/index.js +1 -1
  91. package/components/{color-picker-CajJUS1c.cjs → color-picker-DL7rqWnW.cjs} +2 -2
  92. package/components/{color-picker-WCIGRufq.js → color-picker-DgjqWiVd.js} +6 -6
  93. package/components/color-slider/index.cjs +1 -1
  94. package/components/color-slider/index.js +1 -1
  95. package/components/color-slider-DxjJ72ue.cjs +57 -0
  96. package/components/{color-slider-BZ3G8Zgn.js → color-slider-ihAIFt5p.js} +5 -6
  97. package/components/{condition-attribute-with-id-Cw92IbcP.cjs → condition-attribute-with-id-DauPaLSS.cjs} +1 -1
  98. package/components/date-range-picker/index.cjs +1 -1
  99. package/components/date-range-picker/index.js +1 -1
  100. package/components/date-range-picker-A-XRRg1X.cjs +180 -0
  101. package/components/{date-range-picker-B2cRO9e5.js → date-range-picker-CcDzRDm5.js} +11 -11
  102. package/components/date-time-picker/index.cjs +1 -1
  103. package/components/date-time-picker/index.js +1 -1
  104. package/components/date-time-picker-Ca9GEA4N.cjs +105 -0
  105. package/components/{date-time-picker-CStBWop1.js → date-time-picker-PHKHDgL9.js} +12 -12
  106. package/components/decorate-B2wePfNm.cjs +18 -0
  107. package/components/{decorate-CkCg3wfh.js → decorate-aGxJUVxg.js} +1 -1
  108. package/components/{dependency-manger-BSaHw9ju.cjs → dependency-manger-CHy9t__e.cjs} +1 -1
  109. package/components/divider/index.cjs +1 -1
  110. package/components/divider/index.js +1 -1
  111. package/components/divider-Dn8XqbB6.cjs +18 -0
  112. package/components/{divider-CGbT-CL8.js → divider-cU0lVwOp.js} +3 -3
  113. package/components/{divider.module-BV6tmpOY.cjs → divider.module-CL60P_z8.cjs} +1 -1
  114. package/components/{element-resolution-BjaAlqwX.cjs → element-resolution-C0aiOB0Y.cjs} +1 -1
  115. package/components/field-group/index.cjs +1 -1
  116. package/components/field-group/index.js +1 -1
  117. package/components/{field-group-EZzkXa2e.js → field-group-C7ROsWq3.js} +2 -2
  118. package/components/{field-group-aWhlzhoj.cjs → field-group-OcI5Lgu7.cjs} +2 -2
  119. package/components/field-label/index.cjs +1 -1
  120. package/components/field-label/index.js +1 -1
  121. package/components/field-label-BCl6R1uO.cjs +25 -0
  122. package/components/{field-label-B9S41b7c.js → field-label-CtGCEmdp.js} +5 -5
  123. package/components/{focus-group-DVPa1zxz.js → focus-group-BshI1RpM.js} +1 -1
  124. package/components/focus-group-SF8Kj7iB.cjs +18 -0
  125. package/components/focus-visible-B0NNezGc.cjs +18 -0
  126. package/components/{focus-visible-Bt2uDmuM.js → focus-visible-CrooVCUu.js} +2 -2
  127. package/components/{focusable-DuP0-Kuy.js → focusable-BmS8IzhH.js} +2 -2
  128. package/components/focusable-CupEoHmn.cjs +18 -0
  129. package/components/{focusable-selectors-DJqGLTJo.cjs → focusable-selectors-5n5liBn0.cjs} +1 -1
  130. package/components/{get-label-from-slot-TV4APBYs.cjs → get-label-from-slot-LO_DZP60.cjs} +1 -1
  131. package/components/icon/index.cjs +1 -1
  132. package/components/icon/index.js +1 -1
  133. package/components/icon-B7hKwn_q.cjs +18 -0
  134. package/components/{icon-M3agnqx7.js → icon-CwBAE1eU.js} +1 -1
  135. package/components/index.cjs +1 -1
  136. package/components/index.js +68 -68
  137. package/components/infield-button/index.cjs +1 -1
  138. package/components/infield-button/index.js +1 -1
  139. package/components/{infield-button-CMcy_QGt.js → infield-button-BvKsbtKr.js} +3 -3
  140. package/components/infield-button-D5cuBWE5.cjs +22 -0
  141. package/components/label/index.cjs +1 -1
  142. package/components/label/index.js +1 -1
  143. package/components/{label-B1HYQ4Pp.js → label-ClJE2esm.js} +1 -1
  144. package/components/label-CqolZbJo.cjs +18 -0
  145. package/components/{language-resolution-BUeKpSce.cjs → language-resolution-BYemISJC.cjs} +1 -1
  146. package/components/{like-anchor-BX4PSB3d.cjs → like-anchor-BZJXts_H.cjs} +2 -2
  147. package/components/{like-anchor-DXCaEv7O.js → like-anchor-DeOXX-MX.js} +1 -1
  148. package/components/{manage-help-text-DwfUBgHK.js → manage-help-text-CF0xBh0F.js} +2 -2
  149. package/components/{manage-help-text-D20THJ3U.cjs → manage-help-text-D9VbYRf_.cjs} +2 -2
  150. package/components/menu/index.cjs +1 -1
  151. package/components/menu/index.d.ts +6 -4
  152. package/components/menu/index.js +1 -1
  153. package/components/{menu-qMByaBwZ.js → menu-Cdz2FEB7.js} +12 -12
  154. package/components/{menu-BS_hemfn.cjs → menu-DFKS4sRU.cjs} +4 -4
  155. package/components/multi-language-field/index.cjs +1 -1
  156. package/components/multi-language-field/index.js +1 -1
  157. package/components/{multi-language-field-DqAlPXww.js → multi-language-field-BzY75rOY.js} +4 -4
  158. package/components/{multi-language-field-B7dnlCK9.cjs → multi-language-field-DmoMyCBH.cjs} +2 -2
  159. package/components/number-field/index.cjs +1 -1
  160. package/components/number-field/index.js +1 -1
  161. package/components/number-field-BmWODnnR.cjs +57 -0
  162. package/components/{number-field-B6BiDw0B.js → number-field-DrJURvoW.js} +7 -7
  163. package/components/observe-slot-presence-Dx8hzNzK.cjs +18 -0
  164. package/components/observe-slot-text-BhTcGuHY.cjs +18 -0
  165. package/components/{observe-slot-text-97nX6NyX.js → observe-slot-text-Ddf1OC6F.js} +1 -1
  166. package/components/options/index.cjs +1 -1
  167. package/components/options/index.js +1 -1
  168. package/components/{options-BV5E4ygY.js → options-BGwKMvng.js} +8 -8
  169. package/components/{options-Cq9Gx9UR.cjs → options-CKi3VkNR.cjs} +2 -2
  170. package/components/overlay/index.cjs +1 -1
  171. package/components/overlay/index.js +3 -3
  172. package/components/{overlay-CO_JAhWD.cjs → overlay-BGI4wOGe.cjs} +2 -2
  173. package/components/{overlay-DpBGFUBW.js → overlay-BbQuYBxp.js} +8 -9
  174. package/components/overlay-DU_p8MNs.cjs +47 -0
  175. package/components/{overlay-DR9oYpb5.js → overlay-mdk7-NOt.js} +3 -3
  176. package/components/{pending-state-BeG7qBDP.js → pending-state-DFcNf5rd.js} +1 -1
  177. package/components/{pending-state-a527YMWV.cjs → pending-state-DIeF18qg.cjs} +2 -2
  178. package/components/picker/index.cjs +1 -1
  179. package/components/picker/index.js +1 -1
  180. package/components/picker-CssPvvau.cjs +123 -0
  181. package/components/{picker-D5AyIL5x.js → picker-DOiM_cUu.js} +9 -9
  182. package/components/picker-button/index.cjs +1 -1
  183. package/components/picker-button/index.js +1 -1
  184. package/components/{picker-button-Bg1oKrx4.js → picker-button-VAxzuhhg.js} +5 -5
  185. package/components/picker-button-adl1JO5u.cjs +37 -0
  186. package/components/platform-B7Sk7Qon.cjs +18 -0
  187. package/components/{platform-Ce9pNsR9.js → platform-D4V_cOJF.js} +2 -2
  188. package/components/popover/index.cjs +1 -1
  189. package/components/popover/index.js +1 -1
  190. package/components/{popover-CFawf-z9.js → popover-DyC9xGhX.js} +3 -3
  191. package/components/popover-dgL04x6P.cjs +30 -0
  192. package/components/progress-bar/index.cjs +1 -1
  193. package/components/progress-bar/index.js +1 -1
  194. package/components/progress-bar-BR28tISC.cjs +31 -0
  195. package/components/{progress-bar-BU_h5i27.js → progress-bar-DHgFRml1.js} +3 -3
  196. package/components/progress-circle/index.cjs +1 -1
  197. package/components/progress-circle/index.js +1 -1
  198. package/components/{progress-circle-BVToDWX8.js → progress-circle-Cg_ua9Ff.js} +3 -3
  199. package/components/progress-circle-DuzwUiGN.cjs +33 -0
  200. package/components/progress-steps/index.cjs +1 -1
  201. package/components/progress-steps/index.js +1 -1
  202. package/components/{progress-steps-9unA0ptN.js → progress-steps-Da8aZWx3.js} +2 -2
  203. package/components/progress-steps-WriXaZpE.cjs +96 -0
  204. package/components/prompt-box/controllers/attachments-controller.d.ts +1 -0
  205. package/components/prompt-box/index.cjs +1 -1
  206. package/components/prompt-box/index.d.ts +2 -1
  207. package/components/prompt-box/index.js +2 -2
  208. package/components/prompt-box/prompt-box-templates.d.ts +3 -0
  209. package/components/prompt-box/prompt-box.d.ts +30 -4
  210. package/components/prompt-box/types.d.ts +8 -0
  211. package/components/{prompt-box-B1eJoNNC.js → prompt-box-DahvVbcc.js} +215 -165
  212. package/components/prompt-box-DfTe3nG0.cjs +311 -0
  213. package/components/radio/index.cjs +1 -1
  214. package/components/radio/index.js +1 -1
  215. package/components/{radio-DhrwxuSB.js → radio-BzEPGUmQ.js} +5 -5
  216. package/components/radio-d-2GUbYE.cjs +22 -0
  217. package/components/{random-id-BcUJAxUZ.cjs → random-id-B51lUxUB.cjs} +1 -1
  218. package/components/{random-id-CiMDyX7v.js → random-id-Dd4boCPV.js} +1 -1
  219. package/components/{roving-tabindex-BoPao4td.cjs → roving-tabindex-B7x5ePUB.cjs} +1 -1
  220. package/components/{roving-tabindex-pomAn3z-.js → roving-tabindex-BP6mQbXf.js} +1 -1
  221. package/components/{scaled-indicator-DLJIztx0.cjs → scaled-indicator-Bl-3A2gz.cjs} +2 -2
  222. package/components/search/index.cjs +1 -1
  223. package/components/search/index.js +1 -1
  224. package/components/search-CCvT87FX.cjs +47 -0
  225. package/components/{search-DJa1-_UC.js → search-Dtff2EzC.js} +4 -4
  226. package/components/segments-factory-CHo9oQw7.cjs +18 -0
  227. package/components/select/index.cjs +1 -1
  228. package/components/select/index.js +1 -1
  229. package/components/{select-CzZZmuWl.js → select-C2gh8zRr.js} +10 -10
  230. package/components/select-qAKOLhmQ.cjs +158 -0
  231. package/components/{sized-mixin-DzQTebN-.js → sized-mixin-DaBoZkVS.js} +1 -1
  232. package/components/sized-mixin-StFA4y0J.cjs +18 -0
  233. package/components/skeleton-loader/index.cjs +1 -1
  234. package/components/skeleton-loader/index.js +1 -1
  235. package/components/skeleton-loader-dNRfq6lt.cjs +18 -0
  236. package/components/{skeleton-loader-C0LH3prK.js → skeleton-loader-oJVESWls.js} +1 -1
  237. package/components/slider/index.cjs +1 -1
  238. package/components/slider/index.js +1 -1
  239. package/components/slider-D8w2ipBg.cjs +18 -0
  240. package/components/{slider-BLaYicz8.js → slider-Fy-VeKrU.js} +2 -2
  241. package/components/{slottable-request-event-C6eb7Ch3.cjs → slottable-request-event-gAcEQan2.cjs} +1 -1
  242. package/components/status-light/index.cjs +1 -1
  243. package/components/status-light/index.js +1 -1
  244. package/components/status-light-BG_kopZQ.cjs +21 -0
  245. package/components/{status-light-BlfBJpqa.js → status-light-DXWPBufE.js} +2 -2
  246. package/components/{strategies-Dbb3w-JB.js → strategies-DhxJGIZT.js} +1 -1
  247. package/components/{strategies-CPWEHFe1.cjs → strategies-kuvLVIKO.cjs} +1 -1
  248. package/components/streaming-listener-BnDW38lt.cjs +18 -0
  249. package/components/swatch/index.cjs +1 -1
  250. package/components/swatch/index.js +1 -1
  251. package/components/{swatch-C2ty27bJ.js → swatch-BLuV-hlF.js} +4 -4
  252. package/components/{swatch-DcUK5qDv.cjs → swatch-G70JUe6I.cjs} +2 -2
  253. package/components/switch/index.cjs +1 -1
  254. package/components/switch/index.js +1 -1
  255. package/components/{switch-B10exYOk.js → switch-CSuMgmAh.js} +4 -4
  256. package/components/switch-nuCOB2P3.cjs +22 -0
  257. package/components/tabs/index.cjs +1 -1
  258. package/components/tabs/index.js +1 -1
  259. package/components/{tabs-CqYK2mFY.js → tabs-B54ELQtU.js} +11 -11
  260. package/components/{tabs-C07QGZbj.cjs → tabs-Jo_qqM_H.cjs} +2 -2
  261. package/components/tags/index.cjs +1 -1
  262. package/components/tags/index.js +1 -1
  263. package/components/{tags-DrDRVcwq.js → tags-Bpl4u-eo.js} +6 -6
  264. package/components/tags-Dj7Xm3KI.cjs +47 -0
  265. package/components/text-field/index.cjs +1 -1
  266. package/components/text-field/index.js +2 -2
  267. package/components/text-field-A4Obzs4l.cjs +21 -0
  268. package/components/{text-field-C9_95TpH.js → text-field-BoGAvXvh.js} +3 -3
  269. package/components/{text-field-DItC9-FS.js → text-field-Cs8HYRYL.js} +5 -5
  270. package/components/{text-field-BG6dB1fv.cjs → text-field-FJr8ZUhI.cjs} +2 -2
  271. package/components/{text-field.module-DDRcQM7Y.cjs → text-field.module-D5oDP7MB.cjs} +1 -1
  272. package/components/toast/index.cjs +1 -1
  273. package/components/toast/index.js +1 -1
  274. package/components/{toast-B2rcl_2b.js → toast-Bd0fleYT.js} +3 -3
  275. package/components/toast-NZ0Z1lz9.cjs +51 -0
  276. package/components/tooltip/index.cjs +1 -1
  277. package/components/tooltip/index.js +1 -1
  278. package/components/tooltip-6y-g7e9V.cjs +45 -0
  279. package/components/{tooltip-Byl1h4nN.js → tooltip-CVSSKlDP.js} +4 -4
  280. package/components/top-nav/index.cjs +1 -1
  281. package/components/top-nav/index.js +1 -1
  282. package/components/{top-nav-D3Iqfth0.js → top-nav-B3w3DZ56.js} +6 -6
  283. package/components/top-nav-DZO8yZs6.cjs +45 -0
  284. package/components/utils.cjs +1 -1
  285. package/components/utils.js +7 -7
  286. package/components/{voice-recorder-B1tBrGTV.cjs → voice-recorder-BUtmSvPO.cjs} +1 -1
  287. package/custom-elements.json +1 -1
  288. package/package.json +1 -1
  289. package/components/accordion-CW7xAsId.cjs +0 -43
  290. package/components/action-bar-CSf3qi0f.cjs +0 -39
  291. package/components/action-button-CMRoRRWo.cjs +0 -22
  292. package/components/action-group-D1G30Iir.cjs +0 -20
  293. package/components/avatar-BRfwsoBh.cjs +0 -24
  294. package/components/badge-BjusWIAn.cjs +0 -23
  295. package/components/button-D7RUI_x1.cjs +0 -20
  296. package/components/button-group-6M8M-TUI.cjs +0 -18
  297. package/components/calendar-9tmSkAp2.cjs +0 -142
  298. package/components/chat-message-SBnm0ITB.cjs +0 -150
  299. package/components/chat-message-group-CzCwyW7F.cjs +0 -24
  300. package/components/checkbox-C-HC6f2c.cjs +0 -25
  301. package/components/close-button-BQUJeFCq.cjs +0 -18
  302. package/components/color-area-B5OHLqtm.cjs +0 -80
  303. package/components/color-controller-DZe3_BMD.cjs +0 -18
  304. package/components/color-handle-BwV3Nia5.cjs +0 -24
  305. package/components/color-loupe-C_C2hy-m.cjs +0 -56
  306. package/components/color-menu-CBpuPimx.cjs +0 -89
  307. package/components/color-palette-C6G0Tdla.cjs +0 -18
  308. package/components/color-palette-group-B4r4tPfY.cjs +0 -28
  309. package/components/color-slider-CVSEpLOP.cjs +0 -57
  310. package/components/date-range-picker-nnN0b_N4.cjs +0 -180
  311. package/components/date-time-picker-Cj4n6nG-.cjs +0 -105
  312. package/components/decorate-Dq34MBGe.cjs +0 -18
  313. package/components/divider-wana0uPI.cjs +0 -18
  314. package/components/field-label-C5vdJ1ys.cjs +0 -25
  315. package/components/focus-group-C8lOjbi9.cjs +0 -18
  316. package/components/focus-visible-eQdwUM9k.cjs +0 -18
  317. package/components/focusable-DTxxQ3yJ.cjs +0 -18
  318. package/components/icon-xwNfYSkj.cjs +0 -18
  319. package/components/infield-button-DKlrlNuX.cjs +0 -22
  320. package/components/label-DPG13Ib0.cjs +0 -18
  321. package/components/number-field-BEBoSI-_.cjs +0 -57
  322. package/components/observe-slot-presence-CS8pMePk.cjs +0 -18
  323. package/components/observe-slot-text-DzUSxLpj.cjs +0 -18
  324. package/components/overlay-duS52Rsb.cjs +0 -47
  325. package/components/picker-D_lZ-gXW.cjs +0 -123
  326. package/components/picker-button-COrTSUL5.cjs +0 -37
  327. package/components/platform-BAjeJp2W.cjs +0 -18
  328. package/components/popover-R-fdNBvR.cjs +0 -30
  329. package/components/progress-bar-DHmthnzp.cjs +0 -31
  330. package/components/progress-circle-DyApSKdm.cjs +0 -33
  331. package/components/progress-steps-BgRH7KAn.cjs +0 -96
  332. package/components/prompt-box-DG4G19Vq.cjs +0 -299
  333. package/components/radio-Ch4iR6e1.cjs +0 -22
  334. package/components/search-COpGXyHi.cjs +0 -47
  335. package/components/segments-factory-DtPyN5sh.cjs +0 -18
  336. package/components/select-DV38y5iI.cjs +0 -158
  337. package/components/sized-mixin-BT7cv-fT.cjs +0 -18
  338. package/components/skeleton-loader-Cm50Ztzk.cjs +0 -18
  339. package/components/slider-CfZ2IRgC.cjs +0 -18
  340. package/components/status-light-Bu0G8-lH.cjs +0 -21
  341. package/components/streaming-listener-Bfyk6Fsx.cjs +0 -18
  342. package/components/switch-BKDJ3dZ9.cjs +0 -22
  343. package/components/tags-CX8xqWyH.cjs +0 -47
  344. package/components/text-field-D0Z0K_7q.cjs +0 -21
  345. package/components/toast-BzIN9rHc.cjs +0 -51
  346. package/components/tooltip-Sm0pruxL.cjs +0 -45
  347. package/components/top-nav-Dqa5pB4f.cjs +0 -45
  348. /package/components/{color-controller-Rg_Zl0sT.js → color-controller-G2_v2xSl.js} +0 -0
  349. /package/components/{condition-attribute-with-id-BdnTdWKz.js → condition-attribute-with-id-Duo51HZ7.js} +0 -0
  350. /package/components/{dependency-manger-wHEXoU92.js → dependency-manger-DMrulWcJ.js} +0 -0
  351. /package/components/{divider.module-CPEKsaqR.js → divider.module-C65RfSUa.js} +0 -0
  352. /package/components/{element-resolution-gap51AVo.js → element-resolution-Bs1x89vU.js} +0 -0
  353. /package/components/{focusable-selectors-BWpiuXz5.js → focusable-selectors-Bg60_Kra.js} +0 -0
  354. /package/components/{get-label-from-slot-Bo9mqYCZ.js → get-label-from-slot-5vVnfSgN.js} +0 -0
  355. /package/components/{language-resolution-DR30FsWE.js → language-resolution-BpfGTC29.js} +0 -0
  356. /package/components/{observe-slot-presence-BKY6n06-.js → observe-slot-presence-BCqd3VSd.js} +0 -0
  357. /package/components/{rolldown-runtime-Dy4uBu1J.js → rolldown-runtime-CAFD8bLK.js} +0 -0
  358. /package/components/{scaled-indicator-C-TupV4L.js → scaled-indicator-fMYan6VK.js} +0 -0
  359. /package/components/{segments-factory-BCRi1NKb.js → segments-factory-D0IveW-q.js} +0 -0
  360. /package/components/{slottable-request-event-MRSZbgTu.js → slottable-request-event-DZ2Z_BLk.js} +0 -0
  361. /package/components/{streaming-listener-CtcMpYfS.js → streaming-listener-2NcP7ys7.js} +0 -0
  362. /package/components/{text-field.module-BrBqDht3.js → text-field.module-Btsve-VN.js} +0 -0
  363. /package/components/{voice-recorder-CTg3kRxx.js → voice-recorder-477xPHRU.js} +0 -0
@@ -1,299 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs");require("./icon-xwNfYSkj.cjs"),require("./action-button-CMRoRRWo.cjs");const n=require("./overlay-duS52Rsb.cjs");require("./overlay-CO_JAhWD.cjs"),require("./button-D7RUI_x1.cjs"),require("./text-field-D0Z0K_7q.cjs"),require("./tags-CX8xqWyH.cjs");const r=require("./voice-recorder-B1tBrGTV.cjs");let i=require("lit"),a=require("lit/decorators.js"),o=require("@luzmo/icons");var s=class{constructor(e){this._attachments=[],this._idCounter=0,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._revokeAllPreviewUrls()}get attachments(){return this._attachments}get hasAttachments(){return this._attachments.length>0}get imageAttachments(){return this._attachments.filter(e=>this._isImageFile(e.file))}get fileAttachments(){return this._attachments.filter(e=>!this._isImageFile(e.file))}addFiles(e){if(this._host.disabled||this._host.readonly||this._host.pending)return[];let t=[];for(let n of e){if(this._isImageFile(n)&&!this._host.allowImages||!this._isImageFile(n)&&!this._host.allowFiles||!this._isFileTypeAccepted(n))continue;let e=this._generateId(),r={file:n,id:e};this._isImageFile(n)&&(r.previewUrl=URL.createObjectURL(n)),this._attachments=[...this._attachments,r],t.push(e)}return t.length>0&&(this._dispatchChange(),this._host.requestUpdate()),t}removeAttachment(e){let t=this._attachments.find(t=>t.id===e);t&&(t.previewUrl&&URL.revokeObjectURL(t.previewUrl),this._attachments=this._attachments.filter(t=>t.id!==e),this._dispatchChange(),this._host.requestUpdate())}clearAttachments(){this._revokeAllPreviewUrls(),this._attachments=[],this._dispatchChange(),this._host.requestUpdate()}getAttachments(){return[...this._attachments]}handlePastedImages(e){if(!this._host.allowImages||this._host.disabled||this._host.readonly||this._host.pending||!e)return!1;let t=[];for(let n of e.items)if(n.type.startsWith(`image/`)){let e=n.getAsFile();e&&t.push(e)}return t.length>0?(this.addFiles(t),!0):!1}getAcceptAttribute(){if(this._host.acceptedFileTypes.length>0)return this._host.acceptedFileTypes.join(`,`);let e=[];return this._host.allowImages&&e.push(`image/*`),this._host.allowFiles&&e.push(`*/*`),e.join(`,`)}isImageFile(e){return this._isImageFile(e)}_isImageFile(e){return e.type.startsWith(`image/`)}_isFileTypeAccepted(e){if(this._host.acceptedFileTypes.length===0)return!0;let t=e.name.toLowerCase(),n=e.type.toLowerCase();for(let e of this._host.acceptedFileTypes){let r=e.toLowerCase();if(r.endsWith(`/*`)){let e=r.slice(0,-2);if(n.startsWith(e+`/`))return!0}else if(n===r)return!0;else if(r.startsWith(`.`)&&t.endsWith(r))return!0}return!1}_generateId(){return`attachment-${++this._idCounter}-${Date.now()}`}_revokeAllPreviewUrls(){for(let e of this._attachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}_dispatchChange(){this._host.dispatchEvent(new CustomEvent(`luzmo-attachments-change`,{bubbles:!0,composed:!0,detail:{attachments:this._attachments}}))}},c=class{constructor(e){this._voiceRecorder=null,this.isRecording=!1,this.duration=0,this.audioLevel=0,this.shouldFocusFinishButton=!1,this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){this._destroy()}async start(e){if(!r.t.isSupported()){this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:`Voice recording is not supported in this browser`}}));return}if(this.isRecording){this.stop();return}this.shouldFocusFinishButton=e,this._init(),this._voiceRecorder&&(await this._voiceRecorder.startRecording()&&(this.isRecording=!0,this.duration=0,this.audioLevel=0,this._host.requestUpdate()),this._host.dispatchEvent(new CustomEvent(`luzmo-record`,{bubbles:!0,composed:!0,detail:{isRecording:this.isRecording}})))}stop(){this._voiceRecorder?.stopRecording()}cancel(){this._voiceRecorder?.cancelRecording(),this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-cancel`,{bubbles:!0,composed:!0}))}formatDuration(){return r.t.formatDuration(this.duration)}static isSupported(){return r.t.isSupported()}_init(){this._voiceRecorder||(this._voiceRecorder=new r.t({maxDuration:3e5}),this._voiceRecorder.onStart(()=>{this.isRecording=!0,this._host.requestUpdate()}).onStop(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-recording-complete`,{bubbles:!0,composed:!0,detail:{audioBlob:e.audioBlob,duration:e.duration,mimeType:e.mimeType}}))}).onError(e=>{this.isRecording=!1,this.duration=0,this.audioLevel=0,this._host.requestUpdate(),this._host.dispatchEvent(new CustomEvent(`luzmo-record-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}).onAudioLevel(e=>{this.audioLevel=e,this._host.requestUpdate()}).onDurationUpdate(e=>{this.duration=e,this._host.requestUpdate()}))}_destroy(){this._voiceRecorder&&=(this._voiceRecorder.destroy(),null),this.isRecording=!1,this.duration=0,this.audioLevel=0}};function l(e,t){let n=document.createRange();return n.setStart(e,t),n.collapse(!0),n}function u(e,t,n){let r=e.getBoundingClientRect(),i=t-r.left,a=n-r.top;return i*i+a*a}function d(e,t,n,r){let i=0,a=t;for(;a-i>1;){let t=i+a>>>1,r=document.createRange();r.setStart(e,t),r.collapse(!0),r.getBoundingClientRect().left<n?i=t:a=t}let o=l(e,i),s=u(o,n,r),c=l(e,a),d=u(c,n,r);return d<s&&(o=c,s=d),{range:o,distSq:s}}function f(e,t,n,r){let i=null,a=1/0;for(let[o,s]of e.childNodes.entries())if(s!==r){if(s.nodeType===Node.TEXT_NODE){let e=(s.textContent??``).length;if(e===0)continue;let r=d(s,e,t,n);r.distSq<a&&(a=r.distSq,i=r.range)}else if(s.nodeType===Node.ELEMENT_NODE){let r=s.getBoundingClientRect();if(r.width===0&&r.height===0)continue;let c=r.left+r.width/2,u=l(e,o),d=l(e,o+1),f=t<c?u:d,p=n-(r.top+r.height/2),m=t<c?t-r.left:t-r.right,h=m*m+p*p;h<a&&(a=h,i=f)}}if(!i){let t=document.createRange();return t.selectNodeContents(e),t.collapse(!1),t}return i}function p(e,t,n,r,i){if(Number.isNaN(n)||Number.isNaN(r))return null;let a=null,o=e;if(o?.caretPositionFromPoint){let e=o.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else o?.caretRangeFromPoint&&(a=o.caretRangeFromPoint(n,r));if(!a)if(`caretPositionFromPoint`in document){let e=document.caretPositionFromPoint(n,r);e&&(a=l(e.offsetNode,e.offset))}else`caretRangeFromPoint`in document&&(a=document.caretRangeFromPoint(n,r));return(!a||!t.contains(a.startContainer))&&(a=f(t,n,r,i)),a}function m(e){if(e){let t=e.getSelection?.();if(t&&t.rangeCount>0)return t.getRangeAt(0)}let t=document.getSelection();if(!t||t.rangeCount===0)return null;let n=t.getRangeAt(0);if(!e||e.contains(n.startContainer))return n;let r=t;if(e&&r.getComposedRanges)try{let t=r.getComposedRanges(e);if(t.length>0){let e=t[0],n=document.createRange();return n.setStart(e.startContainer,e.startOffset),n.setEnd(e.endContainer,e.endOffset),n}}catch{}return null}function h(e,t){let n=document.getSelection();if(n)try{n.setBaseAndExtent(e,t,e,t)}catch{let r=document.createRange();r.setStart(e,t),r.collapse(!0),n.removeAllRanges(),n.addRange(r)}}function g(e){return e===` `||e===`
19
- `||e===`\xA0`}function ee(e){let t=m(e);if(!t||!t.collapsed)return!1;let n=t.startContainer,r=t.startOffset;if(n.nodeType===Node.TEXT_NODE){if(r>=2)return g(n.textContent?.charAt(r-2)??``);let e=n.previousSibling;if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;let t=e.textContent??``;return t.length===0||g(t.at(-1)??``)}if(n.nodeType===Node.ELEMENT_NODE){if(r===0)return!0;let e=n.childNodes[r-1];if(!e||e.nodeType===Node.ELEMENT_NODE&&e.classList?.contains(`element-badge`))return!0;if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``;return t.length===0||g(t.at(-1)??``)}}return!1}function _(e,t){let n=m(e);if(!n){if(!t)return null;let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}let r=n.cloneRange();r.collapse(!0);let i=r.startContainer,a=r.startOffset;if(i.nodeType===Node.TEXT_NODE&&a>0){let e=document.createRange();e.setStart(i,a-1),e.setEnd(i,a);let t=e.getBoundingClientRect();if(t.width>0||t.height>0)return{x:t.left,y:t.bottom}}let o=r.getBoundingClientRect();if(o.width===0&&o.height===0&&o.x===0){if(t){let e=t.getBoundingClientRect();return{x:e.left,y:e.bottom}}return null}return{x:o.left,y:o.bottom}}function v(e,t){let n=m(e);if(!n||!n.collapsed)return null;let r=n.startContainer,i=n.startOffset;if(r.nodeType!==Node.TEXT_NODE)return null;let a=(r.textContent??``).slice(0,Math.max(0,i)),o=a.lastIndexOf(t);return o===-1?null:a.slice(Math.max(0,o+1))}function y(e,t){if(e.focus(),!t)return;let n=e.querySelector(`[data-element-id="${t}"]`);if(!n)return;let r=n.nextSibling;if(r&&r.nodeType===Node.TEXT_NODE){let e=r.textContent??``,t=e.indexOf(` `);h(r,t===-1?e.length:t+1);return}let i=document.getSelection();if(!i)return;let a=document.createRange();a.setStartAfter(n),a.collapse(!0),i.removeAllRanges(),i.addRange(a)}function b(e,t,n,r){let i=m(e);if(i){let e=i.startContainer,r=i.startOffset;if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){let t=e.textContent??``,i=t.slice(0,Math.max(0,r)).lastIndexOf(n);if(i!==-1){e.textContent=t.slice(0,Math.max(0,i))+t.slice(Math.max(0,r)),h(e,i);return}}}let a=n+(r??``),o=document.createTreeWalker(t,NodeFilter.SHOW_TEXT),s;for(;s=o.nextNode();){let e=s.textContent??``,n=e.lastIndexOf(a);if(n!==-1){s.textContent=e.slice(0,Math.max(0,n))+e.slice(Math.max(0,n+a.length)),t.focus(),h(s,n);return}}}var x=`application/x-luzmo-element`,S=class{constructor(e){this._elements=new Map,this._idCounter=0,this._dragCaret=null,this.isDragOver=!1,this.richInputElement=null,this.handleRichInput=()=>{this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichPaste=e=>{if(e.preventDefault(),this._cannotEditRichContent())return;if(this._host.allowImages&&e.clipboardData&&this._host.handlePastedImages(e.clipboardData)){e.stopPropagation();return}let t=e.clipboardData?.getData(`text/plain`)??``;if(t){let e=m(this._host.shadowRoot);if(e){e.deleteContents(),e.insertNode(document.createTextNode(t)),e.collapse(!1);let n=document.getSelection();n&&(n.removeAllRanges(),n.addRange(e))}this.syncValue(),this._host.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}},this.handleRichDragOver=e=>{this._cannotEditRichContent()||e.dataTransfer?.types.includes(`application/x-luzmo-element`)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`),this.isDragOver=!0,this._host.requestUpdate(),this._positionCaretAtPoint(e.clientX,e.clientY),this._showDragCaret(e.clientX,e.clientY))},this.handleRichDragLeave=e=>{let t=e.relatedTarget;(!t||!this.richInputElement?.contains(t))&&(this.isDragOver=!1,this._hideDragCaret(),this._host.requestUpdate())},this.handleRichDrop=e=>{if(e.preventDefault(),this.isDragOver=!1,this._hideDragCaret(),this._cannotEditRichContent()){this._host.requestUpdate();return}let t=e.dataTransfer?.getData(x);if(!t){this._host.requestUpdate();return}try{let n=JSON.parse(t);if(n.elementType&&n.label){this.richInputElement?.focus();let t=this.richInputElement?p(this._host.shadowRoot,this.richInputElement,e.clientX,e.clientY,this._dragCaret):null;this._insertElementAtRange(n.elementType,n.label,n.data??null,void 0,t)}this._host.requestUpdate()}catch{this._host.requestUpdate()}},this._host=e,e.addController(this)}hostConnected(){}hostDisconnected(){}get elements(){return this._elements}get elementCount(){return this._elements.size}getSegments(){return!this._host.allowElements||!this.richInputElement?[{type:`text`,value:this._host.value}]:this._parseSegments()}setSegments(e){if(!this._host.allowElements){this._host.value=this._segmentsToPlainText(e);return}this._elements.clear(),this._host.updateComplete.then(()=>{if(this.richInputElement){this.richInputElement.innerHTML=``;for(let t of e)if(t.type===`text`&&t.value)this.richInputElement.append(document.createTextNode(t.value));else if(t.type===`element`&&t.value){let e={...t.value};e.id||=this._generateId(),this._elements.set(e.id,e),this.richInputElement.append(this._createBadgeNode(e))}this.syncValue()}})}insertElement(e,t,n,r){return this._insertElementAtRange(e,t,n,r,null)}_insertElementAtRange(e,t,n,r,i){if(this._cannotEditRichContent()||this._host.acceptedElementTypes.length>0&&!this._host.acceptedElementTypes.includes(e)||!this.richInputElement)return``;let a=this._generateId(),o={id:a,elementType:e,label:t,data:n,icon:r};this._elements.set(a,o);let s=this._createBadgeNode(o),c=this.richInputElement,l=!1,u=i===null?this._getSelectionRange():i;if(u&&c.contains(u.commonAncestorContainer)){u.deleteContents(),u.insertNode(s);let e=s.previousSibling;if(e?.nodeType===Node.TEXT_NODE){let t=e.previousSibling;t?.classList?.contains(`element-badge`)&&this._ensureSpaceAfter(t)}this._ensureSpaceAfter(s),y(c,a),l=!0}return l||(c.append(s),this._ensureSpaceAfter(s),y(c,a)),this.syncValue(),this._host.dispatchEvent(new CustomEvent(`luzmo-element-inserted`,{bubbles:!0,composed:!0,detail:{element:o}})),a}_getSelectionRange(){return m(this._host.shadowRoot)}removeElement(e){let t=this._elements.get(e);if(!t)return;this._elements.delete(e);let n=this.richInputElement?.querySelector(`[data-element-id="${e}"]`);if(n){let e=n.nextSibling;if(n.remove(),e&&e.nodeType===Node.TEXT_NODE){let t=(e.textContent??``).replaceAll(`​`,``);t?e.textContent=t:e.remove()}this.syncValue()}this._host.dispatchEvent(new CustomEvent(`luzmo-element-removed`,{bubbles:!0,composed:!0,detail:{element:t}}))}getElements(){return[...this._elements.values()]}clearElements(){this._elements.clear(),this.richInputElement&&(this.richInputElement.innerHTML=``)}handleBadgeDelete(e){let t=m(this._host.shadowRoot);if(!t||!t.collapsed)return!1;let n=e===`Backspace`?this._findBadgeBefore(t.startContainer,t.startOffset):e===`Delete`?this._findBadgeAfter(t.startContainer,t.startOffset):null;return n?.dataset.elementId?(this.removeElement(n.dataset.elementId),!0):!1}_findBadgeBefore(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t-1];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE)if(t===0){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}else{let n=(e.textContent??``).slice(0,t);if(/^[\u200B\uFEFF]*$/.test(n)){let t=e.previousSibling;if(t?.classList?.contains(`element-badge`))return t}}return null}_findBadgeAfter(e,t){if(e.nodeType===Node.ELEMENT_NODE){let n=e.childNodes[t];if(n?.classList?.contains(`element-badge`))return n}else if(e.nodeType===Node.TEXT_NODE){let n=e.textContent??``;if(t===n.length){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}else{let r=n.slice(t);if(/^[\u200B\uFEFF]*$/.test(r)){let t=e.nextSibling;if(t?.classList?.contains(`element-badge`))return t}}}return null}_segmentsToPlainText(e){return e.map(e=>e.type===`text`?e.value??``:e.value?.label??``).join(``)}_cannotEditRichContent(){return!this._host.allowElements||this._host.disabled||this._host.readonly||this._host.pending}_cleanupSemanticallyEmptyRichInput(e){let t=this.richInputElement;if(!t)return;let n=this._elements.size===0&&e.trim().length===0,r=this._dragCaret?.parentNode===t;!n||r||t.innerHTML===``||(t.innerHTML=``,this._host.value=``)}syncValue(){if(!this.richInputElement)return;let e=this._parseSegments(),t=this._segmentsToPlainText(e);this._host.value=t,this._cleanupSemanticallyEmptyRichInput(t),this._host.requestUpdate()}_parseSegments(){if(!this.richInputElement)return[];let e=[];for(let t of this.richInputElement.childNodes)if(t.nodeType===Node.TEXT_NODE){let n=(t.textContent??``).replaceAll(`​`,``);n&&e.push({type:`text`,value:n})}else if(t.nodeType===Node.ELEMENT_NODE){let n=t;if(n.classList.contains(`drag-caret`))continue;if(n.classList.contains(`element-badge`)){let t=n.dataset.elementId??``,r=this._elements.get(t);r&&e.push({type:`element`,value:{...r}})}else if(n.tagName===`BR`)e.push({type:`text`,value:`
20
- `});else{let t=n.textContent??``;t&&e.push({type:`text`,value:t})}}return e}_createBadgeNode(e){let t=document.createElement(`span`);if(t.className=`element-badge`,t.setAttribute(`contenteditable`,`false`),t.dataset.elementId=e.id,t.dataset.elementType=e.elementType,e.icon){let n=document.createElement(`luzmo-icon`);n.icon=e.icon,n.setAttribute(`size`,`xxs`),n.className=`element-badge-icon`,t.append(n)}let n=document.createElement(`span`);n.className=`element-badge-label`,n.textContent=e.label,t.append(n);let r=document.createElement(`button`);return r.type=`button`,r.setAttribute(`role`,`button`),r.tabIndex=-1,r.className=`element-badge-remove`,r.setAttribute(`contenteditable`,`false`),r.setAttribute(`aria-label`,`Remove ${e.label}`),r.textContent=`×`,r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),this.removeElement(e.id)}),t.append(r),t}_ensureSpaceAfter(e){let t=e.nextSibling;if(t&&t.nodeType===Node.TEXT_NODE&&t.textContent){let e=t.textContent;if(e.startsWith(`​`)&&e.length>1)return;if(e.startsWith(` `)){t.textContent=`​`+e;return}if(/^\u200B+$/.test(e)){t.textContent=e+` `;return}}e.parentNode?.insertBefore(document.createTextNode(`​ `),t??null)}_showDragCaret(e,t){if(!this.richInputElement){this._hideDragCaret();return}let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(!n){this._hideDragCaret();return}let r=n.getBoundingClientRect(),i=this.richInputElement.getBoundingClientRect(),a=r.left-i.left+this.richInputElement.scrollLeft,o=r.top-i.top+this.richInputElement.scrollTop,s=r.height;if(s===0){let e=getComputedStyle(this.richInputElement);s=Number.parseFloat(e.lineHeight)||Number.parseFloat(e.fontSize)||16,o=t-i.top+this.richInputElement.scrollTop-s/2}this._dragCaret||(this._dragCaret=document.createElement(`div`),this._dragCaret.className=`drag-caret`);let c=this._dragCaret;c.style.position=`absolute`,c.style.top=`${o}px`,c.style.left=`${a}px`,c.style.height=`${s}px`,c.parentNode||(this.richInputElement.style.position=`relative`,this.richInputElement.append(c))}_hideDragCaret(){this._dragCaret?.remove()}_generateId(){return`el-${++this._idCounter}-${Date.now()}`}_positionCaretAtPoint(e,t){if(!this.richInputElement)return;let n=p(this._host.shadowRoot,this.richInputElement,e,t,this._dragCaret);if(n){let e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(n))}}},C=class{constructor(e){this._triggers=[],this.activeTrigger=null,this.searchString=``,this.virtualElement=null,this.highlightedIndex=0,this.pointerMovedSinceKeyNav=!0,this.hoveredIndex=-1,this.filteredOptions=[],this.richInputElement=null,this.handleOverlayClosed=()=>{this.close()},this.handleOverlayKeydown=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),this.close(),this.richInputElement?.focus())},this.handlePointerMove=()=>{this.pointerMovedSinceKeyNav=!0},this._handleTriggerSelect=e=>{if(!this.activeTrigger)return;let{elementType:t,label:n,data:r,icon:i}=e.detail;this.selectOption({label:n,value:n,data:r,icon:i,elementType:t})},this._handleDocumentPointerDown=e=>{let t=e.composedPath(),n=this._host.shadowRoot?.querySelector(`luzmo-overlay[part="trigger-menu-overlay"]`);n&&t.includes(n)||this.richInputElement&&t.includes(this.richInputElement)||(this.close(),this.richInputElement?.focus())},this._host=e,e.addController(this)}hostConnected(){this._host.addEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}hostDisconnected(){document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0),this._host.removeEventListener(`luzmo-trigger-select`,this._handleTriggerSelect)}get triggers(){return this._triggers}set triggers(e){this._triggers=e,this.activeTrigger&&this._updateFilteredOptions()}get activeConfig(){if(this.activeTrigger)return this._triggers.find(e=>e.key===this.activeTrigger)}get hasTriggers(){return this._triggers.length>0}getSlotName(e){return this._triggers.find(t=>t.key===e)?.slotName}get allSlotNames(){return this._triggers.map(e=>e.slotName).filter(e=>!!e)}handleInput(e){if(this.activeTrigger){let e=v(this._host.shadowRoot,this.activeTrigger)??this._extractTriggerSearchFromContent(this.activeTrigger);e===null?this.close():(this.searchString=e,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1),this._dispatchChange(!0),this._host.requestUpdate(),document.dispatchEvent(new Event(`luzmo-update-overlays`)))}else this._detectTrigger(e)}open(e){if(!this._triggers.find(t=>t.key===e))return;let t=_(this._host.shadowRoot,this.richInputElement);if(!t)return;this.activeTrigger=e,this.searchString=``,this._updateFilteredOptions(),this.highlightedIndex=this._findSelectableIndex(0,1);let r=this.richInputElement?.getBoundingClientRect().top??t.y;this.virtualElement?this.virtualElement.updateBoundingClientRect(t.x,t.y,r):this.virtualElement=new n.m(t.x,t.y,r),this._dispatchChange(!0),this._host.requestUpdate(),requestAnimationFrame(()=>{document.addEventListener(`pointerdown`,this._handleDocumentPointerDown,!0)})}close(){if(this.activeTrigger===null)return;document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown,!0);let e=this.activeTrigger;this.activeTrigger=null,this.searchString=``,this.filteredOptions=[],this.highlightedIndex=0,this.hoveredIndex=-1,this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:e,open:!1,searchString:``}})),this._host.requestUpdate()}handleKeydown(e){return this.activeTrigger?e.key===`Escape`?(e.preventDefault(),this.close(),this.richInputElement?.focus(),!0):e.key===`Tab`?(this.close(),!1):e.key===`ArrowDown`?(e.preventDefault(),this._moveHighlight(1),!0):e.key===`ArrowUp`?(e.preventDefault(),this._moveHighlight(-1),!0):e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),this._selectHighlighted(),!0):!1:!1}_detectTrigger(e){if(this._host.disabled||this._host.readonly||this._host.pending)return;let t=e?.data??``;t.length!==1||!this._isTriggerKey(t)||ee(this._host.shadowRoot)&&this.open(t)}_extractTriggerSearchFromContent(e){let t=this.richInputElement?.textContent??``;if(!t)return null;let n=t.lastIndexOf(e);if(n===-1)return null;let r=t.slice(n+1);return r.includes(` `)||r.includes(`
21
- `)?null:r}_isTriggerKey(e){return this._triggers.some(t=>t.key===e)}_updateFilteredOptions(){let e=this.activeConfig;if(!e?.options){this.filteredOptions=[];return}if(e.lazy){this.filteredOptions=e.options;return}if(!this.searchString){this.filteredOptions=e.options;return}let t=this.searchString.toLowerCase(),n=[],r=null;for(let i of e.options){if(i.header){r=i;continue}(i.label.toLowerCase().includes(t)||(i.description?.toLowerCase().includes(t)??!1))&&(r&&=(n.push(r),null),n.push(i))}this.filteredOptions=n}_findSelectableIndex(e,t){let n=this.filteredOptions.length;if(n===0)return-1;let r=(e%n+n)%n;for(let e=0;e<n;e++){if(!this.filteredOptions[r].header)return r;r=((r+t)%n+n)%n}return-1}_moveHighlight(e){let t=this.filteredOptions.length;if(t===0)return;let n=(this.highlightedIndex+e+t)%t;n=this._findSelectableIndex(n,e),n!==-1&&(this.pointerMovedSinceKeyNav=!1,this.hoveredIndex=-1,this.highlightedIndex=n,this._host.requestUpdate(),requestAnimationFrame(()=>{this._host.shadowRoot?.querySelector(`.trigger-option.highlighted`)?.scrollIntoView({block:`nearest`})}))}_selectHighlighted(){let e=this.filteredOptions[this.highlightedIndex];if(!e){this.close();return}this.selectOption(e)}selectOption(e){if(!this.activeTrigger||!this.richInputElement)return;let t=this.activeTrigger,n=this.richInputElement,r=this._host.shadowRoot;b(r,n,t,this.searchString);let i=e.elementType??t,a=this._host.insertElement(i,e.label,e.data??null,e.icon);y(n,a),this.close(),this._host.updateComplete.then(()=>{requestAnimationFrame(()=>{y(n,a)})})}_dispatchChange(e){this.activeTrigger&&this._host.dispatchEvent(new CustomEvent(`luzmo-trigger-change`,{bubbles:!0,composed:!0,detail:{trigger:this.activeTrigger,open:e,searchString:this.searchString}}))}},w=!1,T=0;function E(){w=!0}function D(){w=!1}function O(){document.addEventListener(`keydown`,E,!0),document.addEventListener(`mousedown`,D,!0),document.addEventListener(`pointerdown`,D,!0)}function k(){document.removeEventListener(`keydown`,E,!0),document.removeEventListener(`mousedown`,D,!0),document.removeEventListener(`pointerdown`,D,!0)}function A(){T===0&&typeof window<`u`&&O(),T++}function j(){T--,T<=0&&(T=0,k())}function M(){return w}function N(e,t,n){return i.html`
22
- <div class="top-actions ${t?``:`empty`}" part="top-actions">
23
- <slot name="top-actions" @slotchange=${n}></slot>
24
- </div>
25
- `}function P(e,t,n){return i.html`
26
- <div
27
- class="bottom-actions ${t?``:`empty`}"
28
- part="bottom-actions"
29
- >
30
- <slot name="bottom-actions" @slotchange=${n}></slot>
31
- </div>
32
- `}function F(e){let t=[];for(let n=0;n<5;n++){let r=1-Math.abs(n-2)*.15,a=.3+e.recordingController.audioLevel*.7*r,o=Math.max(.2,Math.min(1,a));t.push(i.html`
33
- <span class="waveform-bar" style="--bar-height: ${o}"></span>
34
- `)}return i.html`
35
- <div class="waveform" part="waveform" aria-hidden="true">${t}</div>
36
- `}function I(e){let t=e.handleRecordButtonSlotChange,n=e.hasRecordButton,r=e.recordingController.isRecording,a=()=>{e.recordingController.cancel()},s=t=>{e.handleRecordClick(t)};return n||!e.recording?i.html`<slot name="record-button" @slotchange=${t}></slot>`:r?i.html`
37
- <slot name="record-button" @slotchange=${t}></slot>
38
- <div class="recording-ui" part="recording-ui">
39
- <luzmo-action-button
40
- class="cancel-recording-button"
41
- part="cancel-recording-button"
42
- .size=${e.size}
43
- ?disabled=${e.disabled}
44
- @click=${a}
45
- aria-label="Cancel recording"
46
- >
47
- <luzmo-icon
48
- slot="icon"
49
- .icon=${o.luzmoClear}
50
- .size=${e.size}
51
- ></luzmo-icon>
52
- </luzmo-action-button>
53
- ${F(e)}
54
- <span class="recording-duration" part="recording-duration">
55
- ${e.recordingController.formatDuration()}
56
- </span>
57
- <luzmo-button
58
- class="finish-recording-button"
59
- part="finish-recording-button"
60
- .size=${e.size}
61
- icon-only
62
- variant="primary"
63
- ?disabled=${e.disabled}
64
- @click=${s}
65
- aria-label="Finish recording"
66
- >
67
- <luzmo-icon slot="icon" .icon=${o.luzmoCheck}></luzmo-icon>
68
- </luzmo-button>
69
- </div>
70
- `:i.html`
71
- <slot name="record-button" @slotchange=${t}></slot>
72
- <luzmo-action-button
73
- class="record-button"
74
- part="record-button"
75
- quiet
76
- .size=${e.size}
77
- ?disabled=${e.disabled}
78
- ?readonly=${e.pending}
79
- @click=${s}
80
- aria-label="Record"
81
- >
82
- <luzmo-icon
83
- slot="icon"
84
- .icon=${o.luzmoMicrophone}
85
- .size=${e.size}
86
- ></luzmo-icon>
87
- </luzmo-action-button>
88
- `}function L(e){let t=e.handleSubmitButtonSlotChange,n=e.recordingController.isRecording,r=()=>{e.submit()},a=()=>{e.handleStopClick()};if(n||e.hasSubmitButton||e.hideSubmit&&!e.hasSubmitButton)return i.html`<slot name="submit-button" @slotchange=${t}></slot>`;let s=!!e.value.trim()||e.richInputController.elementCount>0;return e.pending&&e.stoppable?i.html`
89
- <slot name="submit-button" @slotchange=${t}></slot>
90
- <luzmo-button
91
- class="submit-button stop-button"
92
- part="submit-button stop-button"
93
- .size=${e.size}
94
- icon-only
95
- variant="primary"
96
- ?disabled=${e.disabled}
97
- @click=${a}
98
- aria-label="Stop"
99
- label="Stop"
100
- >
101
- <luzmo-icon slot="icon" .icon=${o.luzmoStop}></luzmo-icon>
102
- </luzmo-button>
103
- `:i.html`
104
- <slot name="submit-button" @slotchange=${t}></slot>
105
- <luzmo-button
106
- class="submit-button"
107
- part="submit-button"
108
- .size=${e.size}
109
- icon-only
110
- variant="primary"
111
- ?disabled=${e.disabled||e.disableSubmit||!e.pending&&!s}
112
- ?pending=${e.pending}
113
- @click=${r}
114
- aria-label="Submit"
115
- label="Submit"
116
- .label=${`Submit`}
117
- >
118
- <luzmo-icon slot="icon" .icon=${o.luzmoArrowUp}></luzmo-icon>
119
- </luzmo-button>
120
- `}function R(e,t){if(!t)return e;let n=e.toLowerCase().indexOf(t.toLowerCase());return n===-1?e:i.html`${e.slice(0,n)}<mark class="trigger-option-highlight">${e.slice(n,n+t.length)}</mark>${e.slice(n+t.length)}`}function z(e,t){return i.html`
121
- <div
122
- class="trigger-option-header"
123
- part="trigger-option-header"
124
- role="presentation"
125
- >
126
- ${t?.iconTemplate?i.html`<span class="trigger-option-header-icon">${t.iconTemplate(e)}</span>`:e.icon?i.html`<luzmo-icon
127
- class="trigger-option-header-icon"
128
- .icon=${e.icon}
129
- size="s"
130
- ></luzmo-icon>`:i.nothing}
131
- <span class="trigger-option-header-label">${e.label}</span>
132
- </div>
133
- `}function B(e,t,n,r,a){let s=()=>{e.selectTriggerOption(t)},c=()=>{e.triggerMenuController.pointerMovedSinceKeyNav&&(e.triggerMenuController.hoveredIndex=n,e.highlightTriggerOption(n))},l=()=>{e.triggerMenuController.hoveredIndex===n&&(e.triggerMenuController.hoveredIndex=-1,e.requestUpdate())},u=n===r,d=n===e.triggerMenuController.hoveredIndex,f=e.triggerMenuController.searchString,p=i.html`${a?.iconTemplate?i.html`<span class="trigger-option-icon">${a.iconTemplate(t)}</span>`:t.icon?i.html`<luzmo-icon
134
- class="trigger-option-icon"
135
- .icon=${t.icon}
136
- size="s"
137
- ></luzmo-icon>`:i.nothing}
138
- <div class="trigger-option-content">
139
- <span class="trigger-option-label"
140
- >${a?.highlightSearch&&f?R(t.label,f):t.label}</span
141
- >
142
- ${t.description?i.html`<span class="trigger-option-description"
143
- >${t.description}</span
144
- >`:i.nothing}
145
- </div>`;return i.html`
146
- <div
147
- class="trigger-option ${u?`highlighted`:``} ${d?`hovered`:``} ${t.description?`has-description`:``}"
148
- part="trigger-option"
149
- role="option"
150
- aria-selected=${u}
151
- @click=${s}
152
- @pointerenter=${c}
153
- @pointerleave=${l}
154
- >
155
- ${p}
156
- ${u?i.html`<luzmo-icon
157
- class="trigger-option-enter-icon"
158
- .icon=${o.luzmoArrowEnter}
159
- size="s"
160
- ></luzmo-icon>`:i.nothing}
161
- </div>
162
- `}function V(e,t,n,r){let a=[];for(let[i,o]of t.entries())o.header?a.push(z(o,r)):a.push(B(e,o,i,n,r));return i.html`
163
- <div
164
- class="trigger-options"
165
- part="trigger-options"
166
- role="listbox"
167
- @pointermove=${e.triggerMenuController.handlePointerMove}
168
- >
169
- ${a}
170
- </div>
171
- `}function H(e){return i.html`<slot name=${e} style="display: none;"></slot>`}function U(e){let t=e.triggerMenuController;if(!t.hasTriggers){let e=[];for(let n of t.allSlotNames)e.push(H(n));return i.html`${e}`}let n=t.activeConfig,r=n?.slotName??null,a=t.filteredOptions.length>0,o=t.activeTrigger!==null,s=[];for(let e of t.allSlotNames)e!==r&&s.push(H(e));return i.html`
172
- <luzmo-overlay
173
- part="trigger-menu-overlay"
174
- type="manual"
175
- placement="bottom-start"
176
- receives-focus="auto"
177
- .triggerElement=${t.virtualElement}
178
- .open=${o}
179
- @luzmo-closed=${t.handleOverlayClosed}
180
- @keydown=${t.handleOverlayKeydown}
181
- >
182
- ${o&&r?i.html`<slot name=${r}></slot>`:i.nothing}
183
- ${o&&a?V(e,t.filteredOptions,t.highlightedIndex,n):i.nothing}
184
- </luzmo-overlay>
185
- ${s}
186
- `}function W(e){let t=!e.readonly&&!e.pending&&!e.disabled,n=e.richInputController;return i.html`
187
- <div
188
- class="rich-input"
189
- part="rich-input"
190
- contenteditable=${t?`true`:`false`}
191
- role="textbox"
192
- aria-multiline="true"
193
- aria-label=${e.placeholder||`Enter your message`}
194
- data-placeholder=${e.placeholder}
195
- @input=${e.handleRichInputEvent}
196
- @keydown=${e.handleRichKeydown}
197
- @paste=${n.handleRichPaste}
198
- @dragover=${n.handleRichDragOver}
199
- @dragleave=${n.handleRichDragLeave}
200
- @drop=${n.handleRichDrop}
201
- @focusin=${e.handleInputFocusIn}
202
- @focusout=${e.handleInputFocusOut}
203
- ></div>
204
- `}function G(e){return e.allowElements?W(e):i.html`
205
- <luzmo-text-field
206
- class="input-field"
207
- part="input"
208
- placeholder=${e.placeholder}
209
- .value=${e.value}
210
- .size=${e.size}
211
- rows=${e.rows}
212
- ?grows=${e.grows}
213
- max-rows=${e.maxRows}
214
- ?readonly=${e.readonly||e.pending||e.disabled}
215
- maxlength=${e.maxlength>0?e.maxlength:-1}
216
- multiline
217
- quiet
218
- label=${e.placeholder||`Enter your message`}
219
- @input=${e.handleInput}
220
- @keydown=${e.handleKeydown}
221
- @focusin=${e.handleInputFocusIn}
222
- @focusout=${e.handleInputFocusOut}
223
- hide-validation-icons
224
- ></luzmo-text-field>
225
- `}function K(e,t){return i.html`
226
- <div class="image-attachment" part="image-attachment">
227
- <img
228
- src=${t.previewUrl||``}
229
- alt=${t.file.name}
230
- class="image-preview"
231
- />
232
- <luzmo-clear-button
233
- class="attachment-remove"
234
- .size=${e.size}
235
- ?disabled=${e.disabled||e.pending}
236
- label="Remove ${t.file.name}"
237
- data-attachment-id=${t.id}
238
- @click=${t=>{let n=t.currentTarget.dataset.attachmentId;n&&e.attachmentsController.removeAttachment(n)}}
239
- ></luzmo-clear-button>
240
- </div>
241
- `}function q(e,t){return i.html`
242
- <luzmo-tag
243
- class="file-attachment"
244
- part="file-attachment"
245
- .size=${e.tagSize}
246
- deletable
247
- ?disabled=${e.disabled||e.pending}
248
- data-attachment-id=${t.id}
249
- @delete=${t=>{let n=t.target.dataset.attachmentId;n&&(t.preventDefault(),e.attachmentsController.removeAttachment(n))}}
250
- >
251
- ${t.file.name}
252
- </luzmo-tag>
253
- `}function J(e){let t=e.attachmentsController;if(!t.hasAttachments)return i.nothing;let n=t.imageAttachments,r=t.fileAttachments,a=[];for(let t of n)a.push(K(e,t));let o=[];for(let t of r)o.push(q(e,t));return i.html`
254
- <div class="attachments" part="attachments">
255
- ${n.length>0?i.html`
256
- <div class="image-attachments" part="image-attachments">
257
- ${a}
258
- </div>
259
- `:i.nothing}
260
- ${r.length>0?i.html`
261
- <luzmo-tags
262
- class="file-attachments"
263
- part="file-attachments"
264
- .size=${e.tagSize}
265
- >
266
- ${o}
267
- </luzmo-tags>
268
- `:i.nothing}
269
- </div>
270
- `}function Y(e){return!e.allowImages&&!e.allowFiles?i.nothing:i.html`
271
- <input
272
- type="file"
273
- class="hidden-file-input"
274
- accept=${e.attachmentsController.getAcceptAttribute()}
275
- multiple
276
- @change=${t=>{let n=t.target;n.files?.length&&e.attachmentsController.addFiles([...n.files]),n.value=``}}
277
- aria-hidden="true"
278
- tabindex="-1"
279
- />
280
- `}var X=`luzmo-button, luzmo-action-button, luzmo-switch, luzmo-picker, luzmo-picker-button, luzmo-select, luzmo-text-field, luzmo-number-field`;function Z(e){let t=[];return e.matches(X)&&t.push(e),t.push(...e.querySelectorAll(X)),t}function Q(e,t,n){if(!e)return;let r=e.querySelector(`slot[name="submit-button"]`);for(let e of r?.assignedElements()??[])for(let r of Z(e))n?(r.setAttribute(`pending`,``),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`)):t?(r.removeAttribute(`pending`),r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`pending`),r.removeAttribute(`disabled`),r.removeAttribute(`readonly`));for(let r of[`slot[name="top-actions"]`,`slot[name="bottom-actions"]`,`slot[name="record-button"]`]){let i=e.querySelector(r);for(let e of i?.assignedElements()??[])for(let r of Z(e))t||n?(r.setAttribute(`disabled`,``),r.removeAttribute(`readonly`)):(r.removeAttribute(`disabled`),r.removeAttribute(`readonly`))}}function te(e){let t=[],n=new Set([`luzmo-switch`,`luzmo-checkbox`,`luzmo-radio`]);for(let r of e)for(let e of Z(r)){let r={element:e,name:e.getAttribute(`name`)||e.getAttribute(`label`)||void 0};`value`in e&&(r.value=e.value);let i=e.tagName.toLowerCase();n.has(i)&&`checked`in e&&(r.checked=e.checked),t.push(r)}return t}var ne=`:host{font-family:var(--luzmo-prompt-box-font-family,var(--prompt-box-font-family));font-size:var(--luzmo-prompt-box-font-size,var(--prompt-box-font-size));line-height:var(--luzmo-prompt-box-line-height,var(--prompt-box-line-height));color:var(--highcontrast-prompt-box-text-color,var(--luzmo-prompt-box-text-color,var(--prompt-box-text-color)));flex-direction:column;width:100%;display:flex}:host([disabled]){opacity:var(--luzmo-prompt-box-disabled-opacity,var(--prompt-box-disabled-opacity));pointer-events:none}.container{gap:var(--luzmo-prompt-box-gap,var(--prompt-box-gap));padding:var(--luzmo-prompt-box-vertical-padding,var(--prompt-box-vertical-padding)) var(--luzmo-prompt-box-horizontal-padding,var(--prompt-box-horizontal-padding));background-color:var(--highcontrast-prompt-box-background-color,var(--luzmo-prompt-box-background-color,var(--prompt-box-background-color)));border-radius:var(--luzmo-prompt-box-border-radius,var(--prompt-box-border-radius));border-width:var(--luzmo-prompt-box-border-width,var(--prompt-box-border-width));border-style:solid;border-color:var(--highcontrast-prompt-box-border-color,var(--luzmo-prompt-box-border-color,var(--prompt-box-border-color)));box-shadow:var(--luzmo-prompt-box-shadow,var(--prompt-box-shadow));transition:border-color var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out, box-shadow var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-direction:column;display:flex}.container.input-focused{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)))}.container.drag-over{border-color:var(--luzmo-prompt-box-border-color-drag,var(--luzmo-primary,#0064fa))}:host(:focus-visible) .container,:host(.focus-visible) .container{border-color:var(--highcontrast-prompt-box-border-color-focus,var(--luzmo-prompt-box-border-color-focus,var(--prompt-box-border-color-focus)));box-shadow:var(--luzmo-prompt-box-shadow-focus,var(--prompt-box-shadow-focus))}:host(:focus){outline:none}.top-actions{align-items:center;gap:var(--luzmo-prompt-box-top-actions-gap,var(--prompt-box-top-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;display:flex}.top-actions.empty{display:none}.hidden-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.attachments{gap:var(--luzmo-prompt-box-attachments-gap,var(--prompt-box-attachments-gap,8px));flex-direction:column;display:flex}.image-attachments{gap:var(--luzmo-prompt-box-image-attachments-gap,var(--prompt-box-image-attachments-gap,8px));flex-wrap:wrap;display:flex}.image-attachment{width:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));height:var(--luzmo-prompt-box-image-preview-size,var(--prompt-box-image-preview-size,80px));border-radius:var(--luzmo-prompt-box-image-border-radius,var(--prompt-box-image-border-radius,8px));background-color:var(--luzmo-prompt-box-image-background,var(--prompt-box-image-background,#0000000d));display:inline-flex;position:relative;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.attachment-remove{width:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));height:var(--luzmo-prompt-box-remove-button-size,var(--prompt-box-remove-button-size,24px));background-color:var(--luzmo-prompt-box-remove-button-background,var(--prompt-box-remove-button-background,#00000080));--luzmo-clear-button-icon-color:var(--luzmo-prompt-box-remove-button-icon-color,var(--prompt-box-remove-button-icon-color,#fff));border-radius:50%;position:absolute;top:4px;right:4px}.attachment-remove:hover{background-color:var(--luzmo-prompt-box-remove-button-background-hover,var(--prompt-box-remove-button-background-hover,#000000b3))}.file-attachments{--luzmo-tag-border-radius:16px;gap:var(--luzmo-prompt-box-file-attachments-gap,var(--prompt-box-file-attachments-gap,4px));flex-wrap:wrap;display:flex}.file-attachment{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.input-wrapper{flex:1;display:flex;position:relative}.input-field{--luzmo-text-field-focus-indicator-width:0;--luzmo-text-field-border-width:0;--luzmo-text-field-width:100%;--luzmo-text-field-min-width:0;--luzmo-text-field-placeholder-text-color-default:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));flex:1;width:100%;min-width:0}.actions-row{justify-content:space-between;align-items:center;gap:var(--luzmo-prompt-box-actions-gap,var(--prompt-box-actions-gap));display:flex}.bottom-actions{align-items:center;gap:var(--luzmo-prompt-box-bottom-actions-gap,var(--prompt-box-bottom-actions-gap));opacity:var(--luzmo-prompt-box-actions-opacity,var(--prompt-box-actions-opacity,1));transition:opacity var(--luzmo-prompt-box-animation-duration,var(--prompt-box-animation-duration)) ease-in-out;flex-wrap:wrap;flex:1;display:flex}.button-group{align-items:center;gap:var(--luzmo-prompt-box-button-group-gap,var(--prompt-box-button-group-gap));margin-left:auto;display:flex}.record-button,.cancel-recording-button{--luzmo-action-button-border-radius:var(--luzmo-prompt-box-record-button-border-radius,50%);--luzmo-action-button-focus-indicator-border-radius:var(--luzmo-prompt-box-record-button-focus-indicator-border-radius,50%)}.submit-button{margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start))}.recording-ui{align-items:center;gap:var(--luzmo-prompt-box-recording-gap,var(--prompt-box-recording-gap));display:flex}.waveform{align-items:center;gap:var(--luzmo-prompt-box-waveform-gap,var(--prompt-box-waveform-gap,3px));height:var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px));padding:0 4px;display:flex}.waveform-bar{width:var(--luzmo-prompt-box-waveform-bar-width,var(--prompt-box-waveform-bar-width,3px));height:calc(var(--bar-height,.3) * var(--luzmo-prompt-box-waveform-height,var(--prompt-box-waveform-height,24px)));background-color:var(--luzmo-prompt-box-waveform-bar-color,var(--prompt-box-waveform-bar-color,currentColor));border-radius:var(--luzmo-prompt-box-waveform-bar-radius,var(--prompt-box-waveform-bar-radius,2px));min-height:4px;transition:height 50ms ease-out;animation:1s ease-in-out infinite waveform-pulse}.waveform-bar:first-child{animation-delay:0s}.waveform-bar:nth-child(2){animation-delay:.1s}.waveform-bar:nth-child(3){animation-delay:.2s}.waveform-bar:nth-child(4){animation-delay:.1s}.waveform-bar:nth-child(5){animation-delay:0s}@keyframes waveform-pulse{0%,to{opacity:.6}50%{opacity:1}}.recording-duration{font-family:var(--luzmo-prompt-box-recording-duration-font-family,var(--prompt-box-recording-duration-font-family,monospace));font-size:var(--luzmo-prompt-box-recording-duration-font-size,var(--prompt-box-recording-duration-font-size,14px));font-weight:var(--luzmo-prompt-box-recording-duration-font-weight,var(--prompt-box-recording-duration-font-weight,500));color:var(--luzmo-prompt-box-recording-duration-color,var(--prompt-box-recording-duration-color,currentColor));text-align:center}.rich-input{width:100%;min-width:0;min-height:1.5em;max-height:var(--luzmo-prompt-box-max-height,var(--prompt-box-max-height,200px));padding:var(--luzmo-prompt-box-rich-input-padding,var(--prompt-box-rich-input-padding,4px 0));font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0;border:none;outline:none;flex:1;overflow-y:auto}.rich-input:empty:before{content:attr(data-placeholder);color:var(--luzmo-prompt-box-placeholder-color,var(--prompt-box-placeholder-color));pointer-events:none}.rich-input[contenteditable=false]{opacity:.5;cursor:default}.drag-caret{background:var(--luzmo-primary,#0064fa);pointer-events:none;border-radius:1px;width:2px}.element-badge{align-items:center;gap:var(--luzmo-prompt-box-badge-gap,var(--prompt-box-badge-gap,6px));vertical-align:baseline;padding:var(--luzmo-prompt-box-badge-padding,var(--prompt-box-badge-padding,1px 6px));background-color:var(--luzmo-prompt-box-badge-background,var(--prompt-box-badge-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .1)));color:var(--luzmo-prompt-box-badge-color,var(--prompt-box-badge-color,var(--luzmo-primary,#0064fa)));border-radius:var(--luzmo-prompt-box-badge-border-radius,var(--prompt-box-badge-border-radius,4px));font-size:var(--luzmo-prompt-box-badge-font-size,var(--prompt-box-badge-font-size,.9em));font-weight:var(--luzmo-prompt-box-badge-font-weight,var(--prompt-box-badge-font-weight,500));cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:var(--luzmo-prompt-box-badge-max-width,var(--prompt-box-badge-max-width,200px));margin:0 1px;line-height:1.4;display:inline-flex}.element-badge-icon{flex-shrink:0;display:inline-flex}.element-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.element-badge-remove{appearance:none;font:inherit;color:inherit;width:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));height:var(--luzmo-prompt-box-badge-remove-size,var(--prompt-box-badge-remove-size,14px));font-size:var(--luzmo-prompt-box-badge-remove-font-size,var(--prompt-box-badge-remove-font-size,12px));cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:opacity .1s,background-color .1s;display:inline-flex}.element-badge-remove:hover{opacity:1;background-color:var(--luzmo-prompt-box-badge-remove-hover-background,var(--prompt-box-badge-remove-hover-background,#0000001a))}.element-badge-remove:focus-visible{opacity:1;outline:2px solid var(--luzmo-primary,#0064fa);outline-offset:1px}:host([single-line]) .container{align-items:center;gap:var(--luzmo-prompt-box-single-line-gap,var(--prompt-box-single-line-gap));flex-direction:row}:host([single-line]) .top-actions{flex-wrap:nowrap;flex-shrink:0}:host([single-line]) .attachments{max-height:var(--luzmo-prompt-box-single-line-attachments-max-height,var(--prompt-box-single-line-attachments-max-height));flex-direction:row;flex-shrink:0;align-items:center;overflow:hidden}:host([single-line]) .image-attachments{flex-wrap:nowrap}:host([single-line]) .image-attachment{width:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size));height:var(--luzmo-prompt-box-single-line-image-size,var(--prompt-box-single-line-image-size))}:host([single-line]) .file-attachments{flex-wrap:nowrap}:host([single-line]) .input-wrapper{min-width:0}:host([single-line]) .input-field{--luzmo-text-area-min-block-size-quiet:auto;--luzmo-text-field-spacing-block-start:0px;--luzmo-text-field-spacing-block-end:0px}:host([single-line]) .rich-input{min-height:unset;padding:0}:host([single-line]) .actions-row{flex-shrink:0}:host([single-line]) .bottom-actions{flex-wrap:nowrap;flex:0}::slotted([slot=top-actions]),::slotted([slot=bottom-actions]){align-items:center;display:inline-flex}::slotted([slot=record-button]){display:inline-flex}::slotted([slot=submit-button]){margin-inline-start:var(--luzmo-prompt-box-submit-button-margin-inline-start,var(--prompt-box-submit-button-margin-inline-start));display:inline-flex}luzmo-overlay[part=trigger-menu-overlay]{--luzmo-overlay-min-width:0}.trigger-options{min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-width:var(--luzmo-prompt-box-trigger-menu-max-width,var(--prompt-box-trigger-menu-max-width,400px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));flex-direction:column;display:flex;overflow-y:auto}.trigger-options::-webkit-scrollbar{width:var(--luzmo-prompt-box-trigger-menu-scrollbar-width,var(--prompt-box-trigger-menu-scrollbar-width))}.trigger-options::-webkit-scrollbar-track{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-track-border-radius,var(--prompt-box-trigger-menu-scrollbar-track-border-radius))}.trigger-options::-webkit-scrollbar-thumb{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background));border-radius:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-border-radius,var(--prompt-box-trigger-menu-scrollbar-thumb-border-radius))}.trigger-options::-webkit-scrollbar-thumb:hover{background:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-hover-background,var(--prompt-box-trigger-menu-scrollbar-thumb-hover-background))}.trigger-options{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-prompt-box-trigger-menu-scrollbar-thumb-background,var(--prompt-box-trigger-menu-scrollbar-thumb-background)) var(--luzmo-prompt-box-trigger-menu-scrollbar-track-background,var(--prompt-box-trigger-menu-scrollbar-track-background));background-color:var(--luzmo-prompt-box-trigger-menu-background,var(--prompt-box-trigger-menu-background,var(--luzmo-background-color,#fff)));border:1px solid var(--luzmo-prompt-box-trigger-menu-border-color,var(--prompt-box-trigger-menu-border-color,var(--luzmo-border-color,#0000001a)));border-radius:var(--luzmo-prompt-box-trigger-menu-border-radius,var(--prompt-box-trigger-menu-border-radius,var(--luzmo-border-radius-100,8px)));box-shadow:0 2px 8px var(--luzmo-prompt-box-trigger-menu-shadow-color,var(--prompt-box-trigger-menu-shadow-color,#0000001f))}.trigger-option{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-gap,var(--prompt-box-trigger-option-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-padding-block,var(--prompt-box-trigger-option-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-padding-inline,var(--prompt-box-trigger-option-padding-inline,10px));cursor:pointer;box-sizing:border-box;scroll-margin-block:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));transition:background-color .1s;display:flex}.trigger-option.has-description{padding-block:var(--luzmo-prompt-box-trigger-option-description-padding-block,var(--prompt-box-trigger-option-description-padding-block,4px));min-block-size:auto}.trigger-option.hovered,.trigger-option.highlighted{background-color:var(--luzmo-prompt-box-trigger-option-background-hover,var(--prompt-box-trigger-option-background-hover,var(--luzmo-background-color-hover,#0000000f)))}.trigger-option-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-icon-color,var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit)));font-size:var(--luzmo-prompt-box-trigger-option-icon-size,var(--prompt-box-trigger-option-icon-size,var(--luzmo-font-size,14px)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.trigger-option-label{font-size:var(--luzmo-prompt-box-trigger-option-font-size,var(--prompt-box-trigger-option-font-size,var(--luzmo-font-size,14px)));line-height:var(--luzmo-prompt-box-trigger-option-line-height,var(--prompt-box-trigger-option-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-color,var(--prompt-box-trigger-option-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-description{font-size:var(--luzmo-prompt-box-trigger-option-description-font-size,var(--prompt-box-trigger-option-description-font-size,var(--luzmo-font-size-xs,12px)));line-height:var(--luzmo-prompt-box-trigger-option-description-line-height,var(--prompt-box-trigger-option-description-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-description-color,var(--prompt-box-trigger-option-description-color,var(--luzmo-font-color,#6e6e6e)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trigger-option-enter-icon{color:var(--luzmo-prompt-box-trigger-option-enter-icon-color,var(--prompt-box-trigger-option-enter-icon-color,var(--luzmo-font-color-dimmed,#0006)));flex-shrink:0;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.trigger-option-highlight{background-color:var(--luzmo-prompt-box-trigger-option-highlight-background,var(--prompt-box-trigger-option-highlight-background,rgba(var(--luzmo-primary-rgb,0, 100, 250), .12)));color:inherit;border-radius:2px;padding:0 1px}.trigger-option-header{align-items:center;gap:var(--luzmo-prompt-box-trigger-option-header-gap,var(--prompt-box-trigger-option-header-gap,10px));min-block-size:var(--luzmo-prompt-box-trigger-option-min-height,var(--prompt-box-trigger-option-min-height,var(--luzmo-component-height,32px)));padding-block:var(--luzmo-prompt-box-trigger-option-header-padding-block,var(--prompt-box-trigger-option-header-padding-block,4px));padding-inline:var(--luzmo-prompt-box-trigger-option-header-padding-inline,var(--prompt-box-trigger-option-header-padding-inline,10px));background-color:var(--luzmo-prompt-box-trigger-option-header-background,var(--prompt-box-trigger-option-header-background));border-block-start:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));border-block-end:1px solid var(--luzmo-prompt-box-trigger-option-header-border-color,var(--prompt-box-trigger-option-header-border-color,var(--luzmo-border-color,#0000001f)));box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex}.trigger-options>.trigger-option-header:first-child{border-block-start:none}.trigger-option-header-icon{width:var(--luzmo-prompt-box-trigger-option-icon-width,var(--prompt-box-trigger-option-icon-width,20px));color:var(--luzmo-prompt-box-trigger-option-header-icon-color,var(--prompt-box-trigger-option-header-icon-color,var(--luzmo-font-color,#333)));flex-shrink:0;justify-content:center;align-items:center;display:flex}.trigger-option-header-label{font-size:var(--luzmo-prompt-box-trigger-option-header-font-size,var(--prompt-box-trigger-option-header-font-size,var(--luzmo-font-size,14px)));font-weight:var(--luzmo-prompt-box-trigger-option-header-font-weight,var(--prompt-box-trigger-option-header-font-weight,normal));line-height:var(--luzmo-prompt-box-trigger-option-header-line-height,var(--prompt-box-trigger-option-header-line-height,var(--luzmo-line-height,1.4)));color:var(--luzmo-prompt-box-trigger-option-header-color,var(--prompt-box-trigger-option-header-color,var(--luzmo-font-color,#333)));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}luzmo-overlay[part=trigger-menu-overlay] ::slotted(*){min-width:var(--luzmo-prompt-box-trigger-menu-min-width,var(--prompt-box-trigger-menu-min-width,250px));max-height:var(--luzmo-prompt-box-trigger-menu-max-height,var(--prompt-box-trigger-menu-max-height,300px));overflow-y:auto;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:relative!important}@media (forced-colors:active){:host{--highcontrast-prompt-box-background-color:Canvas;--highcontrast-prompt-box-border-color:CanvasText;--highcontrast-prompt-box-border-color-focus:Highlight;--highcontrast-prompt-box-text-color:CanvasText}}:host{--prompt-box-font-family:var(--luzmo-font-family);--prompt-box-font-size:var(--luzmo-font-size);--prompt-box-line-height:1.5;--prompt-box-text-color:var(--luzmo-font-color);--prompt-box-background-color:var(--luzmo-background-color);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-border-width:var(--luzmo-border-width);--prompt-box-border-color:var(--luzmo-border-color);--prompt-box-border-color-focus:var(--luzmo-primary);--prompt-box-shadow:0 2px 8px rgba(var(--luzmo-border-color-rgb), .08);--prompt-box-shadow-focus:0 2px 12px rgba(var(--luzmo-primary-rgb), .15);--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-vertical-padding:var(--luzmo-spacing-4);--prompt-box-horizontal-padding:var(--luzmo-spacing-5);--prompt-box-actions-gap:var(--luzmo-spacing-3);--prompt-box-top-actions-gap:var(--luzmo-spacing-2);--prompt-box-bottom-actions-gap:var(--luzmo-spacing-2);--prompt-box-button-group-gap:var(--luzmo-spacing-2);--prompt-box-submit-button-margin-inline-start:var(--luzmo-spacing-3);--prompt-box-max-height:200px;--prompt-box-rich-input-padding:4px 0;--prompt-box-placeholder-color:var(--luzmo-font-color-extra-dimmed);--prompt-box-animation-duration:var(--luzmo-animation-duration,.15s);--prompt-box-disabled-opacity:.5;--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:var(--luzmo-spacing-2);--prompt-box-file-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-preview-size:64px;--prompt-box-image-border-radius:var(--luzmo-border-radius);--prompt-box-image-background:#0000000d;--prompt-box-remove-button-size:20px;--prompt-box-remove-button-background:#00000080;--prompt-box-remove-button-background-hover:#000000b3;--prompt-box-remove-button-icon-color:#fff;--prompt-box-badge-gap:6px;--prompt-box-badge-padding:1px 6px;--prompt-box-badge-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .1);--prompt-box-badge-color:var(--luzmo-primary,#0064fa);--prompt-box-badge-border-radius:4px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-font-weight:500;--prompt-box-badge-max-width:200px;--prompt-box-badge-remove-size:14px;--prompt-box-badge-remove-font-size:12px;--prompt-box-badge-remove-hover-background:#0000001a;--prompt-box-waveform-gap:3px;--prompt-box-waveform-height:24px;--prompt-box-waveform-bar-width:3px;--prompt-box-waveform-bar-color:currentColor;--prompt-box-waveform-bar-radius:2px;--prompt-box-recording-duration-font-family:monospace;--prompt-box-recording-duration-font-size:14px;--prompt-box-recording-duration-font-weight:500;--prompt-box-recording-duration-color:currentColor;--prompt-box-trigger-menu-min-width:250px;--prompt-box-trigger-menu-max-width:300px;--prompt-box-trigger-menu-max-height:300px;--prompt-box-trigger-menu-background:var(--luzmo-background-color,#fff);--prompt-box-trigger-menu-border-color:var(--luzmo-border-color,#0000001a);--prompt-box-trigger-menu-border-radius:var(--luzmo-border-radius-100,8px);--prompt-box-trigger-menu-shadow-color:#0000001f;--prompt-box-trigger-menu-scrollbar-width:var(--luzmo-scrollbar-size);--prompt-box-trigger-menu-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--prompt-box-trigger-menu-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--prompt-box-trigger-menu-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--prompt-box-trigger-menu-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--prompt-box-single-line-gap:var(--luzmo-spacing-3);--prompt-box-single-line-attachments-max-height:32px;--prompt-box-single-line-image-size:28px;--prompt-box-trigger-option-gap:10px;--prompt-box-trigger-option-min-height:var(--luzmo-component-height,32px);--prompt-box-trigger-option-padding-block:4px;--prompt-box-trigger-option-padding-inline:10px;--prompt-box-trigger-option-description-padding-block:4px;--prompt-box-trigger-option-background-hover:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-icon-color:var(--luzmo-font-color,inherit);--prompt-box-trigger-option-icon-width:20px;--prompt-box-trigger-option-icon-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-description-font-size:var(--luzmo-font-size-xs,12px);--prompt-box-trigger-option-description-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-description-color:var(--luzmo-font-color,#6e6e6e);--prompt-box-trigger-option-enter-icon-color:var(--prompt-box-trigger-option-icon-color,var(--luzmo-font-color,inherit));--prompt-box-trigger-option-highlight-background:rgba(var(--luzmo-primary-rgb,0, 100, 250), .12);--prompt-box-trigger-option-header-gap:10px;--prompt-box-trigger-option-header-padding-block:4px;--prompt-box-trigger-option-header-padding-inline:10px;--prompt-box-trigger-option-header-background:var(--luzmo-background-color-highlight,#f5f5f5);--prompt-box-trigger-option-header-border-color:var(--luzmo-border-color,#0000001f);--prompt-box-trigger-option-header-icon-color:var(--luzmo-font-color,#333);--prompt-box-trigger-option-header-font-size:var(--luzmo-font-size,14px);--prompt-box-trigger-option-header-font-weight:normal;--prompt-box-trigger-option-header-line-height:var(--luzmo-line-height,1.4);--prompt-box-trigger-option-header-color:var(--luzmo-font-color,#333)}:host([size=xs]){--prompt-box-font-size:var(--luzmo-font-size-xs);--prompt-box-border-radius:var(--luzmo-border-radius);--prompt-box-vertical-padding:var(--luzmo-spacing-2);--prompt-box-horizontal-padding:var(--luzmo-spacing-3);--prompt-box-gap:var(--luzmo-spacing-3);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:var(--luzmo-spacing-3);--prompt-box-max-height:120px;--prompt-box-image-preview-size:40px;--prompt-box-remove-button-size:16px;--prompt-box-badge-font-size:.8em;--prompt-box-badge-padding:0px 3px;--prompt-box-badge-remove-size:10px;--prompt-box-badge-remove-font-size:9px}:host([size=s]){--prompt-box-font-size:var(--luzmo-font-size-s);--prompt-box-border-radius:var(--luzmo-border-radius-l);--prompt-box-vertical-padding:var(--luzmo-spacing-3);--prompt-box-horizontal-padding:var(--luzmo-spacing-4);--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:0;--prompt-box-image-attachments-gap:var(--luzmo-spacing-1);--prompt-box-recording-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--prompt-box-max-height:150px;--prompt-box-image-preview-size:48px;--prompt-box-remove-button-size:18px;--prompt-box-badge-font-size:.85em;--prompt-box-badge-padding:0px 4px;--prompt-box-badge-remove-size:12px;--prompt-box-badge-remove-font-size:10px}:host([size=l]){--prompt-box-font-size:var(--luzmo-font-size-l);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:var(--luzmo-spacing-5);--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-gap:var(--luzmo-spacing-4);--prompt-box-attachments-gap:var(--luzmo-spacing-1);--prompt-box-image-attachments-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--prompt-box-recording-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--prompt-box-max-height:250px;--prompt-box-image-preview-size:72px;--prompt-box-remove-button-size:24px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 8px;--prompt-box-badge-remove-size:16px;--prompt-box-badge-remove-font-size:13px}:host([size=xl]){--prompt-box-font-size:var(--luzmo-font-size-xl);--prompt-box-border-radius:var(--luzmo-border-radius-xl);--prompt-box-vertical-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--prompt-box-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--prompt-box-gap:var(--luzmo-spacing-5);--prompt-box-attachments-gap:var(--luzmo-spacing-2);--prompt-box-image-attachments-gap:var(--luzmo-spacing-3);--prompt-box-max-height:300px;--prompt-box-image-preview-size:96px;--prompt-box-remove-button-size:28px;--prompt-box-badge-font-size:.9em;--prompt-box-badge-padding:2px 10px;--prompt-box-badge-remove-size:18px;--prompt-box-badge-remove-font-size:14px}:host([pending]){--prompt-box-actions-opacity:.75}`,$=class extends t.n(e.n,{validSizes:[`xs`,`s`,`m`,`l`,`xl`],defaultSize:`m`}){constructor(...e){super(...e),this.rows=1,this.grows=!1,this.maxRows=-1,this.recording=!1,this.hideSubmit=!1,this.disableSubmit=!1,this.singleLine=!1,this.placeholder=``,this.value=``,this.disabled=!1,this.readonly=!1,this.maxlength=-1,this.pending=!1,this.stoppable=!1,this.allowImages=!1,this.allowFiles=!1,this.acceptedFileTypes=[],this.allowElements=!1,this.acceptedElementTypes=[],this._hasTopActions=!1,this._hasBottomActions=!1,this._hasRecordButton=!1,this._hasSubmitButton=!1,this._inputFocused=!1,this._attachments=new s(this),this._recording=new c(this),this._richInput=new S(this),this._triggerMenu=new C(this),this.handleRecordButtonSlotChange=this._slotPresenceHandler(e=>this._hasRecordButton=e),this.handleSubmitButtonSlotChange=this._slotPresenceHandler(e=>this._hasSubmitButton=e),this.handleRecordClick=e=>{let t=e.currentTarget.matches(`:focus-visible`);this._recording.start(t)},this.handleInput=e=>{let t=e.target;this.value=t.value,this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleKeydown=e=>{if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),this.disableSubmit)return;this._submit()}},this.handleInputFocusIn=()=>{this._inputFocused=!0},this.handleInputFocusOut=()=>{this._inputFocused=!1},this.handleRichInputEvent=e=>{this._richInput.syncValue(),this._triggerMenu.handleInput(e),this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))},this.handleRichKeydown=e=>{if(!this._triggerMenu.handleKeydown(e)){if(e.key===`Enter`&&!e.shiftKey){if(e.preventDefault(),this.disableSubmit)return;this._submit();return}(e.key===`Backspace`||e.key===`Delete`)&&this._richInput.handleBadgeDelete(e.key)&&e.preventDefault()}},this.handleStopClick=()=>{this.disabled||!this.pending||!this.stoppable||this.dispatchEvent(new CustomEvent(`luzmo-stop`,{bubbles:!0,composed:!0}))},this._handleComponentFocusIn=()=>{M()&&this.classList.add(`focus-visible`)},this._handleComponentFocusOut=e=>{let t=e.relatedTarget;t instanceof Node&&(this.contains(t)||this.shadowRoot?.contains(t))||this.classList.remove(`focus-visible`)},this._handlePaste=e=>{this.handlePastedImages(e.clipboardData)},this._handleTopActionsSlotChange=this._slotPresenceHandler(e=>this._hasTopActions=e),this._handleBottomActionsSlotChange=this._slotPresenceHandler(e=>this._hasBottomActions=e)}static get styles(){return[(0,i.unsafeCSS)(ne)]}get triggers(){return this._triggerMenu.triggers}set triggers(e){let t=this._triggerMenu.triggers,n=Array.isArray(e)?e:[];n.length>0&&!this.allowElements&&console.warn("[luzmo-prompt-box] `triggers` only work when `allow-elements` / allowElements is enabled (rich input is required for trigger menus)."),this._triggerMenu.triggers=n,this.requestUpdate(`triggers`,t)}get attachmentsController(){return this._attachments}get recordingController(){return this._recording}get richInputController(){return this._richInput}get triggerMenuController(){return this._triggerMenu}get hasRecordButton(){return this._hasRecordButton}get hasSubmitButton(){return this._hasSubmitButton}get tagSize(){switch(this.size){case`s`:case`m`:return`s`;case`l`:case`xl`:return`m`;default:return`s`}}get segments(){return this._richInput.getSegments()}set segments(e){this._richInput.setSegments(e)}connectedCallback(){super.connectedCallback(),A(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),this.addEventListener(`paste`,this._handlePaste)}disconnectedCallback(){super.disconnectedCallback(),j(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),this.removeEventListener(`paste`,this._handlePaste)}updated(e){super.updated(e),this._richInputElement&&(this._richInput.richInputElement=this._richInputElement,this._triggerMenu.richInputElement=this._richInputElement),(e.has(`pending`)||e.has(`disabled`))&&Q(this.shadowRoot,this.disabled,this.pending),this._recording.shouldFocusFinishButton&&this._recording.isRecording&&(this._recording.shouldFocusFinishButton=!1,requestAnimationFrame(()=>{this._finishRecordingButton?.focus()}))}focus(){this.allowElements&&this._richInputElement?this._richInputElement.focus():this._inputElement?.focus()}clear(){this._triggerMenu.close(),this.value=``,this._attachments.clearAttachments(),this.allowElements&&this._richInput.clearElements()}addFiles(e){return this._attachments.addFiles(e)}removeAttachment(e){this._attachments.removeAttachment(e)}clearAttachments(){this._attachments.clearAttachments()}getAttachments(){return this._attachments.getAttachments()}openFilePicker(){this._fileInput?.click()}insertElement(e,t,n,r){return this._richInput.insertElement(e,t,n,r)}removeElement(e){this._richInput.removeElement(e)}getElements(){return this._richInput.getElements()}getTopActions(){return(this.shadowRoot?.querySelector(`slot[name="top-actions"]`))?.assignedElements()??[]}getBottomActions(){return(this.shadowRoot?.querySelector(`slot[name="bottom-actions"]`))?.assignedElements()??[]}submit(){this._submit()}selectTriggerOption(e){this._triggerMenu.selectOption(e)}highlightTriggerOption(e){this._triggerMenu.highlightedIndex=e,this.requestUpdate()}_slotPresenceHandler(e){return t=>{let n=t.target;e(n.assignedNodes().length>0)}}handlePastedImages(e){return this._attachments.handlePastedImages(e)}_submit(){if(this.disabled||this.readonly||this.pending||this.disableSubmit)return;let e=this.shadowRoot?.querySelector(`slot[name="top-actions"]`),t=this.shadowRoot?.querySelector(`slot[name="bottom-actions"]`),n=e?.assignedElements()??[],r=t?.assignedElements()??[],i=te([...n,...r]),a={value:this.value,segments:this.segments,topActions:[...n],bottomActions:[...r],actionValues:i,attachments:[...this._attachments.getAttachments()]};this.dispatchEvent(new CustomEvent(`luzmo-submit`,{bubbles:!0,composed:!0,detail:a}))}render(){return i.html`
281
- ${Y(this)}
282
- <div
283
- class="container ${this._inputFocused?`input-focused`:``} ${this._richInput?.isDragOver?`drag-over`:``}"
284
- part="container"
285
- >
286
- ${N(this,this._hasTopActions,this._handleTopActionsSlotChange)}
287
- ${J(this)}
288
- <div class="input-wrapper" part="input-wrapper">
289
- ${G(this)}
290
- </div>
291
- <div class="actions-row" part="actions-row">
292
- ${P(this,this._hasBottomActions,this._handleBottomActionsSlotChange)}
293
- <div class="button-group" part="button-group">
294
- ${I(this)} ${L(this)}
295
- </div>
296
- </div>
297
- </div>
298
- ${U(this)}
299
- `}};e.t([(0,a.property)({type:Number})],$.prototype,`rows`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`grows`,void 0),e.t([(0,a.property)({type:Number,attribute:`max-rows`})],$.prototype,`maxRows`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`recording`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`hide-submit`})],$.prototype,`hideSubmit`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`disable-submit`})],$.prototype,`disableSubmit`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`single-line`})],$.prototype,`singleLine`,void 0),e.t([(0,a.property)({type:String})],$.prototype,`placeholder`,void 0),e.t([(0,a.property)({type:String})],$.prototype,`value`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`readonly`,void 0),e.t([(0,a.property)({type:Number})],$.prototype,`maxlength`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`pending`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],$.prototype,`stoppable`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-images`})],$.prototype,`allowImages`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-files`})],$.prototype,`allowFiles`,void 0),e.t([(0,a.property)({type:Array,attribute:`accepted-file-types`})],$.prototype,`acceptedFileTypes`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0,attribute:`allow-elements`})],$.prototype,`allowElements`,void 0),e.t([(0,a.property)({type:Array,attribute:`accepted-element-types`})],$.prototype,`acceptedElementTypes`,void 0),e.t([(0,a.property)({type:Array})],$.prototype,`triggers`,null),e.t([(0,a.state)()],$.prototype,`_hasTopActions`,void 0),e.t([(0,a.state)()],$.prototype,`_hasBottomActions`,void 0),e.t([(0,a.state)()],$.prototype,`_hasRecordButton`,void 0),e.t([(0,a.state)()],$.prototype,`_hasSubmitButton`,void 0),e.t([(0,a.state)()],$.prototype,`_inputFocused`,void 0),e.t([(0,a.query)(`luzmo-text-field`)],$.prototype,`_inputElement`,void 0),e.t([(0,a.query)(`.rich-input`)],$.prototype,`_richInputElement`,void 0),e.t([(0,a.query)(`input[type="file"]`)],$.prototype,`_fileInput`,void 0),e.t([(0,a.query)(`.finish-recording-button`)],$.prototype,`_finishRecordingButton`,void 0),customElements.get(`luzmo-prompt-box`)||customElements.define(`luzmo-prompt-box`,$),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});
@@ -1,22 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs"),n=require("./focus-visible-eQdwUM9k.cjs"),r=require("./roving-tabindex-BoPao4td.cjs"),i=require("./field-group-aWhlzhoj.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
- const e=require("./decorate-Dq34MBGe.cjs");require("./icon-xwNfYSkj.cjs"),require("./button-D7RUI_x1.cjs");const t=require("./text-field-BG6dB1fv.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}});
@@ -1,18 +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
- let e=require("@internationalized/date"),t=require("@internationalized/number");var n={Year:`year`,Month:`month`,Day:`day`,Hour:`hour`,Minute:`minute`,Second:`second`,Millisecond:`fractionalSecond`,DayPeriod:`dayPeriod`,Literal:`literal`},r={[n.Year]:`––––`,[n.Month]:`––`,[n.Day]:`––`,[n.Hour]:`––`,[n.Minute]:`––`,[n.Second]:`––`,[n.Millisecond]:`–––`,[n.DayPeriod]:`––`},i={Day:`day`,Hour:`hour`,Minute:`minute`,Second:`second`,Millisecond:`millisecond`},a=2e3;function o(e){return typeof e==`number`}function s(t){return t instanceof e.ZonedDateTime}function c(t){return t instanceof e.CalendarDateTime}function l(t){return t instanceof e.CalendarDate}function u(e,t){return e=e%12+t}function d(e){return e>=12?12:0}function f(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function p(e){return l(e)?new Date(e.year,e.month-1,e.day):new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond)}var m=class{constructor(e,t,n){this.type=e,this.formatted=t,this.label=n,this.placeholder=r[e]}increment(e){this.value===void 0?this.value=this.minValue:(this.value+=1,this.value>this.maxValue&&(this.value=this.minValue))}decrement(e){this.value===void 0?this.value=this.maxValue:(--this.value,this.value<this.minValue&&(this.value=this.maxValue))}setValueFromDate(e){this.type===`fractionalSecond`?this.value=e.millisecond:this.type!==n.DayPeriod&&(this.value=e[this.type])}clear(){this.value=void 0}handleInput(e,t){let n=t.parse(e);if(Number.isNaN(n))return;let r=t.parse(`${this.value??``}${n}`);if(this.isInputValueCompliant(r)){this.value=r;return}this.isInputValueCompliant(n)&&(this.value=n)}isInputValueCompliant(e){let{minValue:t,maxValue:n}=this.inputValidationLimits;return e>=t&&e<=n}get inputValidationLimits(){return{minValue:this.minValue,maxValue:this.maxValue}}updateValueToLimits(){this.value!==void 0&&(this.value<this.minValue&&(this.value=this.minValue),this.value>this.maxValue&&(this.value=this.maxValue))}},h=class extends m{constructor(e,t){super(n.Year,e,t),this.minValue=1,this.maxValue=9999}setLimits(e){this.minValue=1,this.maxValue=e.calendar.getYearsInEra(e),this.updateValueToLimits()}increment(e){this.value===void 0?this.value=e.year:super.increment()}decrement(e){this.value===void 0?this.value=e.year:super.decrement()}clear(){if(this.value===void 0)return;let e=Math.floor(this.value/10);this.value=e>0?e:void 0}},g=class{constructor(e){this.segments=e}get all(){return this.segments}get editableValues(){return this.all.filter(e=>e instanceof m).map(e=>e.value)}get year(){let e=this.getByType(n.Year);if(e&&e instanceof h)return e}get month(){let e=this.getByType(n.Month);if(e)return e}get day(){let e=this.getByType(n.Day);if(e)return e}get hour(){let e=this.getByType(n.Hour);if(e)return e}get minute(){let e=this.getByType(n.Minute);if(e)return e}get second(){let e=this.getByType(n.Second);if(e)return e}get millisecond(){let e=this.getByType(n.Millisecond);if(e)return e}get dayPeriod(){let e=this.getByType(n.DayPeriod);if(e)return e}getByType(e){return this.segments.find(t=>t.type===e)}getFormattedDate(t=i.Day){let n=this.year?.value,r=this.month?.value,a=this.day?.value;if(!o(n)||!o(r)||!o(a))return;if(t===i.Day)return new e.CalendarDate(n,r,a);let s=this.hour?.value;if(!o(s))return;if(this.dayPeriod){let e=this.dayPeriod.value;if(!o(e))return;s=u(s,e)}if(t===i.Hour)return new e.CalendarDateTime(n,r,a,s);let c=this.minute?.value;if(!o(c))return;if(t===i.Minute)return new e.CalendarDateTime(n,r,a,s,c);let l=this.second?.value;if(!o(l))return;if(t===i.Second)return new e.CalendarDateTime(n,r,a,s,c,l);let d=this.millisecond?.value;if(o(d))return new e.CalendarDateTime(n,r,a,s,c,l,d)}},_=class{constructor(e,n){this.dateFormatter=e,this.currentDate=n,this.numberFormatter=new t.NumberFormatter(this.dateFormatter.resolvedOptions().locale,{useGrouping:!1})}format(e){if(!e.year||!e.month||!e.day)return e;let t=this.getDateInfoWithDefaults(e);return t?(this.setSegmentsFormatted(e,t),this.padSegmentsFormatted(e),e):e}setSegmentsFormatted(e,t){e=new g(e.all);let{year:r,month:i,day:a,hour:o,minute:s,second:c,millisecond:l}=t,u=new Date(r,i-1,a,o,s,c,l);if(!e.year)return;e.year.formatted=this.numberFormatter.format(r);let d=[n.Month,n.Day,n.Hour,n.Minute,n.Second,n.DayPeriod],f=this.dateFormatter.formatToParts(u);for(let t of d){let n=e[t];if(!n)continue;let r=f.find(e=>e.type===t)?.value;r&&(n.formatted=r)}}padSegmentsFormatted(e){if(!e.hour)return;let t=[n.Month,n.Day,n.Hour,n.Minute,n.Second];for(let n of t){let t=e[n];t&&(t.formatted=t.formatted.padStart(2,this.numberFormatter.format(0)))}}getDateInfoWithDefaults(t){if(!t.year||!t.month||!t.day)return;let n=t.day.value??(0,e.getMinimumDayInMonth)(this.currentDate),r=t.month.value??(0,e.getMinimumMonthInYear)(this.currentDate),i=t.year.value??2e3,a=t.dayPeriod?.value,s=t.hour?.value;o(s)?o(a)&&(s=u(s,a)):s=o(a)?a:this.currentDate.hour;let c=t.minute?.value??this.currentDate.minute,l=t.second?.value??this.currentDate.second,d=t.millisecond?.value??this.currentDate.millisecond;return{year:i,month:r,day:n,hour:s,minute:c,second:l,millisecond:d}}},v=class{constructor(e){let{dateFormatter:t,segments:n,currentDate:r}=e;this.segments=new g(n.all),this.dateFormatter=t,this.currentDate=r}modify(e){let t=this.segments.getByType(e);if(!t)return this.segments;this.modifySegment(t),this.updateSegmentsLimits(e);let n=new _(this.dateFormatter,this.currentDate);return this.segments=n.format(this.segments),this.segments}updateSegmentsLimits(e){let t=e===n.Year,r=e===n.Month,i=this.segments.year,a=this.segments.month,o=this.segments.day;t&&(a?.setLimits(this.currentDate),o?.setLimits(this.currentDate,a?.value,i?.value)),r&&o?.setLimits(this.currentDate,a?.value,i?.value)}},y=class extends v{modifySegment(e){e.clear()}},b=class extends v{modifySegment(e){e.decrement(this.currentDate)}},x=class extends v{modifySegment(e){e.increment(this.currentDate)}},S=class extends v{constructor(e){let{dateFormatter:t,segments:n,currentDate:r}=e;super({dateFormatter:t,segments:n,currentDate:r}),this.eventData=e.eventData,this.numberParser=e.numberParser}modifySegment(e){this.eventData!==null&&e.handleInput(this.eventData,this.numberParser)}},C=class extends m{constructor(e,t){super(n.Day,e,t),this.minValue=1,this.maxValue=31}setLimits(t,n,r){if(!o(n)){this.minValue=1,this.maxValue=31;return}o(r)||(r=a);let i=new e.CalendarDate(r,n,1);this.maxValue=t.calendar.getDaysInMonth(i),this.minValue=(0,e.getMinimumDayInMonth)(i),this.updateValueToLimits()}},w=class extends m{constructor(e,t){super(n.Month,e,t),this.minValue=1,this.maxValue=12}setLimits(t){this.minValue=(0,e.getMinimumMonthInYear)(t),this.maxValue=t.calendar.getMonthsInYear(t),this.updateValueToLimits()}},T=class{constructor(e){this.formatted=e,this.type=n.Literal}},E=class extends m{constructor(e,t){super(n.DayPeriod,e,t),this.minValue=0,this.maxValue=12,this.localizedMinValue=`AM`,this.localizedMaxValue=`PM`}toggleAmPm(){this.value=this.value===0?12:0}increment(){this.value===void 0?this.value=this.minValue:this.toggleAmPm()}decrement(){this.value===void 0?this.value=this.maxValue:this.toggleAmPm()}setValueFromDate(e){this.value=d(e.hour)}handleInput(e){let t=e.toLowerCase(),n=this.localizedMinValue.toLowerCase().includes(t),r=this.localizedMaxValue.toLowerCase().includes(t);n&&r||(n&&(this.value=0),r&&(this.value=12))}setLocalizedLimits(e){let[t,n]=[new Date(0,0,0,this.minValue,0),new Date(0,0,0,this.maxValue,0)].map(this.getDayPeriodFromDate.bind(this,e));t&&(this.localizedMinValue=t),n&&(this.localizedMaxValue=n)}getDayPeriodFromDate(e,t){return e.formatToParts(t).find(e=>e.type===this.type)?.value}},D=class extends m{constructor(e,t){super(n.Hour,e,t),this.minValue=0,this.maxValue=23}setLimits(e){this.minValue=0,this.maxValue=23,e&&(this.minValue=0,this.maxValue=11),this.updateValueToLimits()}setValueFromDate(e,t){t?this.value=e.hour-d(e.hour):super.setValueFromDate(e)}get inputValidationLimits(){let e=this.maxValue===11;return{minValue:+!!e,maxValue:e?12:23}}},O=class extends m{constructor(e,t){super(n.Millisecond,e,t),this.minValue=0,this.maxValue=999}},k=class extends m{constructor(e,t){super(n.Minute,e,t),this.minValue=0,this.maxValue=59}},A=class extends m{constructor(e,t){super(n.Second,e,t),this.minValue=0,this.maxValue=59}},j=class{constructor(e){this.dateFormatter=e;let n=this.dateFormatter.resolvedOptions().locale;this.numberFormatter=new t.NumberFormatter(n,{useGrouping:!1}),this.dateTimeFieldDisplayNames=new Intl.DisplayNames([n],{type:`dateTimeField`})}createSegments(e,t=!1){let n=p(e),r=new g(this.dateFormatter.formatToParts(n).map(t=>{let n=t.type,r=t.value;return n===`year`&&(r=this.numberFormatter.format(e.year)),this.createSegment(n,r)})),i=r.year,a=r.month,o=r.day;i.setLimits(e),a.setLimits(e),t&&(i.setValueFromDate(e),a.setValueFromDate(e)),o.setLimits(e,a.value,i.value),t&&o.setValueFromDate(e);let s=r.hour,c=r.minute,l=r.second,u=r.millisecond,d=r.dayPeriod;if(d&&d.setLocalizedLimits(this.dateFormatter),!s)return r;let f=!!d;if(s.setLimits(f),t){if(s.setValueFromDate(e,f),f&&r.dayPeriod.setValueFromDate(e),!c||(c.setValueFromDate(e),!l)||(l.setValueFromDate(e),!u))return r;u.setValueFromDate(e)}return r}createSegment(e,t){if(e===n.Literal)return new T(t);let r=this.displayNameOfType(e);switch(e){case n.Year:return new h(t,r);case n.Month:return new w(t,r);case n.Day:return new C(t,r);case n.Hour:return new D(t,r);case n.Minute:return new k(t,r);case n.Second:return new A(t,r);case n.Millisecond:return new O(t,r);case n.DayPeriod:return new E(t,r)}}displayNameOfType(e){let t=e===`fractionalSecond`?`millisecond`:this.dateTimeFieldDisplayNames.of(e);return t?t.charAt(0).toUpperCase()+t.slice(1):``}};Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return c}});