@alfadocs/ui-kit-debug 0.30.5 → 0.31.2

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 (542) hide show
  1. package/dist/_chunks/{accordion-CNcodXuO.js → accordion-bSU21uTV.js} +3 -3
  2. package/dist/_chunks/{accordion-CNcodXuO.js.map → accordion-bSU21uTV.js.map} +1 -1
  3. package/dist/_chunks/{agenda-card-DO9_yogb.js → agenda-card-UJA6Arbs.js} +3 -3
  4. package/dist/_chunks/{agenda-card-DO9_yogb.js.map → agenda-card-UJA6Arbs.js.map} +1 -1
  5. package/dist/_chunks/{agenda-tray-WLbfMip6.js → agenda-tray-1fAxNOMz.js} +4 -4
  6. package/dist/_chunks/{agenda-tray-WLbfMip6.js.map → agenda-tray-1fAxNOMz.js.map} +1 -1
  7. package/dist/_chunks/{ai-prompt-input-BXlwNnWe.js → ai-prompt-input-C6sCr1Vi.js} +11 -10
  8. package/dist/_chunks/ai-prompt-input-C6sCr1Vi.js.map +1 -0
  9. package/dist/_chunks/{alia-sidebar-C-232sD7.js → alia-sidebar-BEoMl6UL.js} +9 -9
  10. package/dist/_chunks/{alia-sidebar-C-232sD7.js.map → alia-sidebar-BEoMl6UL.js.map} +1 -1
  11. package/dist/_chunks/ar-CEpIJtcO.js +399 -0
  12. package/dist/_chunks/ar-CEpIJtcO.js.map +1 -0
  13. package/dist/_chunks/{audio-recorder-DL800PE_.js → audio-recorder-C1rhKhSN.js} +114 -114
  14. package/dist/_chunks/audio-recorder-C1rhKhSN.js.map +1 -0
  15. package/dist/_chunks/audio-visualiser-l6zPd0AG.js +162 -0
  16. package/dist/_chunks/audio-visualiser-l6zPd0AG.js.map +1 -0
  17. package/dist/_chunks/{autocomplete-CUh0f7Dj.js → autocomplete-DIgdhCGJ.js} +2 -2
  18. package/dist/_chunks/{autocomplete-CUh0f7Dj.js.map → autocomplete-DIgdhCGJ.js.map} +1 -1
  19. package/dist/_chunks/{avatar-D_H4emLo.js → avatar-BNQNhoyL.js} +19 -18
  20. package/dist/_chunks/avatar-BNQNhoyL.js.map +1 -0
  21. package/dist/_chunks/{badge-CIjQ1Us1.js → badge-CptERaHx.js} +2 -2
  22. package/dist/_chunks/{badge-CIjQ1Us1.js.map → badge-CptERaHx.js.map} +1 -1
  23. package/dist/_chunks/{booking-Cw92aqo3.js → booking-BIZ9GSer.js} +149 -160
  24. package/dist/_chunks/booking-BIZ9GSer.js.map +1 -0
  25. package/dist/_chunks/{breadcrumb--YI7lcHA.js → breadcrumb-CLlhx7qo.js} +2 -2
  26. package/dist/_chunks/{breadcrumb--YI7lcHA.js.map → breadcrumb-CLlhx7qo.js.map} +1 -1
  27. package/dist/_chunks/{button-group-Bh2g_Ng-.js → button-group-Ciq6J4IW.js} +15 -14
  28. package/dist/_chunks/button-group-Ciq6J4IW.js.map +1 -0
  29. package/dist/_chunks/{calendar-WWNx448i.js → calendar-YHFknAGv.js} +22 -22
  30. package/dist/_chunks/{calendar-WWNx448i.js.map → calendar-YHFknAGv.js.map} +1 -1
  31. package/dist/_chunks/calendar-clock-CYkcqdwl.js +19 -0
  32. package/dist/_chunks/calendar-clock-CYkcqdwl.js.map +1 -0
  33. package/dist/_chunks/{carousel.agent-C2Icc9_T.js → carousel.agent-DrX96W-1.js} +2 -2
  34. package/dist/_chunks/{carousel.agent-C2Icc9_T.js.map → carousel.agent-DrX96W-1.js.map} +1 -1
  35. package/dist/_chunks/{chart-BLvFl169.js → chart-DLkVn_ex.js} +2 -2
  36. package/dist/_chunks/{chart-BLvFl169.js.map → chart-DLkVn_ex.js.map} +1 -1
  37. package/dist/_chunks/{chat-container-izziXViv.js → chat-container-ogB4OskO.js} +24 -23
  38. package/dist/_chunks/chat-container-ogB4OskO.js.map +1 -0
  39. package/dist/_chunks/{chat-input-cyl_y9bh.js → chat-input-CQe7nR_v.js} +132 -118
  40. package/dist/_chunks/chat-input-CQe7nR_v.js.map +1 -0
  41. package/dist/_chunks/{chat-message-fg221-yx.js → chat-message-D53_fH2w.js} +2 -2
  42. package/dist/_chunks/{chat-message-fg221-yx.js.map → chat-message-D53_fH2w.js.map} +1 -1
  43. package/dist/_chunks/{checkbox-Dgp_cfUr.js → checkbox-DRcOdmXv.js} +3 -3
  44. package/dist/_chunks/{checkbox-Dgp_cfUr.js.map → checkbox-DRcOdmXv.js.map} +1 -1
  45. package/dist/_chunks/{checkbox-group-eVowqKcT.js → checkbox-group-CpUwlHug.js} +3 -3
  46. package/dist/_chunks/{checkbox-group-eVowqKcT.js.map → checkbox-group-CpUwlHug.js.map} +1 -1
  47. package/dist/_chunks/{collapsible-hHiyZp0b.js → collapsible-CERONory.js} +2 -2
  48. package/dist/_chunks/{collapsible-hHiyZp0b.js.map → collapsible-CERONory.js.map} +1 -1
  49. package/dist/_chunks/{color-picker-Bm-gzpsh.js → color-picker-9tL7pz5y.js} +192 -181
  50. package/dist/_chunks/color-picker-9tL7pz5y.js.map +1 -0
  51. package/dist/_chunks/{combobox-Da9eq00i.js → combobox-BC-DFx8G.js} +31 -30
  52. package/dist/_chunks/combobox-BC-DFx8G.js.map +1 -0
  53. package/dist/_chunks/{command-palette-11BieSNq.js → command-palette-BiPAAno-.js} +125 -123
  54. package/dist/_chunks/command-palette-BiPAAno-.js.map +1 -0
  55. package/dist/_chunks/{copy-field-BAF4mt9h.js → copy-field-CCq7j6Zc.js} +2 -2
  56. package/dist/_chunks/{copy-field-BAF4mt9h.js.map → copy-field-CCq7j6Zc.js.map} +1 -1
  57. package/dist/_chunks/{date-picker-D0Ry1dMz.js → date-picker-B94HAV4A.js} +4 -4
  58. package/dist/_chunks/{date-picker-D0Ry1dMz.js.map → date-picker-B94HAV4A.js.map} +1 -1
  59. package/dist/_chunks/{date-range-picker-DYgHzMOo.js → date-range-picker-D4dgDlLU.js} +73 -73
  60. package/dist/_chunks/date-range-picker-D4dgDlLU.js.map +1 -0
  61. package/dist/_chunks/{date-time-picker-CGmGtcyc.js → date-time-picker-D1GEzf8p.js} +5 -5
  62. package/dist/_chunks/{date-time-picker-CGmGtcyc.js.map → date-time-picker-D1GEzf8p.js.map} +1 -1
  63. package/dist/_chunks/de-Dfbeau59.js +477 -0
  64. package/dist/_chunks/de-Dfbeau59.js.map +1 -0
  65. package/dist/_chunks/{description-list-CWjnaDGn.js → description-list-BEbK2g93.js} +2 -2
  66. package/dist/_chunks/{description-list-CWjnaDGn.js.map → description-list-BEbK2g93.js.map} +1 -1
  67. package/dist/_chunks/{dialog-C-lTGVkB.js → dialog-Cee13rHU.js} +3 -3
  68. package/dist/_chunks/{dialog-C-lTGVkB.js.map → dialog-Cee13rHU.js.map} +1 -1
  69. package/dist/_chunks/{dropdown-menu-DZxwF23X.js → dropdown-menu-BC5ZdOMo.js} +3 -3
  70. package/dist/_chunks/{dropdown-menu-DZxwF23X.js.map → dropdown-menu-BC5ZdOMo.js.map} +1 -1
  71. package/dist/_chunks/{editable-currency-cell-renderer-CztRy_21.js → editable-currency-cell-renderer-BpicmolK.js} +308 -322
  72. package/dist/_chunks/editable-currency-cell-renderer-BpicmolK.js.map +1 -0
  73. package/dist/_chunks/el-Dro3J7CP.js +373 -0
  74. package/dist/_chunks/el-Dro3J7CP.js.map +1 -0
  75. package/dist/_chunks/{email-input-DvJ_kPKL.js → email-input-lQivsFrw.js} +3 -3
  76. package/dist/_chunks/{email-input-DvJ_kPKL.js.map → email-input-lQivsFrw.js.map} +1 -1
  77. package/dist/_chunks/es-Dvg8u70B.js +373 -0
  78. package/dist/_chunks/es-Dvg8u70B.js.map +1 -0
  79. package/dist/_chunks/{file-upload-DxAQprcU.js → file-upload-CdozCPct.js} +226 -233
  80. package/dist/_chunks/file-upload-CdozCPct.js.map +1 -0
  81. package/dist/_chunks/fr-VOGjBSPP.js +338 -0
  82. package/dist/_chunks/fr-VOGjBSPP.js.map +1 -0
  83. package/dist/_chunks/{freemium-paywall-B9c8Ylww.js → freemium-paywall-D1N02Oam.js} +4 -4
  84. package/dist/_chunks/{freemium-paywall-B9c8Ylww.js.map → freemium-paywall-D1N02Oam.js.map} +1 -1
  85. package/dist/_chunks/{header-DDj7uGD-.js → header-CTZWX-tm.js} +2 -2
  86. package/dist/_chunks/{header-DDj7uGD-.js.map → header-CTZWX-tm.js.map} +1 -1
  87. package/dist/_chunks/hi-BSDxWU_y.js +433 -0
  88. package/dist/_chunks/hi-BSDxWU_y.js.map +1 -0
  89. package/dist/_chunks/{icon-button-DPEqBKBQ.js → icon-button-CKEOrN37.js} +2 -2
  90. package/dist/_chunks/{icon-button-DPEqBKBQ.js.map → icon-button-CKEOrN37.js.map} +1 -1
  91. package/dist/_chunks/{icon-button-group-DeV3FpNY.js → icon-button-group-C48khLE0.js} +23 -22
  92. package/dist/_chunks/icon-button-group-C48khLE0.js.map +1 -0
  93. package/dist/_chunks/{isSameDay-DHG8Xade.js → isSameDay-DUEiAT0G.js} +2 -2
  94. package/dist/_chunks/{isSameDay-DHG8Xade.js.map → isSameDay-DUEiAT0G.js.map} +1 -1
  95. package/dist/_chunks/isSameWeek-Dfzu29cW.js +14 -0
  96. package/dist/_chunks/isSameWeek-Dfzu29cW.js.map +1 -0
  97. package/dist/_chunks/it-CuonvcI_.js +401 -0
  98. package/dist/_chunks/it-CuonvcI_.js.map +1 -0
  99. package/dist/_chunks/ja-DO57gIOT.js +366 -0
  100. package/dist/_chunks/ja-DO57gIOT.js.map +1 -0
  101. package/dist/_chunks/{key-value-pair-BvDY3zuc.js → key-value-pair-C8DaR3Xs.js} +2 -2
  102. package/dist/_chunks/{key-value-pair-BvDY3zuc.js.map → key-value-pair-C8DaR3Xs.js.map} +1 -1
  103. package/dist/_chunks/{list-BdvDctBz.js → list-BOwqwy03.js} +44 -43
  104. package/dist/_chunks/list-BOwqwy03.js.map +1 -0
  105. package/dist/_chunks/{locale-picker-CY89MChR.js → locale-picker-D99UyZVJ.js} +4 -4
  106. package/dist/_chunks/{locale-picker-CY89MChR.js.map → locale-picker-D99UyZVJ.js.map} +1 -1
  107. package/dist/_chunks/{map-view-DyB8tr6c.js → map-view-WEWqXzof.js} +569 -557
  108. package/dist/_chunks/{map-view-DyB8tr6c.js.map → map-view-WEWqXzof.js.map} +1 -1
  109. package/dist/_chunks/{message-card-D6iyPacd.js → message-card-BbRhZkDI.js} +3 -3
  110. package/dist/_chunks/{message-card-D6iyPacd.js.map → message-card-BbRhZkDI.js.map} +1 -1
  111. package/dist/_chunks/{message-tray-Bh-0ra-Y.js → message-tray-B762TKuv.js} +11 -10
  112. package/dist/_chunks/message-tray-B762TKuv.js.map +1 -0
  113. package/dist/_chunks/{multi-select-dSe6Xtc4.js → multi-select-DOLO3K_z.js} +26 -25
  114. package/dist/_chunks/multi-select-DOLO3K_z.js.map +1 -0
  115. package/dist/_chunks/{navigation-menu-CyS1fBJ7.js → navigation-menu-C6lBYVv9.js} +3 -3
  116. package/dist/_chunks/{navigation-menu-CyS1fBJ7.js.map → navigation-menu-C6lBYVv9.js.map} +1 -1
  117. package/dist/_chunks/nl-DjPaaWaW.js +326 -0
  118. package/dist/_chunks/nl-DjPaaWaW.js.map +1 -0
  119. package/dist/_chunks/{notification-card-vaMaA7Wa.js → notification-card-DMdO4g54.js} +2 -2
  120. package/dist/_chunks/{notification-card-vaMaA7Wa.js.map → notification-card-DMdO4g54.js.map} +1 -1
  121. package/dist/_chunks/{notification-tray-Cnum6LwM.js → notification-tray-Dl3FTleW.js} +17 -16
  122. package/dist/_chunks/notification-tray-Dl3FTleW.js.map +1 -0
  123. package/dist/_chunks/{number-input-BZXu6bPY.js → number-input-Dj5L3pXK.js} +2 -2
  124. package/dist/_chunks/{number-input-BZXu6bPY.js.map → number-input-Dj5L3pXK.js.map} +1 -1
  125. package/dist/_chunks/{otp-input-BDF_iNpa.js → otp-input-BEg_sn8A.js} +2 -2
  126. package/dist/_chunks/{otp-input-BDF_iNpa.js.map → otp-input-BEg_sn8A.js.map} +1 -1
  127. package/dist/_chunks/{pagination-BWaXF7W0.js → pagination-DQOgnxxw.js} +2 -2
  128. package/dist/_chunks/{pagination-BWaXF7W0.js.map → pagination-DQOgnxxw.js.map} +1 -1
  129. package/dist/_chunks/{parseISO-Dk4xa7q6.js → parseISO-DEpUNwxZ.js} +2 -2
  130. package/dist/_chunks/{parseISO-Dk4xa7q6.js.map → parseISO-DEpUNwxZ.js.map} +1 -1
  131. package/dist/_chunks/{patient-search-ZpHN-pgJ.js → patient-search-hFiYbqcl.js} +8 -8
  132. package/dist/_chunks/{patient-search-ZpHN-pgJ.js.map → patient-search-hFiYbqcl.js.map} +1 -1
  133. package/dist/_chunks/{patient-shell-CYaNkbA1.js → patient-shell-CDvMw_Nk.js} +6 -6
  134. package/dist/_chunks/{patient-shell-CYaNkbA1.js.map → patient-shell-CDvMw_Nk.js.map} +1 -1
  135. package/dist/_chunks/{payment-form-Ds3rxvad.js → payment-form-D5rgnZu7.js} +2 -2
  136. package/dist/_chunks/{payment-form-Ds3rxvad.js.map → payment-form-D5rgnZu7.js.map} +1 -1
  137. package/dist/_chunks/{pdf-viewer-CIuaocnq.js → pdf-viewer-DvtEHcEP.js} +347 -320
  138. package/dist/_chunks/{pdf-viewer-CIuaocnq.js.map → pdf-viewer-DvtEHcEP.js.map} +1 -1
  139. package/dist/_chunks/{phone-input-DKSHX7NQ.js → phone-input-DfZbPPvh.js} +217 -201
  140. package/dist/_chunks/phone-input-DfZbPPvh.js.map +1 -0
  141. package/dist/_chunks/pl-Cl4lOx2N.js +514 -0
  142. package/dist/_chunks/pl-Cl4lOx2N.js.map +1 -0
  143. package/dist/_chunks/{popover-BfHSBEKq.js → popover-Devce-tT.js} +3 -3
  144. package/dist/_chunks/{popover-BfHSBEKq.js.map → popover-Devce-tT.js.map} +1 -1
  145. package/dist/_chunks/practice-results-JQunxBIg.js +1618 -0
  146. package/dist/_chunks/practice-results-JQunxBIg.js.map +1 -0
  147. package/dist/_chunks/{privacy-lock-C6Ra5m3p.js → privacy-lock-DD-wHxBg.js} +3 -3
  148. package/dist/_chunks/{privacy-lock-C6Ra5m3p.js.map → privacy-lock-DD-wHxBg.js.map} +1 -1
  149. package/dist/_chunks/{progress-B-PSO5OS.js → progress-kzIRcdaq.js} +11 -10
  150. package/dist/_chunks/progress-kzIRcdaq.js.map +1 -0
  151. package/dist/_chunks/pt-D7qO5CzD.js +370 -0
  152. package/dist/_chunks/pt-D7qO5CzD.js.map +1 -0
  153. package/dist/_chunks/{public-footer.agent-Bc99tE5Z.js → public-footer.agent-Bh0rnx4i.js} +21 -14
  154. package/dist/_chunks/public-footer.agent-Bh0rnx4i.js.map +1 -0
  155. package/dist/_chunks/{public-header.agent-B-B0WDAi.js → public-header.agent-B2dDg2_d.js} +3 -3
  156. package/dist/_chunks/{public-header.agent-B-B0WDAi.js.map → public-header.agent-B2dDg2_d.js.map} +1 -1
  157. package/dist/_chunks/{radio-i4ogu3cq.js → radio-TWf9Q-mp.js} +2 -2
  158. package/dist/_chunks/{radio-i4ogu3cq.js.map → radio-TWf9Q-mp.js.map} +1 -1
  159. package/dist/_chunks/{radio-group-CTlGc36r.js → radio-group-BcF92GEF.js} +4 -4
  160. package/dist/_chunks/{radio-group-CTlGc36r.js.map → radio-group-BcF92GEF.js.map} +1 -1
  161. package/dist/_chunks/{react-day-picker-D3yzgvDB.js → react-day-picker-DsjfS7uI.js} +662 -615
  162. package/dist/_chunks/{react-day-picker-D3yzgvDB.js.map → react-day-picker-DsjfS7uI.js.map} +1 -1
  163. package/dist/_chunks/recaptcha-widget-CFYyLSEX.js +221 -0
  164. package/dist/_chunks/recaptcha-widget-CFYyLSEX.js.map +1 -0
  165. package/dist/_chunks/refresh-cw-CC8jSKMr.js +17 -0
  166. package/dist/_chunks/refresh-cw-CC8jSKMr.js.map +1 -0
  167. package/dist/_chunks/registry-nPAVE19X.js +21 -0
  168. package/dist/_chunks/registry-nPAVE19X.js.map +1 -0
  169. package/dist/_chunks/{resizable-COV-cnth.js → resizable-3vzqDlg6.js} +29 -28
  170. package/dist/_chunks/resizable-3vzqDlg6.js.map +1 -0
  171. package/dist/_chunks/{reviews-panel-bKEUKSic.js → reviews-panel-yanuBZs-.js} +4 -4
  172. package/dist/_chunks/{reviews-panel-bKEUKSic.js.map → reviews-panel-yanuBZs-.js.map} +1 -1
  173. package/dist/_chunks/{rich-text-editor-J-wAz9eN.js → rich-text-editor-CHmr9Bz8.js} +2 -2
  174. package/dist/_chunks/{rich-text-editor-J-wAz9eN.js.map → rich-text-editor-CHmr9Bz8.js.map} +1 -1
  175. package/dist/_chunks/ro-CP2-VJ_O.js +361 -0
  176. package/dist/_chunks/ro-CP2-VJ_O.js.map +1 -0
  177. package/dist/_chunks/ru-RPn9_Lpq.js +561 -0
  178. package/dist/_chunks/ru-RPn9_Lpq.js.map +1 -0
  179. package/dist/_chunks/{scroll-area-DEDU-lp-.js → scroll-area-BWqCkEGz.js} +2 -2
  180. package/dist/_chunks/{scroll-area-DEDU-lp-.js.map → scroll-area-BWqCkEGz.js.map} +1 -1
  181. package/dist/_chunks/{search-bar-BRMW1-WG.js → search-bar-CP6wUJFY.js} +3 -3
  182. package/dist/_chunks/{search-bar-BRMW1-WG.js.map → search-bar-CP6wUJFY.js.map} +1 -1
  183. package/dist/_chunks/{search-input-CIA6pPfn.js → search-input-C1C3jQpD.js} +24 -23
  184. package/dist/_chunks/search-input-C1C3jQpD.js.map +1 -0
  185. package/dist/_chunks/{select-C92AT_OZ.js → select-hsCaJSX3.js} +3 -3
  186. package/dist/_chunks/{select-C92AT_OZ.js.map → select-hsCaJSX3.js.map} +1 -1
  187. package/dist/_chunks/{sheet-D8Yl0nKR.js → sheet-BV-yuLE2.js} +3 -3
  188. package/dist/_chunks/{sheet-D8Yl0nKR.js.map → sheet-BV-yuLE2.js.map} +1 -1
  189. package/dist/_chunks/{sidebar-DkyC6GvS.js → sidebar-BbR8f6oe.js} +3 -3
  190. package/dist/_chunks/{sidebar-DkyC6GvS.js.map → sidebar-BbR8f6oe.js.map} +1 -1
  191. package/dist/_chunks/{signature-capture-DjMlFOzS.js → signature-capture-C-fF71xI.js} +213 -205
  192. package/dist/_chunks/signature-capture-C-fF71xI.js.map +1 -0
  193. package/dist/_chunks/{slider-CfEzeseL.js → slider-BHWzXdjt.js} +3 -3
  194. package/dist/_chunks/{slider-CfEzeseL.js.map → slider-BHWzXdjt.js.map} +1 -1
  195. package/dist/_chunks/{slot-grid-Q94gVmhn.js → slot-grid-Dz13dH82.js} +4 -4
  196. package/dist/_chunks/{slot-grid-Q94gVmhn.js.map → slot-grid-Dz13dH82.js.map} +1 -1
  197. package/dist/_chunks/smile-BSYLAHy6.js +17 -0
  198. package/dist/_chunks/smile-BSYLAHy6.js.map +1 -0
  199. package/dist/_chunks/{sparkline-B5Ms55PZ.js → sparkline-DEROcSl0.js} +2 -2
  200. package/dist/_chunks/{sparkline-B5Ms55PZ.js.map → sparkline-DEROcSl0.js.map} +1 -1
  201. package/dist/_chunks/sq-AQvefouo.js +355 -0
  202. package/dist/_chunks/sq-AQvefouo.js.map +1 -0
  203. package/dist/_chunks/{stepper-progress-jFY8BSf7.js → stepper-progress-DDjq5nei.js} +16 -15
  204. package/dist/_chunks/stepper-progress-DDjq5nei.js.map +1 -0
  205. package/dist/_chunks/streaming-text-GH07yIYh.js +127 -0
  206. package/dist/_chunks/streaming-text-GH07yIYh.js.map +1 -0
  207. package/dist/_chunks/sv-zkx9eBtD.js +376 -0
  208. package/dist/_chunks/sv-zkx9eBtD.js.map +1 -0
  209. package/dist/_chunks/{switch-D916VW86.js → switch-BJ6HD3Mn.js} +2 -2
  210. package/dist/_chunks/{switch-D916VW86.js.map → switch-BJ6HD3Mn.js.map} +1 -1
  211. package/dist/_chunks/{tabs-aEQfQV3x.js → tabs-BpPYVme_.js} +4 -4
  212. package/dist/_chunks/{tabs-aEQfQV3x.js.map → tabs-BpPYVme_.js.map} +1 -1
  213. package/dist/_chunks/{tag-bBPAvXyh.js → tag-CyoaEmf_.js} +2 -2
  214. package/dist/_chunks/{tag-bBPAvXyh.js.map → tag-CyoaEmf_.js.map} +1 -1
  215. package/dist/_chunks/{task-tray-6NlryfMJ.js → task-tray-DRK0b0Qb.js} +3 -3
  216. package/dist/_chunks/{task-tray-6NlryfMJ.js.map → task-tray-DRK0b0Qb.js.map} +1 -1
  217. package/dist/_chunks/{text-area-D5GAe8pV.js → text-area-BIx0tZ05.js} +27 -26
  218. package/dist/_chunks/text-area-BIx0tZ05.js.map +1 -0
  219. package/dist/_chunks/{text-input-CakysYnD.js → text-input-BaClJL8Y.js} +2 -2
  220. package/dist/_chunks/{text-input-CakysYnD.js.map → text-input-BaClJL8Y.js.map} +1 -1
  221. package/dist/_chunks/{theme-toggle-JoeMs_ws.js → theme-toggle-DpC28kt5.js} +6 -6
  222. package/dist/_chunks/{theme-toggle-JoeMs_ws.js.map → theme-toggle-DpC28kt5.js.map} +1 -1
  223. package/dist/_chunks/{time-picker-DeVZkIY2.js → time-picker-B5umYwfv.js} +2 -2
  224. package/dist/_chunks/{time-picker-DeVZkIY2.js.map → time-picker-B5umYwfv.js.map} +1 -1
  225. package/dist/_chunks/{timeline-CR7HjZCK.js → timeline-D0Wo7v_o.js} +3 -3
  226. package/dist/_chunks/{timeline-CR7HjZCK.js.map → timeline-D0Wo7v_o.js.map} +1 -1
  227. package/dist/_chunks/{toast.agent-DVpKt38p.js → toast.agent-WHHfw5VX.js} +322 -320
  228. package/dist/_chunks/{toast.agent-DVpKt38p.js.map → toast.agent-WHHfw5VX.js.map} +1 -1
  229. package/dist/_chunks/{tooltip-ClJd0ciy.js → tooltip-DvmfrNvB.js} +29 -20
  230. package/dist/_chunks/tooltip-DvmfrNvB.js.map +1 -0
  231. package/dist/_chunks/{tooth-scheme-3mITSXiZ.js → tooth-scheme-CxlsLjfN.js} +2 -2
  232. package/dist/_chunks/{tooth-scheme-3mITSXiZ.js.map → tooth-scheme-CxlsLjfN.js.map} +1 -1
  233. package/dist/_chunks/tr-Dmr412Ac.js +378 -0
  234. package/dist/_chunks/tr-Dmr412Ac.js.map +1 -0
  235. package/dist/_chunks/{transaction-chip-z9ENE50O.js → transaction-chip-B8ujzowA.js} +47 -60
  236. package/dist/_chunks/transaction-chip-B8ujzowA.js.map +1 -0
  237. package/dist/_chunks/{transcript-panel-QUQ9XJmf.js → transcript-panel-DyhTpAP7.js} +21 -20
  238. package/dist/_chunks/transcript-panel-DyhTpAP7.js.map +1 -0
  239. package/dist/_chunks/{use-direction-D6rvvG9G.js → use-direction-Dp8h70PP.js} +7 -6
  240. package/dist/_chunks/use-direction-Dp8h70PP.js.map +1 -0
  241. package/dist/_chunks/use-isomorphic-layout-effect-BGfaCOP1.js +6 -0
  242. package/dist/_chunks/use-isomorphic-layout-effect-BGfaCOP1.js.map +1 -0
  243. package/dist/_chunks/use-media-query-CcAx5SMM.js +16 -0
  244. package/dist/_chunks/use-media-query-CcAx5SMM.js.map +1 -0
  245. package/dist/_chunks/{use-password-requirements-E0sSfx5X.js → use-password-requirements-DsgduV1x.js} +3 -3
  246. package/dist/_chunks/{use-password-requirements-E0sSfx5X.js.map → use-password-requirements-DsgduV1x.js.map} +1 -1
  247. package/dist/_chunks/use-scroll-to-first-error-4Za-u5Nw.js +43 -0
  248. package/dist/_chunks/use-scroll-to-first-error-4Za-u5Nw.js.map +1 -0
  249. package/dist/_chunks/{workflow-map-DlWBJJBt.js → workflow-map-BSvQS3be.js} +6 -6
  250. package/dist/_chunks/{workflow-map-DlWBJJBt.js.map → workflow-map-BSvQS3be.js.map} +1 -1
  251. package/dist/_chunks/zh-CN-DxVt64Zk.js +388 -0
  252. package/dist/_chunks/zh-CN-DxVt64Zk.js.map +1 -0
  253. package/dist/agent/registry.d.ts +1 -6
  254. package/dist/agent/registry.d.ts.map +1 -1
  255. package/dist/agent-catalog.json +42 -1
  256. package/dist/components/_shared/date-locale.d.ts +7 -2
  257. package/dist/components/_shared/date-locale.d.ts.map +1 -1
  258. package/dist/components/_shared/index.d.ts +1 -1
  259. package/dist/components/_shared/index.d.ts.map +1 -1
  260. package/dist/components/accordion/index.js +1 -1
  261. package/dist/components/agenda-card/index.js +1 -1
  262. package/dist/components/agenda-tray/index.js +1 -1
  263. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  264. package/dist/components/ai-prompt-input/index.js +1 -1
  265. package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -1
  266. package/dist/components/audio-recorder/index.js +1 -1
  267. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -1
  268. package/dist/components/audio-visualiser/index.js +1 -1
  269. package/dist/components/autocomplete/index.js +1 -1
  270. package/dist/components/avatar/avatar.d.ts.map +1 -1
  271. package/dist/components/avatar/index.js +1 -1
  272. package/dist/components/badge/index.js +1 -1
  273. package/dist/components/booking/index.js +1 -1
  274. package/dist/components/breadcrumb/index.js +1 -1
  275. package/dist/components/button/index.js +1 -1
  276. package/dist/components/button-group/button-group.d.ts.map +1 -1
  277. package/dist/components/button-group/index.js +1 -1
  278. package/dist/components/calendar/calendar.d.ts.map +1 -1
  279. package/dist/components/calendar/index.js +1 -1
  280. package/dist/components/carousel/index.js +1 -1
  281. package/dist/components/chart/index.js +1 -1
  282. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  283. package/dist/components/chat-container/index.js +1 -1
  284. package/dist/components/chat-input/chat-input.d.ts.map +1 -1
  285. package/dist/components/chat-input/index.js +1 -1
  286. package/dist/components/chat-message/index.js +1 -1
  287. package/dist/components/checkbox/index.js +1 -1
  288. package/dist/components/checkbox-group/index.js +1 -1
  289. package/dist/components/collapsible/index.js +1 -1
  290. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  291. package/dist/components/color-picker/index.js +1 -1
  292. package/dist/components/combobox/combobox.d.ts.map +1 -1
  293. package/dist/components/combobox/index.js +1 -1
  294. package/dist/components/command-palette/command-palette.d.ts.map +1 -1
  295. package/dist/components/command-palette/index.js +1 -1
  296. package/dist/components/copy-field/index.js +1 -1
  297. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -1
  298. package/dist/components/data-table/data-table.d.ts.map +1 -1
  299. package/dist/components/data-table/index.js +1 -1
  300. package/dist/components/date-picker/index.js +1 -1
  301. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  302. package/dist/components/date-range-picker/index.js +1 -1
  303. package/dist/components/date-time-picker/index.js +1 -1
  304. package/dist/components/description-list/index.js +1 -1
  305. package/dist/components/dialog/index.js +1 -1
  306. package/dist/components/dropdown-menu/index.js +1 -1
  307. package/dist/components/email-input/index.js +1 -1
  308. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  309. package/dist/components/file-upload/index.js +1 -1
  310. package/dist/components/freemium-paywall/index.js +1 -1
  311. package/dist/components/header/index.js +1 -1
  312. package/dist/components/header-settings/index.js +6 -6
  313. package/dist/components/icon-button/index.js +1 -1
  314. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  315. package/dist/components/icon-button-group/index.js +1 -1
  316. package/dist/components/index.d.ts +1 -0
  317. package/dist/components/index.d.ts.map +1 -1
  318. package/dist/components/key-value-pair/index.js +1 -1
  319. package/dist/components/list/index.js +1 -1
  320. package/dist/components/list/list.d.ts.map +1 -1
  321. package/dist/components/locale-picker/index.js +1 -1
  322. package/dist/components/map-view/index.js +1 -1
  323. package/dist/components/map-view/map-view.d.ts +10 -0
  324. package/dist/components/map-view/map-view.d.ts.map +1 -1
  325. package/dist/components/message-card/index.js +1 -1
  326. package/dist/components/message-tray/index.js +1 -1
  327. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  328. package/dist/components/multi-select/index.js +1 -1
  329. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  330. package/dist/components/navigation-menu/index.js +1 -1
  331. package/dist/components/notification-card/index.js +1 -1
  332. package/dist/components/notification-tray/index.js +1 -1
  333. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  334. package/dist/components/number-input/index.js +1 -1
  335. package/dist/components/otp-input/index.js +1 -1
  336. package/dist/components/pagination/index.js +1 -1
  337. package/dist/components/password-input/index.js +1 -1
  338. package/dist/components/patient-search/index.js +1 -1
  339. package/dist/components/payment-form/index.js +1 -1
  340. package/dist/components/pdf-viewer/index.js +1 -1
  341. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  342. package/dist/components/phone-input/index.js +1 -1
  343. package/dist/components/phone-input/phone-input.d.ts.map +1 -1
  344. package/dist/components/popover/index.js +1 -1
  345. package/dist/components/practice-results/index.d.ts +4 -0
  346. package/dist/components/practice-results/index.d.ts.map +1 -0
  347. package/dist/components/practice-results/index.js +6 -0
  348. package/dist/components/practice-results/index.js.map +1 -0
  349. package/dist/components/practice-results/practice-results.agent.d.ts +4 -0
  350. package/dist/components/practice-results/practice-results.agent.d.ts.map +1 -0
  351. package/dist/components/practice-results/practice-results.d.ts +159 -0
  352. package/dist/components/practice-results/practice-results.d.ts.map +1 -0
  353. package/dist/components/privacy-lock/index.js +1 -1
  354. package/dist/components/progress/index.js +1 -1
  355. package/dist/components/progress/progress.d.ts.map +1 -1
  356. package/dist/components/public-footer/index.js +1 -1
  357. package/dist/components/public-footer/public-footer.d.ts.map +1 -1
  358. package/dist/components/public-header/index.js +1 -1
  359. package/dist/components/radio/index.js +1 -1
  360. package/dist/components/radio-group/index.js +2 -2
  361. package/dist/components/recaptcha-widget/index.js +1 -1
  362. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -1
  363. package/dist/components/resizable/index.js +1 -1
  364. package/dist/components/resizable/resizable.d.ts.map +1 -1
  365. package/dist/components/reviews-panel/index.js +1 -1
  366. package/dist/components/rich-text-editor/index.js +1 -1
  367. package/dist/components/scroll-area/index.js +1 -1
  368. package/dist/components/search-bar/index.js +1 -1
  369. package/dist/components/search-input/index.js +1 -1
  370. package/dist/components/select/index.js +1 -1
  371. package/dist/components/sheet/index.js +1 -1
  372. package/dist/components/sidebar/index.js +1 -1
  373. package/dist/components/signature-capture/index.js +1 -1
  374. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  375. package/dist/components/slider/index.js +1 -1
  376. package/dist/components/slot-grid/index.js +1 -1
  377. package/dist/components/sparkline/index.js +1 -1
  378. package/dist/components/stepper-progress/index.js +1 -1
  379. package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -1
  380. package/dist/components/streaming-text/index.js +1 -1
  381. package/dist/components/streaming-text/streaming-text.d.ts.map +1 -1
  382. package/dist/components/switch/index.js +1 -1
  383. package/dist/components/tabs/index.js +1 -1
  384. package/dist/components/tag/index.js +1 -1
  385. package/dist/components/task-tray/index.js +1 -1
  386. package/dist/components/text-area/index.js +1 -1
  387. package/dist/components/text-area/text-area.d.ts.map +1 -1
  388. package/dist/components/text-input/index.js +1 -1
  389. package/dist/components/theme-toggle/index.js +1 -1
  390. package/dist/components/time-picker/index.js +1 -1
  391. package/dist/components/timeline/index.js +1 -1
  392. package/dist/components/toast/index.js +1 -1
  393. package/dist/components/toast/toast.d.ts.map +1 -1
  394. package/dist/components/tooltip/index.js +1 -1
  395. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  396. package/dist/components/tooth-scheme/index.js +1 -1
  397. package/dist/components/transaction-chip/index.js +1 -1
  398. package/dist/components/transcript-panel/index.js +1 -1
  399. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  400. package/dist/components/workflow/index.js +1 -1
  401. package/dist/hooks/index.js +69 -66
  402. package/dist/hooks/index.js.map +1 -1
  403. package/dist/hooks/use-debounced-value.d.ts.map +1 -1
  404. package/dist/hooks/use-direction.d.ts.map +1 -1
  405. package/dist/hooks/use-focus-trap.d.ts.map +1 -1
  406. package/dist/hooks/use-scroll-to-first-error.d.ts.map +1 -1
  407. package/dist/i18n/locales/ar.d.ts +92 -0
  408. package/dist/i18n/locales/ar.d.ts.map +1 -1
  409. package/dist/i18n/locales/ar.js +82 -0
  410. package/dist/i18n/locales/ar.js.map +1 -1
  411. package/dist/i18n/locales/de.d.ts +92 -0
  412. package/dist/i18n/locales/de.d.ts.map +1 -1
  413. package/dist/i18n/locales/de.js +81 -0
  414. package/dist/i18n/locales/de.js.map +1 -1
  415. package/dist/i18n/locales/el.d.ts +92 -0
  416. package/dist/i18n/locales/el.d.ts.map +1 -1
  417. package/dist/i18n/locales/el.js +82 -0
  418. package/dist/i18n/locales/el.js.map +1 -1
  419. package/dist/i18n/locales/en.d.ts +92 -0
  420. package/dist/i18n/locales/en.d.ts.map +1 -1
  421. package/dist/i18n/locales/en.js +92 -0
  422. package/dist/i18n/locales/en.js.map +1 -1
  423. package/dist/i18n/locales/es.d.ts +92 -0
  424. package/dist/i18n/locales/es.d.ts.map +1 -1
  425. package/dist/i18n/locales/es.js +81 -0
  426. package/dist/i18n/locales/es.js.map +1 -1
  427. package/dist/i18n/locales/fr.d.ts +92 -0
  428. package/dist/i18n/locales/fr.d.ts.map +1 -1
  429. package/dist/i18n/locales/fr.js +81 -0
  430. package/dist/i18n/locales/fr.js.map +1 -1
  431. package/dist/i18n/locales/hi.d.ts +92 -0
  432. package/dist/i18n/locales/hi.d.ts.map +1 -1
  433. package/dist/i18n/locales/hi.js +82 -0
  434. package/dist/i18n/locales/hi.js.map +1 -1
  435. package/dist/i18n/locales/it.d.ts +92 -0
  436. package/dist/i18n/locales/it.d.ts.map +1 -1
  437. package/dist/i18n/locales/it.js +81 -0
  438. package/dist/i18n/locales/it.js.map +1 -1
  439. package/dist/i18n/locales/ja.d.ts +92 -0
  440. package/dist/i18n/locales/ja.d.ts.map +1 -1
  441. package/dist/i18n/locales/ja.js +82 -0
  442. package/dist/i18n/locales/ja.js.map +1 -1
  443. package/dist/i18n/locales/nl.d.ts +92 -0
  444. package/dist/i18n/locales/nl.d.ts.map +1 -1
  445. package/dist/i18n/locales/nl.js +81 -0
  446. package/dist/i18n/locales/nl.js.map +1 -1
  447. package/dist/i18n/locales/pl.d.ts +92 -0
  448. package/dist/i18n/locales/pl.d.ts.map +1 -1
  449. package/dist/i18n/locales/pl.js +82 -0
  450. package/dist/i18n/locales/pl.js.map +1 -1
  451. package/dist/i18n/locales/pt.d.ts +92 -0
  452. package/dist/i18n/locales/pt.d.ts.map +1 -1
  453. package/dist/i18n/locales/pt.js +83 -0
  454. package/dist/i18n/locales/pt.js.map +1 -1
  455. package/dist/i18n/locales/ro.d.ts +92 -0
  456. package/dist/i18n/locales/ro.d.ts.map +1 -1
  457. package/dist/i18n/locales/ro.js +82 -0
  458. package/dist/i18n/locales/ro.js.map +1 -1
  459. package/dist/i18n/locales/ru.d.ts +92 -0
  460. package/dist/i18n/locales/ru.d.ts.map +1 -1
  461. package/dist/i18n/locales/ru.js +82 -0
  462. package/dist/i18n/locales/ru.js.map +1 -1
  463. package/dist/i18n/locales/sq.d.ts +92 -0
  464. package/dist/i18n/locales/sq.d.ts.map +1 -1
  465. package/dist/i18n/locales/sq.js +82 -0
  466. package/dist/i18n/locales/sq.js.map +1 -1
  467. package/dist/i18n/locales/sv.d.ts +92 -0
  468. package/dist/i18n/locales/sv.d.ts.map +1 -1
  469. package/dist/i18n/locales/sv.js +82 -0
  470. package/dist/i18n/locales/sv.js.map +1 -1
  471. package/dist/i18n/locales/tr.d.ts +92 -0
  472. package/dist/i18n/locales/tr.d.ts.map +1 -1
  473. package/dist/i18n/locales/tr.js +82 -0
  474. package/dist/i18n/locales/tr.js.map +1 -1
  475. package/dist/i18n/locales/zh.d.ts +92 -0
  476. package/dist/i18n/locales/zh.d.ts.map +1 -1
  477. package/dist/i18n/locales/zh.js +82 -0
  478. package/dist/i18n/locales/zh.js.map +1 -1
  479. package/dist/index.js +532 -528
  480. package/dist/index.js.map +1 -1
  481. package/dist/locales/ar.json +92 -0
  482. package/dist/locales/de.json +92 -0
  483. package/dist/locales/el.json +92 -0
  484. package/dist/locales/en.json +92 -0
  485. package/dist/locales/es.json +92 -0
  486. package/dist/locales/fr.json +92 -0
  487. package/dist/locales/hi.json +92 -0
  488. package/dist/locales/it.json +92 -0
  489. package/dist/locales/ja.json +92 -0
  490. package/dist/locales/nl.json +92 -0
  491. package/dist/locales/pl.json +92 -0
  492. package/dist/locales/pt.json +92 -0
  493. package/dist/locales/ro.json +92 -0
  494. package/dist/locales/ru.json +92 -0
  495. package/dist/locales/sq.json +92 -0
  496. package/dist/locales/sv.json +92 -0
  497. package/dist/locales/tr.json +92 -0
  498. package/dist/locales/zh.json +92 -0
  499. package/dist/patterns/alia-assistant/index.js +1 -1
  500. package/dist/patterns/patient-shell/index.js +1 -1
  501. package/dist/tokens.css +1 -1
  502. package/package.json +5 -2
  503. package/dist/_chunks/ai-prompt-input-BXlwNnWe.js.map +0 -1
  504. package/dist/_chunks/audio-recorder-DL800PE_.js.map +0 -1
  505. package/dist/_chunks/audio-visualiser-I-T4Z7EU.js +0 -145
  506. package/dist/_chunks/audio-visualiser-I-T4Z7EU.js.map +0 -1
  507. package/dist/_chunks/avatar-D_H4emLo.js.map +0 -1
  508. package/dist/_chunks/booking-Cw92aqo3.js.map +0 -1
  509. package/dist/_chunks/button-group-Bh2g_Ng-.js.map +0 -1
  510. package/dist/_chunks/chat-container-izziXViv.js.map +0 -1
  511. package/dist/_chunks/chat-input-cyl_y9bh.js.map +0 -1
  512. package/dist/_chunks/color-picker-Bm-gzpsh.js.map +0 -1
  513. package/dist/_chunks/combobox-Da9eq00i.js.map +0 -1
  514. package/dist/_chunks/command-palette-11BieSNq.js.map +0 -1
  515. package/dist/_chunks/date-range-picker-DYgHzMOo.js.map +0 -1
  516. package/dist/_chunks/editable-currency-cell-renderer-CztRy_21.js.map +0 -1
  517. package/dist/_chunks/file-upload-DxAQprcU.js.map +0 -1
  518. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +0 -1
  519. package/dist/_chunks/list-BdvDctBz.js.map +0 -1
  520. package/dist/_chunks/message-tray-Bh-0ra-Y.js.map +0 -1
  521. package/dist/_chunks/multi-select-dSe6Xtc4.js.map +0 -1
  522. package/dist/_chunks/notification-tray-Cnum6LwM.js.map +0 -1
  523. package/dist/_chunks/phone-input-DKSHX7NQ.js.map +0 -1
  524. package/dist/_chunks/progress-B-PSO5OS.js.map +0 -1
  525. package/dist/_chunks/public-footer.agent-Bc99tE5Z.js.map +0 -1
  526. package/dist/_chunks/recaptcha-widget-BtBNb6tB.js +0 -192
  527. package/dist/_chunks/recaptcha-widget-BtBNb6tB.js.map +0 -1
  528. package/dist/_chunks/registry-C9nwlNyL.js +0 -21
  529. package/dist/_chunks/registry-C9nwlNyL.js.map +0 -1
  530. package/dist/_chunks/resizable-COV-cnth.js.map +0 -1
  531. package/dist/_chunks/search-input-CIA6pPfn.js.map +0 -1
  532. package/dist/_chunks/signature-capture-DjMlFOzS.js.map +0 -1
  533. package/dist/_chunks/stepper-progress-jFY8BSf7.js.map +0 -1
  534. package/dist/_chunks/streaming-text-BgjCTVOw.js +0 -105
  535. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +0 -1
  536. package/dist/_chunks/text-area-D5GAe8pV.js.map +0 -1
  537. package/dist/_chunks/tooltip-ClJd0ciy.js.map +0 -1
  538. package/dist/_chunks/transaction-chip-z9ENE50O.js.map +0 -1
  539. package/dist/_chunks/transcript-panel-QUQ9XJmf.js.map +0 -1
  540. package/dist/_chunks/use-direction-D6rvvG9G.js.map +0 -1
  541. package/dist/_chunks/use-scroll-to-first-error-BrK7dKB_.js +0 -55
  542. package/dist/_chunks/use-scroll-to-first-error-BrK7dKB_.js.map +0 -1
