@luzmo/lucero 1.0.3-alpha.9 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/components/accordion/index.cjs +1 -1
  2. package/components/accordion/index.js +2 -2
  3. package/components/{accordion-DC7cjb1c.js → accordion-BDchhAjE.js} +4 -4
  4. package/components/accordion-DpsYMoeb.cjs +43 -0
  5. package/components/action-bar/index.cjs +1 -1
  6. package/components/action-bar/index.js +2 -2
  7. package/components/{action-bar-Dn4IDXEF.js → action-bar-2FGCCKMW.js} +7 -7
  8. package/components/action-bar-CXT4lT30.cjs +39 -0
  9. package/components/action-button/action-button.d.ts +12 -1
  10. package/components/action-button/index.cjs +1 -1
  11. package/components/action-button/index.d.ts +1 -1
  12. package/components/action-button/index.js +2 -2
  13. package/components/action-button-BKnzGQR6.cjs +22 -0
  14. package/components/action-button-OB5MM04X.js +137 -0
  15. package/components/action-group/index.cjs +1 -1
  16. package/components/action-group/index.js +2 -2
  17. package/components/{action-group-DYKpp-mz.js → action-group-BQ-fyPYS.js} +3 -3
  18. package/components/action-group-D1G30Iir.cjs +20 -0
  19. package/components/action-menu/index.cjs +1 -1
  20. package/components/action-menu/index.js +2 -2
  21. package/components/{action-menu-C1C1Gx39.cjs → action-menu-CtMswuyc.cjs} +15 -15
  22. package/components/{action-menu-BlR6cLpi.js → action-menu-Diehg1Kc.js} +21 -21
  23. package/components/avatar/avatar.d.ts +17 -1
  24. package/components/avatar/index.cjs +1 -1
  25. package/components/avatar/index.js +2 -2
  26. package/components/avatar-Cu9c0sCS.cjs +34 -0
  27. package/components/avatar-Nb0368Wi.js +98 -0
  28. package/components/badge/badge.d.ts +4 -1
  29. package/components/badge/index.cjs +1 -1
  30. package/components/badge/index.js +2 -2
  31. package/components/badge-CrUIOuV-.cjs +23 -0
  32. package/components/badge-DAGeawhJ.js +95 -0
  33. package/components/button/button-base.d.ts +4 -0
  34. package/components/button/button.d.ts +0 -1
  35. package/components/button/index.cjs +1 -1
  36. package/components/button/index.js +3 -3
  37. package/components/{button-D1a4B85S.js → button-DXWWEbir.js} +6 -6
  38. package/components/button-base-DiNxrttk.cjs +25 -0
  39. package/components/{button-base-CzTYjZND.js → button-base-DiPzVpp4.js} +38 -23
  40. package/components/button-group/index.cjs +1 -1
  41. package/components/button-group/index.js +2 -2
  42. package/components/button-group-6M8M-TUI.cjs +18 -0
  43. package/components/{button-group-BiQxYcQ2.js → button-group-DaANSInm.js} +2 -2
  44. package/components/button-l0fRopSN.cjs +20 -0
  45. package/components/calendar/index.cjs +1 -1
  46. package/components/calendar/index.js +2 -2
  47. package/components/{calendar-BNRjXf9B.js → calendar-C8u_88jX.js} +5 -9
  48. package/components/calendar-DZkKMs2L.cjs +138 -0
  49. package/components/chat-message/chat-message.d.ts +0 -1
  50. package/components/chat-message/index.cjs +1 -1
  51. package/components/chat-message/index.js +2 -2
  52. package/components/{chat-message-DJgocVNj.js → chat-message-CXq0Trjx.js} +757 -545
  53. package/components/chat-message-group/index.cjs +1 -1
  54. package/components/chat-message-group/index.js +2 -2
  55. package/components/chat-message-group-CzCwyW7F.cjs +24 -0
  56. package/components/{chat-message-group-B4U2MzHx.js → chat-message-group-D7vdn2gG.js} +2 -2
  57. package/components/chat-message-t4a0r3R6.cjs +148 -0
  58. package/components/checkbox/checkbox.d.ts +7 -0
  59. package/components/checkbox/index.cjs +1 -1
  60. package/components/checkbox/index.js +2 -2
  61. package/components/{checkbox-CPS-tR_i.js → checkbox-6YzkdHR4.js} +9 -5
  62. package/components/checkbox-DdatW4xE.cjs +25 -0
  63. package/components/{checkbox-mixin-C5sLMo5L.js → checkbox-mixin-jqmrh48O.js} +2 -2
  64. package/components/{checkbox-mixin-D4HeLrMj.cjs → checkbox-mixin-rFRXqyrK.cjs} +3 -3
  65. package/components/close-button-BntGLAcp.cjs +18 -0
  66. package/components/{close-button-MgaJT7yO.js → close-button-D12zZ9zC.js} +4 -4
  67. package/components/color-area/index.cjs +1 -1
  68. package/components/color-area/index.js +2 -2
  69. package/components/color-area-B_pRu9Vf.cjs +80 -0
  70. package/components/{color-area-mWOctRNt.js → color-area-DMpXKgPY.js} +13 -13
  71. package/components/color-controller-DbyPc33Y.cjs +18 -0
  72. package/components/color-field/index.cjs +1 -1
  73. package/components/color-field/index.js +2 -2
  74. package/components/{color-field-D7_7z2A2.cjs → color-field-BNGnBRSO.cjs} +2 -2
  75. package/components/{color-field-CxdIoSq6.js → color-field-CUdHxonc.js} +3 -3
  76. package/components/color-handle/index.cjs +1 -1
  77. package/components/color-handle/index.js +2 -2
  78. package/components/color-handle-DIoVrLRF.cjs +24 -0
  79. package/components/{color-handle-BOusOFFx.js → color-handle-TKbLs1ax.js} +2 -2
  80. package/components/color-loupe/index.cjs +1 -1
  81. package/components/color-loupe/index.js +2 -2
  82. package/components/{color-loupe-bEzi2P0y.js → color-loupe-DAxrNPJz.js} +2 -2
  83. package/components/color-loupe-sY1wOisV.cjs +56 -0
  84. package/components/color-menu/index.cjs +1 -1
  85. package/components/color-menu/index.js +2 -2
  86. package/components/color-menu-CdETqhbP.cjs +89 -0
  87. package/components/{color-menu-Cryp_5Gh.js → color-menu-jkdcr5ir.js} +24 -24
  88. package/components/color-palette/index.cjs +1 -1
  89. package/components/color-palette/index.js +2 -2
  90. package/components/color-palette-CidHsmE0.cjs +18 -0
  91. package/components/{color-palette-BAdaNySC.js → color-palette-FQyIMSwP.js} +3 -3
  92. package/components/color-palette-group/index.cjs +1 -1
  93. package/components/color-palette-group/index.js +2 -2
  94. package/components/color-palette-group-B4r4tPfY.cjs +28 -0
  95. package/components/{color-palette-group-D8Mavsd2.js → color-palette-group-o6bnF-Ir.js} +3 -3
  96. package/components/color-picker/index.cjs +1 -1
  97. package/components/color-picker/index.js +2 -2
  98. package/components/{color-picker-DL7rqWnW.cjs → color-picker-C4pvkA2k.cjs} +2 -2
  99. package/components/{color-picker-DgjqWiVd.js → color-picker-DF3gBQvH.js} +6 -6
  100. package/components/color-slider/index.cjs +1 -1
  101. package/components/color-slider/index.js +2 -2
  102. package/components/color-slider-DLEM1nGA.cjs +57 -0
  103. package/components/{color-slider-ihAIFt5p.js → color-slider-DejvUYrW.js} +6 -5
  104. package/components/{condition-attribute-with-id-DauPaLSS.cjs → condition-attribute-with-id-Cw92IbcP.cjs} +1 -1
  105. package/components/date-range-picker/index.cjs +1 -1
  106. package/components/date-range-picker/index.js +2 -2
  107. package/components/date-range-picker-9ioTuDZq.cjs +180 -0
  108. package/components/{date-range-picker-CcDzRDm5.js → date-range-picker-DCOv5PYH.js} +13 -13
  109. package/components/date-time-picker/index.cjs +1 -1
  110. package/components/date-time-picker/index.js +2 -2
  111. package/components/{date-time-picker-PHKHDgL9.js → date-time-picker-ClgATXBy.js} +11 -11
  112. package/components/date-time-picker-DRjQTyGS.cjs +105 -0
  113. package/components/{decorate-aGxJUVxg.js → decorate-CkCg3wfh.js} +1 -1
  114. package/components/decorate-Dq34MBGe.cjs +18 -0
  115. package/components/{dependency-manger-CHy9t__e.cjs → dependency-manger-BSaHw9ju.cjs} +1 -1
  116. package/components/divider/index.cjs +1 -1
  117. package/components/divider/index.js +2 -2
  118. package/components/{divider-cU0lVwOp.js → divider-CGbT-CL8.js} +3 -3
  119. package/components/divider-wana0uPI.cjs +18 -0
  120. package/components/{divider.module-CL60P_z8.cjs → divider.module-BV6tmpOY.cjs} +1 -1
  121. package/components/{element-resolution-C0aiOB0Y.cjs → element-resolution-BjaAlqwX.cjs} +1 -1
  122. package/components/field-group/index.cjs +1 -1
  123. package/components/field-group/index.js +2 -2
  124. package/components/{field-group-C7ROsWq3.js → field-group-C_kRq7pJ.js} +2 -2
  125. package/components/{field-group-OcI5Lgu7.cjs → field-group-Dd5xYczm.cjs} +2 -2
  126. package/components/field-label/index.cjs +1 -1
  127. package/components/field-label/index.js +2 -2
  128. package/components/{field-label-CtGCEmdp.js → field-label-B9S41b7c.js} +5 -5
  129. package/components/field-label-C5vdJ1ys.cjs +25 -0
  130. package/components/focus-group-C8lOjbi9.cjs +18 -0
  131. package/components/{focus-group-BshI1RpM.js → focus-group-DVPa1zxz.js} +1 -1
  132. package/components/{focus-visible-CrooVCUu.js → focus-visible-Bt2uDmuM.js} +2 -2
  133. package/components/focus-visible-DNHNlrty.cjs +18 -0
  134. package/components/focusable-B6h03pAe.cjs +18 -0
  135. package/components/{focusable-BmS8IzhH.js → focusable-DuP0-Kuy.js} +2 -2
  136. package/components/{focusable-selectors-5n5liBn0.cjs → focusable-selectors-DJqGLTJo.cjs} +1 -1
  137. package/components/{get-label-from-slot-LO_DZP60.cjs → get-label-from-slot-TV4APBYs.cjs} +1 -1
  138. package/components/icon/index.cjs +1 -1
  139. package/components/icon/index.js +2 -2
  140. package/components/icon-CSqR-OOO.cjs +18 -0
  141. package/components/{icon-CwBAE1eU.js → icon-DB1DRieA.js} +5 -2
  142. package/components/index.cjs +1 -1
  143. package/components/index.js +71 -69
  144. package/components/infield-button/index.cjs +1 -1
  145. package/components/infield-button/index.js +2 -2
  146. package/components/{infield-button-BvKsbtKr.js → infield-button-C1mz69Qf.js} +3 -3
  147. package/components/infield-button-CYO9V1eX.cjs +22 -0
  148. package/components/label/index.cjs +1 -1
  149. package/components/label/index.js +2 -2
  150. package/components/{label-ClJE2esm.js → label-B1HYQ4Pp.js} +1 -1
  151. package/components/label-DPG13Ib0.cjs +18 -0
  152. package/components/language-resolution-BaKYDD1a.js +115 -0
  153. package/components/language-resolution-CSjktYg5.cjs +18 -0
  154. package/components/{like-anchor-BZJXts_H.cjs → like-anchor-BX4PSB3d.cjs} +2 -2
  155. package/components/{like-anchor-DeOXX-MX.js → like-anchor-DXCaEv7O.js} +1 -1
  156. package/components/{manage-help-text-CF0xBh0F.js → manage-help-text-ByLb0QYX.js} +13 -10
  157. package/components/{manage-help-text-D9VbYRf_.cjs → manage-help-text-DtFJsl0k.cjs} +3 -3
  158. package/components/menu/index.cjs +1 -1
  159. package/components/menu/index.js +2 -2
  160. package/components/menu/menu-item.d.ts +1 -1
  161. package/components/menu/menu.d.ts +12 -1
  162. package/components/menu-Cq7BEv5Y.cjs +108 -0
  163. package/components/{menu-Cdz2FEB7.js → menu-DY8q8qyn.js} +82 -65
  164. package/components/multi-language-field/index.cjs +1 -1
  165. package/components/multi-language-field/index.js +2 -2
  166. package/components/{multi-language-field-DmoMyCBH.cjs → multi-language-field-Cfy3M_ZS.cjs} +2 -2
  167. package/components/{multi-language-field-BzY75rOY.js → multi-language-field-DhQ98r2D.js} +4 -4
  168. package/components/notice/index.cjs +18 -0
  169. package/components/notice/index.d.ts +8 -0
  170. package/components/notice/index.js +25 -0
  171. package/components/notice/notice.d.ts +121 -0
  172. package/components/notice-s6QHF_tq.js +218 -0
  173. package/components/notice-xgrLOiC0.cjs +60 -0
  174. package/components/number-field/index.cjs +1 -1
  175. package/components/number-field/index.js +2 -2
  176. package/components/number-field-04RFqrUa.cjs +57 -0
  177. package/components/{number-field-DrJURvoW.js → number-field-BqnZS9Gx.js} +55 -55
  178. package/components/observe-slot-presence-CS8pMePk.cjs +18 -0
  179. package/components/observe-slot-text-CvL-2ey3.cjs +18 -0
  180. package/components/{observe-slot-text-Ddf1OC6F.js → observe-slot-text-Db8Kx3P-.js} +7 -7
  181. package/components/options/index.cjs +1 -1
  182. package/components/options/index.d.ts +5 -3
  183. package/components/options/index.js +2 -2
  184. package/components/options/option.d.ts +0 -1
  185. package/components/options/options.d.ts +3 -0
  186. package/components/{options-BGwKMvng.js → options-BqFBNoKA.js} +23 -22
  187. package/components/options-Dh4FJuAu.cjs +102 -0
  188. package/components/overlay/index.cjs +1 -1
  189. package/components/overlay/index.d.ts +3 -2
  190. package/components/overlay/index.js +4 -4
  191. package/components/overlay/overlay-trigger.d.ts +1 -1
  192. package/components/overlay-B-gaxspw.cjs +47 -0
  193. package/components/{overlay-BGI4wOGe.cjs → overlay-CPZvL0Ic.cjs} +2 -2
  194. package/components/{overlay-BbQuYBxp.js → overlay-CyBsHuOL.js} +20 -15
  195. package/components/{overlay-mdk7-NOt.js → overlay-DdIs4w5M.js} +3 -3
  196. package/components/{pending-state-DFcNf5rd.js → pending-state-BeG7qBDP.js} +1 -1
  197. package/components/{pending-state-DIeF18qg.cjs → pending-state-a527YMWV.cjs} +2 -2
  198. package/components/picker/index.cjs +1 -1
  199. package/components/picker/index.js +2 -2
  200. package/components/picker/picker.d.ts +4 -0
  201. package/components/picker-D225VAbx.cjs +124 -0
  202. package/components/picker-button/index.cjs +1 -1
  203. package/components/picker-button/index.js +2 -2
  204. package/components/picker-button-BR7oM7_M.cjs +37 -0
  205. package/components/{picker-button-VAxzuhhg.js → picker-button-DVzLeTq8.js} +5 -5
  206. package/components/{picker-DOiM_cUu.js → picker-f4fSGZX8.js} +65 -66
  207. package/components/platform-BAjeJp2W.cjs +18 -0
  208. package/components/{platform-D4V_cOJF.js → platform-Ce9pNsR9.js} +2 -2
  209. package/components/popover/index.cjs +1 -1
  210. package/components/popover/index.js +2 -2
  211. package/components/{popover-DyC9xGhX.js → popover-DTsrgH-f.js} +4 -4
  212. package/components/popover-DWWYpY-k.cjs +30 -0
  213. package/components/progress-bar/index.cjs +1 -1
  214. package/components/progress-bar/index.js +2 -2
  215. package/components/{progress-bar-DHgFRml1.js → progress-bar-BJO8j1aX.js} +9 -6
  216. package/components/progress-bar-C7wJ5bxS.cjs +34 -0
  217. package/components/progress-circle/index.cjs +1 -1
  218. package/components/progress-circle/index.js +2 -2
  219. package/components/{progress-circle-Cg_ua9Ff.js → progress-circle-BVToDWX8.js} +3 -3
  220. package/components/progress-circle-DyApSKdm.cjs +33 -0
  221. package/components/progress-steps/index.cjs +1 -1
  222. package/components/progress-steps/index.js +2 -2
  223. package/components/progress-steps-Ba4VbAKR.cjs +96 -0
  224. package/components/{progress-steps-Da8aZWx3.js → progress-steps-nJ8Xw-nG.js} +10 -10
  225. package/components/prompt-box/index.cjs +1 -1
  226. package/components/prompt-box/index.js +2 -2
  227. package/components/prompt-box/prompt-box-templates.d.ts +1 -0
  228. package/components/prompt-box/prompt-box.d.ts +3 -0
  229. package/components/{prompt-box-DahvVbcc.js → prompt-box-BY1xKFZO.js} +102 -96
  230. package/components/prompt-box-Dg9S0C5x.cjs +314 -0
  231. package/components/question-box/index.cjs +18 -0
  232. package/components/question-box/index.d.ts +11 -0
  233. package/components/question-box/index.js +25 -0
  234. package/components/question-box/question-box-elicitation.d.ts +58 -0
  235. package/components/question-box/question-box-model.d.ts +25 -0
  236. package/components/question-box/question-box-templates.d.ts +65 -0
  237. package/components/question-box/question-box.d.ts +182 -0
  238. package/components/question-box/types.d.ts +124 -0
  239. package/components/question-box-5VO9CM8H.js +1171 -0
  240. package/components/question-box-DvXRIiVG.cjs +401 -0
  241. package/components/radio/index.cjs +1 -1
  242. package/components/radio/index.js +2 -2
  243. package/components/radio/radio-group.d.ts +5 -1
  244. package/components/radio/radio.d.ts +7 -1
  245. package/components/{radio-BzEPGUmQ.js → radio-DRI4on-W.js} +30 -26
  246. package/components/radio-O3a1rmCe.cjs +22 -0
  247. package/components/{random-id-B51lUxUB.cjs → random-id-BcUJAxUZ.cjs} +1 -1
  248. package/components/{random-id-Dd4boCPV.js → random-id-CiMDyX7v.js} +1 -1
  249. package/components/{roving-tabindex-B7x5ePUB.cjs → roving-tabindex-BoPao4td.cjs} +1 -1
  250. package/components/{roving-tabindex-BP6mQbXf.js → roving-tabindex-pomAn3z-.js} +1 -1
  251. package/components/{scaled-indicator-Bl-3A2gz.cjs → scaled-indicator-DLJIztx0.cjs} +2 -2
  252. package/components/search/index.cjs +1 -1
  253. package/components/search/index.js +2 -2
  254. package/components/search-BhMhfCBh.cjs +47 -0
  255. package/components/search-C-EPZmTG.js +100 -0
  256. package/components/segments-factory-DtPyN5sh.cjs +18 -0
  257. package/components/select/index.cjs +1 -1
  258. package/components/select/index.js +2 -2
  259. package/components/{select-C2gh8zRr.js → select-CFtAPE-U.js} +20 -20
  260. package/components/select-JFwtVyhG.cjs +158 -0
  261. package/components/{chunk-D-qHiVGv.cjs → sized-mixin-BT7cv-fT.cjs} +1 -1
  262. package/components/{sized-mixin-DaBoZkVS.js → sized-mixin-DzQTebN-.js} +1 -1
  263. package/components/skeleton-loader/index.cjs +1 -1
  264. package/components/skeleton-loader/index.js +2 -2
  265. package/components/{skeleton-loader-oJVESWls.js → skeleton-loader-C0LH3prK.js} +1 -1
  266. package/components/skeleton-loader-Cm50Ztzk.cjs +18 -0
  267. package/components/slider/controllers/slider-handle-controller.d.ts +79 -0
  268. package/components/slider/index.cjs +1 -1
  269. package/components/slider/index.d.ts +5 -1
  270. package/components/slider/index.js +3 -3
  271. package/components/slider/slider-control-templates.d.ts +36 -0
  272. package/components/slider/slider-handle.d.ts +62 -0
  273. package/components/slider/slider-model.d.ts +16 -0
  274. package/components/slider/slider-templates.d.ts +6 -0
  275. package/components/slider/slider.d.ts +197 -19
  276. package/components/slider/types.d.ts +57 -0
  277. package/components/slider-B7QAhDTM.js +921 -0
  278. package/components/slider-DxliwjT6.cjs +135 -0
  279. package/components/{slottable-request-event-gAcEQan2.cjs → slottable-request-event-C6eb7Ch3.cjs} +1 -1
  280. package/components/status-light/index.cjs +1 -1
  281. package/components/status-light/index.js +2 -2
  282. package/components/status-light/status-light.d.ts +3 -0
  283. package/components/status-light-BYBYorYy.cjs +21 -0
  284. package/components/status-light-DC8qqO8q.js +86 -0
  285. package/components/strategies-BwNbUXYS.cjs +18 -0
  286. package/components/{strategies-DhxJGIZT.js → strategies-Cl59wdNZ.js} +21 -19
  287. package/components/streaming-listener-Bfyk6Fsx.cjs +18 -0
  288. package/components/swatch/index.cjs +1 -1
  289. package/components/swatch/index.js +2 -2
  290. package/components/{swatch-BLuV-hlF.js → swatch-C2ty27bJ.js} +4 -4
  291. package/components/{swatch-G70JUe6I.cjs → swatch-DUmBmg4S.cjs} +2 -2
  292. package/components/switch/index.cjs +1 -1
  293. package/components/switch/index.js +2 -2
  294. package/components/switch-B-gu-War.cjs +22 -0
  295. package/components/{switch-CSuMgmAh.js → switch-DOuXlFwI.js} +5 -5
  296. package/components/tabs/index.cjs +1 -1
  297. package/components/tabs/index.js +2 -2
  298. package/components/tabs/tabs.d.ts +1 -2
  299. package/components/{tabs-B54ELQtU.js → tabs-CjY4eX9W.js} +11 -11
  300. package/components/{tabs-Jo_qqM_H.cjs → tabs-ZwcVrVub.cjs} +2 -2
  301. package/components/tags/index.cjs +1 -1
  302. package/components/tags/index.js +2 -2
  303. package/components/tags/tag.d.ts +7 -3
  304. package/components/tags-B28zWEic.cjs +47 -0
  305. package/components/tags-BCKNzEaH.js +207 -0
  306. package/components/text-field/help-text-manager.d.ts +3 -1
  307. package/components/text-field/help-text.d.ts +4 -0
  308. package/components/text-field/index.cjs +1 -1
  309. package/components/text-field/index.js +3 -3
  310. package/components/text-field/manage-help-text.d.ts +2 -1
  311. package/components/text-field/text-field.d.ts +9 -0
  312. package/components/{text-field-FJr8ZUhI.cjs → text-field-3fDtTQkR.cjs} +2 -2
  313. package/components/{text-field-BoGAvXvh.js → text-field-C2MHZbTp.js} +3 -3
  314. package/components/{text-field-Cs8HYRYL.js → text-field-CmSym2QK.js} +5 -5
  315. package/components/text-field-wJK2bzMT.cjs +21 -0
  316. package/components/{text-field.module-Btsve-VN.js → text-field.module-BHhBReKL.js} +1 -1
  317. package/components/{text-field.module-D5oDP7MB.cjs → text-field.module-l8CaTCwE.cjs} +1 -1
  318. package/components/toast/index.cjs +1 -1
  319. package/components/toast/index.js +2 -2
  320. package/components/toast-COQ7Xl5T.cjs +51 -0
  321. package/components/{toast-Bd0fleYT.js → toast-DlOeMDCI.js} +4 -4
  322. package/components/tooltip/index.cjs +1 -1
  323. package/components/tooltip/index.js +2 -2
  324. package/components/{tooltip-CVSSKlDP.js → tooltip-Byl1h4nN.js} +4 -4
  325. package/components/tooltip-Sm0pruxL.cjs +45 -0
  326. package/components/top-nav/index.cjs +1 -1
  327. package/components/top-nav/index.js +2 -2
  328. package/components/{top-nav-B3w3DZ56.js → top-nav-B9YKdtFB.js} +7 -11
  329. package/components/top-nav-BcZLCBP_.cjs +41 -0
  330. package/components/utils.cjs +1 -1
  331. package/components/utils.js +7 -7
  332. package/components/{voice-recorder-BUtmSvPO.cjs → voice-recorder-B1tBrGTV.cjs} +1 -1
  333. package/custom-elements.json +1 -1
  334. package/index.d.ts +2 -0
  335. package/package.json +15 -4
  336. package/utils/button-interaction-controllers/interaction-controller.d.ts +4 -2
  337. package/utils/reactive-controllers/language-resolution.d.ts +32 -2
  338. package/utils/reactive-controllers/match-media.d.ts +1 -0
  339. package/components/accordion-BHBIfsLU.cjs +0 -43
  340. package/components/action-bar-BSMX042X.cjs +0 -39
  341. package/components/action-button-Cr_QN4On.cjs +0 -22
  342. package/components/action-button-DC-ZFZTm.js +0 -135
  343. package/components/action-group-CH8FTW0i.cjs +0 -20
  344. package/components/avatar-CyY_ZSD0.js +0 -65
  345. package/components/avatar-PulwjkMI.cjs +0 -24
  346. package/components/badge-D1Ry32wi.cjs +0 -23
  347. package/components/badge-D6p2hPj8.js +0 -94
  348. package/components/button-C5hcfigl.cjs +0 -20
  349. package/components/button-base-Dj2qQqwO.cjs +0 -25
  350. package/components/button-group-DIz5TZvc.cjs +0 -18
  351. package/components/calendar-BWArK3rh.cjs +0 -142
  352. package/components/chat-message-CNE-mGuP.cjs +0 -149
  353. package/components/chat-message-group-COmhCN-R.cjs +0 -24
  354. package/components/checkbox-DFwDrIdY.cjs +0 -25
  355. package/components/close-button-_EXjp6_m.cjs +0 -18
  356. package/components/color-area-C3Y2d5cu.cjs +0 -80
  357. package/components/color-controller-DueaXfnX.cjs +0 -18
  358. package/components/color-handle-Cka48yPY.cjs +0 -24
  359. package/components/color-loupe-DMk8uWZW.cjs +0 -56
  360. package/components/color-menu-BAKmi_EI.cjs +0 -89
  361. package/components/color-palette-349EkPMg.cjs +0 -18
  362. package/components/color-palette-group-BvP09zmT.cjs +0 -28
  363. package/components/color-slider-DxjJ72ue.cjs +0 -57
  364. package/components/date-range-picker-A-XRRg1X.cjs +0 -180
  365. package/components/date-time-picker-Ca9GEA4N.cjs +0 -105
  366. package/components/decorate-B2wePfNm.cjs +0 -18
  367. package/components/divider-Dn8XqbB6.cjs +0 -18
  368. package/components/field-label-BCl6R1uO.cjs +0 -25
  369. package/components/focus-group-SF8Kj7iB.cjs +0 -18
  370. package/components/focus-visible-B0NNezGc.cjs +0 -18
  371. package/components/focusable-CupEoHmn.cjs +0 -18
  372. package/components/icon-B7hKwn_q.cjs +0 -18
  373. package/components/infield-button-D5cuBWE5.cjs +0 -22
  374. package/components/label-CqolZbJo.cjs +0 -18
  375. package/components/language-resolution-BYemISJC.cjs +0 -18
  376. package/components/language-resolution-BpfGTC29.js +0 -43
  377. package/components/menu-DFKS4sRU.cjs +0 -108
  378. package/components/number-field-BmWODnnR.cjs +0 -57
  379. package/components/observe-slot-presence-Dx8hzNzK.cjs +0 -18
  380. package/components/observe-slot-text-BhTcGuHY.cjs +0 -18
  381. package/components/options-CKi3VkNR.cjs +0 -101
  382. package/components/overlay-DU_p8MNs.cjs +0 -47
  383. package/components/picker-CssPvvau.cjs +0 -123
  384. package/components/picker-button-adl1JO5u.cjs +0 -37
  385. package/components/platform-B7Sk7Qon.cjs +0 -18
  386. package/components/popover-dgL04x6P.cjs +0 -30
  387. package/components/progress-bar-BR28tISC.cjs +0 -31
  388. package/components/progress-circle-DuzwUiGN.cjs +0 -33
  389. package/components/progress-steps-WriXaZpE.cjs +0 -96
  390. package/components/prompt-box-DfTe3nG0.cjs +0 -311
  391. package/components/radio-d-2GUbYE.cjs +0 -22
  392. package/components/search-CCvT87FX.cjs +0 -47
  393. package/components/search-Dtff2EzC.js +0 -100
  394. package/components/segments-factory-CHo9oQw7.cjs +0 -18
  395. package/components/select-qAKOLhmQ.cjs +0 -158
  396. package/components/sized-mixin-StFA4y0J.cjs +0 -18
  397. package/components/skeleton-loader-dNRfq6lt.cjs +0 -18
  398. package/components/slider-D8w2ipBg.cjs +0 -18
  399. package/components/slider-Fy-VeKrU.js +0 -96
  400. package/components/status-light-BG_kopZQ.cjs +0 -21
  401. package/components/status-light-DXWPBufE.js +0 -85
  402. package/components/strategies-kuvLVIKO.cjs +0 -18
  403. package/components/streaming-listener-BnDW38lt.cjs +0 -18
  404. package/components/switch-nuCOB2P3.cjs +0 -22
  405. package/components/tags-Bpl4u-eo.js +0 -206
  406. package/components/tags-Dj7Xm3KI.cjs +0 -47
  407. package/components/text-field-A4Obzs4l.cjs +0 -21
  408. package/components/toast-NZ0Z1lz9.cjs +0 -51
  409. package/components/tooltip-6y-g7e9V.cjs +0 -45
  410. package/components/top-nav-DZO8yZs6.cjs +0 -45
  411. /package/components/{color-controller-G2_v2xSl.js → color-controller-Rg_Zl0sT.js} +0 -0
  412. /package/components/{condition-attribute-with-id-Duo51HZ7.js → condition-attribute-with-id-BdnTdWKz.js} +0 -0
  413. /package/components/{dependency-manger-DMrulWcJ.js → dependency-manger-wHEXoU92.js} +0 -0
  414. /package/components/{divider.module-C65RfSUa.js → divider.module-CPEKsaqR.js} +0 -0
  415. /package/components/{element-resolution-Bs1x89vU.js → element-resolution-gap51AVo.js} +0 -0
  416. /package/components/{focusable-selectors-Bg60_Kra.js → focusable-selectors-BWpiuXz5.js} +0 -0
  417. /package/components/{get-label-from-slot-5vVnfSgN.js → get-label-from-slot-Bo9mqYCZ.js} +0 -0
  418. /package/components/{observe-slot-presence-BCqd3VSd.js → observe-slot-presence-BKY6n06-.js} +0 -0
  419. /package/components/{rolldown-runtime-CAFD8bLK.js → rolldown-runtime-Dy4uBu1J.js} +0 -0
  420. /package/components/{scaled-indicator-fMYan6VK.js → scaled-indicator-C-TupV4L.js} +0 -0
  421. /package/components/{segments-factory-D0IveW-q.js → segments-factory-BCRi1NKb.js} +0 -0
  422. /package/components/{slottable-request-event-DZ2Z_BLk.js → slottable-request-event-MRSZbgTu.js} +0 -0
  423. /package/components/{streaming-listener-2NcP7ys7.js → streaming-listener-CtcMpYfS.js} +0 -0
  424. /package/components/{voice-recorder-477xPHRU.js → voice-recorder-CTg3kRxx.js} +0 -0
