@alfadocs/ui-kit 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/README.md +30 -0
  2. package/dist/_chunks/accordion-DOmxGEWU.js +228 -0
  3. package/dist/_chunks/{agenda-card-DwLIxgi7.js → agenda-card-CalZqycc.js} +12 -3
  4. package/dist/_chunks/{agenda-tray-DUvengGQ.js → agenda-tray-3ffFDQZC.js} +54 -51
  5. package/dist/_chunks/{ai-prompt-input.agent-0NHYLTWD.js → ai-prompt-input-BBiDlEIS.js} +231 -231
  6. package/dist/_chunks/{alert-BlOUMkXj.js → alert-B1sj8Ss0.js} +24 -14
  7. package/dist/_chunks/{apexcharts-theme-BkSShpEy.js → apexcharts-theme-BJigns_V.js} +7 -2
  8. package/dist/_chunks/{app-frame-6d7Lu4ea.js → app-frame-CDJOgPXe.js} +7 -16
  9. package/dist/_chunks/{audio-recorder.agent--VKeykUp.js → audio-recorder-B4U1LuiQ.js} +161 -162
  10. package/dist/_chunks/{audio-visualiser-CeMPCZkd.js → audio-visualiser-ByDEFLNm.js} +25 -19
  11. package/dist/_chunks/autocomplete-D4oUZbsP.js +466 -0
  12. package/dist/_chunks/{badge-mrstWxve.js → badge-DKFbntoa.js} +16 -13
  13. package/dist/_chunks/{balance-cell-renderer-5CA7zpAi.js → balance-cell-renderer-B8zgIM-m.js} +63 -44
  14. package/dist/_chunks/{breadcrumb.agent-GM2hAKFX.js → breadcrumb-D1snXjPb.js} +165 -157
  15. package/dist/_chunks/{button-7mLWcMp_.js → button-DD_0Xdmr.js} +12 -2
  16. package/dist/_chunks/{calendar-nGEgelJs.js → calendar-zy0tUUVG.js} +13 -18
  17. package/dist/_chunks/{card-BEy58ZKp.js → card-CWzuTLYE.js} +40 -34
  18. package/dist/_chunks/{chart.agent-_pRYS17d.js → chart-BLvFl169.js} +147 -131
  19. package/dist/_chunks/chat-container-ClzsWXp2.js +220 -0
  20. package/dist/_chunks/chat-input-DOlsB1fm.js +333 -0
  21. package/dist/_chunks/{chat-message-ByouZpPP.js → chat-message-DoAhgUTj.js} +23 -13
  22. package/dist/_chunks/{collapsible.agent-DkS1jVyn.js → collapsible-CuxUBoHJ.js} +97 -99
  23. package/dist/_chunks/{color-picker-94qcBZqZ.js → color-picker-CTIcHlDF.js} +111 -45
  24. package/dist/_chunks/combobox-DCNXqbC7.js +460 -0
  25. package/dist/_chunks/command-palette-C_vgSgrI.js +441 -0
  26. package/dist/_chunks/{date-picker-BqPTn7bO.js → date-picker-B1PO1ZQP.js} +190 -181
  27. package/dist/_chunks/{date-range-picker-B2hGsffw.js → date-range-picker-mix2nEVC.js} +21 -8
  28. package/dist/_chunks/{date-time-picker-Bzt0S8yO.js → date-time-picker-Dnong_BY.js} +30 -15
  29. package/dist/_chunks/{description-list-DvJbp6Yg.js → description-list-BYA77Yud.js} +26 -23
  30. package/dist/_chunks/dialog-BPD7wlGE.js +211 -0
  31. package/dist/_chunks/dropdown-menu-CpiF6CPz.js +300 -0
  32. package/dist/_chunks/{empty-state-DQPtRp2b.js → empty-state-3CLJIXSj.js} +132 -101
  33. package/dist/_chunks/file-upload-C947ACDK.js +829 -0
  34. package/dist/_chunks/{floating-action-button-Cnw-f6AG.js → floating-action-button-C8OYj8mE.js} +9 -2
  35. package/dist/_chunks/{form-field-BfsPLTSc.js → form-field-Bmkeh7WY.js} +12 -11
  36. package/dist/_chunks/{form-field-context-94LwgYTQ.js → form-field-context-B3APVHKx.js} +4 -2
  37. package/dist/_chunks/{freemium-paywall.agent-_nQqLyRF.js → freemium-paywall-CnvceDav.js} +124 -117
  38. package/dist/_chunks/{header-BGn1mRp8.js → header-D0ULgQl3.js} +69 -68
  39. package/dist/_chunks/{icon-button-Wnnde5lc.js → icon-button-C4CGcYuz.js} +11 -3
  40. package/dist/_chunks/{kbd-8baVw3KU.js → kbd-Cglkd7CY.js} +6 -2
  41. package/dist/_chunks/{key-value-pair-JRFS9Xrh.js → key-value-pair-CgWvAIGb.js} +2 -2
  42. package/dist/_chunks/{leo-sidebar-BwINPdix.js → leo-sidebar-CfEY-xi2.js} +16 -20
  43. package/dist/_chunks/{link-QheANk74.js → link-8QmFjIz2.js} +2 -5
  44. package/dist/_chunks/list-qP6p0NTw.js +434 -0
  45. package/dist/_chunks/{logo-BpFoCL-s.js → logo-_Z-jLq80.js} +155 -26
  46. package/dist/_chunks/{matrix-rain-BEkvux64.js → matrix-rain-CRPMXcVx.js} +8 -2
  47. package/dist/_chunks/{message-card-qhoGv947.js → message-card-ChCX9Iv6.js} +63 -60
  48. package/dist/_chunks/{message-tray-xHUCra-Y.js → message-tray-n8q9ITXI.js} +71 -76
  49. package/dist/_chunks/{multi-select.agent-Do6CeQUT.js → multi-select-wqqrgjUQ.js} +326 -291
  50. package/dist/_chunks/{navigation-menu.agent-D69ND6Qq.js → navigation-menu-ClbHeawy.js} +136 -123
  51. package/dist/_chunks/{notification-card-CsVEYJE-.js → notification-card-hBlPN1-c.js} +3 -3
  52. package/dist/_chunks/{notification-tray-DTXMq42J.js → notification-tray-C5cnXbl9.js} +70 -66
  53. package/dist/_chunks/{number-input-fvGmnRy9.js → number-input-Q7wkHnvQ.js} +7 -3
  54. package/dist/_chunks/{otp-input-EglXOUue.js → otp-input-C9gUByF0.js} +6 -3
  55. package/dist/_chunks/{pagination.agent-BkZQl45y.js → pagination-3AC4zTsi.js} +234 -194
  56. package/dist/_chunks/{password-input-D6kuYXmr.js → password-input-C4LmjIH1.js} +6 -9
  57. package/dist/_chunks/{patient-shell-BRmrrUUW.js → patient-shell-BlsEUKWB.js} +10 -15
  58. package/dist/_chunks/{payment-form-BWaXas8z.js → payment-form-C3vT_npe.js} +195 -186
  59. package/dist/_chunks/{pdf-viewer.agent-BaGEDheA.js → pdf-viewer-CZIfY08H.js} +270 -241
  60. package/dist/_chunks/{phone-input-C8Op4sEc.js → phone-input-CSHJOJ13.js} +4 -9
  61. package/dist/_chunks/popover-DekUKNBk.js +293 -0
  62. package/dist/_chunks/{privacy-lock.agent-C1i1-T58.js → privacy-lock-BKsI6ReN.js} +117 -109
  63. package/dist/_chunks/progress-C11tqhoI.js +298 -0
  64. package/dist/_chunks/{recaptcha-widget.agent-BGHpU5zD.js → recaptcha-widget-NyfOfLII.js} +95 -86
  65. package/dist/_chunks/resizable-mpXXyIsN.js +483 -0
  66. package/dist/_chunks/{rich-text-editor.agent-DnE125Tz.js → rich-text-editor-C7TCIlQO.js} +298 -209
  67. package/dist/_chunks/{scroll-area-DLr5w9Dd.js → scroll-area-DEDU-lp-.js} +67 -54
  68. package/dist/_chunks/{search-bar.agent-DxFAxctc.js → search-bar-BTDfgYtg.js} +291 -268
  69. package/dist/_chunks/{search-input-Xw3cdWXW.js → search-input-CdJIEjFo.js} +116 -107
  70. package/dist/_chunks/{select-DY1Cb2Tg.js → select-y6bXV1f1.js} +84 -83
  71. package/dist/_chunks/{separator-B4wXDLNC.js → separator-CYU_bGFn.js} +2 -5
  72. package/dist/_chunks/{sheet-B9kH9pcI.js → sheet-4tgMFwj0.js} +135 -60
  73. package/dist/_chunks/{sidebar-CHF5xr_P.js → sidebar-Bx3wCDyy.js} +546 -457
  74. package/dist/_chunks/{sign-in-with-alfadocs-button-BN_FPGHT.js → sign-in-with-alfadocs-button-B9UrqOqH.js} +9 -5
  75. package/dist/_chunks/{signature-capture.agent-BpeDwFht.js → signature-capture-DjMlFOzS.js} +210 -212
  76. package/dist/_chunks/{skeleton-dtqyF09N.js → skeleton-CZbwyJAA.js} +9 -3
  77. package/dist/_chunks/{slider-CcsQTZTA.js → slider-BT2bZWsy.js} +138 -134
  78. package/dist/_chunks/{slot-grid-D_l5VsHG.js → slot-grid-CgpYgBkW.js} +105 -95
  79. package/dist/_chunks/{sparkline.agent-56Sj7nOP.js → sparkline-_gy8aJDG.js} +107 -100
  80. package/dist/_chunks/{spinner-GCcv67vh.js → spinner-DLaYfLPl.js} +66 -14
  81. package/dist/_chunks/{stat-DUB6g90R.js → stat-B9PHSPbN.js} +45 -27
  82. package/dist/_chunks/{stepper-calendar.agent-9iT3ClIB.js → stepper-calendar-BLOJUE0-.js} +189 -187
  83. package/dist/_chunks/stepper-progress-jFY8BSf7.js +208 -0
  84. package/dist/_chunks/{suggestion-chip-DhFrkRPj.js → suggestion-chip-C4Jz0LrM.js} +50 -52
  85. package/dist/_chunks/{switch-BYEH8I53.js → switch-C0psfIQF.js} +2 -2
  86. package/dist/_chunks/{tabs.agent-h7NvsTR1.js → tabs-DaFA3Muo.js} +183 -155
  87. package/dist/_chunks/{tag-BqidXKo3.js → tag-DuLMjRbF.js} +90 -32
  88. package/dist/_chunks/{task-card-CY5ztNkU.js → task-card-Dw_ZJDL8.js} +5 -2
  89. package/dist/_chunks/{task-tray-CCoUdorl.js → task-tray-XlIW9ueh.js} +50 -49
  90. package/dist/_chunks/{text-area-C_M8wliK.js → text-area-CO9Dz0qX.js} +2 -2
  91. package/dist/_chunks/{text-input-BX39e6T6.js → text-input-DZwt9L8H.js} +65 -62
  92. package/dist/_chunks/{theme-root-DDb0TJjd.js → theme-root-CSKD5ZRm.js} +9 -2
  93. package/dist/_chunks/{theme-toggle.agent-btmXTWdW.js → theme-toggle-B9zzCnvl.js} +179 -177
  94. package/dist/_chunks/{time-picker-B8AMIrX7.js → time-picker-DvPUmHH-.js} +95 -93
  95. package/dist/_chunks/{timeline.agent-CRPza9wc.js → timeline-BvmnQadS.js} +96 -96
  96. package/dist/_chunks/{toast.agent-BjEGuq1Z.js → toast.agent-BwKXA0km.js} +46 -8
  97. package/dist/_chunks/{tooth-scheme.agent-CWrQBjJM.js → tooth-scheme-3mITSXiZ.js} +146 -162
  98. package/dist/_chunks/{transcript-panel.agent-BXEYP6w-.js → transcript-panel-Bx5ANMsv.js} +110 -101
  99. package/dist/_chunks/{typing-indicator-CbUBf-Dx.js → typing-indicator-BZ5jXZPn.js} +27 -5
  100. package/dist/_chunks/{use-theme-BMUhembX.js → use-theme-B1cwAXJR.js} +2 -5
  101. package/dist/_chunks/{visually-hidden-Bw7vBHLm.js → visually-hidden-BHxEUGyT.js} +11 -2
  102. package/dist/_chunks/{warning-stack-8Pa3pekh.js → warning-stack-VygGHSqC.js} +11 -13
  103. package/dist/_chunks/{workflow-map-D2A7rTEG.js → workflow-map-C-nlogPC.js} +430 -452
  104. package/dist/agent-catalog.json +580 -15
  105. package/dist/components/_shared/index.d.ts +2 -2
  106. package/dist/components/accordion/index.d.ts +1 -1
  107. package/dist/components/accordion/index.js +5 -6
  108. package/dist/components/agenda-card/index.js +1 -1
  109. package/dist/components/agenda-tray/agenda-tray.d.ts +1 -1
  110. package/dist/components/agenda-tray/index.js +1 -1
  111. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +1 -1
  112. package/dist/components/ai-prompt-input/index.js +1 -1
  113. package/dist/components/alert/index.d.ts +1 -1
  114. package/dist/components/alert/index.js +1 -1
  115. package/dist/components/app-frame/index.js +1 -1
  116. package/dist/components/audio-recorder/index.js +1 -1
  117. package/dist/components/audio-visualiser/index.js +1 -1
  118. package/dist/components/autocomplete/index.js +1 -1
  119. package/dist/components/badge/index.js +1 -1
  120. package/dist/components/breadcrumb/breadcrumb.d.ts +1 -1
  121. package/dist/components/breadcrumb/index.js +1 -1
  122. package/dist/components/button/index.js +2 -2
  123. package/dist/components/calendar/index.js +1 -1
  124. package/dist/components/card/index.js +1 -1
  125. package/dist/components/chart/index.d.ts +1 -1
  126. package/dist/components/chart/index.js +1 -1
  127. package/dist/components/chat-container/chat-container.d.ts +1 -1
  128. package/dist/components/chat-container/index.js +2 -3
  129. package/dist/components/chat-input/chat-input.d.ts +1 -1
  130. package/dist/components/chat-input/index.js +3 -4
  131. package/dist/components/chat-message/index.js +1 -1
  132. package/dist/components/checkbox-group/index.d.ts +1 -1
  133. package/dist/components/collapsible/collapsible.d.ts +1 -1
  134. package/dist/components/collapsible/index.d.ts +1 -1
  135. package/dist/components/collapsible/index.js +1 -1
  136. package/dist/components/color-picker/index.js +1 -1
  137. package/dist/components/combobox/index.d.ts +1 -1
  138. package/dist/components/combobox/index.js +1 -1
  139. package/dist/components/command-palette/command-palette.d.ts +46 -13
  140. package/dist/components/command-palette/index.js +1 -1
  141. package/dist/components/data-table/data-table.d.ts +3 -1
  142. package/dist/components/data-table/index.js +1 -1
  143. package/dist/components/data-table/toolbar.d.ts +6 -5
  144. package/dist/components/date-picker/date-picker.d.ts +1 -1
  145. package/dist/components/date-picker/index.d.ts +1 -1
  146. package/dist/components/date-picker/index.js +1 -1
  147. package/dist/components/date-range-picker/index.js +1 -1
  148. package/dist/components/date-time-picker/index.d.ts +1 -1
  149. package/dist/components/date-time-picker/index.js +1 -1
  150. package/dist/components/description-list/description-list.d.ts +1 -2
  151. package/dist/components/description-list/index.js +1 -1
  152. package/dist/components/dialog/dialog.d.ts +2 -2
  153. package/dist/components/dialog/index.js +1 -1
  154. package/dist/components/dropdown-menu/dropdown-menu.d.ts +11 -16
  155. package/dist/components/dropdown-menu/index.js +3 -4
  156. package/dist/components/empty-state/index.js +1 -1
  157. package/dist/components/file-upload/index.d.ts +1 -1
  158. package/dist/components/file-upload/index.js +1 -1
  159. package/dist/components/floating-action-button/index.js +1 -1
  160. package/dist/components/form-field/index.js +2 -2
  161. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  162. package/dist/components/freemium-paywall/index.js +1 -1
  163. package/dist/components/header/index.js +1 -1
  164. package/dist/components/icon-button/index.js +1 -1
  165. package/dist/components/kbd/index.js +1 -1
  166. package/dist/components/key-value-pair/index.js +1 -1
  167. package/dist/components/link/index.js +1 -1
  168. package/dist/components/list/index.js +1 -1
  169. package/dist/components/logo/index.js +1 -1
  170. package/dist/components/matrix-rain/index.js +1 -1
  171. package/dist/components/message-card/index.d.ts +1 -1
  172. package/dist/components/message-card/index.js +1 -1
  173. package/dist/components/message-tray/index.js +1 -1
  174. package/dist/components/message-tray/message-tray.d.ts +1 -1
  175. package/dist/components/multi-select/index.js +1 -1
  176. package/dist/components/navigation-menu/index.js +1 -1
  177. package/dist/components/navigation-menu/navigation-menu.d.ts +1 -1
  178. package/dist/components/notification-card/index.d.ts +1 -1
  179. package/dist/components/notification-card/index.js +1 -1
  180. package/dist/components/notification-tray/index.js +1 -1
  181. package/dist/components/notification-tray/notification-tray.d.ts +1 -1
  182. package/dist/components/number-input/index.js +1 -1
  183. package/dist/components/otp-input/index.js +1 -1
  184. package/dist/components/pagination/index.js +1 -1
  185. package/dist/components/pagination/pagination.d.ts +4 -6
  186. package/dist/components/password-input/index.js +1 -1
  187. package/dist/components/payment-form/index.js +7 -8
  188. package/dist/components/payment-form/payment-form.d.ts +1 -1
  189. package/dist/components/pdf-viewer/index.js +1 -1
  190. package/dist/components/phone-input/index.d.ts +1 -1
  191. package/dist/components/phone-input/index.js +1 -1
  192. package/dist/components/popover/index.js +3 -4
  193. package/dist/components/privacy-lock/index.js +1 -1
  194. package/dist/components/privacy-lock/privacy-lock.d.ts +1 -1
  195. package/dist/components/progress/index.js +3 -4
  196. package/dist/components/recaptcha-widget/index.js +1 -1
  197. package/dist/components/resizable/index.d.ts +1 -1
  198. package/dist/components/resizable/index.js +1 -1
  199. package/dist/components/rich-text-editor/index.js +1 -1
  200. package/dist/components/scroll-area/index.js +1 -1
  201. package/dist/components/search-bar/index.js +1 -1
  202. package/dist/components/search-bar/search-bar.d.ts +1 -1
  203. package/dist/components/search-input/index.js +1 -1
  204. package/dist/components/select/index.js +1 -1
  205. package/dist/components/select/select.d.ts +1 -1
  206. package/dist/components/separator/index.js +1 -1
  207. package/dist/components/sheet/index.js +3 -4
  208. package/dist/components/sheet/sheet.d.ts +2 -2
  209. package/dist/components/sidebar/index.js +7 -8
  210. package/dist/components/sidebar/sidebar.d.ts +0 -2
  211. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  212. package/dist/components/signature-capture/index.js +1 -1
  213. package/dist/components/skeleton/index.js +1 -1
  214. package/dist/components/slider/index.js +1 -1
  215. package/dist/components/slot-grid/index.js +1 -1
  216. package/dist/components/sparkline/index.js +1 -1
  217. package/dist/components/spinner/index.js +1 -1
  218. package/dist/components/stat/index.js +1 -1
  219. package/dist/components/stepper-calendar/index.js +1 -1
  220. package/dist/components/stepper-calendar/stepper-calendar.d.ts +1 -1
  221. package/dist/components/stepper-progress/index.d.ts +1 -1
  222. package/dist/components/stepper-progress/index.js +1 -2
  223. package/dist/components/stepper-progress/stepper-progress.d.ts +1 -1
  224. package/dist/components/suggestion-chip/index.js +1 -1
  225. package/dist/components/switch/index.js +1 -1
  226. package/dist/components/tabs/index.d.ts +1 -1
  227. package/dist/components/tabs/index.js +1 -1
  228. package/dist/components/tag/index.js +1 -1
  229. package/dist/components/task-card/index.js +1 -1
  230. package/dist/components/task-tray/index.js +1 -1
  231. package/dist/components/task-tray/task-tray.d.ts +1 -1
  232. package/dist/components/text-area/index.js +1 -1
  233. package/dist/components/text-input/index.js +1 -1
  234. package/dist/components/theme-root/index.js +1 -1
  235. package/dist/components/theme-toggle/index.js +1 -1
  236. package/dist/components/theme-toggle/theme-toggle.d.ts +1 -1
  237. package/dist/components/time-picker/index.js +1 -1
  238. package/dist/components/time-picker/time-picker.d.ts +1 -1
  239. package/dist/components/timeline/index.js +1 -1
  240. package/dist/components/timeline/timeline.d.ts +1 -1
  241. package/dist/components/toast/index.js +1 -1
  242. package/dist/components/tooth-scheme/index.js +1 -1
  243. package/dist/components/tooth-scheme/tooth-scheme.d.ts +1 -1
  244. package/dist/components/transcript-panel/index.js +1 -1
  245. package/dist/components/transcript-panel/transcript-panel.d.ts +1 -1
  246. package/dist/components/typing-indicator/index.js +1 -1
  247. package/dist/components/visually-hidden/index.js +1 -1
  248. package/dist/components/warning-stack/index.js +1 -1
  249. package/dist/components/workflow/index.js +1 -1
  250. package/dist/components/workflow/workflow-editor.d.ts +1 -1
  251. package/dist/hooks/index.js +1 -1
  252. package/dist/index.js +392 -402
  253. package/dist/patterns/leo-assistant/index.js +1 -1
  254. package/dist/patterns/patient-shell/index.js +1 -1
  255. package/dist/safe-html/index.js +20 -3
  256. package/dist/tokens.css +2 -2
  257. package/package.json +12 -2
  258. package/dist/_chunks/accordion-BEnrZmAn.js +0 -120
  259. package/dist/_chunks/accordion.agent-BTjeO1Sx.js +0 -52
  260. package/dist/_chunks/autocomplete.agent-Dh7KioS6.js +0 -432
  261. package/dist/_chunks/chat-container-Dl0Kfy5a.js +0 -175
  262. package/dist/_chunks/chat-container.agent-CM4WModE.js +0 -27
  263. package/dist/_chunks/chat-input-C_tMQv92.js +0 -252
  264. package/dist/_chunks/chat-input.agent-Bsz3ckGa.js +0 -69
  265. package/dist/_chunks/combobox.agent-CAvUkkIe.js +0 -410
  266. package/dist/_chunks/command-palette.agent-HatEt_EM.js +0 -391
  267. package/dist/_chunks/dialog.agent-Daf1TTko.js +0 -179
  268. package/dist/_chunks/dropdown-menu-C7AZipNz.js +0 -219
  269. package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js +0 -43
  270. package/dist/_chunks/file-upload.agent-DJaH2dHg.js +0 -681
  271. package/dist/_chunks/list.agent-D0iWt4VI.js +0 -420
  272. package/dist/_chunks/payment-form.agent-kuIfodCj.js +0 -31
  273. package/dist/_chunks/popover-kFN8s84V.js +0 -229
  274. package/dist/_chunks/popover.agent-K_d1cfbj.js +0 -39
  275. package/dist/_chunks/progress-wNsqkw8I.js +0 -253
  276. package/dist/_chunks/progress.agent-C68rDOXL.js +0 -27
  277. package/dist/_chunks/resizable.agent-CMwZzvsi.js +0 -456
  278. package/dist/_chunks/sheet.agent-QAyTOxgk.js +0 -46
  279. package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js +0 -49
  280. package/dist/_chunks/stepper-progress-Bmen-YXB.js +0 -149
  281. package/dist/_chunks/stepper-progress.agent-q9InWca4.js +0 -61