@@ -1,44 +1,44 @@
1
- import { jsxs as b, jsx as s, Fragment as ie } 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-DPEqBKBQ.js";
7
- import { S as ue } from "./select-C92AT_OZ.js";
8
- import { A as pe } from "./audio-visualiser-I-T4Z7EU.js";
1
+ import { jsxs as R, jsx as s, Fragment as se } from "react/jsx-runtime";
2
+ import { forwardRef as ne, useReducer as ae, useState as x, useRef as l, useEffect as N, useCallback as h, useMemo as de, useImperativeHandle as ce } from "react";
3
+ import { c as oe } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as ue } from "react-i18next";
5
+ import { B as J } from "./button-DD_0Xdmr.js";
6
+ import { I as D } from "./icon-button-CKEOrN37.js";
7
+ import { S as pe } from "./select-hsCaJSX3.js";
8
+ import { A as le } from "./audio-visualiser-l6zPd0AG.js";
9
9
  import { A as F } from "./alert-ywPR59NE.js";
10
- import { u as le } from "./registry-C9nwlNyL.js";
10
+ import { u as me } from "./registry-nPAVE19X.js";
11
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";
12
+ import { S as fe } from "./square-CZoGU14v.js";
13
+ import { X as ge } from "./x-CCcI3eJp.js";
14
14
  /**
15
15
  * @license lucide-react v1.8.0 - ISC
16
16
  *
17
17
  * This source code is licensed under the ISC license.
18
18
  * See the LICENSE file in the root directory of this source tree.
19
19
  */