@@ -0,0 +1,65 @@
1
+ import { nothing, TemplateResult } from 'lit';
2
+ import type { ElementSize } from '../../utils/sized-mixin';
3
+ import { type QuestionBoxLabels, type QuestionBoxOption, type QuestionBoxOptionIndicator, type QuestionBoxQuestion, type QuestionBoxValue } from './types';
4
+ /**
5
+ * Listeners the templates bind. Every entry is a stable field on the host, so
6
+ * re-rendering never rebinds a listener.
7
+ *
8
+ * @internal Not part of the `luzmo-question-box` public API.
9
+ */
10
+ export type QuestionBoxRenderHandlers = {
11
+ contentClick: (event: MouseEvent) => void;
12
+ back: (event: Event) => void;
13
+ primary: () => void;
14
+ skip: (event: Event) => void;
15
+ cancel: (event: Event) => void;
16
+ change: () => void;
17
+ radioChange: (event: Event) => void;
18
+ radioClick: (event: Event) => void;
19
+ checkboxChange: (event: Event) => void;
20
+ otherInput: (event: Event) => void;
21
+ otherChange: (event: Event) => void;
22
+ otherKeydown: (event: KeyboardEvent) => void;
23
+ focusIn: (event: FocusEvent) => void;
24
+ focusOut: () => void;
25
+ };
26
+ /**
27
+ * Narrow, read-only view of the host state the templates read. Built by
28
+ * `LuzmoQuestionBox` on every render.
29
+ *
30
+ * @internal Not part of the `luzmo-question-box` public API.
31
+ */
32
+ export type QuestionBoxRenderContext = {
33
+ questions: QuestionBoxQuestion[];
34
+ value: QuestionBoxValue;
35
+ copy: Required<QuestionBoxLabels>;
36
+ /** Zero-based index of the question being answered. */
37
+ step: number;
38
+ resolved: boolean;
39
+ submitted: boolean;
40
+ showError: boolean;
41
+ disabled: boolean;
42
+ readonly: boolean;
43
+ hideClose: boolean;
44
+ hideSkip: boolean;
45
+ showChange: boolean;
46
+ optionIndicator: QuestionBoxOptionIndicator;
47
+ size: ElementSize;
48
+ dir: 'ltr' | 'rtl';
49
+ /** Resolved language used for locale-aware answer lists. */
50
+ language: string;
51
+ selectedValues: (question: QuestionBoxQuestion) => string[];
52
+ isOtherSelected: (question: QuestionBoxQuestion) => boolean;
53
+ questionError: (question: QuestionBoxQuestion) => string | undefined;
54
+ /** Whether the question blocks the flow, with or without a message. */
55
+ questionInvalid: (question: QuestionBoxQuestion) => boolean;
56
+ optionDisabled: (question: QuestionBoxQuestion, option: QuestionBoxOption, checked: boolean) => boolean;
57
+ handlers: QuestionBoxRenderHandlers;
58
+ };
59
+ /**
60
+ * Renders the resolved summary or the current question card. Without a question
61
+ * there is nothing to answer, so the card and its border are left out entirely.
62
+ *
63
+ * @internal Not part of the `luzmo-question-box` public API.
64
+ */
65
+ export declare function renderQuestionBox(context: QuestionBoxRenderContext): TemplateResult | typeof nothing;
@@ -0,0 +1,182 @@
1
+ import { CSSResultArray, nothing, PropertyValues, TemplateResult } from 'lit';
2
+ import { LuzmoElement } from '../../utils/base';
3
+ import '../action-button';
4
+ import '../badge';
5
+ import '../button';
6
+ import '../checkbox';
7
+ import '../field-group';
8
+ import '../icon';
9
+ import '../radio';
10
+ import '../text-field';
11
+ import { type QuestionBoxLabels, type QuestionBoxOptionIndicator, type QuestionBoxQuestion, type QuestionBoxValue } from './types';
12
+ export type { QuestionBoxAction, QuestionBoxLabels, QuestionBoxOption, QuestionBoxOptionIndicator, QuestionBoxOtherConfig, QuestionBoxQuestion, QuestionBoxResultDetail, QuestionBoxValue } from './types';
13
+ export type { QuestionBoxElicitationChoice, QuestionBoxElicitationProperty, QuestionBoxRequestedSchema } from './question-box-elicitation';
14
+ export { questionsToRequestedSchema, requestedSchemaToQuestions, toElicitationContent } from './question-box-elicitation';
15
+ export { DEFAULT_QUESTION_BOX_LABELS, QUESTION_BOX_OTHER_VALUE, questionBoxOtherKey } from './types';
16
+ declare const LuzmoQuestionBox_base: typeof LuzmoElement & {
17
+ new (...args: any[]): import("../..").SizedElementInterface;
18
+ prototype: import("../..").SizedElementInterface;
19
+ };
20
+ /**
21
+ * @element luzmo-question-box
22
+ *
23
+ * Presents one or more single- or multiple-choice questions and returns a
24
+ * flat, elicitation-compatible answer object.
25
+ *
26
+ * @fires {Event} input - The in-progress answer value changed.
27
+ * @fires {Event} change - An answer was committed by the user.
28
+ * @fires {CustomEvent<QuestionBoxResultDetail>} luzmo-submit - The user accepted. `detail.action` is `accept`.
29
+ * @fires {CustomEvent<QuestionBoxResultDetail>} luzmo-decline - The user explicitly skipped the request. `detail.action` is `decline`.
30
+ * @fires {CustomEvent<QuestionBoxResultDetail>} luzmo-cancel - The user dismissed the interaction (Close, Escape, or `cancel()`). `detail.action` is `cancel`.
31
+ *
32
+ * @attr dir - Writing direction (`ltr` or `rtl`) propagated to composed controls.
33
+ * @attr hide-close - Hides the close action.
34
+ * @attr hide-skip - Hides Skip actions.
35
+ * @attr show-change - Shows a Change action after submission.
36
+ * @attr option-indicator - Selects `numbers` or `letters` for option indicators.
37
+ *
38
+ * @cssprop --luzmo-question-box-max-inline-size - Maximum inline size of the question box (`40rem` by default).
39
+ * @cssprop --luzmo-question-box-body-max-block-size - Maximum block size of the scrollable question body (`24rem` by default).
40
+ * @cssprop --luzmo-question-box-divider-width - Option separator width (`0px` by default).
41
+ * @cssprop --luzmo-question-box-divider-color - Option separator color.
42
+ * @cssprop --luzmo-question-box-selected-count-font-size - Selected-count and status text size, scaled with the component size.
43
+ * @cssprop --luzmo-question-box-descriptive-option-padding-block - Block padding for options when any option has a description.
44
+ * @cssprop --luzmo-question-box-focus-ring-width - Indicator focus ring width.
45
+ * @cssprop --luzmo-question-box-focus-ring-gap - Indicator focus ring offset.
46
+ * @cssprop --luzmo-question-box-focus-ring-color - Indicator focus ring color.
47
+ * @cssprop --luzmo-question-box-scrollbar-width - Scrollbar width of the question body.
48
+ * @cssprop --luzmo-question-box-scrollbar-track-background - Scrollbar track background of the question body.
49
+ * @cssprop --luzmo-question-box-scrollbar-track-border-radius - Scrollbar track corner radius of the question body.
50
+ * @cssprop --luzmo-question-box-scrollbar-thumb-background - Scrollbar thumb background of the question body.
51
+ * @cssprop --luzmo-question-box-scrollbar-thumb-border-radius - Scrollbar thumb corner radius of the question body.
52
+ * @cssprop --luzmo-question-box-scrollbar-thumb-hover-background - Scrollbar thumb background while hovered.
53
+ */
54
+ export declare class LuzmoQuestionBox extends LuzmoQuestionBox_base {
55
+ static get styles(): CSSResultArray;
56
+ /**
57
+ * Questions to present, one per step. IDs must be unique JSON Schema
58
+ * property names.
59
+ */
60
+ questions: QuestionBoxQuestion[];
61
+ /**
62
+ * Live answers keyed by question ID. Other selection and accepted content
63
+ * use the reserved `__other__` enum const; free text uses `{id}Other`.
64
+ */
65
+ value: QuestionBoxValue;
66
+ /**
67
+ * Localizable UI copy. Omitted labels use the English defaults.
68
+ */
69
+ labels: QuestionBoxLabels;
70
+ /** Writing direction propagated to composed child controls. */
71
+ dir: 'ltr' | 'rtl';
72
+ /** Prevents interaction and removes controls from keyboard navigation. */
73
+ disabled: boolean;
74
+ /** Displays values without allowing the answers to be changed. */
75
+ readonly: boolean;
76
+ /** Hides the close action that emits `luzmo-cancel`. */
77
+ hideClose: boolean;
78
+ /** Hides Skip actions that emit `luzmo-decline`. */
79
+ hideSkip: boolean;
80
+ /** Shows a Change action after a successful submission. */
81
+ showChange: boolean;
82
+ /** Selects numbered or lettered visual option indicators. */
83
+ get optionIndicator(): QuestionBoxOptionIndicator;
84
+ set optionIndicator(value: QuestionBoxOptionIndicator);
85
+ private _optionIndicator;
86
+ private _step;
87
+ private _resolved;
88
+ private _submitted;
89
+ private _showError;
90
+ /** @internal */
91
+ private languageResolver;
92
+ private _radioChangeAdvanced;
93
+ /** @internal */
94
+ private multipleChoiceRoving;
95
+ /** @internal */
96
+ private questionTitle?;
97
+ /** @internal */
98
+ private otherField?;
99
+ /** @internal */
100
+ private optionsGroup?;
101
+ /** @internal */
102
+ private resolvedTitle?;
103
+ connectedCallback(): void;
104
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
105
+ disconnectedCallback(): void;
106
+ /** Moves focus to the active choices or the resolved-state focus target. */
107
+ focus(): void;
108
+ /** Returns whether every question currently has a valid answer. */
109
+ checkValidity(): boolean;
110
+ /** Validates the complete flow and emits `luzmo-submit` when it is valid. */
111
+ submit(): void;
112
+ /** Restores the first step with an empty answer object. */
113
+ reset(): void;
114
+ /** Dismisses the interaction and emits `luzmo-cancel`. */
115
+ cancel(): void;
116
+ protected willUpdate(changes: PropertyValues<this>): void;
117
+ protected updated(changes: PropertyValues): void;
118
+ protected render(): TemplateResult | typeof nothing;
119
+ /** @internal Narrow view of host state handed to the template functions. */
120
+ private get renderContext();
121
+ /** @internal Stable listener references, so re-rendering never rebinds. */
122
+ private get renderHandlers();
123
+ /** @internal */
124
+ private get copy();
125
+ /** @internal */
126
+ private get currentQuestion();
127
+ private handleKeydown;
128
+ private handleKeyup;
129
+ private handleFocusIn;
130
+ private handleContentClick;
131
+ /** @internal */
132
+ private optionShowsKeyboardFocus;
133
+ private handleFocusOut;
134
+ /**
135
+ * Flags the option that should carry a focus ring. A checkbox delegates focus
136
+ * to its inner input, so the option itself never matches `:focus-visible`.
137
+ * Focus moves between options are retargeted away at the host, so the
138
+ * listeners driving this live on the option group instead.
139
+ *
140
+ * @internal
141
+ */
142
+ private markKeyboardFocus;
143
+ /** @internal */
144
+ private focusedOptionForEvent;
145
+ private handleCancelClick;
146
+ private handleSkip;
147
+ private handleBack;
148
+ /** @internal */
149
+ private moveFocus;
150
+ /** @internal */
151
+ private focusOptions;
152
+ private handlePrimary;
153
+ /** @internal */
154
+ private advanceAfterSingleSelection;
155
+ /** @internal */
156
+ private acceptFlow;
157
+ private handleChange;
158
+ private handleRadioChange;
159
+ private handleRadioClick;
160
+ private handleCheckboxChange;
161
+ private handleOtherInput;
162
+ private handleOtherChange;
163
+ private handleOtherKeydown;
164
+ /** @internal */
165
+ private commitAnswer;
166
+ /** @internal */
167
+ private commitOther;
168
+ /** @internal */
169
+ private assignValue;
170
+ /** @internal */
171
+ private emitResult;
172
+ /** @internal */
173
+ private selectedValues;
174
+ /** @internal */
175
+ private isOtherSelected;
176
+ /** @internal */
177
+ private questionError;
178
+ /** @internal */
179
+ private questionInvalid;
180
+ /** @internal */
181
+ private optionDisabled;
182
+ }
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Stable enum value used when the free-form Other choice is selected.
3
+ * Live values and MCP elicitation content keep this const; free text lives on
4
+ * `{id}Other`.
5
+ */
6
+ export declare const QUESTION_BOX_OTHER_VALUE = "__other__";
7
+ /** A selectable answer descriptor for a question. */
8
+ export type QuestionBoxOption = {
9
+ /**
10
+ * Value returned to the consumer and used as an elicitation enum const.
11
+ * Must be a string. Never shown when `label` is set.
12
+ */
13
+ value: string;
14
+ /** Visible option label (elicitation `title`). */
15
+ label: string;
16
+ /** Optional supporting text rendered below the option label. */
17
+ description?: string;
18
+ /** Shows the localized recommended label beside this option. */
19
+ recommended?: boolean;
20
+ /**
21
+ * Optional muted hint shown beside the label.
22
+ * Lucero-only: dropped when mapping to elicitation `requestedSchema`.
23
+ */
24
+ hint?: string;
25
+ /**
26
+ * Lucero-only: option cannot be chosen. Dropped in elicitation mapping.
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Lucero-only: explanation for a disabled option.
31
+ */
32
+ disabledReason?: string;
33
+ };
34
+ /** Localized copy for a question's free-form Other choice. */
35
+ export type QuestionBoxOtherConfig = {
36
+ label?: string;
37
+ placeholder?: string;
38
+ };
39
+ /** A single step in a question-box flow. */
40
+ export type QuestionBoxQuestion = {
41
+ /**
42
+ * Question id. Must be a valid JSON Schema property name (elicitation key).
43
+ */
44
+ id: string;
45
+ type: 'single' | 'multiple';
46
+ title: string;
47
+ description?: string;
48
+ required?: boolean;
49
+ default?: string | string[];
50
+ /** Maps to elicitation `minItems` for multiple questions. */
51
+ minSelected?: number;
52
+ /** Maps to elicitation `maxItems` for multiple questions. */
53
+ maxSelected?: number;
54
+ options: QuestionBoxOption[];
55
+ /**
56
+ * When true or an object, appends an Other choice.
57
+ * Free text is stored on {@link questionBoxOtherKey}.
58
+ */
59
+ other?: boolean | QuestionBoxOtherConfig;
60
+ };
61
+ /**
62
+ * Flat elicitation-shaped answers: question id → `string` | `string[]`,
63
+ * plus optional `{id}Other` strings.
64
+ */
65
+ export type QuestionBoxValue = Record<string, string | string[] | undefined>;
66
+ /** Visual marker used for regular answer choices. */
67
+ export type QuestionBoxOptionIndicator = 'numbers' | 'letters';
68
+ /** Localizable question-box copy and validation messages. */
69
+ export type QuestionBoxLabels = {
70
+ continue?: string;
71
+ back?: string;
72
+ submit?: string;
73
+ skip?: string;
74
+ change?: string;
75
+ close?: string;
76
+ other?: string;
77
+ otherPlaceholder?: string;
78
+ recommended?: string;
79
+ answerTitle?: string;
80
+ answersTitle?: string;
81
+ /** `{current}` and `{total}` are replaced. */
82
+ progress?: string;
83
+ /** `{count}` is replaced when the selection is not exactly one. */
84
+ selectedCount?: string;
85
+ /** `{count}` is replaced when exactly one option is selected. */
86
+ selectedCountOne?: string;
87
+ /** `{label}` and `{recommended}` are replaced. */
88
+ recommendedSuffix?: string;
89
+ /** `{answer}` is replaced with the resolved answer. */
90
+ answer?: string;
91
+ /** Persistent, visually hidden guidance for a required multiple choice. */
92
+ requiredSelectionDescription?: string;
93
+ /** `{min}` and `{max}` are replaced in persistent selection guidance. */
94
+ selectionRangeDescription?: string;
95
+ /** `{min}` is replaced. */
96
+ minSelectedError?: string;
97
+ /** `{max}` is replaced. */
98
+ maxSelectedError?: string;
99
+ otherRequiredError?: string;
100
+ };
101
+ /**
102
+ * Result of leaving the flow: accepted answers, explicit refusal, or dismissal.
103
+ */
104
+ export type QuestionBoxAction = 'accept' | 'decline' | 'cancel';
105
+ /** Detail emitted by the `luzmo-submit`, `luzmo-decline`, and `luzmo-cancel` events. */
106
+ export type QuestionBoxResultDetail = {
107
+ /** `decline` means Skip; `cancel` means Close, Escape, or `cancel()`. */
108
+ action: QuestionBoxAction;
109
+ /** Complete elicitation answers; present only for an accepted submission. */
110
+ content?: QuestionBoxValue;
111
+ };
112
+ /** Default English copy used for omitted {@link QuestionBoxLabels}. */
113
+ export declare const DEFAULT_QUESTION_BOX_LABELS: Required<QuestionBoxLabels>;
114
+ /**
115
+ * Returns the sibling key used to store free-form Other text for a question.
116
+ */
117
+ export declare const questionBoxOtherKey: (questionId: string) => string;
118
+ /**
119
+ * Returns whether a question includes a free-form Other choice. A question
120
+ * without options can only be answered in free form, so it always offers one.
121
+ */
122
+ export declare const isQuestionBoxOtherEnabled: (question: QuestionBoxQuestion) => boolean;
123
+ /** Normalizes an enabled Other choice to its optional localized configuration. */
124
+ export declare const questionBoxOtherConfig: (question: QuestionBoxQuestion) => QuestionBoxOtherConfig;