@@ -70,9 +70,21 @@ const M = E(
70
70
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
71
71
  ].join(" "), W = {
72
72
  info: { icon: /* @__PURE__ */ t(G, { "aria-hidden": "true" }), role: "status", live: "polite" },
73
- success: { icon: /* @__PURE__ */ t(X, { "aria-hidden": "true" }), role: "status", live: "polite" },
74
- warning: { icon: /* @__PURE__ */ t(O, { "aria-hidden": "true" }), role: "alert", live: "assertive" },
75
- error: { icon: /* @__PURE__ */ t(L, { "aria-hidden": "true" }), role: "alert", live: "assertive" }
73
+ success: {
74
+ icon: /* @__PURE__ */ t(X, { "aria-hidden": "true" }),
75
+ role: "status",
76
+ live: "polite"
77
+ },
78
+ warning: {
79
+ icon: /* @__PURE__ */ t(O, { "aria-hidden": "true" }),
80
+ role: "alert",
81
+ live: "assertive"
82
+ },
83
+ error: {
84
+ icon: /* @__PURE__ */ t(L, { "aria-hidden": "true" }),
85
+ role: "alert",
86
+ live: "assertive"
87
+ }
76
88
  }, b = a(
77
89
  ({ as: s = "h5", className: r, ...o }, e) => /* @__PURE__ */ t(
78
90
  s,
@@ -84,16 +96,14 @@ const M = E(
84
96
  )
85
97
  );
86
98
  b.displayName = "Alert.Title";
87
- const x = a(
88
- ({ className: s, ...r }, o) => /* @__PURE__ */ t(
89
- "p",
90
- {
91
- ref: o,
92
- className: ["ds:mt-[var(--spacing-xs)] type-body-sm", s].filter(Boolean).join(" "),
93
- ...r
94
- }
95
- )
96
- );
99
+ const x = a(({ className: s, ...r }, o) => /* @__PURE__ */ t(
100
+ "p",
101
+ {
102
+ ref: o,
103
+ className: ["ds:mt-[var(--spacing-xs)] type-body-sm", s].filter(Boolean).join(" "),
104
+ ...r
105
+ }
106
+ ));
97
107
  x.displayName = "Alert.Description";
98
108
  const _ = a(
99
109
  ({ className: s, ...r }, o) => /* @__PURE__ */ t(
@@ -185,4 +195,4 @@ const st = Object.assign(w, {
185
195
  export {
186
196
  st as A
187
197
  };
188
- //# sourceMappingURL=alert-BlOUMkXj.js.map
198
+ //# sourceMappingURL=alert-B1sj8Ss0.js.map
@@ -32,7 +32,12 @@ function d() {
32
32
  const t = getComputedStyle(document.documentElement), e = (r) => t.getPropertyValue(r).trim();
33
33
  return {
34
34
  theme: { mode: document.documentElement.classList.contains("theme-dark") ? "dark" : "light" },
35
- colors: [e("--primary"), e("--accent"), e("--success"), e("--warning")],
35
+ colors: [
36
+ e("--primary"),
37
+ e("--accent"),
38
+ e("--success"),
39
+ e("--warning")
40
+ ],
36
41
  chart: {
37
42
  background: e("--background"),
38
43
  foreColor: e("--foreground"),
@@ -45,4 +50,4 @@ export {
45
50
  d as g,
46
51
  c as u
47
52
  };
48
- //# sourceMappingURL=apexcharts-theme-BkSShpEy.js.map
53
+ //# sourceMappingURL=apexcharts-theme-BJigns_V.js.map
@@ -23,9 +23,7 @@ const T = a(
23
23
  "ds:print:[&_[role=banner]]:[border-block-end-color:var(--border)]"
24
24
  ].join(" ")
25
25
  ), A = a(
26
- [
27
- "ds:flex ds:flex-1 ds:items-stretch ds:min-h-0"
28
- ].join(" ")
26
+ ["ds:flex ds:flex-1 ds:items-stretch ds:min-h-0"].join(" ")
29
27
  ), M = a(
30
28
  [
31
29
  // Hidden in the inline flow on mobile — consumers should flip their
@@ -38,11 +36,7 @@ const T = a(
38
36
  "ds:h-full"
39
37
  ].join(" ")
40
38
  ), C = a(
41
- [
42
- "ds:hidden ds:md:flex",
43
- "ds:shrink-0",
44
- "ds:h-full"
45
- ].join(" ")
39
+ ["ds:hidden ds:md:flex", "ds:shrink-0", "ds:h-full"].join(" ")
46
40
  ), F = a(
47
41
  [
48
42
  // <main> owns the scroll: the viewport body never scrolls, but this
@@ -78,13 +72,10 @@ const T = a(
78
72
  mainClassName: b,
79
73
  ...u
80
74
  }, h) => {
81
- const { t: v } = _(), x = m ?? v("ui.navigation.main.label", "Main content"), [w, g] = S(!1), j = V(
82
- (k) => {
83
- const e = k.currentTarget.scrollTop > 0;
84
- g((o) => o === e ? o : e);
85
- },
86
- []
87
- );
75
+ const { t: v } = _(), x = m ?? v("ui.navigation.main.label", "Main content"), [w, g] = S(!1), j = V((k) => {
76
+ const e = k.currentTarget.scrollTop > 0;
77
+ g((o) => o === e ? o : e);
78
+ }, []);
88
79
  return /* @__PURE__ */ n(
89
80
  "div",
90
81
  {
@@ -127,4 +118,4 @@ I.displayName = "AppFrame";
127
118
  export {
128
119
  I as A
129
120
  };
130
- //# sourceMappingURL=app-frame-6d7Lu4ea.js.map
121
+ //# sourceMappingURL=app-frame-CDJOgPXe.js.map
@@ -1,43 +1,44 @@
1
- import { jsxs as b, jsx as s, Fragment as ie } from "react/jsx-runtime";
2
- import { forwardRef as re, useReducer as se, useState as x, useRef as m, useEffect as D, useCallback as h, useImperativeHandle as ae } from "react";
3
- import { c as ne } from "./index-D2ZczOXr.js";
4
- import { useTranslation as de } from "react-i18next";
5
- import { B as X } from "./button-7mLWcMp_.js";
6
- import { I as N } from "./icon-button-Wnnde5lc.js";
7
- import { S as ce } from "./select-DY1Cb2Tg.js";
8
- import { A as oe } from "./audio-visualiser-CeMPCZkd.js";
9
- import { A as j } from "./alert-BlOUMkXj.js";
10
- import { c as P } from "./createLucideIcon-CrFbzy84.js";
11
- import { S as ue } from "./square-CZoGU14v.js";
12
- import { X as pe } from "./x-CCcI3eJp.js";
1
+ import { jsxs as b, jsx as s, Fragment as re } from "react/jsx-runtime";
2
+ import { forwardRef as se, useReducer as ae, useState as x, useRef as m, useEffect as D, useCallback as h, useMemo as ne, useImperativeHandle as de } from "react";
3
+ import { c as ce } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as oe } from "react-i18next";
5
+ import { B as G } from "./button-DD_0Xdmr.js";
6
+ import { I as N } from "./icon-button-C4CGcYuz.js";
7
+ import { S as ue } from "./select-y6bXV1f1.js";
8
+ import { A as pe } from "./audio-visualiser-ByDEFLNm.js";
9
+ import { A as F } from "./alert-B1sj8Ss0.js";
10
+ import { u as le } from "./registry-C9nwlNyL.js";
11
+ import { c as V } from "./createLucideIcon-CrFbzy84.js";
12
+ import { S as me } from "./square-CZoGU14v.js";
13
+ import { X as fe } from "./x-CCcI3eJp.js";
13
14
  /**
14
15
  * @license lucide-react v1.8.0 - ISC
15
16
  *
16
17
  * This source code is licensed under the ISC license.
17
18
  * See the LICENSE file in the root directory of this source tree.
18
19
  */
19
- const le = [
20
+ const ge = [
20
21
  ["path", { d: "M12 19v3", key: "npa21l" }],
21
22
  ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
22
23
  ["rect", { x: "9", y: "2", width: "6", height: "13", rx: "3", key: "s6n7sd" }]
23
- ], me = P("mic", le);
24
+ ], he = V("mic", ge);
24
25
  /**
25
26
  * @license lucide-react v1.8.0 - ISC
26
27
  *
27
28
  * This source code is licensed under the ISC license.
28
29
  * See the LICENSE file in the root directory of this source tree.
29
30
  */
30
- const fe = [
31
+ const ve = [
31
32
  ["rect", { x: "14", y: "3", width: "5", height: "18", rx: "1", key: "kaeet6" }],
32
33
  ["rect", { x: "5", y: "3", width: "5", height: "18", rx: "1", key: "1wsw3u" }]
33
- ], ge = P("pause", fe);
34
+ ], ye = V("pause", ve);
34
35
  /**
35
36
  * @license lucide-react v1.8.0 - ISC
36
37
  *
37
38
  * This source code is licensed under the ISC license.
38
39
  * See the LICENSE file in the root directory of this source tree.
39
40
  */
40
- const he = [
41
+ const ke = [
41
42
  [
42
43
  "path",
43
44
  {
@@ -45,8 +46,75 @@ const he = [
45
46
  key: "10ikf1"
46
47
  }
47
48
  ]
48
- ], ve = P("play", he);
49
- function ye(i, u) {
49
+ ], be = V("play", ke), Re = {
50
+ id: "audio-recorder",
51
+ capabilities: ["submit"],
52
+ state: {
53
+ isRecording: {
54
+ type: "boolean",
55
+ descriptionKey: "ui.agent.audioRecorder.state.isRecording",
56
+ description: "True while actively capturing audio (not paused).",
57
+ read: (i) => i.isRecording()
58
+ },
59
+ duration: {
60
+ type: "number",
61
+ descriptionKey: "ui.agent.audioRecorder.state.duration",
62
+ description: "Elapsed recording time in milliseconds (paused time excluded).",
63
+ read: (i) => i.getDuration()
64
+ },
65
+ hasRecording: {
66
+ type: "boolean",
67
+ descriptionKey: "ui.agent.audioRecorder.state.hasRecording",
68
+ description: "True when a completed recording is available for submission.",
69
+ read: (i) => i.hasRecording()
70
+ }
71
+ },
72
+ actions: {
73
+ start_recording: {
74
+ safety: "write",
75
+ descriptionKey: "ui.agent.audioRecorder.actions.startRecording",
76
+ description: "Request microphone permission and begin recording.",
77
+ invoke: (i) => i.startRecording()
78
+ },
79
+ stop_recording: {
80
+ safety: "write",
81
+ descriptionKey: "ui.agent.audioRecorder.actions.stopRecording",
82
+ description: "Stop the current recording and finalise the blob.",
83
+ invoke: (i) => {
84
+ i.stopRecording();
85
+ }
86
+ },
87
+ discard: {
88
+ safety: "destructive",
89
+ descriptionKey: "ui.agent.audioRecorder.actions.discard",
90
+ description: "Cancel the recording. Irreversible — the captured audio is dropped.",
91
+ invoke: (i) => {
92
+ i.discard();
93
+ }
94
+ },
95
+ submit: {
96
+ safety: "write",
97
+ descriptionKey: "ui.agent.audioRecorder.actions.submit",
98
+ description: "Stop the active recording, finalising it via onRecordingComplete.",
99
+ invoke: (i) => {
100
+ i.stopRecording();
101
+ }
102
+ }
103
+ },
104
+ domHooks: {
105
+ root: {
106
+ attr: "data-component",
107
+ value: "audio-recorder",
108
+ description: "Marks the AudioRecorder wrapper."
109
+ },
110
+ instanceId: {
111
+ attr: "data-component-id",
112
+ sourceProp: "id",
113
+ description: "Sourced from the id prop."
114
+ }
115
+ }
116
+ };
117
+ function we(i, u) {
50
118
  switch (u.type) {
51
119
  case "request":
52
120
  return { kind: "requesting" };
@@ -77,7 +145,7 @@ function ye(i, u) {
77
145
  return i;
78
146
  }
79
147
  }
80
- const ke = ne(
148
+ const Ae = ce(
81
149
  [
82
150
  "ds:inline-flex ds:flex-col ds:items-stretch ds:gap-[var(--spacing-sm)]",
83
151
  "ds:rounded-[var(--radius-md)] ds:border ds:border-border",
@@ -94,23 +162,23 @@ const ke = ne(
94
162
  },
95
163
  defaultVariants: { size: "md" }
96
164
  }
97
- ), be = [
165
+ ), Me = [
98
166
  "audio/webm;codecs=opus",
99
167
  "audio/webm",
100
168
  "audio/mp4",
101
169
  "audio/ogg;codecs=opus"
102
170
  ];
103
- function we() {
171
+ function xe() {
104
172
  if (!(typeof MediaRecorder > "u")) {
105
- for (const i of be)
173
+ for (const i of Me)
106
174
  if (MediaRecorder.isTypeSupported(i)) return i;
107
175
  }
108
176
  }
109
- function Re(i, u) {
177
+ function De(i, u) {
110
178
  const l = Math.max(0, Math.floor(i / 1e3)), r = Math.floor(l / 60), f = l % 60, v = (S) => new Intl.NumberFormat(u, { minimumIntegerDigits: 2 }).format(S);
111
179
  return `${v(r)}:${v(f)}`;
112
180
  }
113
- const Ae = re(
181
+ const Ne = se(
114
182
  ({
115
183
  size: i = "md",
116
184
  onRecordingComplete: u,
@@ -119,46 +187,46 @@ const Ae = re(
119
187
  maxDurationMs: f = 1800 * 1e3,
120
188
  maxBytes: v = 250 * 1024 * 1024,
121
189
  className: S,
122
- ...F
123
- }, G) => {
124
- const { t: d, i18n: J } = de(), [t, p] = se(ye, { kind: "idle" }), [I, z] = x(null), [Q, W] = x(Date.now()), [Y, Z] = x([]), [w, E] = x(""), c = m(null), y = m([]), T = m(0), V = m(0), g = m(null), $ = m(!1), R = m(!1), k = typeof MediaRecorder < "u";
190
+ ...I
191
+ }, J) => {
192
+ const { t: d, i18n: Q } = oe(), [t, p] = ae(we, { kind: "idle" }), [z, T] = x(null), [W, Y] = x(Date.now()), [Z, E] = x([]), [R, ee] = x(""), c = m(null), y = m([]), _ = m(0), $ = m(0), g = m(null), B = m(!1), w = m(!1), k = typeof MediaRecorder < "u";
125
193
  D(() => {
126
194
  var e;
127
195
  !k || !((e = navigator.mediaDevices) != null && e.enumerateDevices) || navigator.mediaDevices.enumerateDevices().then((a) => {
128
196
  const o = a.filter((n) => n.kind === "audioinput");
129
- Z(o);
197
+ E(o);
130
198
  }).catch(() => {
131
199
  });
132
200
  }, [k]), D(() => {
133
201
  if (t.kind !== "recording") return;
134
- const e = window.setInterval(() => W(Date.now()), 250);
202
+ const e = window.setInterval(() => Y(Date.now()), 250);
135
203
  return () => window.clearInterval(e);
136
204
  }, [t.kind]);
137
- const B = h(() => {
138
- const e = g.current ?? I;
139
- e == null || e.getTracks().forEach((a) => a.stop()), g.current = null, z(null);
140
- }, [I]), A = h(async () => {
205
+ const H = h(() => {
206
+ const e = g.current ?? z;
207
+ e == null || e.getTracks().forEach((a) => a.stop()), g.current = null, T(null);
208
+ }, [z]), A = h(async () => {
141
209
  if (!k) {
142
210
  p({ type: "error", kind: "unsupported" }), r == null || r("unsupported");
143
211
  return;
144
212
  }
145
- p({ type: "request" }), R.current = !1;
213
+ p({ type: "request" }), w.current = !1;
146
214
  try {
147
215
  const e = await navigator.mediaDevices.getUserMedia({
148
- audio: w ? { deviceId: { exact: w } } : !0
216
+ audio: R ? { deviceId: { exact: R } } : !0
149
217
  });
150
- if ($.current) {
218
+ if (B.current) {
151
219
  e.getTracks().forEach((n) => n.stop());
152
220
  return;
153
221
  }
154
- g.current = e, z(e);
155
- const a = we(), o = new MediaRecorder(
222
+ g.current = e, T(e);
223
+ const a = xe(), o = new MediaRecorder(
156
224
  e,
157
225
  a ? { mimeType: a } : void 0
158
226
  );
159
- c.current = o, y.current = [], T.current = 0, o.ondataavailable = (n) => {
160
- var U;
161
- if (n.data && n.data.size > 0 && (y.current.push(n.data), T.current += n.data.size, typeof v == "number" && T.current >= v && ((U = c.current) == null ? void 0 : U.state) === "recording")) {
227
+ c.current = o, y.current = [], _.current = 0, o.ondataavailable = (n) => {
228
+ var X;
229
+ if (n.data && n.data.size > 0 && (y.current.push(n.data), _.current += n.data.size, typeof v == "number" && _.current >= v && ((X = c.current) == null ? void 0 : X.state) === "recording")) {
162
230
  r == null || r("max-size");
163
231
  try {
164
232
  c.current.stop();
@@ -166,43 +234,43 @@ const Ae = re(
166
234
  }
167
235
  }
168
236
  }, o.onstop = () => {
169
- if (!R.current) {
237
+ if (!w.current) {
170
238
  const n = new Blob(y.current, {
171
239
  type: a ?? "audio/webm"
172
240
  });
173
- u == null || u(n, V.current);
241
+ u == null || u(n, $.current);
174
242
  }
175
- y.current = [], c.current = null, e.getTracks().forEach((n) => n.stop()), g.current = null, z(null), R.current = !1;
243
+ y.current = [], c.current = null, e.getTracks().forEach((n) => n.stop()), g.current = null, T(null), w.current = !1;
176
244
  }, o.start(1e3), p({ type: "start" });
177
245
  } catch (e) {
178
246
  const a = e instanceof Error ? e.name : "";
179
247
  a === "NotAllowedError" || a === "SecurityError" ? (p({ type: "error", kind: "permission-denied" }), r == null || r("permission-denied")) : a === "NotFoundError" || a === "OverconstrainedError" ? (p({ type: "error", kind: "no-device" }), r == null || r("no-device")) : (p({ type: "error", kind: "capture-failed" }), r == null || r("capture-failed"));
180
248
  }
181
- }, [r, u, w, k]), ee = h(() => {
249
+ }, [r, u, R, k]), te = h(() => {
182
250
  var e;
183
251
  (e = c.current) == null || e.pause(), p({ type: "pause" });
184
- }, []), te = h(() => {
252
+ }, []), ie = h(() => {
185
253
  var e;
186
254
  (e = c.current) == null || e.resume(), p({ type: "resume" });
187
- }, []), _ = h(() => {
255
+ }, []), q = h(() => {
188
256
  var e;
189
257
  if (t.kind === "recording" || t.kind === "paused") {
190
258
  const a = t.startedAt, o = t.pausedMs, n = Date.now() - a - o;
191
- V.current = Math.max(0, n), p({ type: "stop", duration: n });
259
+ $.current = Math.max(0, n), p({ type: "stop", duration: n });
192
260
  }
193
261
  try {
194
262
  (e = c.current) == null || e.stop();
195
263
  } catch {
196
264
  }
197
- }, [t]), q = h(() => {
265
+ }, [t]), K = h(() => {
198
266
  var e;
199
- R.current = !0;
267
+ w.current = !0;
200
268
  try {
201
269
  (e = c.current) == null || e.stop();
202
270
  } catch {
203
271
  }
204
- y.current = [], c.current = null, B(), p({ type: "cancel" }), l == null || l();
205
- }, [B, l]);
272
+ y.current = [], c.current = null, H(), p({ type: "cancel" }), l == null || l();
273
+ }, [H, l]);
206
274
  D(() => {
207
275
  if (t.kind !== "recording" || typeof f != "number" || f <= 0) return;
208
276
  const e = Date.now() - t.startedAt - t.pausedMs, a = Math.max(0, f - e), o = window.setTimeout(() => {
@@ -218,30 +286,29 @@ const Ae = re(
218
286
  return () => window.clearTimeout(o);
219
287
  }, [t, f, r]), D(() => () => {
220
288
  var e, a;
221
- $.current = !0;
289
+ B.current = !0;
222
290
  try {
223
291
  (e = c.current) == null || e.stop();
224
292
  } catch {
225
293
  }
226
294
  (a = g.current) == null || a.getTracks().forEach((o) => o.stop()), g.current = null;
227
295
  }, []);
228
- const K = t.kind === "recording" ? Q - t.startedAt - t.pausedMs : t.kind === "paused" ? t.pausedAt - t.startedAt - t.pausedMs : t.kind === "stopped" ? t.duration : 0;
229
- ae(
230
- G,
296
+ const j = t.kind === "recording" ? W - t.startedAt - t.pausedMs : t.kind === "paused" ? t.pausedAt - t.startedAt - t.pausedMs : t.kind === "stopped" ? t.duration : 0, P = ne(
231
297
  () => ({
232
298
  isRecording: () => t.kind === "recording",
233
- getDuration: () => K,
299
+ getDuration: () => j,
234
300
  hasRecording: () => t.kind === "stopped",
235
301
  startRecording: () => A(),
236
- stopRecording: () => _(),
237
- discard: () => q()
302
+ stopRecording: () => q(),
303
+ discard: () => K()
238
304
  }),
239
- [t, K, A, _, q]
305
+ [t, j, A, q, K]
240
306
  );
241
- const C = Y.map((e) => ({
307
+ de(J, () => P, [P]), le(Re, P, I.id);
308
+ const C = Z.map((e) => ({
242
309
  value: e.deviceId,
243
310
  label: e.label || d("ui.chat.audio.selectDevice")
244
- })), H = (() => {
311
+ })), O = (() => {
245
312
  switch (t.kind) {
246
313
  case "idle":
247
314
  return d("ui.chat.audio.idle");
@@ -256,14 +323,14 @@ const Ae = re(
256
323
  case "error":
257
324
  return t.type === "permission-denied" ? d("ui.chat.audio.permissionDenied") : t.type === "unsupported" ? d("ui.chat.audio.unsupported") : d("ui.chat.audio.idle");
258
325
  }
259
- })(), M = t.kind === "recording", O = t.kind === "paused", L = t.kind === "error";
326
+ })(), M = t.kind === "recording", L = t.kind === "paused", U = t.kind === "error";
260
327
  return /* @__PURE__ */ b(
261
328
  "div",
262
329
  {
263
330
  "data-component": "audio-recorder",
264
- "data-component-id": F.id,
265
- className: ke({ size: i, className: S }),
266
- ...F,
331
+ "data-component-id": I.id,
332
+ className: Ae({ size: i, className: S }),
333
+ ...I,
267
334
  children: [
268
335
  /* @__PURE__ */ b("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
269
336
  /* @__PURE__ */ s(
@@ -288,9 +355,9 @@ const Ae = re(
288
355
  }
289
356
  ),
290
357
  /* @__PURE__ */ s(
291
- oe,
358
+ pe,
292
359
  {
293
- stream: I,
360
+ stream: z,
294
361
  size: "sm",
295
362
  "aria-hidden": "true",
296
363
  className: "ds:flex-1"
@@ -302,18 +369,18 @@ const Ae = re(
302
369
  dir: "ltr",
303
370
  "aria-hidden": "true",
304
371
  className: "ds:tabular-nums type-meta ds:text-[color:var(--muted-foreground)]",
305
- children: Re(K, J.language)
372
+ children: De(j, Q.language)
306
373
  }
307
374
  )
308
375
  ] }),
309
- /* @__PURE__ */ s("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: H }),
376
+ /* @__PURE__ */ s("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: O }),
310
377
  /* @__PURE__ */ b("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
311
- t.kind === "idle" || t.kind === "stopped" || L ? /* @__PURE__ */ s(
312
- X,
378
+ t.kind === "idle" || t.kind === "stopped" || U ? /* @__PURE__ */ s(
379
+ G,
313
380
  {
314
381
  intent: "primary",
315
382
  size: "sm",
316
- startIcon: /* @__PURE__ */ s(me, {}),
383
+ startIcon: /* @__PURE__ */ s(he, {}),
317
384
  onClick: A,
318
385
  disabled: !k,
319
386
  children: d("ui.chat.audio.record")
@@ -322,137 +389,69 @@ const Ae = re(
322
389
  M ? /* @__PURE__ */ s(
323
390
  N,
324
391
  {
325
- icon: /* @__PURE__ */ s(ge, {}),
392
+ icon: /* @__PURE__ */ s(ye, {}),
326
393
  "aria-label": d("ui.chat.audio.pause"),
327
394
  intent: "secondary",
328
395
  size: "sm",
329
- onClick: ee
396
+ onClick: te
330
397
  }
331
398
  ) : null,
332
- O ? /* @__PURE__ */ s(
399
+ L ? /* @__PURE__ */ s(
333
400
  N,
334
401
  {
335
- icon: /* @__PURE__ */ s(ve, {}),
402
+ icon: /* @__PURE__ */ s(be, {}),
336
403
  "aria-label": d("ui.chat.audio.resume"),
337
404
  intent: "secondary",
338
405
  size: "sm",
339
- onClick: te
406
+ onClick: ie
340
407
  }
341
408
  ) : null,
342
- M || O ? /* @__PURE__ */ b(ie, { children: [
409
+ M || L ? /* @__PURE__ */ b(re, { children: [
343
410
  /* @__PURE__ */ s(
344
411
  N,
345
412
  {
346
- icon: /* @__PURE__ */ s(ue, {}),
413
+ icon: /* @__PURE__ */ s(me, {}),
347
414
  "aria-label": d("ui.chat.audio.stop"),
348
415
  intent: "primary",
349
416
  size: "sm",
350
- onClick: _
417
+ onClick: q
351
418
  }
352
419
  ),
353
420
  /* @__PURE__ */ s(
354
421
  N,
355
422
  {
356
- icon: /* @__PURE__ */ s(pe, {}),
423
+ icon: /* @__PURE__ */ s(fe, {}),
357
424
  "aria-label": d("ui.chat.audio.cancel"),
358
425
  intent: "ghost",
359
426
  size: "sm",
360
- onClick: q
427
+ onClick: K
361
428
  }
362
429
  )
363
430
  ] }) : null,
364
431
  t.kind === "idle" && C.length > 1 ? /* @__PURE__ */ s("div", { className: "ds:ms-auto ds:min-w-[160px]", children: /* @__PURE__ */ s(
365
- ce,
432
+ ue,
366
433
  {
367
434
  "aria-label": d("ui.chat.audio.selectDevice"),
368
435
  options: C,
369
- value: w,
370
- onValueChange: (e) => E(e),
436
+ value: R,
437
+ onValueChange: (e) => ee(e),
371
438
  size: "sm",
372
439
  clearable: !0
373
440
  }
374
441
  ) }) : null
375
442
  ] }),
376
- L && t.kind === "error" ? /* @__PURE__ */ b(j, { variant: "error", live: "polite", children: [
377
- /* @__PURE__ */ s(j.Description, { children: H }),
378
- t.type === "permission-denied" ? /* @__PURE__ */ s(j.Action, { children: /* @__PURE__ */ s(X, { intent: "ghost", size: "sm", onClick: A, children: d("ui.chat.audio.retry") }) }) : null
443
+ U && t.kind === "error" ? /* @__PURE__ */ b(F, { variant: "error", live: "polite", children: [
444
+ /* @__PURE__ */ s(F.Description, { children: O }),
445
+ t.type === "permission-denied" ? /* @__PURE__ */ s(F.Action, { children: /* @__PURE__ */ s(G, { intent: "ghost", size: "sm", onClick: A, children: d("ui.chat.audio.retry") }) }) : null
379
446
  ] }) : null
380
447
  ]
381
448
  }
382
449
  );
383
450
  }
384
451
  );
385
- Ae.displayName = "AudioRecorder";
386
- const Pe = {
387
- id: "audio-recorder",
388
- capabilities: ["submit"],
389
- state: {
390
- isRecording: {
391
- type: "boolean",
392
- descriptionKey: "ui.agent.audioRecorder.state.isRecording",
393
- description: "True while actively capturing audio (not paused).",
394
- read: (i) => i.isRecording()
395
- },
396
- duration: {
397
- type: "number",
398
- descriptionKey: "ui.agent.audioRecorder.state.duration",
399
- description: "Elapsed recording time in milliseconds (paused time excluded).",
400
- read: (i) => i.getDuration()
401
- },
402
- hasRecording: {
403
- type: "boolean",
404
- descriptionKey: "ui.agent.audioRecorder.state.hasRecording",
405
- description: "True when a completed recording is available for submission.",
406
- read: (i) => i.hasRecording()
407
- }
408
- },
409
- actions: {
410
- start_recording: {
411
- safety: "write",
412
- descriptionKey: "ui.agent.audioRecorder.actions.startRecording",
413
- description: "Request microphone permission and begin recording.",
414
- invoke: (i) => i.startRecording()
415
- },
416
- stop_recording: {
417
- safety: "write",
418
- descriptionKey: "ui.agent.audioRecorder.actions.stopRecording",
419
- description: "Stop the current recording and finalise the blob.",
420
- invoke: (i) => {
421
- i.stopRecording();
422
- }
423
- },
424
- discard: {
425
- safety: "destructive",
426
- descriptionKey: "ui.agent.audioRecorder.actions.discard",
427
- description: "Cancel the recording. Irreversible — the captured audio is dropped.",
428
- invoke: (i) => {
429
- i.discard();
430
- }
431
- },
432
- submit: {
433
- safety: "write",
434
- descriptionKey: "ui.agent.audioRecorder.actions.submit",
435
- description: "Stop the active recording, finalising it via onRecordingComplete.",
436
- invoke: (i) => {
437
- i.stopRecording();
438
- }
439
- }
440
- },
441
- domHooks: {
442
- root: {
443
- attr: "data-component",
444
- value: "audio-recorder",
445
- description: "Marks the AudioRecorder wrapper."
446
- },
447
- instanceId: {
448
- attr: "data-component-id",
449
- sourceProp: "id",
450
- description: "Sourced from the id prop."
451
- }
452
- }
453
- };
452
+ Ne.displayName = "AudioRecorder";
454
453
  export {
455
- Ae as A,
456
- Pe as a
454
+ Ne as A,
455
+ Re as a
457
456
  };
458
- //# sourceMappingURL=audio-recorder.agent--VKeykUp.js.map
457
+ //# sourceMappingURL=audio-recorder-B4U1LuiQ.js.map