20
- const ge = [
20
+ const he = [
21
21
  ["path", { d: "M12 19v3", key: "npa21l" }],
22
22
  ["path", { d: "M19 10v2a7 7 0 0 1-14 0v-2", key: "1vc78b" }],
23
23
  ["rect", { x: "9", y: "2", width: "6", height: "13", rx: "3", key: "s6n7sd" }]
24
- ], he = V("mic", ge);
24
+ ], ve = V("mic", he);
25
25
  /**
26
26
  * @license lucide-react v1.8.0 - ISC
27
27
  *
28
28
  * This source code is licensed under the ISC license.
29
29
  * See the LICENSE file in the root directory of this source tree.
30
30
  */
31
- const ve = [
31
+ const ye = [
32
32
  ["rect", { x: "14", y: "3", width: "5", height: "18", rx: "1", key: "kaeet6" }],
33
33
  ["rect", { x: "5", y: "3", width: "5", height: "18", rx: "1", key: "1wsw3u" }]
34
- ], ye = V("pause", ve);
34
+ ], ke = V("pause", ye);
35
35
  /**
36
36
  * @license lucide-react v1.8.0 - ISC
37
37
  *
38
38
  * This source code is licensed under the ISC license.
39
39
  * See the LICENSE file in the root directory of this source tree.
40
40
  */
41
- const ke = [
41
+ const be = [
42
42
  [
43
43
  "path",
44
44
  {
@@ -46,7 +46,7 @@ const ke = [
46
46
  key: "10ikf1"
47
47
  }
48
48
  ]
49
- ], be = V("play", ke), Re = {
49
+ ], Re = V("play", be), we = {
50
50
  id: "audio-recorder",
51
51
  capabilities: ["submit"],
52
52
  state: {
@@ -114,7 +114,7 @@ const ke = [
114
114
  }
115
115
  }
116
116
  };
117
- function we(r, u) {
117
+ function Me(r, u) {
118
118
  switch (u.type) {
119
119
  case "request":
120
120
  return { kind: "requesting" };
@@ -145,7 +145,7 @@ function we(r, u) {
145
145
  return r;
146
146
  }
147
147
  }
148
- const Ae = ce(
148
+ const Ae = oe(
149
149
  [
150
150
  "ds:inline-flex ds:flex-col ds:items-stretch ds:gap-[var(--spacing-sm)]",
151
151
  "ds:rounded-[var(--radius-md)] ds:border ds:border-border",
@@ -162,71 +162,71 @@ const Ae = ce(
162
162
  },
163
163
  defaultVariants: { size: "md" }
164
164
  }
165
- ), Me = [
165
+ ), xe = [
166
166
  "audio/webm;codecs=opus",
167
167
  "audio/webm",
168
168
  "audio/mp4",
169
169
  "audio/ogg;codecs=opus"
170
170
  ];
171
- function xe() {
171
+ function Ne() {
172
172
  if (!(typeof MediaRecorder > "u")) {
173
- for (const r of Me)
173
+ for (const r of xe)
174
174
  if (MediaRecorder.isTypeSupported(r)) return r;
175
175
  }
176
176
  }
177
177
  function De(r, u) {
178
- const l = Math.max(0, Math.floor(r / 1e3)), i = Math.floor(l / 60), f = l % 60, v = (S) => new Intl.NumberFormat(u, { minimumIntegerDigits: 2 }).format(S);
178
+ const m = Math.max(0, Math.floor(r / 1e3)), i = Math.floor(m / 60), f = m % 60, v = (S) => new Intl.NumberFormat(u, { minimumIntegerDigits: 2 }).format(S);
179
179
  return `${v(i)}:${v(f)}`;
180
180
  }
181
- const Ne = se(
181
+ const Se = ne(
182
182
  ({
183
183
  size: r = "md",
184
184
  onRecordingComplete: u,
185
- onCancel: l,
185
+ onCancel: m,
186
186
  onError: i,
187
187
  maxDurationMs: f = 1800 * 1e3,
188
188
  maxBytes: v = 250 * 1024 * 1024,
189
189
  className: S,
190
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";
193
- D(() => {
191
+ }, Q) => {
192
+ const { t: d, i18n: W } = ue(), [t, p] = ae(Me, { kind: "idle" }), [z, T] = x(null), [Y, Z] = x(Date.now()), [E, ee] = x([]), [w, te] = x(""), c = l(null), y = l([]), _ = l(0), $ = l(0), g = l(null), B = l(!1), k = l(!1), H = l(0), b = typeof MediaRecorder < "u";
193
+ N(() => {
194
194
  var e;
195
- !k || !((e = navigator.mediaDevices) != null && e.enumerateDevices) || navigator.mediaDevices.enumerateDevices().then((a) => {
196
- const o = a.filter((n) => n.kind === "audioinput");
197
- E(o);
195
+ !b || !((e = navigator.mediaDevices) != null && e.enumerateDevices) || navigator.mediaDevices.enumerateDevices().then((n) => {
196
+ const o = n.filter((a) => a.kind === "audioinput");
197
+ ee(o);
198
198
  }).catch(() => {
199
199
  });
200
- }, [k]), D(() => {
200
+ }, [b]), N(() => {
201
201
  if (t.kind !== "recording") return;
202
- const e = window.setInterval(() => Y(Date.now()), 250);
202
+ const e = window.setInterval(() => Z(Date.now()), 250);
203
203
  return () => window.clearInterval(e);
204
204
  }, [t.kind]);
205
- const H = h(() => {
205
+ const C = h(() => {
206
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 () => {
209
- if (!k) {
207
+ e == null || e.getTracks().forEach((n) => n.stop()), g.current = null, T(null);
208
+ }, [z]), M = h(async () => {
209
+ if (!b) {
210
210
  p({ type: "error", kind: "unsupported" }), i == null || i("unsupported");
211
211
  return;
212
212
  }
213
- p({ type: "request" }), w.current = !1;
213
+ p({ type: "request" }), k.current = !1;
214
214
  try {
215
215
  const e = await navigator.mediaDevices.getUserMedia({
216
- audio: R ? { deviceId: { exact: R } } : !0
216
+ audio: w ? { deviceId: { exact: w } } : !0
217
217
  });
218
- if (B.current) {
219
- e.getTracks().forEach((n) => n.stop());
218
+ if (B.current || k.current) {
219
+ e.getTracks().forEach((a) => a.stop());
220
220
  return;
221
221
  }
222
222
  g.current = e, T(e);
223
- const a = xe(), o = new MediaRecorder(
223
+ const n = Ne(), o = new MediaRecorder(
224
224
  e,
225
- a ? { mimeType: a } : void 0
225
+ n ? { mimeType: n } : void 0
226
226
  );
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")) {
227
+ c.current = o, y.current = [], _.current = 0, o.ondataavailable = (a) => {
228
+ var G;
229
+ if (a.data && a.data.size > 0 && (y.current.push(a.data), _.current += a.data.size, typeof v == "number" && _.current >= v && ((G = c.current) == null ? void 0 : G.state) === "recording")) {
230
230
  i == null || i("max-size");
231
231
  try {
232
232
  c.current.stop();
@@ -234,29 +234,29 @@ const Ne = se(
234
234
  }
235
235
  }
236
236
  }, o.onstop = () => {
237
- if (!w.current) {
238
- const n = new Blob(y.current, {
239
- type: a ?? "audio/webm"
237
+ if (!k.current) {
238
+ const a = new Blob(y.current, {
239
+ type: n ?? "audio/webm"
240
240
  });
241
- u == null || u(n, $.current);
241
+ u == null || u(a, $.current);
242
242
  }
243
- y.current = [], c.current = null, e.getTracks().forEach((n) => n.stop()), g.current = null, T(null), w.current = !1;
244
- }, o.start(1e3), p({ type: "start" });
243
+ y.current = [], c.current = null, e.getTracks().forEach((a) => a.stop()), g.current = null, T(null), k.current = !1;
244
+ }, H.current = performance.now(), o.start(1e3), p({ type: "start" });
245
245
  } catch (e) {
246
- const a = e instanceof Error ? e.name : "";
247
- a === "NotAllowedError" || a === "SecurityError" ? (p({ type: "error", kind: "permission-denied" }), i == null || i("permission-denied")) : a === "NotFoundError" || a === "OverconstrainedError" ? (p({ type: "error", kind: "no-device" }), i == null || i("no-device")) : (p({ type: "error", kind: "capture-failed" }), i == null || i("capture-failed"));
246
+ const n = e instanceof Error ? e.name : "";
247
+ n === "NotAllowedError" || n === "SecurityError" ? (p({ type: "error", kind: "permission-denied" }), i == null || i("permission-denied")) : n === "NotFoundError" || n === "OverconstrainedError" ? (p({ type: "error", kind: "no-device" }), i == null || i("no-device")) : (p({ type: "error", kind: "capture-failed" }), i == null || i("capture-failed"));
248
248
  }
249
- }, [i, u, R, k]), te = h(() => {
249
+ }, [i, u, w, b]), re = h(() => {
250
250
  var e;
251
251
  (e = c.current) == null || e.pause(), p({ type: "pause" });
252
- }, []), re = h(() => {
252
+ }, []), ie = h(() => {
253
253
  var e;
254
254
  (e = c.current) == null || e.resume(), p({ type: "resume" });
255
255
  }, []), q = h(() => {
256
256
  var e;
257
257
  if (t.kind === "recording" || t.kind === "paused") {
258
- const a = t.startedAt, o = t.pausedMs, n = Date.now() - a - o;
259
- $.current = Math.max(0, n), p({ type: "stop", duration: n });
258
+ const n = t.startedAt, o = t.pausedMs, a = Date.now() - n - o;
259
+ $.current = Math.max(0, a), p({ type: "stop", duration: a });
260
260
  }
261
261
  try {
262
262
  (e = c.current) == null || e.stop();
@@ -264,51 +264,51 @@ const Ne = se(
264
264
  }
265
265
  }, [t]), K = h(() => {
266
266
  var e;
267
- w.current = !0;
267
+ k.current = !0;
268
268
  try {
269
269
  (e = c.current) == null || e.stop();
270
270
  } catch {
271
271
  }
272
- y.current = [], c.current = null, H(), p({ type: "cancel" }), l == null || l();
273
- }, [H, l]);
274
- D(() => {
272
+ y.current = [], c.current = null, C(), p({ type: "cancel" }), m == null || m();
273
+ }, [C, m]);
274
+ N(() => {
275
275
  if (t.kind !== "recording" || typeof f != "number" || f <= 0) return;
276
- const e = Date.now() - t.startedAt - t.pausedMs, a = Math.max(0, f - e), o = window.setTimeout(() => {
277
- var n;
278
- if (((n = c.current) == null ? void 0 : n.state) === "recording") {
276
+ const e = performance.now() - H.current - t.pausedMs, n = Math.max(0, f - e), o = window.setTimeout(() => {
277
+ var a;
278
+ if (((a = c.current) == null ? void 0 : a.state) === "recording") {
279
279
  i == null || i("max-duration");
280
280
  try {
281
281
  c.current.stop();
282
282
  } catch {
283
283
  }
284
284
  }
285
- }, a);
285
+ }, n);
286
286
  return () => window.clearTimeout(o);
287
- }, [t, f, i]), D(() => () => {
288
- var e, a;
287
+ }, [t, f, i]), N(() => () => {
288
+ var e, n;
289
289
  B.current = !0;
290
290
  try {
291
291
  (e = c.current) == null || e.stop();
292
292
  } catch {
293
293
  }
294
- (a = g.current) == null || a.getTracks().forEach((o) => o.stop()), g.current = null;
294
+ (n = g.current) == null || n.getTracks().forEach((o) => o.stop()), g.current = null;
295
295
  }, []);
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(
296
+ const j = t.kind === "recording" ? Y - t.startedAt - t.pausedMs : t.kind === "paused" ? t.pausedAt - t.startedAt - t.pausedMs : t.kind === "stopped" ? t.duration : 0, P = de(
297
297
  () => ({
298
298
  isRecording: () => t.kind === "recording",
299
299
  getDuration: () => j,
300
300
  hasRecording: () => t.kind === "stopped",
301
- startRecording: () => A(),
301
+ startRecording: () => M(),
302
302
  stopRecording: () => q(),
303
303
  discard: () => K()
304
304
  }),
305
- [t, j, A, q, K]
305
+ [t, j, M, q, K]
306
306
  );
307
- de(J, () => P, [P]), le(Re, P, I.id);
308
- const C = Z.map((e) => ({
307
+ ce(Q, () => P, [P]), me(we, P, I.id);
308
+ const O = E.map((e) => ({
309
309
  value: e.deviceId,
310
310
  label: e.label || d("chat.audio.selectDevice")
311
- })), O = (() => {
311
+ })), L = (() => {
312
312
  switch (t.kind) {
313
313
  case "idle":
314
314
  return d("chat.audio.idle");
@@ -323,8 +323,8 @@ const Ne = se(
323
323
  case "error":
324
324
  return t.type === "permission-denied" ? d("chat.audio.permissionDenied") : t.type === "unsupported" ? d("chat.audio.unsupported") : d("chat.audio.idle");
325
325
  }
326
- })(), M = t.kind === "recording", L = t.kind === "paused", U = t.kind === "error";
327
- return /* @__PURE__ */ b(
326
+ })(), A = t.kind === "recording", U = t.kind === "paused", X = t.kind === "error";
327
+ return /* @__PURE__ */ R(
328
328
  "div",
329
329
  {
330
330
  "data-component": "audio-recorder",
@@ -332,16 +332,16 @@ const Ne = se(
332
332
  className: Ae({ size: r, className: S }),
333
333
  ...I,
334
334
  children: [
335
- /* @__PURE__ */ b("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
335
+ /* @__PURE__ */ R("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
336
336
  /* @__PURE__ */ s(
337
337
  "span",
338
338
  {
339
339
  "aria-hidden": "true",
340
340
  className: [
341
341
  "ds:relative ds:inline-flex ds:size-3 ds:items-center ds:justify-center ds:rounded-[var(--radius-full)]",
342
- M ? "ds:bg-[color:var(--destructive)]" : "ds:bg-[color:var(--muted)]"
342
+ A ? "ds:bg-[color:var(--destructive)]" : "ds:bg-[color:var(--muted)]"
343
343
  ].join(" "),
344
- children: M ? /* @__PURE__ */ s(
344
+ children: A ? /* @__PURE__ */ s(
345
345
  "span",
346
346
  {
347
347
  className: [
@@ -355,7 +355,7 @@ const Ne = se(
355
355
  }
356
356
  ),
357
357
  /* @__PURE__ */ s(
358
- pe,
358
+ le,
359
359
  {
360
360
  stream: z,
361
361
  size: "sm",
@@ -369,48 +369,48 @@ const Ne = se(
369
369
  dir: "ltr",
370
370
  "aria-hidden": "true",
371
371
  className: "ds:tabular-nums type-meta ds:text-[color:var(--muted-foreground)]",
372
- children: De(j, Q.language)
372
+ children: De(j, W.language)
373
373
  }
374
374
  )
375
375
  ] }),
376
- /* @__PURE__ */ s("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: O }),
377
- /* @__PURE__ */ b("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
378
- t.kind === "idle" || t.kind === "stopped" || U ? /* @__PURE__ */ s(
379
- G,
376
+ /* @__PURE__ */ s("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: L }),
377
+ /* @__PURE__ */ R("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
378
+ t.kind === "idle" || t.kind === "stopped" || X ? /* @__PURE__ */ s(
379
+ J,
380
380
  {
381
381
  intent: "primary",
382
382
  size: "sm",
383
- startIcon: /* @__PURE__ */ s(he, {}),
384
- onClick: A,
385
- disabled: !k,
383
+ startIcon: /* @__PURE__ */ s(ve, {}),
384
+ onClick: M,
385
+ disabled: !b,
386
386
  children: d("chat.audio.record")
387
387
  }
388
388
  ) : null,
389
- M ? /* @__PURE__ */ s(
390
- N,
389
+ A ? /* @__PURE__ */ s(
390
+ D,
391
391
  {
392
- icon: /* @__PURE__ */ s(ye, {}),
392
+ icon: /* @__PURE__ */ s(ke, {}),
393
393
  "aria-label": d("chat.audio.pause"),
394
394
  intent: "secondary",
395
395
  size: "sm",
396
- onClick: te
396
+ onClick: re
397
397
  }
398
398
  ) : null,
399
- L ? /* @__PURE__ */ s(
400
- N,
399
+ U ? /* @__PURE__ */ s(
400
+ D,
401
401
  {
402
- icon: /* @__PURE__ */ s(be, {}),
402
+ icon: /* @__PURE__ */ s(Re, {}),
403
403
  "aria-label": d("chat.audio.resume"),
404
404
  intent: "secondary",
405
405
  size: "sm",
406
- onClick: re
406
+ onClick: ie
407
407
  }
408
408
  ) : null,
409
- M || L ? /* @__PURE__ */ b(ie, { children: [
409
+ A || U ? /* @__PURE__ */ R(se, { children: [
410
410
  /* @__PURE__ */ s(
411
- N,
411
+ D,
412
412
  {
413
- icon: /* @__PURE__ */ s(me, {}),
413
+ icon: /* @__PURE__ */ s(fe, {}),
414
414
  "aria-label": d("chat.audio.stop"),
415
415
  intent: "primary",
416
416
  size: "sm",
@@ -418,9 +418,9 @@ const Ne = se(
418
418
  }
419
419
  ),
420
420
  /* @__PURE__ */ s(
421
- N,
421
+ D,
422
422
  {
423
- icon: /* @__PURE__ */ s(fe, {}),
423
+ icon: /* @__PURE__ */ s(ge, {}),
424
424
  "aria-label": d("chat.audio.cancel"),
425
425
  intent: "ghost",
426
426
  size: "sm",
@@ -428,30 +428,30 @@ const Ne = se(
428
428
  }
429
429
  )
430
430
  ] }) : null,
431
- t.kind === "idle" && C.length > 1 ? /* @__PURE__ */ s("div", { className: "ds:ms-auto ds:min-w-[160px]", children: /* @__PURE__ */ s(
432
- ue,
431
+ t.kind === "idle" && O.length > 1 ? /* @__PURE__ */ s("div", { className: "ds:ms-auto ds:min-w-[160px]", children: /* @__PURE__ */ s(
432
+ pe,
433
433
  {
434
434
  "aria-label": d("chat.audio.selectDevice"),
435
- options: C,
436
- value: R,
437
- onValueChange: (e) => ee(e),
435
+ options: O,
436
+ value: w,
437
+ onValueChange: (e) => te(e),
438
438
  size: "sm",
439
439
  clearable: !0
440
440
  }
441
441
  ) }) : null
442
442
  ] }),
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("chat.audio.retry") }) }) : null
443
+ X && t.kind === "error" ? /* @__PURE__ */ R(F, { variant: "error", live: "polite", children: [
444
+ /* @__PURE__ */ s(F.Description, { children: L }),
445
+ t.type === "permission-denied" ? /* @__PURE__ */ s(F.Action, { children: /* @__PURE__ */ s(J, { intent: "ghost", size: "sm", onClick: M, children: d("chat.audio.retry") }) }) : null
446
446
  ] }) : null
447
447
  ]
448
448
  }
449
449
  );
450
450
  }
451
451
  );
452
- Ne.displayName = "AudioRecorder";
452
+ Se.displayName = "AudioRecorder";
453
453
  export {
454
- Ne as A,
455
- Re as a
454
+ Se as A,
455
+ we as a
456
456
  };
457
- //# sourceMappingURL=audio-recorder-DL800PE_.js.map
457
+ //# sourceMappingURL=audio-recorder-C1rhKhSN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-recorder-C1rhKhSN.js","sources":["../../node_modules/lucide-react/dist/esm/icons/mic.js","../../node_modules/lucide-react/dist/esm/icons/pause.js","../../node_modules/lucide-react/dist/esm/icons/play.js","../../src/components/audio-recorder/audio-recorder.agent.ts","../../src/components/audio-recorder/audio-recorder.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 19v3\", key: \"npa21l\" }],\n [\"path\", { d: \"M19 10v2a7 7 0 0 1-14 0v-2\", key: \"1vc78b\" }],\n [\"rect\", { x: \"9\", y: \"2\", width: \"6\", height: \"13\", rx: \"3\", key: \"s6n7sd\" }]\n];\nconst Mic = createLucideIcon(\"mic\", __iconNode);\n\nexport { __iconNode, Mic as default };\n//# sourceMappingURL=mic.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { x: \"14\", y: \"3\", width: \"5\", height: \"18\", rx: \"1\", key: \"kaeet6\" }],\n [\"rect\", { x: \"5\", y: \"3\", width: \"5\", height: \"18\", rx: \"1\", key: \"1wsw3u\" }]\n];\nconst Pause = createLucideIcon(\"pause\", __iconNode);\n\nexport { __iconNode, Pause as default };\n//# sourceMappingURL=pause.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\",\n key: \"10ikf1\"\n }\n ]\n];\nconst Play = createLucideIcon(\"play\", __iconNode);\n\nexport { __iconNode, Play as default };\n//# sourceMappingURL=play.js.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — AudioRecorder. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { AudioRecorderHandle } from './audio-recorder';\n\nexport const audioRecorderAgent: AgentAdapter<AudioRecorderHandle> = {\n id: 'audio-recorder',\n capabilities: ['submit'],\n state: {\n isRecording: {\n type: 'boolean',\n descriptionKey: 'ui.agent.audioRecorder.state.isRecording',\n description: 'True while actively capturing audio (not paused).',\n read: (handle) => handle.isRecording(),\n },\n duration: {\n type: 'number',\n descriptionKey: 'ui.agent.audioRecorder.state.duration',\n description:\n 'Elapsed recording time in milliseconds (paused time excluded).',\n read: (handle) => handle.getDuration(),\n },\n hasRecording: {\n type: 'boolean',\n descriptionKey: 'ui.agent.audioRecorder.state.hasRecording',\n description:\n 'True when a completed recording is available for submission.',\n read: (handle) => handle.hasRecording(),\n },\n },\n actions: {\n start_recording: {\n safety: 'write',\n descriptionKey: 'ui.agent.audioRecorder.actions.startRecording',\n description: 'Request microphone permission and begin recording.',\n invoke: (handle) => handle.startRecording(),\n },\n stop_recording: {\n safety: 'write',\n descriptionKey: 'ui.agent.audioRecorder.actions.stopRecording',\n description: 'Stop the current recording and finalise the blob.',\n invoke: (handle) => {\n handle.stopRecording();\n },\n },\n discard: {\n safety: 'destructive',\n descriptionKey: 'ui.agent.audioRecorder.actions.discard',\n description:\n 'Cancel the recording. Irreversible — the captured audio is dropped.',\n invoke: (handle) => {\n handle.discard();\n },\n },\n submit: {\n safety: 'write',\n descriptionKey: 'ui.agent.audioRecorder.actions.submit',\n description:\n 'Stop the active recording, finalising it via onRecordingComplete.',\n invoke: (handle) => {\n handle.stopRecording();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'audio-recorder',\n description: 'Marks the AudioRecorder wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n useState,\n type HTMLAttributes,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Mic, Pause, Play, Square, X } from 'lucide-react';\nimport { IconButton, Button } from '../button';\nimport { Select, type SelectOption } from '../select/select';\nimport { AudioVisualiser } from '../audio-visualiser';\nimport { Alert } from '../alert';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { audioRecorderAgent } from './audio-recorder.agent';\n\ntype State =\n | { kind: 'idle' }\n | { kind: 'requesting' }\n | { kind: 'recording'; startedAt: number; pausedMs: number }\n | { kind: 'paused'; startedAt: number; pausedMs: number; pausedAt: number }\n | { kind: 'stopped'; duration: number }\n | {\n kind: 'error';\n type:\n | 'permission-denied'\n | 'no-device'\n | 'unsupported'\n | 'capture-failed';\n };\n\ntype Action =\n | { type: 'request' }\n | { type: 'start' }\n | { type: 'pause' }\n | { type: 'resume' }\n | { type: 'stop'; duration: number }\n | { type: 'cancel' }\n | {\n type: 'error';\n kind:\n | 'permission-denied'\n | 'no-device'\n | 'unsupported'\n | 'capture-failed';\n }\n | { type: 'reset' };\n\nfunction reducer(state: State, action: Action): State {\n switch (action.type) {\n case 'request':\n return { kind: 'requesting' };\n case 'start':\n return { kind: 'recording', startedAt: Date.now(), pausedMs: 0 };\n case 'pause':\n if (state.kind !== 'recording') return state;\n return {\n kind: 'paused',\n startedAt: state.startedAt,\n pausedMs: state.pausedMs,\n pausedAt: Date.now(),\n };\n case 'resume':\n if (state.kind !== 'paused') return state;\n return {\n kind: 'recording',\n startedAt: state.startedAt,\n pausedMs: state.pausedMs + (Date.now() - state.pausedAt),\n };\n case 'stop':\n return { kind: 'stopped', duration: action.duration };\n case 'cancel':\n return { kind: 'idle' };\n case 'error':\n return { kind: 'error', type: action.kind };\n case 'reset':\n return { kind: 'idle' };\n default:\n return state;\n }\n}\n\nconst rootVariants = cva(\n [\n 'ds:inline-flex ds:flex-col ds:items-stretch ds:gap-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-border',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'ds:bg-background',\n ].join(' '),\n {\n variants: {\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\nconst MIME_PREFERENCES = [\n 'audio/webm;codecs=opus',\n 'audio/webm',\n 'audio/mp4',\n 'audio/ogg;codecs=opus',\n];\n\nfunction pickMimeType(): string | undefined {\n if (typeof MediaRecorder === 'undefined') return undefined;\n for (const mime of MIME_PREFERENCES) {\n if (MediaRecorder.isTypeSupported(mime)) return mime;\n }\n return undefined;\n}\n\nfunction formatTimer(ms: number, locale: string): string {\n const total = Math.max(0, Math.floor(ms / 1000));\n const minutes = Math.floor(total / 60);\n const seconds = total % 60;\n const fmt = (n: number) =>\n new Intl.NumberFormat(locale, { minimumIntegerDigits: 2 }).format(n);\n return `${fmt(minutes)}:${fmt(seconds)}`;\n}\n\n/** Curated imperative handle for agent / external automation. */\nexport interface AudioRecorderHandle {\n isRecording: () => boolean;\n getDuration: () => number;\n hasRecording: () => boolean;\n startRecording: () => Promise<void> | void;\n stopRecording: () => void;\n discard: () => void;\n}\n\nexport interface AudioRecorderProps\n extends\n Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onError'>,\n VariantProps<typeof rootVariants> {\n /** Called on stop with the final blob + duration in ms. */\n onRecordingComplete?: (blob: Blob, durationMs: number) => void;\n /** Called when recording is cancelled. */\n onCancel?: () => void;\n /** Called when an error occurs. */\n onError?: (\n error:\n | 'permission-denied'\n | 'no-device'\n | 'unsupported'\n | 'capture-failed'\n | 'max-duration'\n | 'max-size',\n ) => void;\n /**\n * Auto-stop after this many milliseconds of active recording. Default\n * 30 minutes. Set `null` to disable.\n */\n maxDurationMs?: number | null;\n /**\n * Auto-stop when the accumulated blob chunks exceed this many bytes.\n * Default 250 MB. Set `null` to disable.\n */\n maxBytes?: number | null;\n}\n\nexport const AudioRecorder = forwardRef<\n AudioRecorderHandle,\n AudioRecorderProps\n>(\n (\n {\n size = 'md',\n onRecordingComplete,\n onCancel,\n onError,\n maxDurationMs = 30 * 60 * 1000,\n maxBytes = 250 * 1024 * 1024,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const [state, dispatch] = useReducer(reducer, { kind: 'idle' });\n const [stream, setStream] = useState<MediaStream | null>(null);\n const [now, setNow] = useState<number>(Date.now());\n const [devices, setDevices] = useState<MediaDeviceInfo[]>([]);\n const [selectedDeviceId, setSelectedDeviceId] = useState<string>('');\n\n const recorderRef = useRef<MediaRecorder | null>(null);\n const chunksRef = useRef<Blob[]>([]);\n // Running total of bytes accumulated in `chunksRef` — reading\n // `chunksRef.current.reduce(...)` on every ondataavailable scales\n // poorly; maintain the sum incrementally instead.\n const byteCountRef = useRef<number>(0);\n const durationAtStopRef = useRef<number>(0);\n // Tracks the *currently-held* MediaStream in a ref so the unmount\n // cleanup effect (which closes over [] deps) sees the latest value.\n // Without this, a unmount while getUserMedia is pending would never\n // stop() tracks and the browser mic indicator stays on.\n const streamRef = useRef<MediaStream | null>(null);\n // Flips to true on unmount; consulted inside the getUserMedia promise\n // resolution so we don't try to setStream() on a dead component and\n // so the freshly-acquired tracks get released immediately.\n const unmountedRef = useRef<boolean>(false);\n // Flips to true when cancel() is called; the onstop handler reads it\n // so `onRecordingComplete` is NOT invoked on a cancel path with a blank\n // blob. Reset on each recording start.\n const cancelledRef = useRef<boolean>(false);\n // Monotonic `performance.now()` start timestamp for the max-duration\n // timer. Wall-clock `Date.now()` jumps on NTP / timezone changes.\n const perfStartRef = useRef<number>(0);\n\n const supported = typeof MediaRecorder !== 'undefined';\n\n /* ── Enumerate devices once (after any prior permission grant) ── */\n useEffect(() => {\n if (!supported || !navigator.mediaDevices?.enumerateDevices) return;\n navigator.mediaDevices\n .enumerateDevices()\n .then((list) => {\n const mics = list.filter((d) => d.kind === 'audioinput');\n setDevices(mics);\n })\n .catch(() => {\n /* ignore */\n });\n }, [supported]);\n\n /* ── Timer tick ── */\n useEffect(() => {\n if (state.kind !== 'recording') return;\n const handle = window.setInterval(() => setNow(Date.now()), 250);\n return () => window.clearInterval(handle);\n }, [state.kind]);\n\n const cleanupStream = useCallback(() => {\n const held = streamRef.current ?? stream;\n held?.getTracks().forEach((t) => t.stop());\n streamRef.current = null;\n setStream(null);\n }, [stream]);\n\n const requestAndStart = useCallback(async () => {\n if (!supported) {\n dispatch({ type: 'error', kind: 'unsupported' });\n onError?.('unsupported');\n return;\n }\n dispatch({ type: 'request' });\n cancelledRef.current = false;\n try {\n const nextStream = await navigator.mediaDevices.getUserMedia({\n audio: selectedDeviceId\n ? { deviceId: { exact: selectedDeviceId } }\n : true,\n });\n // Guard against unmount OR a cancel() between the permission prompt\n // and resolution — otherwise the freshly-acquired tracks leak and the\n // browser's mic indicator stays live, secretly capturing audio.\n if (unmountedRef.current || cancelledRef.current) {\n nextStream.getTracks().forEach((tr) => tr.stop());\n return;\n }\n streamRef.current = nextStream;\n setStream(nextStream);\n const mimeType = pickMimeType();\n const recorder = new MediaRecorder(\n nextStream,\n mimeType ? { mimeType } : undefined,\n );\n recorderRef.current = recorder;\n chunksRef.current = [];\n byteCountRef.current = 0;\n recorder.ondataavailable = (event) => {\n if (event.data && event.data.size > 0) {\n chunksRef.current.push(event.data);\n byteCountRef.current += event.data.size;\n // Byte-cap: auto-stop if the recording would exceed maxBytes.\n // Cheaper than summing on every tick; stop once and bail.\n if (\n typeof maxBytes === 'number' &&\n byteCountRef.current >= maxBytes &&\n recorderRef.current?.state === 'recording'\n ) {\n onError?.('max-size');\n try {\n recorderRef.current.stop();\n } catch {\n /* ignore */\n }\n }\n }\n };\n recorder.onstop = () => {\n // Cancel path: drop the blob on the floor — consumers who called\n // cancel() must not receive a silent empty recording.\n if (!cancelledRef.current) {\n const blob = new Blob(chunksRef.current, {\n type: mimeType ?? 'audio/webm',\n });\n onRecordingComplete?.(blob, durationAtStopRef.current);\n }\n chunksRef.current = [];\n recorderRef.current = null;\n nextStream.getTracks().forEach((tr) => tr.stop());\n streamRef.current = null;\n setStream(null);\n cancelledRef.current = false;\n };\n perfStartRef.current = performance.now();\n recorder.start(1000);\n dispatch({ type: 'start' });\n } catch (err: unknown) {\n const errorName = err instanceof Error ? err.name : '';\n if (errorName === 'NotAllowedError' || errorName === 'SecurityError') {\n dispatch({ type: 'error', kind: 'permission-denied' });\n onError?.('permission-denied');\n } else if (\n errorName === 'NotFoundError' ||\n errorName === 'OverconstrainedError'\n ) {\n dispatch({ type: 'error', kind: 'no-device' });\n onError?.('no-device');\n } else {\n dispatch({ type: 'error', kind: 'capture-failed' });\n onError?.('capture-failed');\n }\n }\n }, [onError, onRecordingComplete, selectedDeviceId, supported]);\n\n const pause = useCallback(() => {\n recorderRef.current?.pause();\n dispatch({ type: 'pause' });\n }, []);\n\n const resume = useCallback(() => {\n recorderRef.current?.resume();\n dispatch({ type: 'resume' });\n }, []);\n\n const stop = useCallback(() => {\n if (state.kind === 'recording' || state.kind === 'paused') {\n const started = state.startedAt;\n const pausedMs = state.pausedMs;\n const duration = Date.now() - started - pausedMs;\n durationAtStopRef.current = Math.max(0, duration);\n dispatch({ type: 'stop', duration: duration });\n }\n try {\n recorderRef.current?.stop();\n } catch {\n /* stop() throws on non-recording state; safe to swallow */\n }\n }, [state]);\n\n const cancel = useCallback(() => {\n // Flip the cancelled flag BEFORE asking MediaRecorder to stop so the\n // async onstop handler sees it and skips onRecordingComplete.\n cancelledRef.current = true;\n try {\n recorderRef.current?.stop();\n } catch {\n /* ignore */\n }\n chunksRef.current = [];\n recorderRef.current = null;\n cleanupStream();\n dispatch({ type: 'cancel' });\n onCancel?.();\n }, [cleanupStream, onCancel]);\n\n /* ── Max-duration auto-stop ── */\n useEffect(() => {\n if (state.kind !== 'recording') return;\n if (typeof maxDurationMs !== 'number' || maxDurationMs <= 0) return;\n // Use the monotonic clock so an NTP / timezone jump mid-recording\n // doesn't skew the remaining-time calc.\n const alreadyElapsed =\n performance.now() - perfStartRef.current - state.pausedMs;\n const remaining = Math.max(0, maxDurationMs - alreadyElapsed);\n const handle = window.setTimeout(() => {\n if (recorderRef.current?.state === 'recording') {\n onError?.('max-duration');\n try {\n recorderRef.current.stop();\n } catch {\n /* ignore */\n }\n }\n }, remaining);\n return () => window.clearTimeout(handle);\n }, [state, maxDurationMs, onError]);\n\n /* ── Unmount cleanup: release mic if still held ── */\n useEffect(() => {\n return () => {\n unmountedRef.current = true;\n try {\n recorderRef.current?.stop();\n } catch {\n /* ignore */\n }\n // Use streamRef so we see a stream that was acquired by an\n // in-flight getUserMedia resolution — not just the one captured\n // by the closure at mount.\n streamRef.current?.getTracks().forEach((tr) => tr.stop());\n streamRef.current = null;\n };\n }, []);\n\n const elapsedMs =\n state.kind === 'recording'\n ? now - state.startedAt - state.pausedMs\n : state.kind === 'paused'\n ? state.pausedAt - state.startedAt - state.pausedMs\n : state.kind === 'stopped'\n ? state.duration\n : 0;\n\n const agentHandle = useMemo<AudioRecorderHandle>(\n () => ({\n isRecording: () => state.kind === 'recording',\n getDuration: () => elapsedMs,\n hasRecording: () => state.kind === 'stopped',\n startRecording: () => requestAndStart(),\n stopRecording: () => stop(),\n discard: () => cancel(),\n }),\n [state, elapsedMs, requestAndStart, stop, cancel],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(audioRecorderAgent, agentHandle, rest.id);\n\n const deviceOptions: SelectOption<string>[] = devices.map((d) => ({\n value: d.deviceId,\n label: d.label || t('chat.audio.selectDevice'),\n }));\n\n const statusText = (() => {\n switch (state.kind) {\n case 'idle':\n return t('chat.audio.idle');\n case 'requesting':\n return t('common.loading');\n case 'recording':\n return t('chat.audio.recording');\n case 'paused':\n return t('chat.audio.paused');\n case 'stopped':\n return t('chat.audio.idle');\n case 'error':\n if (state.type === 'permission-denied')\n return t('chat.audio.permissionDenied');\n if (state.type === 'unsupported') return t('chat.audio.unsupported');\n return t('chat.audio.idle');\n }\n })();\n\n const isRecording = state.kind === 'recording';\n const isPaused = state.kind === 'paused';\n const hasError = state.kind === 'error';\n\n return (\n <div\n data-component=\"audio-recorder\"\n data-component-id={rest.id}\n className={rootVariants({ size, className })}\n {...rest}\n >\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span\n aria-hidden=\"true\"\n className={[\n 'ds:relative ds:inline-flex ds:size-3 ds:items-center ds:justify-center ds:rounded-[var(--radius-full)]',\n isRecording\n ? 'ds:bg-[color:var(--destructive)]'\n : 'ds:bg-[color:var(--muted)]',\n ].join(' ')}\n >\n {isRecording ? (\n <span\n className={[\n 'ds:absolute ds:inset-0 ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)]',\n 'ds:motion-safe:animate-[recorder-pulse_1.2s_ease-out_infinite]',\n 'ds:[.theme-accessible_&]:animate-none',\n ].join(' ')}\n />\n ) : null}\n </span>\n <AudioVisualiser\n stream={stream}\n size=\"sm\"\n aria-hidden=\"true\"\n className=\"ds:flex-1\"\n />\n <time\n dir=\"ltr\"\n aria-hidden=\"true\"\n className=\"ds:tabular-nums type-meta ds:text-[color:var(--muted-foreground)]\"\n >\n {formatTimer(elapsedMs, i18n.language)}\n </time>\n </div>\n\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {statusText}\n </span>\n\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n {state.kind === 'idle' || state.kind === 'stopped' || hasError ? (\n <Button\n intent=\"primary\"\n size=\"sm\"\n startIcon={<Mic />}\n onClick={requestAndStart}\n disabled={!supported}\n >\n {t('chat.audio.record')}\n </Button>\n ) : null}\n {isRecording ? (\n <IconButton\n icon={<Pause />}\n aria-label={t('chat.audio.pause')}\n intent=\"secondary\"\n size=\"sm\"\n onClick={pause}\n />\n ) : null}\n {isPaused ? (\n <IconButton\n icon={<Play />}\n aria-label={t('chat.audio.resume')}\n intent=\"secondary\"\n size=\"sm\"\n onClick={resume}\n />\n ) : null}\n {isRecording || isPaused ? (\n <>\n <IconButton\n icon={<Square />}\n aria-label={t('chat.audio.stop')}\n intent=\"primary\"\n size=\"sm\"\n onClick={stop}\n />\n <IconButton\n icon={<X />}\n aria-label={t('chat.audio.cancel')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={cancel}\n />\n </>\n ) : null}\n {state.kind === 'idle' && deviceOptions.length > 1 ? (\n <div className=\"ds:ms-auto ds:min-w-[160px]\">\n <Select\n aria-label={t('chat.audio.selectDevice')}\n options={deviceOptions}\n value={selectedDeviceId}\n onValueChange={(v) => setSelectedDeviceId(v)}\n size=\"sm\"\n clearable\n />\n </div>\n ) : null}\n </div>\n\n {hasError && state.kind === 'error' ? (\n <Alert variant=\"error\" live=\"polite\">\n <Alert.Description>{statusText}</Alert.Description>\n {state.type === 'permission-denied' ? (\n <Alert.Action>\n <Button intent=\"ghost\" size=\"sm\" onClick={requestAndStart}>\n {t('chat.audio.retry')}\n </Button>\n </Alert.Action>\n ) : null}\n </Alert>\n ) : null}\n </div>\n );\n },\n);\n\nAudioRecorder.displayName = 'AudioRecorder';\n"],"names":["__iconNode","Mic","createLucideIcon","Pause","Play","audioRecorderAgent","handle","reducer","state","action","rootVariants","cva","MIME_PREFERENCES","pickMimeType","mime","formatTimer","ms","locale","total","minutes","seconds","fmt","n","AudioRecorder","forwardRef","size","onRecordingComplete","onCancel","onError","maxDurationMs","maxBytes","className","rest","ref","t","i18n","useTranslation","dispatch","useReducer","stream","setStream","useState","now","setNow","devices","setDevices","selectedDeviceId","setSelectedDeviceId","recorderRef","useRef","chunksRef","byteCountRef","durationAtStopRef","streamRef","unmountedRef","cancelledRef","perfStartRef","supported","useEffect","_a","list","mics","d","cleanupStream","useCallback","held","requestAndStart","nextStream","tr","mimeType","recorder","event","blob","err","errorName","pause","resume","stop","started","pausedMs","duration","cancel","alreadyElapsed","remaining","_b","elapsedMs","agentHandle","useMemo","useImperativeHandle","useAgentRegistration","deviceOptions","statusText","isRecording","isPaused","hasError","jsxs","jsx","AudioVisualiser","Button","IconButton","Fragment","Square","X","Select","v","Alert"],"mappings":"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","x_google_ignoreList":[0,1,2]}