@alfadocs/ui-kit-debug 0.1.8 → 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 (984) hide show
  1. package/README.md +30 -0
  2. package/dist/_chunks/accordion-DOmxGEWU.js +228 -0
  3. package/dist/_chunks/accordion-DOmxGEWU.js.map +1 -0
  4. package/dist/_chunks/{agenda-card-DIWDvWum.js → agenda-card-CalZqycc.js} +13 -3
  5. package/dist/_chunks/agenda-card-CalZqycc.js.map +1 -0
  6. package/dist/_chunks/agenda-card.agent-B_R47-c9.js +22 -0
  7. package/dist/_chunks/agenda-card.agent-B_R47-c9.js.map +1 -0
  8. package/dist/_chunks/agenda-tray-3ffFDQZC.js +181 -0
  9. package/dist/_chunks/agenda-tray-3ffFDQZC.js.map +1 -0
  10. package/dist/_chunks/ai-prompt-input-BBiDlEIS.js +476 -0
  11. package/dist/_chunks/ai-prompt-input-BBiDlEIS.js.map +1 -0
  12. package/dist/_chunks/{alert-BlOUMkXj.js → alert-B1sj8Ss0.js} +24 -14
  13. package/dist/_chunks/alert-B1sj8Ss0.js.map +1 -0
  14. package/dist/_chunks/{apexcharts-theme-BkSShpEy.js → apexcharts-theme-BJigns_V.js} +7 -2
  15. package/dist/_chunks/{apexcharts-theme-BkSShpEy.js.map → apexcharts-theme-BJigns_V.js.map} +1 -1
  16. package/dist/_chunks/{app-frame-6d7Lu4ea.js → app-frame-CDJOgPXe.js} +7 -16
  17. package/dist/_chunks/app-frame-CDJOgPXe.js.map +1 -0
  18. package/dist/_chunks/{aspect-ratio-CxsdG8vk.js → aspect-ratio-DeSNzASA.js} +12 -12
  19. package/dist/_chunks/aspect-ratio-DeSNzASA.js.map +1 -0
  20. package/dist/_chunks/audio-recorder-B4U1LuiQ.js +457 -0
  21. package/dist/_chunks/audio-recorder-B4U1LuiQ.js.map +1 -0
  22. package/dist/_chunks/{audio-visualiser-CeMPCZkd.js → audio-visualiser-ByDEFLNm.js} +25 -19
  23. package/dist/_chunks/audio-visualiser-ByDEFLNm.js.map +1 -0
  24. package/dist/_chunks/autocomplete-D4oUZbsP.js +466 -0
  25. package/dist/_chunks/autocomplete-D4oUZbsP.js.map +1 -0
  26. package/dist/_chunks/avatar-Dcr6XuDQ.js.map +1 -1
  27. package/dist/_chunks/{badge-mrstWxve.js → badge-DKFbntoa.js} +16 -13
  28. package/dist/_chunks/badge-DKFbntoa.js.map +1 -0
  29. package/dist/_chunks/{balance-cell-renderer-BWm3knY9.js → balance-cell-renderer-B8zgIM-m.js} +64 -45
  30. package/dist/_chunks/balance-cell-renderer-B8zgIM-m.js.map +1 -0
  31. package/dist/_chunks/breadcrumb-D1snXjPb.js +379 -0
  32. package/dist/_chunks/breadcrumb-D1snXjPb.js.map +1 -0
  33. package/dist/_chunks/{button-7mLWcMp_.js → button-DD_0Xdmr.js} +12 -2
  34. package/dist/_chunks/button-DD_0Xdmr.js.map +1 -0
  35. package/dist/_chunks/button-group-CONver7M.js.map +1 -1
  36. package/dist/_chunks/button.agent-BuGZBktn.js.map +1 -1
  37. package/dist/_chunks/{calendar-nGEgelJs.js → calendar-zy0tUUVG.js} +13 -18
  38. package/dist/_chunks/calendar-zy0tUUVG.js.map +1 -0
  39. package/dist/_chunks/{card-BEy58ZKp.js → card-CWzuTLYE.js} +40 -34
  40. package/dist/_chunks/card-CWzuTLYE.js.map +1 -0
  41. package/dist/_chunks/chart-BLvFl169.js +292 -0
  42. package/dist/_chunks/chart-BLvFl169.js.map +1 -0
  43. package/dist/_chunks/chat-container-ClzsWXp2.js +220 -0
  44. package/dist/_chunks/chat-container-ClzsWXp2.js.map +1 -0
  45. package/dist/_chunks/chat-input-DOlsB1fm.js +333 -0
  46. package/dist/_chunks/chat-input-DOlsB1fm.js.map +1 -0
  47. package/dist/_chunks/{chat-message-ByouZpPP.js → chat-message-DoAhgUTj.js} +23 -13
  48. package/dist/_chunks/chat-message-DoAhgUTj.js.map +1 -0
  49. package/dist/_chunks/checkbox-CtPM6Rup.js +196 -0
  50. package/dist/_chunks/checkbox-CtPM6Rup.js.map +1 -0
  51. package/dist/_chunks/checkbox-group-BTdEB6Yo.js +208 -0
  52. package/dist/_chunks/checkbox-group-BTdEB6Yo.js.map +1 -0
  53. package/dist/_chunks/collapsible-CuxUBoHJ.js +147 -0
  54. package/dist/_chunks/collapsible-CuxUBoHJ.js.map +1 -0
  55. package/dist/_chunks/{color-picker-e9PmpaGH.js → color-picker-CTIcHlDF.js} +321 -205
  56. package/dist/_chunks/color-picker-CTIcHlDF.js.map +1 -0
  57. package/dist/_chunks/combobox-DCNXqbC7.js +460 -0
  58. package/dist/_chunks/combobox-DCNXqbC7.js.map +1 -0
  59. package/dist/_chunks/command-palette-C_vgSgrI.js +441 -0
  60. package/dist/_chunks/command-palette-C_vgSgrI.js.map +1 -0
  61. package/dist/_chunks/date-picker-B1PO1ZQP.js +1822 -0
  62. package/dist/_chunks/date-picker-B1PO1ZQP.js.map +1 -0
  63. package/dist/_chunks/date-range-picker-mix2nEVC.js +287 -0
  64. package/dist/_chunks/date-range-picker-mix2nEVC.js.map +1 -0
  65. package/dist/_chunks/date-time-picker-Dnong_BY.js +308 -0
  66. package/dist/_chunks/date-time-picker-Dnong_BY.js.map +1 -0
  67. package/dist/_chunks/{description-list-DvJbp6Yg.js → description-list-BYA77Yud.js} +26 -23
  68. package/dist/_chunks/description-list-BYA77Yud.js.map +1 -0
  69. package/dist/_chunks/dialog-BPD7wlGE.js +211 -0
  70. package/dist/_chunks/dialog-BPD7wlGE.js.map +1 -0
  71. package/dist/_chunks/dropdown-menu-CpiF6CPz.js +300 -0
  72. package/dist/_chunks/dropdown-menu-CpiF6CPz.js.map +1 -0
  73. package/dist/_chunks/{empty-state-DQPtRp2b.js → empty-state-3CLJIXSj.js} +132 -101
  74. package/dist/_chunks/empty-state-3CLJIXSj.js.map +1 -0
  75. package/dist/_chunks/file-upload-C947ACDK.js +829 -0
  76. package/dist/_chunks/file-upload-C947ACDK.js.map +1 -0
  77. package/dist/_chunks/flag-DZ6V7-hU.js.map +1 -1
  78. package/dist/_chunks/{floating-action-button-Cnw-f6AG.js → floating-action-button-C8OYj8mE.js} +9 -2
  79. package/dist/_chunks/floating-action-button-C8OYj8mE.js.map +1 -0
  80. package/dist/_chunks/{form-field-BfsPLTSc.js → form-field-Bmkeh7WY.js} +12 -11
  81. package/dist/_chunks/form-field-Bmkeh7WY.js.map +1 -0
  82. package/dist/_chunks/{form-field-context-94LwgYTQ.js → form-field-context-B3APVHKx.js} +4 -2
  83. package/dist/_chunks/form-field-context-B3APVHKx.js.map +1 -0
  84. package/dist/_chunks/freemium-paywall-CnvceDav.js +267 -0
  85. package/dist/_chunks/freemium-paywall-CnvceDav.js.map +1 -0
  86. package/dist/_chunks/{header-BGn1mRp8.js → header-D0ULgQl3.js} +69 -68
  87. package/dist/_chunks/header-D0ULgQl3.js.map +1 -0
  88. package/dist/_chunks/{icon-button-Wnnde5lc.js → icon-button-C4CGcYuz.js} +11 -3
  89. package/dist/_chunks/icon-button-C4CGcYuz.js.map +1 -0
  90. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +1 -1
  91. package/dist/_chunks/{kbd-8baVw3KU.js → kbd-Cglkd7CY.js} +6 -2
  92. package/dist/_chunks/kbd-Cglkd7CY.js.map +1 -0
  93. package/dist/_chunks/{key-value-pair-JRFS9Xrh.js → key-value-pair-CgWvAIGb.js} +2 -2
  94. package/dist/_chunks/key-value-pair-CgWvAIGb.js.map +1 -0
  95. package/dist/_chunks/{leo-sidebar-nbHib2D-.js → leo-sidebar-CfEY-xi2.js} +16 -20
  96. package/dist/_chunks/leo-sidebar-CfEY-xi2.js.map +1 -0
  97. package/dist/_chunks/link-8QmFjIz2.js +118 -0
  98. package/dist/_chunks/link-8QmFjIz2.js.map +1 -0
  99. package/dist/_chunks/list-qP6p0NTw.js +434 -0
  100. package/dist/_chunks/list-qP6p0NTw.js.map +1 -0
  101. package/dist/_chunks/live-region-C41SO3cA.js.map +1 -1
  102. package/dist/_chunks/{logo-BpFoCL-s.js → logo-_Z-jLq80.js} +155 -26
  103. package/dist/_chunks/logo-_Z-jLq80.js.map +1 -0
  104. package/dist/_chunks/{matrix-rain-BEkvux64.js → matrix-rain-CRPMXcVx.js} +8 -2
  105. package/dist/_chunks/matrix-rain-CRPMXcVx.js.map +1 -0
  106. package/dist/_chunks/{message-card-qAp2-WQK.js → message-card-ChCX9Iv6.js} +64 -60
  107. package/dist/_chunks/message-card-ChCX9Iv6.js.map +1 -0
  108. package/dist/_chunks/message-card.agent-4IeIgrnJ.js +22 -0
  109. package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +1 -0
  110. package/dist/_chunks/message-tray-n8q9ITXI.js +414 -0
  111. package/dist/_chunks/message-tray-n8q9ITXI.js.map +1 -0
  112. package/dist/_chunks/multi-select-wqqrgjUQ.js +545 -0
  113. package/dist/_chunks/multi-select-wqqrgjUQ.js.map +1 -0
  114. package/dist/_chunks/navigation-menu-ClbHeawy.js +279 -0
  115. package/dist/_chunks/navigation-menu-ClbHeawy.js.map +1 -0
  116. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +1 -1
  117. package/dist/_chunks/{notification-card-BF2_veHy.js → notification-card-hBlPN1-c.js} +15 -14
  118. package/dist/_chunks/notification-card-hBlPN1-c.js.map +1 -0
  119. package/dist/_chunks/notification-card.agent-Rqt3ofk9.js +22 -0
  120. package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +1 -0
  121. package/dist/_chunks/notification-tray-C5cnXbl9.js +448 -0
  122. package/dist/_chunks/notification-tray-C5cnXbl9.js.map +1 -0
  123. package/dist/_chunks/number-input-Q7wkHnvQ.js +337 -0
  124. package/dist/_chunks/number-input-Q7wkHnvQ.js.map +1 -0
  125. package/dist/_chunks/otp-input-C9gUByF0.js +260 -0
  126. package/dist/_chunks/otp-input-C9gUByF0.js.map +1 -0
  127. package/dist/_chunks/pagination-3AC4zTsi.js +462 -0
  128. package/dist/_chunks/pagination-3AC4zTsi.js.map +1 -0
  129. package/dist/_chunks/password-input-C4LmjIH1.js +301 -0
  130. package/dist/_chunks/password-input-C4LmjIH1.js.map +1 -0
  131. package/dist/_chunks/{patient-shell-7cXqIMFg.js → patient-shell-BlsEUKWB.js} +10 -15
  132. package/dist/_chunks/{patient-shell-7cXqIMFg.js.map → patient-shell-BlsEUKWB.js.map} +1 -1
  133. package/dist/_chunks/{payment-form-hcl-gGrp.js → payment-form-C3vT_npe.js} +212 -201
  134. package/dist/_chunks/payment-form-C3vT_npe.js.map +1 -0
  135. package/dist/_chunks/pdf-viewer-CZIfY08H.js +895 -0
  136. package/dist/_chunks/pdf-viewer-CZIfY08H.js.map +1 -0
  137. package/dist/_chunks/phone-input-CSHJOJ13.js +508 -0
  138. package/dist/_chunks/phone-input-CSHJOJ13.js.map +1 -0
  139. package/dist/_chunks/popover-DekUKNBk.js +293 -0
  140. package/dist/_chunks/popover-DekUKNBk.js.map +1 -0
  141. package/dist/_chunks/privacy-lock-BKsI6ReN.js +193 -0
  142. package/dist/_chunks/privacy-lock-BKsI6ReN.js.map +1 -0
  143. package/dist/_chunks/progress-C11tqhoI.js +298 -0
  144. package/dist/_chunks/progress-C11tqhoI.js.map +1 -0
  145. package/dist/_chunks/{radio-cs8N1wJi.js → radio-DvF59ThA.js} +14 -13
  146. package/dist/_chunks/radio-DvF59ThA.js.map +1 -0
  147. package/dist/_chunks/radio-group-Cz1a4QCA.js +152 -0
  148. package/dist/_chunks/radio-group-Cz1a4QCA.js.map +1 -0
  149. package/dist/_chunks/react-day-picker-C04L_28V.js.map +1 -1
  150. package/dist/_chunks/recaptcha-widget-NyfOfLII.js +192 -0
  151. package/dist/_chunks/recaptcha-widget-NyfOfLII.js.map +1 -0
  152. package/dist/_chunks/resizable-mpXXyIsN.js +483 -0
  153. package/dist/_chunks/resizable-mpXXyIsN.js.map +1 -0
  154. package/dist/_chunks/{rich-text-editor.agent-COSb5_2D.js → rich-text-editor-C7TCIlQO.js} +387 -291
  155. package/dist/_chunks/rich-text-editor-C7TCIlQO.js.map +1 -0
  156. package/dist/_chunks/safe-image-src-DstKgCo7.js.map +1 -1
  157. package/dist/_chunks/{scroll-area-DLr5w9Dd.js → scroll-area-DEDU-lp-.js} +67 -54
  158. package/dist/_chunks/scroll-area-DEDU-lp-.js.map +1 -0
  159. package/dist/_chunks/search-bar-BTDfgYtg.js +585 -0
  160. package/dist/_chunks/search-bar-BTDfgYtg.js.map +1 -0
  161. package/dist/_chunks/search-input-CdJIEjFo.js +236 -0
  162. package/dist/_chunks/search-input-CdJIEjFo.js.map +1 -0
  163. package/dist/_chunks/search-input.agent-CfZvViOd.js +69 -0
  164. package/dist/_chunks/search-input.agent-CfZvViOd.js.map +1 -0
  165. package/dist/_chunks/select-y6bXV1f1.js +411 -0
  166. package/dist/_chunks/select-y6bXV1f1.js.map +1 -0
  167. package/dist/_chunks/{separator-B4wXDLNC.js → separator-CYU_bGFn.js} +2 -5
  168. package/dist/_chunks/separator-CYU_bGFn.js.map +1 -0
  169. package/dist/_chunks/{sheet-BhNpLHc9.js → sheet-4tgMFwj0.js} +141 -65
  170. package/dist/_chunks/sheet-4tgMFwj0.js.map +1 -0
  171. package/dist/_chunks/{sidebar-OVzwN3jE.js → sidebar-Bx3wCDyy.js} +576 -484
  172. package/dist/_chunks/sidebar-Bx3wCDyy.js.map +1 -0
  173. package/dist/_chunks/{sign-in-with-alfadocs-button-BN_FPGHT.js → sign-in-with-alfadocs-button-B9UrqOqH.js} +9 -5
  174. package/dist/_chunks/sign-in-with-alfadocs-button-B9UrqOqH.js.map +1 -0
  175. package/dist/_chunks/{signature-capture.agent-C38VPXxg.js → signature-capture-DjMlFOzS.js} +258 -253
  176. package/dist/_chunks/signature-capture-DjMlFOzS.js.map +1 -0
  177. package/dist/_chunks/{skeleton-dtqyF09N.js → skeleton-CZbwyJAA.js} +9 -3
  178. package/dist/_chunks/skeleton-CZbwyJAA.js.map +1 -0
  179. package/dist/_chunks/skip-link-DmZ3c6cb.js.map +1 -1
  180. package/dist/_chunks/slider-BT2bZWsy.js +326 -0
  181. package/dist/_chunks/slider-BT2bZWsy.js.map +1 -0
  182. package/dist/_chunks/{slot-grid-D_l5VsHG.js → slot-grid-CgpYgBkW.js} +105 -95
  183. package/dist/_chunks/slot-grid-CgpYgBkW.js.map +1 -0
  184. package/dist/_chunks/sparkline-_gy8aJDG.js +252 -0
  185. package/dist/_chunks/sparkline-_gy8aJDG.js.map +1 -0
  186. package/dist/_chunks/{spinner-GCcv67vh.js → spinner-DLaYfLPl.js} +66 -14
  187. package/dist/_chunks/spinner-DLaYfLPl.js.map +1 -0
  188. package/dist/_chunks/{stat-DUB6g90R.js → stat-B9PHSPbN.js} +45 -27
  189. package/dist/_chunks/stat-B9PHSPbN.js.map +1 -0
  190. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +322 -0
  191. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js.map +1 -0
  192. package/dist/_chunks/stepper-calendar-BLOJUE0-.js +648 -0
  193. package/dist/_chunks/stepper-calendar-BLOJUE0-.js.map +1 -0
  194. package/dist/_chunks/stepper-progress-jFY8BSf7.js +208 -0
  195. package/dist/_chunks/stepper-progress-jFY8BSf7.js.map +1 -0
  196. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +1 -1
  197. package/dist/_chunks/suggestion-chip-C4Jz0LrM.js +167 -0
  198. package/dist/_chunks/suggestion-chip-C4Jz0LrM.js.map +1 -0
  199. package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js +46 -0
  200. package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js.map +1 -0
  201. package/dist/_chunks/switch-C0psfIQF.js +196 -0
  202. package/dist/_chunks/switch-C0psfIQF.js.map +1 -0
  203. package/dist/_chunks/tabs-DaFA3Muo.js +399 -0
  204. package/dist/_chunks/tabs-DaFA3Muo.js.map +1 -0
  205. package/dist/_chunks/{tag-BqidXKo3.js → tag-DuLMjRbF.js} +90 -32
  206. package/dist/_chunks/tag-DuLMjRbF.js.map +1 -0
  207. package/dist/_chunks/{task-card-yW7tKlG4.js → task-card-Dw_ZJDL8.js} +6 -2
  208. package/dist/_chunks/task-card-Dw_ZJDL8.js.map +1 -0
  209. package/dist/_chunks/task-card.agent-CUPKYd7w.js +22 -0
  210. package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +1 -0
  211. package/dist/_chunks/task-tray-XlIW9ueh.js +195 -0
  212. package/dist/_chunks/task-tray-XlIW9ueh.js.map +1 -0
  213. package/dist/_chunks/text-area-CO9Dz0qX.js +239 -0
  214. package/dist/_chunks/text-area-CO9Dz0qX.js.map +1 -0
  215. package/dist/_chunks/text-input-DZwt9L8H.js +275 -0
  216. package/dist/_chunks/text-input-DZwt9L8H.js.map +1 -0
  217. package/dist/_chunks/{theme-root-DDb0TJjd.js → theme-root-CSKD5ZRm.js} +9 -2
  218. package/dist/_chunks/{theme-root-DDb0TJjd.js.map → theme-root-CSKD5ZRm.js.map} +1 -1
  219. package/dist/_chunks/theme-toggle-B9zzCnvl.js +396 -0
  220. package/dist/_chunks/theme-toggle-B9zzCnvl.js.map +1 -0
  221. package/dist/_chunks/time-picker-DvPUmHH-.js +412 -0
  222. package/dist/_chunks/time-picker-DvPUmHH-.js.map +1 -0
  223. package/dist/_chunks/timeline-BvmnQadS.js +279 -0
  224. package/dist/_chunks/timeline-BvmnQadS.js.map +1 -0
  225. package/dist/_chunks/timestamp-BV2lC-wV.js.map +1 -1
  226. package/dist/_chunks/{toast-lOhJDKOH.js → toast.agent-BwKXA0km.js} +443 -344
  227. package/dist/_chunks/toast.agent-BwKXA0km.js.map +1 -0
  228. package/dist/_chunks/{tooth-scheme.agent-BlDyu-Gx.js → tooth-scheme-3mITSXiZ.js} +256 -265
  229. package/dist/_chunks/tooth-scheme-3mITSXiZ.js.map +1 -0
  230. package/dist/_chunks/transcript-panel-Bx5ANMsv.js +346 -0
  231. package/dist/_chunks/transcript-panel-Bx5ANMsv.js.map +1 -0
  232. package/dist/_chunks/{typing-indicator-CbUBf-Dx.js → typing-indicator-BZ5jXZPn.js} +27 -5
  233. package/dist/_chunks/typing-indicator-BZ5jXZPn.js.map +1 -0
  234. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +1 -1
  235. package/dist/_chunks/{use-theme-BMUhembX.js → use-theme-B1cwAXJR.js} +2 -5
  236. package/dist/_chunks/use-theme-B1cwAXJR.js.map +1 -0
  237. package/dist/_chunks/{visually-hidden-Bw7vBHLm.js → visually-hidden-BHxEUGyT.js} +11 -2
  238. package/dist/_chunks/{visually-hidden-Bw7vBHLm.js.map → visually-hidden-BHxEUGyT.js.map} +1 -1
  239. package/dist/_chunks/{warning-stack-8Pa3pekh.js → warning-stack-VygGHSqC.js} +11 -13
  240. package/dist/_chunks/warning-stack-VygGHSqC.js.map +1 -0
  241. package/dist/_chunks/{workflow-map-XeqHDFvp.js → workflow-map-C-nlogPC.js} +563 -488
  242. package/dist/_chunks/workflow-map-C-nlogPC.js.map +1 -0
  243. package/dist/agent-catalog.json +3577 -351
  244. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +1 -1
  245. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +1 -1
  246. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +1 -1
  247. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +1 -1
  248. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +1 -1
  249. package/dist/components/_shared/date-locale.d.ts.map +1 -1
  250. package/dist/components/_shared/index.d.ts +2 -2
  251. package/dist/components/_shared/index.d.ts.map +1 -1
  252. package/dist/components/_shared/normalize-diacritics.d.ts.map +1 -1
  253. package/dist/components/_shared/safe-html.d.ts.map +1 -1
  254. package/dist/components/_shared/safe-image-src.d.ts.map +1 -1
  255. package/dist/components/_shared/use-focus-trap.d.ts.map +1 -1
  256. package/dist/components/accordion/accordion.agent.d.ts +2 -1
  257. package/dist/components/accordion/accordion.agent.d.ts.map +1 -1
  258. package/dist/components/accordion/accordion.d.ts +6 -0
  259. package/dist/components/accordion/accordion.d.ts.map +1 -1
  260. package/dist/components/accordion/index.d.ts +1 -1
  261. package/dist/components/accordion/index.d.ts.map +1 -1
  262. package/dist/components/accordion/index.js +5 -6
  263. package/dist/components/accordion/index.js.map +1 -1
  264. package/dist/components/agenda-card/agenda-card.agent.d.ts +3 -0
  265. package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -0
  266. package/dist/components/agenda-card/agenda-card.d.ts.map +1 -1
  267. package/dist/components/agenda-card/index.d.ts +1 -0
  268. package/dist/components/agenda-card/index.d.ts.map +1 -1
  269. package/dist/components/agenda-card/index.js +3 -1
  270. package/dist/components/agenda-card/index.js.map +1 -1
  271. package/dist/components/agenda-tray/agenda-tray.agent.d.ts +4 -0
  272. package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +1 -0
  273. package/dist/components/agenda-tray/agenda-tray.d.ts +18 -1
  274. package/dist/components/agenda-tray/agenda-tray.d.ts.map +1 -1
  275. package/dist/components/agenda-tray/index.d.ts +2 -1
  276. package/dist/components/agenda-tray/index.d.ts.map +1 -1
  277. package/dist/components/agenda-tray/index.js +3 -2
  278. package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts +4 -0
  279. package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts.map +1 -0
  280. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +18 -1
  281. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  282. package/dist/components/ai-prompt-input/index.d.ts +2 -1
  283. package/dist/components/ai-prompt-input/index.d.ts.map +1 -1
  284. package/dist/components/ai-prompt-input/index.js +3 -2
  285. package/dist/components/alert/alert.d.ts.map +1 -1
  286. package/dist/components/alert/index.d.ts +1 -1
  287. package/dist/components/alert/index.d.ts.map +1 -1
  288. package/dist/components/alert/index.js +1 -1
  289. package/dist/components/app-frame/app-frame.d.ts.map +1 -1
  290. package/dist/components/app-frame/index.js +1 -1
  291. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -1
  292. package/dist/components/aspect-ratio/index.js +1 -1
  293. package/dist/components/audio-recorder/audio-recorder.agent.d.ts +4 -0
  294. package/dist/components/audio-recorder/audio-recorder.agent.d.ts.map +1 -0
  295. package/dist/components/audio-recorder/audio-recorder.d.ts +10 -1
  296. package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -1
  297. package/dist/components/audio-recorder/index.d.ts +2 -1
  298. package/dist/components/audio-recorder/index.d.ts.map +1 -1
  299. package/dist/components/audio-recorder/index.js +3 -2
  300. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -1
  301. package/dist/components/audio-visualiser/index.js +1 -1
  302. package/dist/components/autocomplete/autocomplete.agent.d.ts +2 -1
  303. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
  304. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  305. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  306. package/dist/components/autocomplete/index.js +1 -1
  307. package/dist/components/avatar/avatar.d.ts.map +1 -1
  308. package/dist/components/badge/badge.d.ts.map +1 -1
  309. package/dist/components/badge/index.js +1 -1
  310. package/dist/components/breadcrumb/breadcrumb.agent.d.ts +8 -0
  311. package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +1 -0
  312. package/dist/components/breadcrumb/breadcrumb.d.ts +20 -1
  313. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  314. package/dist/components/breadcrumb/index.d.ts +2 -1
  315. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  316. package/dist/components/breadcrumb/index.js +5 -4
  317. package/dist/components/button/button.agent.d.ts.map +1 -1
  318. package/dist/components/button/button.d.ts +1 -1
  319. package/dist/components/button/button.d.ts.map +1 -1
  320. package/dist/components/button/icon-button.d.ts.map +1 -1
  321. package/dist/components/button/index.js +2 -2
  322. package/dist/components/button-group/button-group.d.ts.map +1 -1
  323. package/dist/components/calendar/calendar.agent.d.ts.map +1 -1
  324. package/dist/components/calendar/calendar.d.ts.map +1 -1
  325. package/dist/components/calendar/contrast-warning.d.ts.map +1 -1
  326. package/dist/components/calendar/index.js +1 -1
  327. package/dist/components/card/card.d.ts.map +1 -1
  328. package/dist/components/card/index.js +1 -1
  329. package/dist/components/chart/chart.agent.d.ts.map +1 -1
  330. package/dist/components/chart/chart.d.ts +2 -0
  331. package/dist/components/chart/chart.d.ts.map +1 -1
  332. package/dist/components/chart/index.d.ts +1 -1
  333. package/dist/components/chart/index.d.ts.map +1 -1
  334. package/dist/components/chart/index.js +1 -1
  335. package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -1
  336. package/dist/components/chat-container/chat-container.d.ts +4 -2
  337. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  338. package/dist/components/chat-container/index.js +2 -3
  339. package/dist/components/chat-container/index.js.map +1 -1
  340. package/dist/components/chat-input/chat-input.agent.d.ts +4 -0
  341. package/dist/components/chat-input/chat-input.agent.d.ts.map +1 -0
  342. package/dist/components/chat-input/chat-input.d.ts +10 -1
  343. package/dist/components/chat-input/chat-input.d.ts.map +1 -1
  344. package/dist/components/chat-input/index.d.ts +2 -1
  345. package/dist/components/chat-input/index.d.ts.map +1 -1
  346. package/dist/components/chat-input/index.js +3 -2
  347. package/dist/components/chat-message/chat-message.d.ts.map +1 -1
  348. package/dist/components/chat-message/index.js +1 -1
  349. package/dist/components/checkbox/checkbox.agent.d.ts +4 -0
  350. package/dist/components/checkbox/checkbox.agent.d.ts.map +1 -0
  351. package/dist/components/checkbox/checkbox.d.ts +6 -0
  352. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  353. package/dist/components/checkbox/index.js +1 -1
  354. package/dist/components/checkbox-group/checkbox-group.agent.d.ts +4 -0
  355. package/dist/components/checkbox-group/checkbox-group.agent.d.ts.map +1 -0
  356. package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
  357. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -1
  358. package/dist/components/checkbox-group/index.d.ts +1 -1
  359. package/dist/components/checkbox-group/index.d.ts.map +1 -1
  360. package/dist/components/checkbox-group/index.js +1 -1
  361. package/dist/components/collapsible/collapsible.agent.d.ts +4 -0
  362. package/dist/components/collapsible/collapsible.agent.d.ts.map +1 -0
  363. package/dist/components/collapsible/collapsible.d.ts +7 -0
  364. package/dist/components/collapsible/collapsible.d.ts.map +1 -1
  365. package/dist/components/collapsible/index.d.ts +3 -2
  366. package/dist/components/collapsible/index.d.ts.map +1 -1
  367. package/dist/components/collapsible/index.js +4 -3
  368. package/dist/components/color-picker/color-picker.agent.d.ts +4 -0
  369. package/dist/components/color-picker/color-picker.agent.d.ts.map +1 -0
  370. package/dist/components/color-picker/color-picker.d.ts +5 -0
  371. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  372. package/dist/components/color-picker/index.js +1 -1
  373. package/dist/components/combobox/combobox.agent.d.ts +2 -1
  374. package/dist/components/combobox/combobox.agent.d.ts.map +1 -1
  375. package/dist/components/combobox/combobox.d.ts +10 -0
  376. package/dist/components/combobox/combobox.d.ts.map +1 -1
  377. package/dist/components/combobox/index.d.ts +1 -1
  378. package/dist/components/combobox/index.d.ts.map +1 -1
  379. package/dist/components/combobox/index.js +1 -1
  380. package/dist/components/command-palette/command-palette.agent.d.ts +2 -1
  381. package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -1
  382. package/dist/components/command-palette/command-palette.d.ts +52 -12
  383. package/dist/components/command-palette/command-palette.d.ts.map +1 -1
  384. package/dist/components/command-palette/index.js +1 -1
  385. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +1 -1
  386. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +1 -1
  387. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -1
  388. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +1 -1
  389. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +1 -1
  390. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +1 -1
  391. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +1 -1
  392. package/dist/components/data-table/data-table.agent.d.ts.map +1 -1
  393. package/dist/components/data-table/data-table.d.ts +3 -1
  394. package/dist/components/data-table/data-table.d.ts.map +1 -1
  395. package/dist/components/data-table/index.js +1 -1
  396. package/dist/components/data-table/toolbar.d.ts +6 -5
  397. package/dist/components/data-table/toolbar.d.ts.map +1 -1
  398. package/dist/components/date-picker/date-picker.agent.d.ts +4 -0
  399. package/dist/components/date-picker/date-picker.agent.d.ts.map +1 -0
  400. package/dist/components/date-picker/date-picker.d.ts +15 -0
  401. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  402. package/dist/components/date-picker/index.d.ts +2 -1
  403. package/dist/components/date-picker/index.d.ts.map +1 -1
  404. package/dist/components/date-picker/index.js +3 -2
  405. package/dist/components/date-range-picker/date-range-picker.agent.d.ts +4 -0
  406. package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -0
  407. package/dist/components/date-range-picker/date-range-picker.d.ts +16 -1
  408. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  409. package/dist/components/date-range-picker/index.d.ts +2 -1
  410. package/dist/components/date-range-picker/index.d.ts.map +1 -1
  411. package/dist/components/date-range-picker/index.js +3 -2
  412. package/dist/components/date-time-picker/date-time-picker.agent.d.ts +4 -0
  413. package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +1 -0
  414. package/dist/components/date-time-picker/date-time-picker.d.ts +16 -1
  415. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
  416. package/dist/components/date-time-picker/index.d.ts +2 -1
  417. package/dist/components/date-time-picker/index.d.ts.map +1 -1
  418. package/dist/components/date-time-picker/index.js +3 -2
  419. package/dist/components/description-list/description-list.d.ts +1 -2
  420. package/dist/components/description-list/description-list.d.ts.map +1 -1
  421. package/dist/components/description-list/index.js +1 -1
  422. package/dist/components/dialog/dialog.agent.d.ts +5 -6
  423. package/dist/components/dialog/dialog.agent.d.ts.map +1 -1
  424. package/dist/components/dialog/dialog.d.ts +11 -2
  425. package/dist/components/dialog/dialog.d.ts.map +1 -1
  426. package/dist/components/dialog/index.js +1 -1
  427. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +2 -1
  428. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -1
  429. package/dist/components/dropdown-menu/dropdown-menu.d.ts +20 -17
  430. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  431. package/dist/components/dropdown-menu/index.js +3 -4
  432. package/dist/components/dropdown-menu/index.js.map +1 -1
  433. package/dist/components/empty-state/empty-state.d.ts.map +1 -1
  434. package/dist/components/empty-state/index.js +1 -1
  435. package/dist/components/file-upload/file-upload.agent.d.ts +2 -1
  436. package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -1
  437. package/dist/components/file-upload/file-upload.d.ts +12 -0
  438. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  439. package/dist/components/file-upload/index.d.ts +1 -1
  440. package/dist/components/file-upload/index.d.ts.map +1 -1
  441. package/dist/components/file-upload/index.js +1 -1
  442. package/dist/components/flag/flag.d.ts.map +1 -1
  443. package/dist/components/floating-action-button/floating-action-button.d.ts.map +1 -1
  444. package/dist/components/floating-action-button/index.js +1 -1
  445. package/dist/components/form-field/form-field-context.d.ts.map +1 -1
  446. package/dist/components/form-field/form-field.d.ts.map +1 -1
  447. package/dist/components/form-field/index.js +2 -2
  448. package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts +4 -0
  449. package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +1 -0
  450. package/dist/components/freemium-paywall/freemium-paywall.d.ts +7 -0
  451. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  452. package/dist/components/freemium-paywall/index.d.ts +2 -1
  453. package/dist/components/freemium-paywall/index.d.ts.map +1 -1
  454. package/dist/components/freemium-paywall/index.js +3 -2
  455. package/dist/components/header/header.d.ts.map +1 -1
  456. package/dist/components/header/index.js +1 -1
  457. package/dist/components/icon-button/index.js +1 -1
  458. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  459. package/dist/components/index.d.ts +2 -0
  460. package/dist/components/index.d.ts.map +1 -1
  461. package/dist/components/kbd/index.js +1 -1
  462. package/dist/components/kbd/kbd.d.ts.map +1 -1
  463. package/dist/components/key-value-pair/index.js +1 -1
  464. package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -1
  465. package/dist/components/link/index.d.ts +2 -0
  466. package/dist/components/link/index.d.ts.map +1 -0
  467. package/dist/components/link/index.js +5 -0
  468. package/dist/components/link/index.js.map +1 -0
  469. package/dist/components/link/link.d.ts +39 -0
  470. package/dist/components/link/link.d.ts.map +1 -0
  471. package/dist/components/list/index.d.ts +2 -1
  472. package/dist/components/list/index.d.ts.map +1 -1
  473. package/dist/components/list/index.js +3 -2
  474. package/dist/components/list/list.agent.d.ts +4 -0
  475. package/dist/components/list/list.agent.d.ts.map +1 -0
  476. package/dist/components/list/list.d.ts +8 -2
  477. package/dist/components/list/list.d.ts.map +1 -1
  478. package/dist/components/live-region/live-region.d.ts.map +1 -1
  479. package/dist/components/logo/index.js +1 -1
  480. package/dist/components/logo/logo.d.ts.map +1 -1
  481. package/dist/components/matrix-rain/index.js +1 -1
  482. package/dist/components/matrix-rain/matrix-rain.d.ts.map +1 -1
  483. package/dist/components/message-card/index.d.ts +2 -1
  484. package/dist/components/message-card/index.d.ts.map +1 -1
  485. package/dist/components/message-card/index.js +5 -3
  486. package/dist/components/message-card/index.js.map +1 -1
  487. package/dist/components/message-card/message-card.agent.d.ts +3 -0
  488. package/dist/components/message-card/message-card.agent.d.ts.map +1 -0
  489. package/dist/components/message-card/message-card.d.ts.map +1 -1
  490. package/dist/components/message-tray/index.d.ts +2 -1
  491. package/dist/components/message-tray/index.d.ts.map +1 -1
  492. package/dist/components/message-tray/index.js +3 -2
  493. package/dist/components/message-tray/message-tray.agent.d.ts +4 -0
  494. package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -0
  495. package/dist/components/message-tray/message-tray.d.ts +26 -1
  496. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  497. package/dist/components/multi-select/index.js +1 -1
  498. package/dist/components/multi-select/multi-select.agent.d.ts +2 -1
  499. package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -1
  500. package/dist/components/multi-select/multi-select.d.ts +10 -0
  501. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  502. package/dist/components/navigation-menu/index.d.ts +2 -1
  503. package/dist/components/navigation-menu/index.d.ts.map +1 -1
  504. package/dist/components/navigation-menu/index.js +7 -6
  505. package/dist/components/navigation-menu/navigation-menu.agent.d.ts +4 -0
  506. package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +1 -0
  507. package/dist/components/navigation-menu/navigation-menu.d.ts +27 -1
  508. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  509. package/dist/components/notification-card/index.d.ts +2 -1
  510. package/dist/components/notification-card/index.d.ts.map +1 -1
  511. package/dist/components/notification-card/index.js +5 -3
  512. package/dist/components/notification-card/index.js.map +1 -1
  513. package/dist/components/notification-card/notification-card.agent.d.ts +3 -0
  514. package/dist/components/notification-card/notification-card.agent.d.ts.map +1 -0
  515. package/dist/components/notification-card/notification-card.d.ts.map +1 -1
  516. package/dist/components/notification-tray/index.d.ts +2 -1
  517. package/dist/components/notification-tray/index.d.ts.map +1 -1
  518. package/dist/components/notification-tray/index.js +3 -2
  519. package/dist/components/notification-tray/notification-tray.agent.d.ts +4 -0
  520. package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -0
  521. package/dist/components/notification-tray/notification-tray.d.ts +26 -1
  522. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  523. package/dist/components/number-input/index.js +1 -1
  524. package/dist/components/number-input/number-input.agent.d.ts +4 -0
  525. package/dist/components/number-input/number-input.agent.d.ts.map +1 -0
  526. package/dist/components/number-input/number-input.d.ts +7 -0
  527. package/dist/components/number-input/number-input.d.ts.map +1 -1
  528. package/dist/components/number-input/use-locale-number.d.ts.map +1 -1
  529. package/dist/components/otp-input/index.js +1 -1
  530. package/dist/components/otp-input/otp-input.agent.d.ts +4 -0
  531. package/dist/components/otp-input/otp-input.agent.d.ts.map +1 -0
  532. package/dist/components/otp-input/otp-input.d.ts +10 -0
  533. package/dist/components/otp-input/otp-input.d.ts.map +1 -1
  534. package/dist/components/pagination/index.js +1 -1
  535. package/dist/components/pagination/pagination.agent.d.ts +2 -1
  536. package/dist/components/pagination/pagination.agent.d.ts.map +1 -1
  537. package/dist/components/pagination/pagination.d.ts +11 -6
  538. package/dist/components/pagination/pagination.d.ts.map +1 -1
  539. package/dist/components/password-input/index.js +1 -1
  540. package/dist/components/password-input/password-input.agent.d.ts +4 -0
  541. package/dist/components/password-input/password-input.agent.d.ts.map +1 -0
  542. package/dist/components/password-input/password-input.d.ts +9 -0
  543. package/dist/components/password-input/password-input.d.ts.map +1 -1
  544. package/dist/components/payment-form/index.js +7 -8
  545. package/dist/components/payment-form/index.js.map +1 -1
  546. package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -1
  547. package/dist/components/payment-form/payment-form.d.ts +3 -1
  548. package/dist/components/payment-form/payment-form.d.ts.map +1 -1
  549. package/dist/components/pdf-viewer/index.js +1 -1
  550. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -1
  551. package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
  552. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  553. package/dist/components/phone-input/index.d.ts +1 -1
  554. package/dist/components/phone-input/index.d.ts.map +1 -1
  555. package/dist/components/phone-input/index.js +1 -1
  556. package/dist/components/phone-input/phone-input.agent.d.ts +4 -0
  557. package/dist/components/phone-input/phone-input.agent.d.ts.map +1 -0
  558. package/dist/components/phone-input/phone-input.d.ts +7 -0
  559. package/dist/components/phone-input/phone-input.d.ts.map +1 -1
  560. package/dist/components/popover/index.js +3 -4
  561. package/dist/components/popover/index.js.map +1 -1
  562. package/dist/components/popover/popover.agent.d.ts +2 -1
  563. package/dist/components/popover/popover.agent.d.ts.map +1 -1
  564. package/dist/components/popover/popover.d.ts +8 -1
  565. package/dist/components/popover/popover.d.ts.map +1 -1
  566. package/dist/components/privacy-lock/index.d.ts +2 -1
  567. package/dist/components/privacy-lock/index.d.ts.map +1 -1
  568. package/dist/components/privacy-lock/index.js +3 -2
  569. package/dist/components/privacy-lock/privacy-lock.agent.d.ts +4 -0
  570. package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +1 -0
  571. package/dist/components/privacy-lock/privacy-lock.d.ts +6 -0
  572. package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -1
  573. package/dist/components/progress/index.js +3 -4
  574. package/dist/components/progress/index.js.map +1 -1
  575. package/dist/components/progress/progress.agent.d.ts.map +1 -1
  576. package/dist/components/progress/progress.d.ts.map +1 -1
  577. package/dist/components/radio/index.js +1 -1
  578. package/dist/components/radio-group/index.js +2 -2
  579. package/dist/components/radio-group/radio-group.agent.d.ts +4 -0
  580. package/dist/components/radio-group/radio-group.agent.d.ts.map +1 -0
  581. package/dist/components/radio-group/radio-group.d.ts +5 -0
  582. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  583. package/dist/components/radio-group/radio.d.ts.map +1 -1
  584. package/dist/components/recaptcha-widget/index.d.ts +3 -0
  585. package/dist/components/recaptcha-widget/index.d.ts.map +1 -0
  586. package/dist/components/recaptcha-widget/index.js +6 -0
  587. package/dist/components/recaptcha-widget/index.js.map +1 -0
  588. package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts +4 -0
  589. package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +1 -0
  590. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts +56 -0
  591. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -0
  592. package/dist/components/resizable/index.d.ts +1 -1
  593. package/dist/components/resizable/index.d.ts.map +1 -1
  594. package/dist/components/resizable/index.js +1 -1
  595. package/dist/components/resizable/resizable-context.d.ts.map +1 -1
  596. package/dist/components/resizable/resizable.agent.d.ts +2 -1
  597. package/dist/components/resizable/resizable.agent.d.ts.map +1 -1
  598. package/dist/components/resizable/resizable.d.ts +6 -0
  599. package/dist/components/resizable/resizable.d.ts.map +1 -1
  600. package/dist/components/rich-text-editor/index.js +1 -1
  601. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
  602. package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
  603. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  604. package/dist/components/scroll-area/index.js +1 -1
  605. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  606. package/dist/components/search-bar/index.d.ts +2 -1
  607. package/dist/components/search-bar/index.d.ts.map +1 -1
  608. package/dist/components/search-bar/index.js +3 -2
  609. package/dist/components/search-bar/search-bar.agent.d.ts +4 -0
  610. package/dist/components/search-bar/search-bar.agent.d.ts.map +1 -0
  611. package/dist/components/search-bar/search-bar.d.ts +26 -0
  612. package/dist/components/search-bar/search-bar.d.ts.map +1 -1
  613. package/dist/components/search-input/index.d.ts +2 -1
  614. package/dist/components/search-input/index.d.ts.map +1 -1
  615. package/dist/components/search-input/index.js +4 -2
  616. package/dist/components/search-input/index.js.map +1 -1
  617. package/dist/components/search-input/search-input.agent.d.ts +4 -0
  618. package/dist/components/search-input/search-input.agent.d.ts.map +1 -0
  619. package/dist/components/search-input/search-input.d.ts +27 -0
  620. package/dist/components/search-input/search-input.d.ts.map +1 -1
  621. package/dist/components/select/index.js +1 -1
  622. package/dist/components/select/select.agent.d.ts +4 -0
  623. package/dist/components/select/select.agent.d.ts.map +1 -0
  624. package/dist/components/select/select.d.ts +10 -1
  625. package/dist/components/select/select.d.ts.map +1 -1
  626. package/dist/components/separator/index.js +1 -1
  627. package/dist/components/separator/separator.d.ts.map +1 -1
  628. package/dist/components/sheet/index.js +3 -4
  629. package/dist/components/sheet/index.js.map +1 -1
  630. package/dist/components/sheet/sheet.agent.d.ts +2 -1
  631. package/dist/components/sheet/sheet.agent.d.ts.map +1 -1
  632. package/dist/components/sheet/sheet.d.ts +11 -2
  633. package/dist/components/sheet/sheet.d.ts.map +1 -1
  634. package/dist/components/sidebar/index.js +7 -8
  635. package/dist/components/sidebar/index.js.map +1 -1
  636. package/dist/components/sidebar/sidebar.agent.d.ts +2 -1
  637. package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -1
  638. package/dist/components/sidebar/sidebar.d.ts +4 -0
  639. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  640. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  641. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +1 -1
  642. package/dist/components/signature-capture/index.js +1 -1
  643. package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -1
  644. package/dist/components/signature-capture/signature-capture.d.ts +2 -0
  645. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  646. package/dist/components/skeleton/index.js +1 -1
  647. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  648. package/dist/components/skip-link/skip-link.d.ts.map +1 -1
  649. package/dist/components/slider/index.js +1 -1
  650. package/dist/components/slider/slider.agent.d.ts +4 -0
  651. package/dist/components/slider/slider.agent.d.ts.map +1 -0
  652. package/dist/components/slider/slider.d.ts +5 -0
  653. package/dist/components/slider/slider.d.ts.map +1 -1
  654. package/dist/components/slot-grid/index.js +1 -1
  655. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
  656. package/dist/components/sparkline/index.js +1 -1
  657. package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -1
  658. package/dist/components/sparkline/sparkline.d.ts.map +1 -1
  659. package/dist/components/sparkline/use-linear-trend.d.ts.map +1 -1
  660. package/dist/components/spinner/index.js +1 -1
  661. package/dist/components/spinner/spinner.d.ts.map +1 -1
  662. package/dist/components/stat/index.js +1 -1
  663. package/dist/components/stat/stat.d.ts.map +1 -1
  664. package/dist/components/stepper-accordion/index.d.ts +2 -1
  665. package/dist/components/stepper-accordion/index.d.ts.map +1 -1
  666. package/dist/components/stepper-accordion/index.js +3 -2
  667. package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts +4 -0
  668. package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +1 -0
  669. package/dist/components/stepper-accordion/stepper-accordion.d.ts +19 -1
  670. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -1
  671. package/dist/components/stepper-calendar/index.d.ts +2 -1
  672. package/dist/components/stepper-calendar/index.d.ts.map +1 -1
  673. package/dist/components/stepper-calendar/index.js +3 -2
  674. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +4 -0
  675. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts.map +1 -0
  676. package/dist/components/stepper-calendar/stepper-calendar.d.ts +18 -0
  677. package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +1 -1
  678. package/dist/components/stepper-progress/index.d.ts +2 -1
  679. package/dist/components/stepper-progress/index.d.ts.map +1 -1
  680. package/dist/components/stepper-progress/index.js +3 -2
  681. package/dist/components/stepper-progress/stepper-progress.agent.d.ts +4 -0
  682. package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +1 -0
  683. package/dist/components/stepper-progress/stepper-progress.d.ts +25 -0
  684. package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -1
  685. package/dist/components/streaming-text/streaming-text.d.ts.map +1 -1
  686. package/dist/components/suggestion-chip/index.d.ts +2 -1
  687. package/dist/components/suggestion-chip/index.d.ts.map +1 -1
  688. package/dist/components/suggestion-chip/index.js +5 -3
  689. package/dist/components/suggestion-chip/index.js.map +1 -1
  690. package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts +4 -0
  691. package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +1 -0
  692. package/dist/components/suggestion-chip/suggestion-chip.d.ts +7 -1
  693. package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +1 -1
  694. package/dist/components/switch/index.js +1 -1
  695. package/dist/components/switch/switch.agent.d.ts +4 -0
  696. package/dist/components/switch/switch.agent.d.ts.map +1 -0
  697. package/dist/components/switch/switch.d.ts +6 -0
  698. package/dist/components/switch/switch.d.ts.map +1 -1
  699. package/dist/components/tabs/index.d.ts +1 -1
  700. package/dist/components/tabs/index.d.ts.map +1 -1
  701. package/dist/components/tabs/index.js +1 -1
  702. package/dist/components/tabs/tabs.agent.d.ts +2 -1
  703. package/dist/components/tabs/tabs.agent.d.ts.map +1 -1
  704. package/dist/components/tabs/tabs.d.ts +4 -0
  705. package/dist/components/tabs/tabs.d.ts.map +1 -1
  706. package/dist/components/tag/index.js +1 -1
  707. package/dist/components/tag/tag.d.ts.map +1 -1
  708. package/dist/components/task-card/index.d.ts +1 -0
  709. package/dist/components/task-card/index.d.ts.map +1 -1
  710. package/dist/components/task-card/index.js +5 -3
  711. package/dist/components/task-card/index.js.map +1 -1
  712. package/dist/components/task-card/task-card.agent.d.ts +3 -0
  713. package/dist/components/task-card/task-card.agent.d.ts.map +1 -0
  714. package/dist/components/task-card/task-card.d.ts.map +1 -1
  715. package/dist/components/task-tray/index.d.ts +2 -1
  716. package/dist/components/task-tray/index.d.ts.map +1 -1
  717. package/dist/components/task-tray/index.js +3 -2
  718. package/dist/components/task-tray/task-tray.agent.d.ts +4 -0
  719. package/dist/components/task-tray/task-tray.agent.d.ts.map +1 -0
  720. package/dist/components/task-tray/task-tray.d.ts +24 -1
  721. package/dist/components/task-tray/task-tray.d.ts.map +1 -1
  722. package/dist/components/text-area/index.js +1 -1
  723. package/dist/components/text-area/text-area.agent.d.ts +4 -0
  724. package/dist/components/text-area/text-area.agent.d.ts.map +1 -0
  725. package/dist/components/text-area/text-area.d.ts +7 -0
  726. package/dist/components/text-area/text-area.d.ts.map +1 -1
  727. package/dist/components/text-input/index.js +1 -1
  728. package/dist/components/text-input/text-input.agent.d.ts +4 -0
  729. package/dist/components/text-input/text-input.agent.d.ts.map +1 -0
  730. package/dist/components/text-input/text-input.d.ts +10 -0
  731. package/dist/components/text-input/text-input.d.ts.map +1 -1
  732. package/dist/components/theme-root/index.js +1 -1
  733. package/dist/components/theme-root/theme-root.d.ts.map +1 -1
  734. package/dist/components/theme-toggle/index.d.ts +2 -1
  735. package/dist/components/theme-toggle/index.d.ts.map +1 -1
  736. package/dist/components/theme-toggle/index.js +3 -2
  737. package/dist/components/theme-toggle/theme-toggle.agent.d.ts +4 -0
  738. package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +1 -0
  739. package/dist/components/theme-toggle/theme-toggle.d.ts +8 -1
  740. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
  741. package/dist/components/time-picker/index.d.ts +2 -1
  742. package/dist/components/time-picker/index.d.ts.map +1 -1
  743. package/dist/components/time-picker/index.js +3 -2
  744. package/dist/components/time-picker/time-picker.agent.d.ts +4 -0
  745. package/dist/components/time-picker/time-picker.agent.d.ts.map +1 -0
  746. package/dist/components/time-picker/time-picker.d.ts +15 -0
  747. package/dist/components/time-picker/time-picker.d.ts.map +1 -1
  748. package/dist/components/timeline/index.d.ts +2 -1
  749. package/dist/components/timeline/index.d.ts.map +1 -1
  750. package/dist/components/timeline/index.js +3 -2
  751. package/dist/components/timeline/timeline.agent.d.ts +4 -0
  752. package/dist/components/timeline/timeline.agent.d.ts.map +1 -0
  753. package/dist/components/timeline/timeline.d.ts +7 -0
  754. package/dist/components/timeline/timeline.d.ts.map +1 -1
  755. package/dist/components/timestamp/timestamp.d.ts.map +1 -1
  756. package/dist/components/toast/index.d.ts +3 -2
  757. package/dist/components/toast/index.d.ts.map +1 -1
  758. package/dist/components/toast/index.js +7 -5
  759. package/dist/components/toast/toast.agent.d.ts +4 -0
  760. package/dist/components/toast/toast.agent.d.ts.map +1 -0
  761. package/dist/components/toast/toast.d.ts +8 -0
  762. package/dist/components/toast/toast.d.ts.map +1 -1
  763. package/dist/components/tooth-scheme/index.js +1 -1
  764. package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -1
  765. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
  766. package/dist/components/tooth-scheme/tooth-scheme.d.ts +3 -1
  767. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  768. package/dist/components/transcript-panel/index.d.ts +2 -1
  769. package/dist/components/transcript-panel/index.d.ts.map +1 -1
  770. package/dist/components/transcript-panel/index.js +3 -2
  771. package/dist/components/transcript-panel/transcript-panel.agent.d.ts +4 -0
  772. package/dist/components/transcript-panel/transcript-panel.agent.d.ts.map +1 -0
  773. package/dist/components/transcript-panel/transcript-panel.d.ts +9 -0
  774. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  775. package/dist/components/typing-indicator/index.js +1 -1
  776. package/dist/components/typing-indicator/typing-indicator.d.ts.map +1 -1
  777. package/dist/components/visually-hidden/index.js +1 -1
  778. package/dist/components/visually-hidden/visually-hidden.d.ts.map +1 -1
  779. package/dist/components/warning-stack/index.js +1 -1
  780. package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
  781. package/dist/components/workflow/index.d.ts +2 -1
  782. package/dist/components/workflow/index.d.ts.map +1 -1
  783. package/dist/components/workflow/index.js +10 -7
  784. package/dist/components/workflow/workflow-card.d.ts.map +1 -1
  785. package/dist/components/workflow/workflow-editor.d.ts +6 -0
  786. package/dist/components/workflow/workflow-editor.d.ts.map +1 -1
  787. package/dist/components/workflow/workflow-map.d.ts +2 -0
  788. package/dist/components/workflow/workflow-map.d.ts.map +1 -1
  789. package/dist/components/workflow/workflow-types.d.ts.map +1 -1
  790. package/dist/components/workflow/workflow.agent.d.ts +6 -0
  791. package/dist/components/workflow/workflow.agent.d.ts.map +1 -0
  792. package/dist/hooks/index.js +1 -1
  793. package/dist/hooks/use-prefers-reduced-motion.d.ts.map +1 -1
  794. package/dist/hooks/use-theme.d.ts.map +1 -1
  795. package/dist/i18n/config.d.ts.map +1 -1
  796. package/dist/i18n/config.js +24 -11
  797. package/dist/i18n/config.js.map +1 -1
  798. package/dist/i18n/resources.d.ts +7 -0
  799. package/dist/i18n/resources.d.ts.map +1 -1
  800. package/dist/index.js +463 -425
  801. package/dist/locales/en.json +7 -0
  802. package/dist/patterns/leo-assistant/index.js +1 -1
  803. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +1 -1
  804. package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +1 -1
  805. package/dist/patterns/patient-shell/index.js +1 -1
  806. package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -1
  807. package/dist/safe-html/index.js +20 -3
  808. package/dist/safe-html/index.js.map +1 -1
  809. package/dist/tokens/apexcharts-theme.d.ts.map +1 -1
  810. package/dist/tokens.css +2 -2
  811. package/package.json +28 -2
  812. package/dist/_chunks/accordion-B6fyINUk.js +0 -118
  813. package/dist/_chunks/accordion-B6fyINUk.js.map +0 -1
  814. package/dist/_chunks/accordion.agent-Cz-yglRa.js +0 -17
  815. package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +0 -1
  816. package/dist/_chunks/agenda-card-DIWDvWum.js.map +0 -1
  817. package/dist/_chunks/agenda-tray-BqQZwiHc.js +0 -120
  818. package/dist/_chunks/agenda-tray-BqQZwiHc.js.map +0 -1
  819. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +0 -380
  820. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js.map +0 -1
  821. package/dist/_chunks/alert-BlOUMkXj.js.map +0 -1
  822. package/dist/_chunks/app-frame-6d7Lu4ea.js.map +0 -1
  823. package/dist/_chunks/aspect-ratio-CxsdG8vk.js.map +0 -1
  824. package/dist/_chunks/audio-recorder-B-8SKgKn.js +0 -376
  825. package/dist/_chunks/audio-recorder-B-8SKgKn.js.map +0 -1
  826. package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +0 -1
  827. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +0 -372
  828. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js.map +0 -1
  829. package/dist/_chunks/badge-mrstWxve.js.map +0 -1
  830. package/dist/_chunks/balance-cell-renderer-BWm3knY9.js.map +0 -1
  831. package/dist/_chunks/breadcrumb-D6xpsP7n.js +0 -293
  832. package/dist/_chunks/breadcrumb-D6xpsP7n.js.map +0 -1
  833. package/dist/_chunks/button-7mLWcMp_.js.map +0 -1
  834. package/dist/_chunks/calendar-nGEgelJs.js.map +0 -1
  835. package/dist/_chunks/card-BEy58ZKp.js.map +0 -1
  836. package/dist/_chunks/chart.agent-BdS-_8MO.js +0 -269
  837. package/dist/_chunks/chart.agent-BdS-_8MO.js.map +0 -1
  838. package/dist/_chunks/chat-container-Cm3SlR2p.js +0 -174
  839. package/dist/_chunks/chat-container-Cm3SlR2p.js.map +0 -1
  840. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js +0 -22
  841. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +0 -1
  842. package/dist/_chunks/chat-input-DreOPP8A.js +0 -226
  843. package/dist/_chunks/chat-input-DreOPP8A.js.map +0 -1
  844. package/dist/_chunks/chat-message-ByouZpPP.js.map +0 -1
  845. package/dist/_chunks/checkbox-DNK4qS2_.js +0 -116
  846. package/dist/_chunks/checkbox-DNK4qS2_.js.map +0 -1
  847. package/dist/_chunks/checkbox-group-CWpGZEF6.js +0 -146
  848. package/dist/_chunks/checkbox-group-CWpGZEF6.js.map +0 -1
  849. package/dist/_chunks/collapsible-D4LOdLxp.js +0 -67
  850. package/dist/_chunks/collapsible-D4LOdLxp.js.map +0 -1
  851. package/dist/_chunks/color-picker-e9PmpaGH.js.map +0 -1
  852. package/dist/_chunks/combobox.agent-ByobCLJ_.js +0 -350
  853. package/dist/_chunks/combobox.agent-ByobCLJ_.js.map +0 -1
  854. package/dist/_chunks/command-palette.agent-js2rxgeR.js +0 -351
  855. package/dist/_chunks/command-palette.agent-js2rxgeR.js.map +0 -1
  856. package/dist/_chunks/date-picker-DYXNsWmM.js +0 -1726
  857. package/dist/_chunks/date-picker-DYXNsWmM.js.map +0 -1
  858. package/dist/_chunks/date-range-picker-BcNDJI7m.js +0 -183
  859. package/dist/_chunks/date-range-picker-BcNDJI7m.js.map +0 -1
  860. package/dist/_chunks/date-time-picker-CmGiTU__.js +0 -202
  861. package/dist/_chunks/date-time-picker-CmGiTU__.js.map +0 -1
  862. package/dist/_chunks/description-list-DvJbp6Yg.js.map +0 -1
  863. package/dist/_chunks/dialog.agent-DEG_fVzG.js +0 -147
  864. package/dist/_chunks/dialog.agent-DEG_fVzG.js.map +0 -1
  865. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js +0 -215
  866. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js.map +0 -1
  867. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +0 -17
  868. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +0 -1
  869. package/dist/_chunks/empty-state-DQPtRp2b.js.map +0 -1
  870. package/dist/_chunks/file-upload.agent-B9AN82LA.js +0 -649
  871. package/dist/_chunks/file-upload.agent-B9AN82LA.js.map +0 -1
  872. package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +0 -1
  873. package/dist/_chunks/form-field-BfsPLTSc.js.map +0 -1
  874. package/dist/_chunks/form-field-context-94LwgYTQ.js.map +0 -1
  875. package/dist/_chunks/freemium-paywall-CkefGLM_.js +0 -198
  876. package/dist/_chunks/freemium-paywall-CkefGLM_.js.map +0 -1
  877. package/dist/_chunks/header-BGn1mRp8.js.map +0 -1
  878. package/dist/_chunks/icon-button-Wnnde5lc.js.map +0 -1
  879. package/dist/_chunks/kbd-8baVw3KU.js.map +0 -1
  880. package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +0 -1
  881. package/dist/_chunks/leo-sidebar-nbHib2D-.js.map +0 -1
  882. package/dist/_chunks/list-B1ozIjQe.js +0 -359
  883. package/dist/_chunks/list-B1ozIjQe.js.map +0 -1
  884. package/dist/_chunks/logo-BpFoCL-s.js.map +0 -1
  885. package/dist/_chunks/matrix-rain-BEkvux64.js.map +0 -1
  886. package/dist/_chunks/message-card-qAp2-WQK.js.map +0 -1
  887. package/dist/_chunks/message-tray-VaLpQU5t.js +0 -303
  888. package/dist/_chunks/message-tray-VaLpQU5t.js.map +0 -1
  889. package/dist/_chunks/multi-select.agent-CNsyW3n9.js +0 -450
  890. package/dist/_chunks/multi-select.agent-CNsyW3n9.js.map +0 -1
  891. package/dist/_chunks/navigation-menu-EVFau1O2.js +0 -180
  892. package/dist/_chunks/navigation-menu-EVFau1O2.js.map +0 -1
  893. package/dist/_chunks/notification-card-BF2_veHy.js.map +0 -1
  894. package/dist/_chunks/notification-tray-B7U5YZYg.js +0 -328
  895. package/dist/_chunks/notification-tray-B7U5YZYg.js.map +0 -1
  896. package/dist/_chunks/number-input-DjpT_RXJ.js +0 -249
  897. package/dist/_chunks/number-input-DjpT_RXJ.js.map +0 -1
  898. package/dist/_chunks/otp-input-De5_Ih7B.js +0 -189
  899. package/dist/_chunks/otp-input-De5_Ih7B.js.map +0 -1
  900. package/dist/_chunks/pagination.agent-oEaqmtx5.js +0 -380
  901. package/dist/_chunks/pagination.agent-oEaqmtx5.js.map +0 -1
  902. package/dist/_chunks/password-input-DJDVznWH.js +0 -193
  903. package/dist/_chunks/password-input-DJDVznWH.js.map +0 -1
  904. package/dist/_chunks/payment-form-hcl-gGrp.js.map +0 -1
  905. package/dist/_chunks/payment-form.agent-BkEnRerR.js +0 -26
  906. package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +0 -1
  907. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js +0 -859
  908. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js.map +0 -1
  909. package/dist/_chunks/phone-input-DE_39q65.js +0 -428
  910. package/dist/_chunks/phone-input-DE_39q65.js.map +0 -1
  911. package/dist/_chunks/popover-C3CTUsqh.js +0 -227
  912. package/dist/_chunks/popover-C3CTUsqh.js.map +0 -1
  913. package/dist/_chunks/popover.agent-C0qOx9WT.js +0 -13
  914. package/dist/_chunks/popover.agent-C0qOx9WT.js.map +0 -1
  915. package/dist/_chunks/privacy-lock-CQpgkLec.js +0 -132
  916. package/dist/_chunks/privacy-lock-CQpgkLec.js.map +0 -1
  917. package/dist/_chunks/progress-B4Of_pzz.js +0 -252
  918. package/dist/_chunks/progress-B4Of_pzz.js.map +0 -1
  919. package/dist/_chunks/progress.agent-CXkHURjX.js +0 -22
  920. package/dist/_chunks/progress.agent-CXkHURjX.js.map +0 -1
  921. package/dist/_chunks/radio-cs8N1wJi.js.map +0 -1
  922. package/dist/_chunks/radio-group-BIUbpWml.js +0 -89
  923. package/dist/_chunks/radio-group-BIUbpWml.js.map +0 -1
  924. package/dist/_chunks/resizable.agent-DBpPGNdy.js +0 -435
  925. package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +0 -1
  926. package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js.map +0 -1
  927. package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +0 -1
  928. package/dist/_chunks/search-bar-fcGqDFW3.js +0 -397
  929. package/dist/_chunks/search-bar-fcGqDFW3.js.map +0 -1
  930. package/dist/_chunks/search-input-BVMCONyN.js +0 -197
  931. package/dist/_chunks/search-input-BVMCONyN.js.map +0 -1
  932. package/dist/_chunks/select-IY_JQa-F.js +0 -321
  933. package/dist/_chunks/select-IY_JQa-F.js.map +0 -1
  934. package/dist/_chunks/separator-B4wXDLNC.js.map +0 -1
  935. package/dist/_chunks/sheet-BhNpLHc9.js.map +0 -1
  936. package/dist/_chunks/sheet.agent-DwQlBqK9.js +0 -13
  937. package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +0 -1
  938. package/dist/_chunks/sidebar-OVzwN3jE.js.map +0 -1
  939. package/dist/_chunks/sidebar.agent-B0fnH9CC.js +0 -17
  940. package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +0 -1
  941. package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +0 -1
  942. package/dist/_chunks/signature-capture.agent-C38VPXxg.js.map +0 -1
  943. package/dist/_chunks/skeleton-dtqyF09N.js.map +0 -1
  944. package/dist/_chunks/slider-DjyRt3Mp.js +0 -274
  945. package/dist/_chunks/slider-DjyRt3Mp.js.map +0 -1
  946. package/dist/_chunks/slot-grid-D_l5VsHG.js.map +0 -1
  947. package/dist/_chunks/sparkline.agent-C_xp3NRB.js +0 -238
  948. package/dist/_chunks/sparkline.agent-C_xp3NRB.js.map +0 -1
  949. package/dist/_chunks/spinner-GCcv67vh.js.map +0 -1
  950. package/dist/_chunks/stat-DUB6g90R.js.map +0 -1
  951. package/dist/_chunks/stepper-accordion-CGog0JSF.js +0 -233
  952. package/dist/_chunks/stepper-accordion-CGog0JSF.js.map +0 -1
  953. package/dist/_chunks/stepper-calendar-_fLOAjus.js +0 -570
  954. package/dist/_chunks/stepper-calendar-_fLOAjus.js.map +0 -1
  955. package/dist/_chunks/stepper-progress-rE7tn7WY.js +0 -129
  956. package/dist/_chunks/stepper-progress-rE7tn7WY.js.map +0 -1
  957. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +0 -158
  958. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js.map +0 -1
  959. package/dist/_chunks/switch-aN2EYxHh.js +0 -138
  960. package/dist/_chunks/switch-aN2EYxHh.js.map +0 -1
  961. package/dist/_chunks/tabs.agent-BpbVA-Zh.js +0 -348
  962. package/dist/_chunks/tabs.agent-BpbVA-Zh.js.map +0 -1
  963. package/dist/_chunks/tag-BqidXKo3.js.map +0 -1
  964. package/dist/_chunks/task-card-yW7tKlG4.js.map +0 -1
  965. package/dist/_chunks/task-tray-BzahI5FQ.js +0 -100
  966. package/dist/_chunks/task-tray-BzahI5FQ.js.map +0 -1
  967. package/dist/_chunks/text-area-DmKSd2DG.js +0 -152
  968. package/dist/_chunks/text-area-DmKSd2DG.js.map +0 -1
  969. package/dist/_chunks/text-input-CRHvl5zk.js +0 -188
  970. package/dist/_chunks/text-input-CRHvl5zk.js.map +0 -1
  971. package/dist/_chunks/theme-toggle-BHiMMEQN.js +0 -329
  972. package/dist/_chunks/theme-toggle-BHiMMEQN.js.map +0 -1
  973. package/dist/_chunks/time-picker-D-EueWUG.js +0 -322
  974. package/dist/_chunks/time-picker-D-EueWUG.js.map +0 -1
  975. package/dist/_chunks/timeline-RgAIzpMd.js +0 -220
  976. package/dist/_chunks/timeline-RgAIzpMd.js.map +0 -1
  977. package/dist/_chunks/toast-lOhJDKOH.js.map +0 -1
  978. package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js.map +0 -1
  979. package/dist/_chunks/transcript-panel-CNbVGG9L.js +0 -266
  980. package/dist/_chunks/transcript-panel-CNbVGG9L.js.map +0 -1
  981. package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +0 -1
  982. package/dist/_chunks/use-theme-BMUhembX.js.map +0 -1
  983. package/dist/_chunks/warning-stack-8Pa3pekh.js.map +0 -1
  984. package/dist/_chunks/workflow-map-XeqHDFvp.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-calendar-BLOJUE0-.js","sources":["../../node_modules/date-fns/subMonths.js","../../src/components/stepper-calendar/stepper-calendar.agent.ts","../../src/components/stepper-calendar/stepper-calendar.tsx"],"sourcesContent":["import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — StepperCalendar. */\n/* */\n/* The booking flow's four steps (service / date / time / details) are */\n/* presented as a single component. The adapter exposes the active step */\n/* + total + lets agents step forward / backward or jump to a step. */\n/* The booking value itself is owned by the consumer — the adapter */\n/* deliberately does NOT read selected serviceId / date / time, since */\n/* those flow through the consumer's `value` / `onChange` contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { StepperCalendarHandle } from './stepper-calendar';\n\nexport const stepperCalendarAgent: AgentAdapter<StepperCalendarHandle> = {\n id: 'stepper-calendar',\n capabilities: ['navigate', 'view_change'],\n state: {\n currentStep: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperCalendar.state.currentStep',\n description:\n 'Zero-indexed active step (0 = service, 1 = date, 2 = time, 3 = details).',\n read: (handle) => handle.getCurrentStep(),\n },\n totalSteps: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperCalendar.state.totalSteps',\n description: 'Total number of steps in the booking flow (always 4).',\n read: (handle) => handle.getTotalSteps(),\n },\n },\n actions: {\n goto_step: {\n safety: 'read',\n argsType: '{ step: number }',\n descriptionKey: 'ui.agent.stepperCalendar.actions.gotoStep',\n description:\n 'Jump to the given step. Steps beyond the first-incomplete are gated internally.',\n invoke: (handle, args: { step: number }) => {\n handle.gotoStep(args.step);\n },\n },\n next: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperCalendar.actions.next',\n description:\n 'Advance to the next step when the current step has a valid value.',\n invoke: (handle) => {\n handle.next();\n },\n },\n previous: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperCalendar.actions.previous',\n description: 'Return to the previous step.',\n invoke: (handle) => {\n handle.previous();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'stepper-calendar',\n description: 'Marks the StepperCalendar root region.',\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 useRef,\n useState,\n type ComponentPropsWithoutRef,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n addDays,\n addMonths,\n format as fnsFormat,\n isSameDay,\n isSameMonth,\n parseISO,\n startOfMonth,\n startOfWeek,\n subMonths,\n} from 'date-fns';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport type { StepSpec, StepStatus } from '../_shared/stepper';\nimport { stateForStep } from '../_shared/stepper';\nimport { StepperProgress } from '../stepper-progress/stepper-progress';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { stepperCalendarAgent } from './stepper-calendar.agent';\nimport { Button } from '../button/button';\nimport { IconButton } from '../button/icon-button';\nimport {\n SlotGrid,\n type SlotGridDay,\n type SlotGridSlot,\n} from '../slot-grid/slot-grid';\nimport { Skeleton } from '../skeleton/skeleton';\nimport { EmptyState } from '../empty-state/empty-state';\nimport { resolveFirstDay } from '../calendar/calendar';\n\n// Slot IDs use a fixed `${yyyy-mm-dd}T${HH:mm}` shape so the trailing time\n// segment can be safely peeled off in onSlotSelect. Validating against the\n// shape rather than splitting blindly so an unexpected ID surfaces as a\n// no-op rather than a malformed time value.\nconst SLOT_ID_PATTERN = /^(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2})$/;\n\n/* -------------------------------------------------------------------- */\n/* StepperCalendar */\n/* */\n/* Single-component, A/B-testable appointment-booking flow with 4 */\n/* fixed steps in this order: */\n/* 0. Service — pick from `services` */\n/* 1. Date — inline month grid; only `availableDates` are enabled */\n/* 2. Time — slot grid showing `availableSlots[selectedDate]` */\n/* 3. Details — render-prop slot for the consumer's form fields */\n/* -------------------------------------------------------------------- */\n\n/** Service offering rendered on Step 1. Data is API-driven by the consumer. */\nexport interface StepperCalendarService {\n id: string;\n /** Already-translated label (consumer is responsible for i18n of data). */\n label: string;\n /** Duration in minutes — shown alongside the label. */\n durationMin: number;\n /** Optional secondary line. */\n description?: string;\n}\n\n/** Re-exported for convenience. */\nexport type ServiceOption = StepperCalendarService;\n\n/** Booking selection — controlled by the consumer. */\nexport interface StepperCalendarValue {\n serviceId?: string;\n /** ISO yyyy-mm-dd. */\n date?: string;\n /** HH:mm (24h). */\n time?: string;\n}\n\nconst TOTAL_STEPS = 4;\n\nconst rootVariants = cva(\n 'ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-md)] ds:text-[var(--foreground)]',\n {\n variants: {\n layout: {\n vertical: 'ds:flex-col',\n horizontal: 'ds:lg:flex-row ds:lg:items-start',\n },\n density: {\n comfortable: 'ds:gap-[var(--spacing-md)]',\n compact: 'ds:gap-[var(--spacing-sm)]',\n },\n },\n defaultVariants: {\n layout: 'vertical',\n density: 'comfortable',\n },\n },\n);\n\nconst stepBodyVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-md)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)] ds:bg-[var(--card)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n ].join(' '),\n {\n variants: {\n density: {\n comfortable: 'ds:gap-[var(--spacing-md)]',\n compact: 'ds:gap-[var(--spacing-sm)]',\n },\n },\n defaultVariants: { density: 'comfortable' },\n },\n);\n\nconst serviceCardVariants = cva(\n [\n 'ds:group/service ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)] ds:text-start',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)] ds:bg-[var(--background)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:transition-[background-color,border-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n 'ds:motion-reduce:transition-none',\n 'ds:hover:enabled:bg-[var(--muted)]/40',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:aria-checked:border-[var(--primary)] ds:aria-checked:bg-[var(--primary)]/5',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed',\n ].join(' '),\n);\n\nconst monthHeaderVariants = cva(\n 'ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]',\n);\n\nconst monthGridVariants = cva(\n 'ds:grid ds:grid-cols-7 ds:gap-[var(--spacing-xs)]',\n);\n\nconst dayCellVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center',\n // `min-target-size` (44/48px) governs the rendered size — it always\n // exceeds the explicit floor below. Keeping the explicit floor for\n // grid layout stability when the cell content is empty (skeletons),\n // matching the precedent in `slot-grid`.\n 'ds:min-h-[var(--min-target-size)] ds:min-w-[var(--min-target-size)]',\n 'ds:h-10 ds:w-10 ds:rounded-[var(--radius-sm)]',\n 'ds:text-[length:var(--font-size-sm)] ds:font-[var(--font-weight-medium)]',\n 'ds:border ds:border-transparent ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n 'ds:transition-[background-color,border-color,color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n 'ds:motion-reduce:transition-none',\n 'ds:hover:enabled:bg-[var(--muted)]/40',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:opacity-40 ds:disabled:cursor-not-allowed',\n 'ds:aria-selected:bg-[var(--primary)] ds:aria-selected:text-[var(--primary-foreground)]',\n 'ds:aria-selected:border-[var(--primary)]',\n 'ds:data-[outside=true]:text-[var(--muted-foreground)]',\n ].join(' '),\n);\n\nconst actionsRowVariants = cva(\n 'ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:mt-[var(--spacing-md)]',\n);\n\n/* -------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------- */\n\nfunction isoDay(date: Date): string {\n return fnsFormat(date, 'yyyy-MM-dd');\n}\n\n/** Compute the first incomplete step from the current value. */\nfunction firstIncompleteStep(value: StepperCalendarValue): number {\n if (!value.serviceId) return 0;\n if (!value.date) return 1;\n if (!value.time) return 2;\n return 3;\n}\n\n/* -------------------------------------------------------------------- */\n/* Public props */\n/* -------------------------------------------------------------------- */\n\nexport interface StepperCalendarProps\n extends\n Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'onChange' | 'onSubmit'\n >,\n VariantProps<typeof rootVariants> {\n services: StepperCalendarService[];\n availableDates: string[];\n availableSlots: Record<string, string[]>;\n value: StepperCalendarValue;\n onChange: (next: StepperCalendarValue) => void;\n onSubmit?: (value: StepperCalendarValue) => void;\n detailsFields?: ReactNode;\n loadingDates?: boolean;\n loadingSlots?: boolean;\n /** Per-step status overrides — `error` will mark a step in the rail. */\n stepStatuses?: Partial<Record<0 | 1 | 2 | 3, StepStatus>>;\n 'aria-label'?: string;\n /**\n * Consumer-supplied instance id, surfaced as `data-component-id` so an\n * agent / UI bridge can address this instance.\n */\n id?: string;\n}\n\n/**\n * Imperative handle for agent-readiness. The booking value itself is\n * owned by the consumer through `value` / `onChange`, so the handle\n * deliberately exposes only step navigation — not the selected\n * service / date / time.\n */\nexport interface StepperCalendarHandle {\n getCurrentStep: () => number;\n getTotalSteps: () => number;\n gotoStep: (step: number) => void;\n next: () => void;\n previous: () => void;\n}\n\n/* -------------------------------------------------------------------- */\n/* Service grid (Step 0) */\n/* -------------------------------------------------------------------- */\n\ninterface ServiceGridProps {\n services: StepperCalendarService[];\n selectedId?: string;\n onSelect: (id: string) => void;\n durationLabel: (minutes: number) => string;\n groupLabel: string;\n}\n\nconst ServiceGrid = forwardRef<HTMLDivElement, ServiceGridProps>(\n ({ services, selectedId, onSelect, durationLabel, groupLabel }, ref) => {\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n const focusedIndex = (() => {\n const i = services.findIndex((s) => s.id === selectedId);\n return i >= 0 ? i : 0;\n })();\n\n const moveFocus = (next: number) => {\n const wrapped = (next + services.length) % services.length;\n const target = itemRefs.current[wrapped];\n if (!target) return;\n // Per WAI-ARIA radiogroup, arrow keys move focus AND selection.\n target.focus();\n const svc = services[wrapped];\n if (svc) onSelect(svc.id);\n };\n\n const handleKeyDown = (\n event: KeyboardEvent<HTMLButtonElement>,\n currentIndex: number,\n ) => {\n // RTL inversion: in an RTL document, ArrowLeft visually advances forward.\n const isRtl =\n typeof document !== 'undefined' &&\n document.documentElement.dir === 'rtl';\n const forward = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const back = isRtl ? 'ArrowRight' : 'ArrowLeft';\n if (event.key === forward || event.key === 'ArrowDown') {\n event.preventDefault();\n moveFocus(currentIndex + 1);\n return;\n }\n if (event.key === back || event.key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(currentIndex - 1);\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n moveFocus(0);\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n moveFocus(services.length - 1);\n }\n };\n\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={groupLabel}\n className=\"ds:grid ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2\"\n >\n {services.map((svc, index) => {\n const checked = svc.id === selectedId;\n const isRovingTabStop = index === focusedIndex;\n return (\n <button\n key={svc.id}\n ref={(el) => {\n itemRefs.current[index] = el;\n }}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked}\n tabIndex={isRovingTabStop ? 0 : -1}\n onClick={() => onSelect(svc.id)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n className={serviceCardVariants()}\n >\n <span className=\"type-body-sm ds:font-[var(--font-weight-semibold)] ds:text-[var(--foreground)]\">\n {svc.label}\n </span>\n {svc.description ? (\n <span className=\"type-meta ds:text-[var(--muted-foreground)]\">\n {svc.description}\n </span>\n ) : null}\n <span className=\"type-meta ds:text-[var(--muted-foreground)]\">\n {durationLabel(svc.durationMin)}\n </span>\n </button>\n );\n })}\n </div>\n );\n },\n);\nServiceGrid.displayName = 'StepperCalendar.ServiceGrid';\n\n/* -------------------------------------------------------------------- */\n/* Inline month grid (Step 1) */\n/* -------------------------------------------------------------------- */\n\ntype WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface MonthGridProps {\n availableDates: Set<string>;\n selectedDate?: string;\n onSelectDate: (iso: string) => void;\n loading: boolean;\n locale: string;\n weekStartsOn: WeekStart;\n prevLabel: string;\n nextLabel: string;\n emptyLabel: string;\n}\n\nconst MonthGrid = forwardRef<HTMLDivElement, MonthGridProps>(\n (\n {\n availableDates,\n selectedDate,\n onSelectDate,\n loading,\n locale,\n weekStartsOn,\n prevLabel,\n nextLabel,\n emptyLabel,\n },\n ref,\n ) => {\n const initialMonth = useMemo(() => {\n if (selectedDate) return parseISO(selectedDate);\n const first = [...availableDates].sort()[0];\n return first ? parseISO(first) : new Date();\n }, [availableDates, selectedDate]);\n\n const [month, setMonth] = useState<Date>(initialMonth);\n const [focusedDay, setFocusedDay] = useState<Date>(\n selectedDate ? parseISO(selectedDate) : initialMonth,\n );\n\n // Build the 6x7 grid (always full weeks for stable layout).\n const monthStart = startOfMonth(month);\n const gridStart = startOfWeek(monthStart, { weekStartsOn });\n const days: Date[] = useMemo(() => {\n const cells: Date[] = [];\n for (let i = 0; i < 42; i += 1) {\n cells.push(addDays(gridStart, i));\n }\n return cells;\n }, [gridStart]);\n\n const weekdayLabels = useMemo(() => {\n const base = startOfWeek(new Date(), { weekStartsOn });\n const fmt = new Intl.DateTimeFormat(locale, { weekday: 'short' });\n return Array.from({ length: 7 }, (_, i) => fmt.format(addDays(base, i)));\n }, [locale, weekStartsOn]);\n\n const monthLabel = useMemo(() => {\n try {\n return new Intl.DateTimeFormat(locale, {\n month: 'long',\n year: 'numeric',\n }).format(month);\n } catch {\n return fnsFormat(month, 'MMMM yyyy');\n }\n }, [locale, month]);\n\n const isAvailable = useCallback(\n (d: Date) => availableDates.has(isoDay(d)),\n [availableDates],\n );\n\n const moveFocus = useCallback(\n (next: Date) => {\n setFocusedDay(next);\n if (!isSameMonth(next, month)) setMonth(startOfMonth(next));\n },\n [month],\n );\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const map: Record<string, number> = {\n ArrowLeft: -1,\n ArrowRight: 1,\n ArrowUp: -7,\n ArrowDown: 7,\n };\n if (event.key in map) {\n event.preventDefault();\n moveFocus(addDays(focusedDay, map[event.key]));\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n moveFocus(startOfWeek(focusedDay, { weekStartsOn }));\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n moveFocus(addDays(startOfWeek(focusedDay, { weekStartsOn }), 6));\n return;\n }\n if (event.key === 'PageUp') {\n event.preventDefault();\n moveFocus(subMonths(focusedDay, 1));\n return;\n }\n if (event.key === 'PageDown') {\n event.preventDefault();\n moveFocus(addMonths(focusedDay, 1));\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (isAvailable(focusedDay)) onSelectDate(isoDay(focusedDay));\n }\n };\n\n const focusedRef = useRef<HTMLButtonElement>(null);\n useEffect(() => {\n // Move focus to the focused day when it changes. Note: when the parent\n // StepperCalendar transitions Service → Date, its own step-change focus\n // effect *also* tries to focus the body's first interactive element. In\n // practice this effect runs deeper in the tree and after mount, so it\n // wins — but consumers should be aware of the interaction if they\n // tweak the ordering.\n focusedRef.current?.focus();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedDay.getTime()]);\n\n if (loading) {\n return (\n <div\n ref={ref}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\"\n >\n <Skeleton variant=\"text\" size=\"md\" width=\"40%\" />\n <div className={monthGridVariants()}>\n {Array.from({ length: 42 }, (_, i) => (\n <Skeleton\n key={`day-skeleton-${i}`}\n variant=\"rounded\"\n size=\"md\"\n height=\"40px\"\n />\n ))}\n </div>\n </div>\n );\n }\n\n if (availableDates.size === 0) {\n return (\n <div ref={ref}>\n <EmptyState variant=\"no-results\" title={emptyLabel} />\n </div>\n );\n }\n\n return (\n <div ref={ref} className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n <div className={monthHeaderVariants()}>\n <IconButton\n icon={<ChevronLeft />}\n aria-label={prevLabel}\n size=\"sm\"\n intent=\"ghost\"\n flipIconInRtl\n onClick={() => setMonth(subMonths(month, 1))}\n />\n <span\n className=\"type-body-sm ds:font-[var(--font-weight-semibold)]\"\n aria-live=\"polite\"\n >\n {monthLabel}\n </span>\n <IconButton\n icon={<ChevronRight />}\n aria-label={nextLabel}\n size=\"sm\"\n intent=\"ghost\"\n flipIconInRtl\n onClick={() => setMonth(addMonths(month, 1))}\n />\n </div>\n {/* eslint-disable-next-line jsx-a11y/interactive-supports-focus -- inner gridcells are individually focusable via roving tabindex */}\n <div\n role=\"grid\"\n aria-label={monthLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n onKeyDown={handleKeyDown}\n >\n <div className={monthGridVariants()} role=\"row\">\n {weekdayLabels.map((wd) => (\n <span\n key={wd}\n role=\"columnheader\"\n className=\"type-meta ds:text-center ds:text-[var(--muted-foreground)]\"\n >\n {wd}\n </span>\n ))}\n </div>\n {Array.from({ length: 6 }, (_, weekIndex) => {\n const week = days.slice(weekIndex * 7, weekIndex * 7 + 7);\n return (\n <div\n key={`week-${weekIndex}`}\n role=\"row\"\n className={monthGridVariants()}\n >\n {week.map((d) => {\n const iso = isoDay(d);\n const outside = !isSameMonth(d, month);\n const available = isAvailable(d);\n const selected = selectedDate === iso;\n const isFocused = isSameDay(d, focusedDay);\n return (\n <button\n key={iso}\n ref={isFocused ? focusedRef : undefined}\n type=\"button\"\n role=\"gridcell\"\n aria-selected={selected}\n aria-disabled={!available || undefined}\n disabled={!available}\n data-outside={outside || undefined}\n tabIndex={isFocused ? 0 : -1}\n onClick={() => available && onSelectDate(iso)}\n className={dayCellVariants()}\n >\n {fnsFormat(d, 'd')}\n </button>\n );\n })}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\nMonthGrid.displayName = 'StepperCalendar.MonthGrid';\n\n/* -------------------------------------------------------------------- */\n/* Time step body */\n/* -------------------------------------------------------------------- */\n\ninterface TimeStepBodyProps {\n date?: string;\n slots: string[];\n selectedTime?: string;\n loading: boolean;\n emptyLabel: string;\n onSelect: (time: string) => void;\n}\n\nfunction TimeStepBody({\n date,\n slots,\n selectedTime,\n loading,\n emptyLabel,\n onSelect,\n}: TimeStepBodyProps) {\n if (!date) return null;\n if (loading) {\n return <SlotGrid days={[{ date, slots: [] }]} state=\"loading\" />;\n }\n if (slots.length === 0) {\n return <EmptyState variant=\"no-results\" title={emptyLabel} />;\n }\n const slotObjects: SlotGridSlot[] = slots.map((time) => {\n // Build a Date from `date` + `time` for `Intl` formatting.\n const [h, m] = time.split(':');\n const start = parseISO(date);\n start.setHours(Number(h), Number(m), 0, 0);\n return {\n id: `${date}T${time}`,\n start,\n label: time,\n };\n });\n const day: SlotGridDay = { date, slots: slotObjects };\n return (\n <SlotGrid\n days={[day]}\n selectedSlotId={selectedTime ? `${date}T${selectedTime}` : undefined}\n onSlotSelect={(slot) => {\n // Validate against the documented `${yyyy-mm-dd}T${HH:mm}` shape so\n // an unexpected ID surfaces as a no-op rather than a malformed time.\n const match = SLOT_ID_PATTERN.exec(slot.id);\n if (match) onSelect(match[2]);\n }}\n />\n );\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nconst StepperCalendar = forwardRef<HTMLDivElement, StepperCalendarProps>(\n (\n {\n services,\n availableDates,\n availableSlots,\n value,\n onChange,\n onSubmit,\n detailsFields,\n loadingDates = false,\n loadingSlots = false,\n stepStatuses,\n layout = 'vertical',\n density = 'comfortable',\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const locale = i18n.language ?? 'en';\n const weekStartsOn = useMemo(\n () => resolveFirstDay(locale) as WeekStart,\n [locale],\n );\n\n // Derive max-allowed step from value, then clamp internal active step.\n const maxAllowed = firstIncompleteStep(value);\n const [activeStep, setActiveStep] = useState<number>(maxAllowed);\n // If `value` regresses (consumer cleared a field), pull active back.\n useEffect(() => {\n if (activeStep > maxAllowed) setActiveStep(maxAllowed);\n }, [activeStep, maxAllowed]);\n\n const headingRef = useRef<HTMLHeadingElement>(null);\n const isFirstRenderRef = useRef(true);\n\n // Move focus to the new step's heading when activeStep changes (skip\n // first render to avoid stealing focus on mount). Targeting the heading\n // (rather than the first interactive control) is the pattern recommended\n // by 05-accessibility.mdx — screen-reader users hear the step label\n // before any field, and sighted keyboard users can Tab into the form.\n useEffect(() => {\n if (isFirstRenderRef.current) {\n isFirstRenderRef.current = false;\n return;\n }\n headingRef.current?.focus();\n }, [activeStep]);\n\n const steps: StepSpec[] = useMemo(\n () => [\n {\n label: t('navigation.stepperCalendar.steps.service'),\n status: stepStatuses?.[0],\n },\n {\n label: t('navigation.stepperCalendar.steps.date'),\n status: stepStatuses?.[1],\n },\n {\n label: t('navigation.stepperCalendar.steps.time'),\n status: stepStatuses?.[2],\n },\n {\n label: t('navigation.stepperCalendar.steps.details'),\n status: stepStatuses?.[3],\n },\n ],\n [stepStatuses, t],\n );\n\n const label = ariaLabel ?? t('navigation.stepperCalendar.label');\n const backLabel = t('navigation.stepperCalendar.actions.back');\n const nextLabel = t('navigation.stepperCalendar.actions.next');\n const submitLabel = t('navigation.stepperCalendar.actions.submit');\n const emptyTimeLabel = t('navigation.stepperCalendar.time.empty');\n const prevMonthLabel = t('navigation.stepperCalendar.date.previousMonth');\n const nextMonthLabel = t('navigation.stepperCalendar.date.nextMonth');\n const serviceGroupLabel = t('navigation.stepperCalendar.steps.service');\n\n const durationLabel = useCallback(\n (minutes: number) =>\n t('navigation.stepperCalendar.service.duration', { minutes }),\n [t],\n );\n\n const canAdvance = (() => {\n if (activeStep === 0) return Boolean(value.serviceId);\n if (activeStep === 1) return Boolean(value.date);\n if (activeStep === 2) return Boolean(value.time);\n return false; // step 3 is terminal\n })();\n\n const handleServiceSelect = (serviceId: string) => {\n onChange({ ...value, serviceId });\n // Auto-advance for conversion. Use a short delay so users see the\n // selection register before the step swaps. Plain `setTimeout` (not\n // `window.setTimeout`) so the component does not assume a DOM global.\n setTimeout(() => {\n setActiveStep((s) => (s === 0 ? 1 : s));\n }, 120);\n };\n\n const handleDateSelect = (date: string) => {\n // Clear time when date changes.\n onChange({ ...value, date, time: undefined });\n };\n\n const handleTimeSelect = (time: string) => {\n onChange({ ...value, time });\n };\n\n const handleBack = () => setActiveStep((s) => Math.max(0, s - 1));\n const handleNext = () =>\n setActiveStep((s) => Math.min(TOTAL_STEPS - 1, s + 1));\n const handleSubmit = () => onSubmit?.(value);\n\n const headingId = `stepper-calendar-step-${activeStep}-heading`;\n const availableDateSet = useMemo(\n () => new Set(availableDates),\n [availableDates],\n );\n\n /* ---- Active step body ---- */\n let body: ReactNode = null;\n if (activeStep === 0) {\n body = (\n <ServiceGrid\n services={services}\n selectedId={value.serviceId}\n onSelect={handleServiceSelect}\n durationLabel={durationLabel}\n groupLabel={serviceGroupLabel}\n />\n );\n } else if (activeStep === 1) {\n body = (\n <MonthGrid\n availableDates={availableDateSet}\n selectedDate={value.date}\n onSelectDate={handleDateSelect}\n loading={loadingDates}\n locale={locale}\n weekStartsOn={weekStartsOn}\n prevLabel={prevMonthLabel}\n nextLabel={nextMonthLabel}\n emptyLabel={emptyTimeLabel}\n />\n );\n } else if (activeStep === 2) {\n body = (\n <TimeStepBody\n date={value.date}\n slots={value.date ? (availableSlots[value.date] ?? []) : []}\n selectedTime={value.time}\n loading={loadingSlots}\n emptyLabel={emptyTimeLabel}\n onSelect={handleTimeSelect}\n />\n );\n } else {\n body = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {detailsFields}\n </div>\n );\n }\n\n const isTerminal = activeStep === TOTAL_STEPS - 1;\n const activeState = stateForStep(\n activeStep,\n activeStep,\n stepStatuses?.[activeStep as 0 | 1 | 2 | 3],\n );\n\n const handle = useMemo<StepperCalendarHandle>(\n () => ({\n getCurrentStep: () => activeStep,\n getTotalSteps: () => TOTAL_STEPS,\n gotoStep: (step: number) => {\n const clamped = Math.max(0, Math.min(step, TOTAL_STEPS - 1));\n // Honour the same gating as the UI: don't jump past first-incomplete.\n const allowed = Math.min(clamped, maxAllowed);\n if (allowed !== activeStep) setActiveStep(allowed);\n },\n next: () => {\n if (activeStep < TOTAL_STEPS - 1 && canAdvance) {\n setActiveStep(activeStep + 1);\n }\n },\n previous: () => {\n if (activeStep > 0) setActiveStep(activeStep - 1);\n },\n }),\n [activeStep, maxAllowed, canAdvance],\n );\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref, () => rootRef.current as HTMLDivElement, []);\n useAgentRegistration(stepperCalendarAgent, handle, id);\n\n return (\n <div\n ref={rootRef}\n role=\"region\"\n aria-label={label}\n id={id}\n data-component=\"stepper-calendar\"\n data-component-id={id}\n className={rootVariants({ layout, density, className })}\n {...rest}\n >\n <StepperProgress\n activeStep={activeStep}\n steps={steps}\n aria-label={label}\n />\n <section\n aria-labelledby={headingId}\n className={stepBodyVariants({ density })}\n data-step={activeStep}\n data-state={activeState}\n >\n <h2\n ref={headingRef}\n id={headingId}\n tabIndex={-1}\n className=\"type-body-sm ds:font-[var(--font-weight-semibold)] ds:focus:outline-none\"\n >\n {steps[activeStep]?.label}\n </h2>\n {body}\n <div className={actionsRowVariants()}>\n <Button\n type=\"button\"\n intent=\"ghost\"\n size=\"md\"\n onClick={handleBack}\n disabled={activeStep === 0}\n >\n {backLabel}\n </Button>\n {isTerminal ? (\n <Button\n type=\"button\"\n intent=\"primary\"\n size=\"md\"\n onClick={handleSubmit}\n >\n {submitLabel}\n </Button>\n ) : (\n <Button\n type=\"button\"\n intent=\"primary\"\n size=\"md\"\n onClick={handleNext}\n disabled={!canAdvance}\n >\n {nextLabel}\n </Button>\n )}\n </div>\n </section>\n </div>\n );\n },\n);\nStepperCalendar.displayName = 'StepperCalendar';\n\nexport { StepperCalendar };\n"],"names":["subMonths","date","amount","options","addMonths","stepperCalendarAgent","handle","args","SLOT_ID_PATTERN","TOTAL_STEPS","rootVariants","cva","stepBodyVariants","serviceCardVariants","monthHeaderVariants","monthGridVariants","dayCellVariants","actionsRowVariants","isoDay","fnsFormat","firstIncompleteStep","value","ServiceGrid","forwardRef","services","selectedId","onSelect","durationLabel","groupLabel","ref","itemRefs","useRef","focusedIndex","i","moveFocus","next","wrapped","target","svc","handleKeyDown","event","currentIndex","isRtl","forward","back","jsx","index","checked","jsxs","el","e","MonthGrid","availableDates","selectedDate","onSelectDate","loading","locale","weekStartsOn","prevLabel","nextLabel","emptyLabel","initialMonth","useMemo","parseISO","first","month","setMonth","useState","focusedDay","setFocusedDay","monthStart","startOfMonth","gridStart","startOfWeek","days","cells","addDays","weekdayLabels","base","fmt","_","monthLabel","isAvailable","useCallback","d","isSameMonth","map","focusedRef","useEffect","_a","Skeleton","EmptyState","IconButton","ChevronLeft","ChevronRight","wd","weekIndex","week","iso","outside","available","selected","isFocused","isSameDay","TimeStepBody","slots","selectedTime","SlotGrid","slotObjects","time","h","m","start","slot","match","StepperCalendar","availableSlots","onChange","onSubmit","detailsFields","loadingDates","loadingSlots","stepStatuses","layout","density","ariaLabel","id","className","rest","t","i18n","useTranslation","resolveFirstDay","maxAllowed","activeStep","setActiveStep","headingRef","isFirstRenderRef","steps","label","backLabel","submitLabel","emptyTimeLabel","prevMonthLabel","nextMonthLabel","serviceGroupLabel","minutes","canAdvance","handleServiceSelect","serviceId","s","handleDateSelect","handleTimeSelect","handleBack","handleNext","handleSubmit","headingId","availableDateSet","body","isTerminal","activeState","stateForStep","step","clamped","allowed","rootRef","useImperativeHandle","useAgentRegistration","StepperProgress","Button"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,208 @@
1
+ import { jsxs as c, jsx as i } from "react/jsx-runtime";
2
+ import { forwardRef as H, useRef as P, useState as E, useEffect as I, useLayoutEffect as B, useMemo as C, useImperativeHandle as L } from "react";
3
+ import { c as p } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as O } from "react-i18next";
5
+ import { u as Z } from "./registry-C9nwlNyL.js";
6
+ const _ = {
7
+ id: "stepper-progress",
8
+ capabilities: ["navigate"],
9
+ state: {
10
+ currentStep: {
11
+ type: "number",
12
+ descriptionKey: "ui.agent.stepperProgress.state.currentStep",
13
+ description: "Zero-indexed active step.",
14
+ read: (e) => e.getCurrentStep()
15
+ },
16
+ totalSteps: {
17
+ type: "number",
18
+ descriptionKey: "ui.agent.stepperProgress.state.totalSteps",
19
+ description: "Total number of steps in the flow.",
20
+ read: (e) => e.getTotalSteps()
21
+ }
22
+ },
23
+ actions: {
24
+ goto_step: {
25
+ safety: "read",
26
+ argsType: "{ step: number }",
27
+ descriptionKey: "ui.agent.stepperProgress.actions.gotoStep",
28
+ description: "Request the host to activate the given step via onStepChange. No-op when no handler is wired.",
29
+ invoke: (e, o) => {
30
+ e.gotoStep(o.step);
31
+ }
32
+ },
33
+ next: {
34
+ safety: "read",
35
+ descriptionKey: "ui.agent.stepperProgress.actions.next",
36
+ description: "Request the host to advance one step via onStepChange.",
37
+ invoke: (e) => {
38
+ e.next();
39
+ }
40
+ },
41
+ previous: {
42
+ safety: "read",
43
+ descriptionKey: "ui.agent.stepperProgress.actions.previous",
44
+ description: "Request the host to retreat one step via onStepChange.",
45
+ invoke: (e) => {
46
+ e.previous();
47
+ }
48
+ }
49
+ },
50
+ domHooks: {
51
+ root: {
52
+ attr: "data-component",
53
+ value: "stepper-progress",
54
+ description: "Marks the StepperProgress root."
55
+ },
56
+ instanceId: {
57
+ attr: "data-component-id",
58
+ sourceProp: "id",
59
+ description: "Sourced from the id prop."
60
+ }
61
+ }
62
+ }, $ = p("ds:flex ds:w-full", {
63
+ variants: {
64
+ captionPosition: {
65
+ top: "ds:flex-col ds:gap-[var(--spacing-xs)]",
66
+ bottom: "ds:flex-col-reverse ds:gap-[var(--spacing-xs)]"
67
+ }
68
+ },
69
+ defaultVariants: { captionPosition: "top" }
70
+ }), D = p(
71
+ "ds:relative ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-[var(--muted)]",
72
+ {
73
+ variants: {
74
+ size: {
75
+ sm: "ds:h-[var(--spacing-xs)]",
76
+ default: "ds:h-[var(--spacing-sm)]"
77
+ }
78
+ },
79
+ defaultVariants: { size: "default" }
80
+ }
81
+ ), F = p(
82
+ [
83
+ "ds:block ds:h-full ds:rounded-[var(--radius-full)]",
84
+ "ds:[inline-size:calc(var(--stepper-progress-value,0)*1%)]",
85
+ "ds:transition-[inline-size,background-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]",
86
+ "ds:motion-reduce:transition-none"
87
+ ].join(" "),
88
+ {
89
+ variants: {
90
+ tone: {
91
+ progress: "ds:bg-[var(--primary)]",
92
+ error: "ds:bg-[var(--destructive)]",
93
+ complete: "ds:bg-[var(--success,var(--primary))]"
94
+ }
95
+ },
96
+ defaultVariants: { tone: "progress" }
97
+ }
98
+ ), G = p(
99
+ "ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)] ds:flex-wrap",
100
+ {
101
+ variants: {
102
+ tone: {
103
+ progress: "ds:text-[var(--foreground)]",
104
+ error: "ds:text-[var(--destructive)]",
105
+ complete: "ds:text-[var(--foreground)]"
106
+ }
107
+ },
108
+ defaultVariants: { tone: "progress" }
109
+ }
110
+ ), J = H(
111
+ ({
112
+ activeStep: e,
113
+ steps: o,
114
+ "aria-label": S,
115
+ hideCaption: w = !1,
116
+ size: M = "default",
117
+ captionPosition: N = "top",
118
+ id: d,
119
+ onStepChange: a,
120
+ className: k,
121
+ ...R
122
+ }, T) => {
123
+ const { t: u } = O(), v = P(null), t = o.length, s = Math.max(0, Math.min(e, t - 1)), r = o[s], f = (r == null ? void 0 : r.status) === "error" ? "error" : "current", g = s + 1, V = t === 0 ? 0 : g / t * 100, m = f === "error" ? "error" : s === t - 1 && t > 0 ? "complete" : "progress", [K, j] = E(!1);
124
+ I(() => {
125
+ j(!0);
126
+ }, []);
127
+ const h = K ? V : 0;
128
+ B(() => {
129
+ var n;
130
+ (n = v.current) == null || n.style.setProperty(
131
+ "--stepper-progress-value",
132
+ String(h)
133
+ );
134
+ }, [h]);
135
+ const x = u("navigation.stepper.stepOfTotal", {
136
+ n: s + 1,
137
+ total: t
138
+ }), z = S ?? u("navigation.stepper.label"), l = f === "error" && (r != null && r.description) ? r.description : null, q = [
139
+ x,
140
+ r ? `— ${r.label}` : null,
141
+ l
142
+ ].filter(Boolean).join(" "), A = C(
143
+ () => ({
144
+ getCurrentStep: () => s,
145
+ getTotalSteps: () => t,
146
+ gotoStep: (n) => {
147
+ if (!a) return;
148
+ const y = Math.max(0, Math.min(n, Math.max(t - 1, 0)));
149
+ y !== s && a(y);
150
+ },
151
+ next: () => {
152
+ a && s < t - 1 && a(s + 1);
153
+ },
154
+ previous: () => {
155
+ a && s > 0 && a(s - 1);
156
+ }
157
+ }),
158
+ [s, t, a]
159
+ ), b = P(null);
160
+ return L(T, () => b.current, []), Z(_, A, d), /* @__PURE__ */ c(
161
+ "div",
162
+ {
163
+ ref: b,
164
+ id: d,
165
+ "data-component": "stepper-progress",
166
+ "data-component-id": d,
167
+ className: $({ captionPosition: N, className: k }),
168
+ ...R,
169
+ children: [
170
+ w ? null : /* @__PURE__ */ c("div", { className: G({ tone: m }), "aria-hidden": "true", children: [
171
+ /* @__PURE__ */ i("span", { className: "type-meta ds:font-[var(--font-weight-semibold)]", children: x }),
172
+ r ? /* @__PURE__ */ c("span", { className: "type-meta ds:text-[var(--muted-foreground)]", children: [
173
+ "— ",
174
+ r.label
175
+ ] }) : null,
176
+ l ? /* @__PURE__ */ i("span", { className: "type-meta ds:ms-auto ds:text-[var(--destructive)]", children: l }) : null
177
+ ] }),
178
+ /* @__PURE__ */ i(
179
+ "div",
180
+ {
181
+ role: "progressbar",
182
+ "aria-label": z,
183
+ "aria-valuemin": 0,
184
+ "aria-valuemax": t,
185
+ "aria-valuenow": g,
186
+ "aria-valuetext": q,
187
+ className: D({ size: M }),
188
+ children: /* @__PURE__ */ i(
189
+ "span",
190
+ {
191
+ ref: v,
192
+ "aria-hidden": "true",
193
+ className: F({ tone: m })
194
+ }
195
+ )
196
+ }
197
+ )
198
+ ]
199
+ }
200
+ );
201
+ }
202
+ );
203
+ J.displayName = "StepperProgress";
204
+ export {
205
+ J as S,
206
+ _ as s
207
+ };
208
+ //# sourceMappingURL=stepper-progress-jFY8BSf7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper-progress-jFY8BSf7.js","sources":["../../src/components/stepper-progress/stepper-progress.agent.ts","../../src/components/stepper-progress/stepper-progress.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — StepperProgress. */\n/* */\n/* Pure indicator — the component itself has no internal step-change */\n/* affordance. The adapter exposes the active step + total and forwards */\n/* goto/next/previous to the consumer-supplied onStepChange handler so */\n/* an agent can drive a hosting wizard by step index. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { StepperProgressHandle } from './stepper-progress';\n\nexport const stepperProgressAgent: AgentAdapter<StepperProgressHandle> = {\n id: 'stepper-progress',\n capabilities: ['navigate'],\n state: {\n currentStep: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperProgress.state.currentStep',\n description: 'Zero-indexed active step.',\n read: (handle) => handle.getCurrentStep(),\n },\n totalSteps: {\n type: 'number',\n descriptionKey: 'ui.agent.stepperProgress.state.totalSteps',\n description: 'Total number of steps in the flow.',\n read: (handle) => handle.getTotalSteps(),\n },\n },\n actions: {\n goto_step: {\n safety: 'read',\n argsType: '{ step: number }',\n descriptionKey: 'ui.agent.stepperProgress.actions.gotoStep',\n description:\n 'Request the host to activate the given step via onStepChange. No-op when no handler is wired.',\n invoke: (handle, args: { step: number }) => {\n handle.gotoStep(args.step);\n },\n },\n next: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperProgress.actions.next',\n description: 'Request the host to advance one step via onStepChange.',\n invoke: (handle) => {\n handle.next();\n },\n },\n previous: {\n safety: 'read',\n descriptionKey: 'ui.agent.stepperProgress.actions.previous',\n description: 'Request the host to retreat one step via onStepChange.',\n invoke: (handle) => {\n handle.previous();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'stepper-progress',\n description: 'Marks the StepperProgress root.',\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 useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport type { StepSpec, StepState } from '../_shared/stepper';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { stepperProgressAgent } from './stepper-progress.agent';\n\n/* -------------------------------------------------------------------- */\n/* StepperProgress */\n/* */\n/* A lightweight \"Step N of M — {label}\" caption + fill bar. Pure */\n/* indicator — no revisit, no per-step click targets. For flows that */\n/* need editable completed steps, reach for `StepperAccordion`. */\n/* -------------------------------------------------------------------- */\n\ntype Size = 'sm' | 'default';\ntype CaptionPosition = 'top' | 'bottom';\ntype Tone = 'progress' | 'error' | 'complete';\n\nconst rootVariants = cva('ds:flex ds:w-full', {\n variants: {\n captionPosition: {\n top: 'ds:flex-col ds:gap-[var(--spacing-xs)]',\n bottom: 'ds:flex-col-reverse ds:gap-[var(--spacing-xs)]',\n },\n },\n defaultVariants: { captionPosition: 'top' },\n});\n\nconst trackVariants = cva(\n 'ds:relative ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-[var(--muted)]',\n {\n variants: {\n size: {\n sm: 'ds:h-[var(--spacing-xs)]',\n default: 'ds:h-[var(--spacing-sm)]',\n },\n },\n defaultVariants: { size: 'default' },\n },\n);\n\nconst fillVariants = cva(\n [\n 'ds:block ds:h-full ds:rounded-[var(--radius-full)]',\n 'ds:[inline-size:calc(var(--stepper-progress-value,0)*1%)]',\n 'ds:transition-[inline-size,background-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]',\n 'ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n tone: {\n progress: 'ds:bg-[var(--primary)]',\n error: 'ds:bg-[var(--destructive)]',\n complete: 'ds:bg-[var(--success,var(--primary))]',\n },\n },\n defaultVariants: { tone: 'progress' },\n },\n);\n\nconst captionVariants = cva(\n 'ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)] ds:flex-wrap',\n {\n variants: {\n tone: {\n progress: 'ds:text-[var(--foreground)]',\n error: 'ds:text-[var(--destructive)]',\n complete: 'ds:text-[var(--foreground)]',\n },\n },\n defaultVariants: { tone: 'progress' },\n },\n);\n\nexport interface StepperProgressProps\n extends\n Omit<ComponentPropsWithoutRef<'div'>, 'aria-label'>,\n VariantProps<typeof trackVariants>,\n VariantProps<typeof rootVariants> {\n /** Active step (0-indexed). */\n activeStep: number;\n /** Step specs — `label` is used in the caption for the active step. */\n steps: StepSpec[];\n /** Override the default `aria-label` on the progressbar. */\n 'aria-label'?: string;\n /** Hide the \"Step N of M — label\" caption. @default false */\n hideCaption?: boolean;\n /** Track size. @default 'default' */\n size?: Size;\n /** Caption position relative to the bar. @default 'top' */\n captionPosition?: CaptionPosition;\n /**\n * Consumer-supplied instance id, surfaced as `data-component-id` so an\n * agent / UI bridge can address this instance.\n */\n id?: string;\n /**\n * Called when an external driver (agent adapter) requests a step change.\n * StepperProgress is a pure indicator and does not own step state itself\n * — this hook lets a host wizard react to agent-driven navigation.\n */\n onStepChange?: (next: number) => void;\n}\n\n/**\n * Imperative handle for agent-readiness. Exposed via `ref`.\n *\n * The handle is the surface the future MCP UI bridge invokes through the\n * runtime registry. Methods are pure functions of the current props +\n * internal state; mutations route through the consumer's `onStepChange`.\n */\nexport interface StepperProgressHandle {\n getCurrentStep: () => number;\n getTotalSteps: () => number;\n gotoStep: (step: number) => void;\n next: () => void;\n previous: () => void;\n}\n\nconst StepperProgress = forwardRef<HTMLDivElement, StepperProgressProps>(\n (\n {\n activeStep,\n steps,\n 'aria-label': ariaLabel,\n hideCaption = false,\n size = 'default',\n captionPosition = 'top',\n id,\n onStepChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const fillRef = useRef<HTMLSpanElement>(null);\n\n const total = steps.length;\n const clampedActive = Math.max(0, Math.min(activeStep, total - 1));\n const activeSpec = steps[clampedActive];\n // The progress variant only renders one \"active\" step at a time — the\n // shared four-way state machine collapses to error-or-current here.\n const activeState: StepState =\n activeSpec?.status === 'error' ? 'error' : 'current';\n\n // Fill reaches through the completed segments plus the current one, so\n // a 4-step flow at index 1 fills 50% (2/4). Matches the user's mental\n // model for \"how far along am I\".\n const filledCount = clampedActive + 1;\n const targetPercent = total === 0 ? 0 : (filledCount / total) * 100;\n\n const tone: Tone =\n activeState === 'error'\n ? 'error'\n : clampedActive === total - 1 && total > 0\n ? 'complete'\n : 'progress';\n\n // Mount-in animation: paint at 0 on first render, then swap to the\n // target in a post-mount effect so the CSS transition animates from\n // empty → target. Matches the pattern in `components/progress`.\n const [hasMounted, setHasMounted] = useState(false);\n useEffect(() => {\n setHasMounted(true);\n }, []);\n const percent = hasMounted ? targetPercent : 0;\n\n // Setting a CSS custom property via `style.setProperty` (rather than a\n // JSX `style={{}}` attribute) is the sanctioned escape hatch for\n // runtime-computed CSS tokens per `src/docs/23-constraints.mdx` §4;\n // the `components/progress` bar uses the same pattern for its fill.\n useLayoutEffect(() => {\n fillRef.current?.style.setProperty(\n '--stepper-progress-value',\n String(percent),\n );\n }, [percent]);\n\n const captionText = t('navigation.stepper.stepOfTotal', {\n n: clampedActive + 1,\n total,\n });\n const label = ariaLabel ?? t('navigation.stepper.label');\n const errorCopy =\n activeState === 'error' && activeSpec?.description\n ? activeSpec.description\n : null;\n // `aria-valuetext` is the single AT source — the caption is aria-hidden\n // so anything the caption exposes (label, error description) must be\n // appended here too, or it's invisible to screen-reader users who set\n // `hideCaption`.\n const valueText = [\n captionText,\n activeSpec ? `— ${activeSpec.label}` : null,\n errorCopy,\n ]\n .filter(Boolean)\n .join(' ');\n\n const handle = useMemo<StepperProgressHandle>(\n () => ({\n getCurrentStep: () => clampedActive,\n getTotalSteps: () => total,\n gotoStep: (step: number) => {\n if (!onStepChange) return;\n const clamped = Math.max(0, Math.min(step, Math.max(total - 1, 0)));\n if (clamped !== clampedActive) onStepChange(clamped);\n },\n next: () => {\n if (!onStepChange) return;\n if (clampedActive < total - 1) onStepChange(clampedActive + 1);\n },\n previous: () => {\n if (!onStepChange) return;\n if (clampedActive > 0) onStepChange(clampedActive - 1);\n },\n }),\n [clampedActive, total, onStepChange],\n );\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref, () => rootRef.current as HTMLDivElement, []);\n useAgentRegistration(stepperProgressAgent, handle, id);\n\n return (\n <div\n ref={rootRef}\n id={id}\n data-component=\"stepper-progress\"\n data-component-id={id}\n className={rootVariants({ captionPosition, className })}\n {...rest}\n >\n {hideCaption ? null : (\n <div className={captionVariants({ tone })} aria-hidden=\"true\">\n <span className=\"type-meta ds:font-[var(--font-weight-semibold)]\">\n {captionText}\n </span>\n {activeSpec ? (\n <span className=\"type-meta ds:text-[var(--muted-foreground)]\">\n — {activeSpec.label}\n </span>\n ) : null}\n {errorCopy ? (\n <span className=\"type-meta ds:ms-auto ds:text-[var(--destructive)]\">\n {errorCopy}\n </span>\n ) : null}\n </div>\n )}\n <div\n role=\"progressbar\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={total}\n aria-valuenow={filledCount}\n aria-valuetext={valueText}\n className={trackVariants({ size })}\n >\n <span\n ref={fillRef}\n aria-hidden=\"true\"\n className={fillVariants({ tone })}\n />\n </div>\n </div>\n );\n },\n);\nStepperProgress.displayName = 'StepperProgress';\n\nexport { StepperProgress };\n"],"names":["stepperProgressAgent","handle","args","rootVariants","cva","trackVariants","fillVariants","captionVariants","StepperProgress","forwardRef","activeStep","steps","ariaLabel","hideCaption","size","captionPosition","id","onStepChange","className","rest","ref","t","useTranslation","fillRef","useRef","total","clampedActive","activeSpec","activeState","filledCount","targetPercent","tone","hasMounted","setHasMounted","useState","useEffect","percent","useLayoutEffect","_a","captionText","label","errorCopy","valueText","useMemo","step","clamped","rootRef","useImperativeHandle","useAgentRegistration","jsxs","jsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-text-BgjCTVOw.js","sources":["../../src/components/streaming-text/streaming-text.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useEffect,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst containerVariants = cva(\n 'type-body ds:block ds:whitespace-pre-wrap ds:break-words',\n {\n variants: {\n // Family, weight, tracking, line-height all come from `.type-body` on the base.\n // Size variants override --type-body-size to shift the ramp step.\n size: {\n sm: 'ds:[--type-body-size:var(--font-size-sm)]',\n md: '',\n lg: 'ds:[--type-body-size:var(--font-size-lg)]',\n },\n density: {\n default: '',\n compact: 'ds:[--type-body-size:var(--font-size-sm)] ds:leading-snug',\n },\n },\n defaultVariants: { size: 'md', density: 'default' },\n },\n);\n\ntype NativeProps = Omit<HTMLAttributes<HTMLSpanElement>, 'children' | 'aria-busy' | 'aria-live'>;\n\nexport interface StreamingTextProps\n extends NativeProps,\n VariantProps<typeof containerVariants> {\n /** Accumulated plain-text content. Parent appends tokens as they arrive. */\n content: string;\n /** While true the blinking cursor is shown and aria-busy is set. */\n isStreaming: boolean;\n /** When true, parse a small, safe subset of markdown (bold, inline code, line-breaks).\n * No HTML passes through; no dangerouslySetInnerHTML is ever used. */\n renderMarkdown?: boolean;\n /** Announce updates more aggressively when the streamed content is primary\n * (not wrapped by a higher-level log region). Defaults to 'polite'; never\n * set to 'assertive' for streamed output. */\n ariaLive?: 'polite' | 'off';\n}\n\n/* ------------------------------------------------------------------ */\n/* Safe, dependency-free markdown-ish renderer. */\n/* Handles **bold**, `inline code`, and newlines. Anything that looks */\n/* like HTML stays as text — no dangerouslySetInnerHTML. */\n/* ------------------------------------------------------------------ */\n\ntype Token =\n | { type: 'text'; value: string }\n | { type: 'bold'; value: string }\n | { type: 'code'; value: string }\n | { type: 'br' };\n\nfunction tokenize(input: string): Token[] {\n const tokens: Token[] = [];\n let remaining = input;\n // Alternation: bold | code | newline | text.\n const pattern = /\\*\\*([^*]+)\\*\\*|`([^`]+)`|\\n/;\n while (remaining.length > 0) {\n const match = pattern.exec(remaining);\n if (!match) {\n tokens.push({ type: 'text', value: remaining });\n break;\n }\n if (match.index > 0) {\n tokens.push({ type: 'text', value: remaining.slice(0, match.index) });\n }\n if (match[1] !== undefined) {\n tokens.push({ type: 'bold', value: match[1] });\n } else if (match[2] !== undefined) {\n tokens.push({ type: 'code', value: match[2] });\n } else {\n tokens.push({ type: 'br' });\n }\n remaining = remaining.slice(match.index + match[0].length);\n }\n return tokens;\n}\n\nfunction renderTokens(input: string): ReactNode {\n return tokenize(input).map((tok, i) => {\n if (tok.type === 'bold') return <strong key={i}>{tok.value}</strong>;\n if (tok.type === 'code') {\n return (\n <code\n key={i}\n dir=\"ltr\"\n className=\"ds:rounded-[var(--radius-sm)] ds:bg-muted/20 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)] ds:text-[length:0.95em]\"\n >\n {tok.value}\n </code>\n );\n }\n if (tok.type === 'br') return <br key={i} />;\n return <Fragment key={i}>{tok.value}</Fragment>;\n });\n}\n\nexport const StreamingText = forwardRef<HTMLSpanElement, StreamingTextProps>(\n (\n {\n content,\n isStreaming,\n renderMarkdown = false,\n ariaLive = 'polite',\n size = 'md',\n density = 'default',\n className,\n ...rest\n },\n ref,\n ) => {\n // Throttle visible content to at most ~10 updates per second so assistive\n // tech doesn't receive one announcement per token. We keep the full text in\n // a ref and push it to state on a timer.\n const [visible, setVisible] = useState<string>(content);\n\n useEffect(() => {\n if (!isStreaming) {\n // Streaming ended — flush immediately.\n setVisible(content);\n return;\n }\n // Global `setTimeout` works in both Node and browsers — avoid the\n // `window.` prefix so SSR (Next.js App Router, Remix) doesn't throw.\n const handle = setTimeout(() => setVisible(content), 100);\n return () => clearTimeout(handle);\n }, [content, isStreaming]);\n\n const body = renderMarkdown ? renderTokens(visible) : visible;\n\n return (\n <span\n ref={ref}\n aria-live={ariaLive}\n aria-busy={isStreaming || undefined}\n data-component=\"streaming-text\"\n className={containerVariants({ size, density, className })}\n {...rest}\n >\n {body}\n {isStreaming ? (\n <span\n aria-hidden=\"true\"\n className={[\n 'ds:inline-block ds:align-baseline',\n 'ds:text-[color:var(--primary)]',\n 'ds:motion-safe:animate-[streaming-cursor-blink_1s_step-end_infinite]',\n 'ds:motion-reduce:opacity-100',\n 'ds:[.theme-accessible_&]:animate-none',\n 'ds:forced-colors:text-[CanvasText]',\n 'ds:ms-[1px]',\n ].join(' ')}\n >\n {'\\u258D'}\n </span>\n ) : null}\n </span>\n );\n },\n);\n\nStreamingText.displayName = 'StreamingText';\n"],"names":["containerVariants","cva","tokenize","input","tokens","remaining","pattern","match","renderTokens","tok","i","jsx","Fragment","StreamingText","forwardRef","content","isStreaming","renderMarkdown","ariaLive","size","density","className","rest","ref","visible","setVisible","useState","useEffect","handle","body","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"streaming-text-BgjCTVOw.js","sources":["../../src/components/streaming-text/streaming-text.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useEffect,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst containerVariants = cva(\n 'type-body ds:block ds:whitespace-pre-wrap ds:break-words',\n {\n variants: {\n // Family, weight, tracking, line-height all come from `.type-body` on the base.\n // Size variants override --type-body-size to shift the ramp step.\n size: {\n sm: 'ds:[--type-body-size:var(--font-size-sm)]',\n md: '',\n lg: 'ds:[--type-body-size:var(--font-size-lg)]',\n },\n density: {\n default: '',\n compact: 'ds:[--type-body-size:var(--font-size-sm)] ds:leading-snug',\n },\n },\n defaultVariants: { size: 'md', density: 'default' },\n },\n);\n\ntype NativeProps = Omit<\n HTMLAttributes<HTMLSpanElement>,\n 'children' | 'aria-busy' | 'aria-live'\n>;\n\nexport interface StreamingTextProps\n extends NativeProps, VariantProps<typeof containerVariants> {\n /** Accumulated plain-text content. Parent appends tokens as they arrive. */\n content: string;\n /** While true the blinking cursor is shown and aria-busy is set. */\n isStreaming: boolean;\n /** When true, parse a small, safe subset of markdown (bold, inline code, line-breaks).\n * No HTML passes through; no dangerouslySetInnerHTML is ever used. */\n renderMarkdown?: boolean;\n /** Announce updates more aggressively when the streamed content is primary\n * (not wrapped by a higher-level log region). Defaults to 'polite'; never\n * set to 'assertive' for streamed output. */\n ariaLive?: 'polite' | 'off';\n}\n\n/* ------------------------------------------------------------------ */\n/* Safe, dependency-free markdown-ish renderer. */\n/* Handles **bold**, `inline code`, and newlines. Anything that looks */\n/* like HTML stays as text — no dangerouslySetInnerHTML. */\n/* ------------------------------------------------------------------ */\n\ntype Token =\n | { type: 'text'; value: string }\n | { type: 'bold'; value: string }\n | { type: 'code'; value: string }\n | { type: 'br' };\n\nfunction tokenize(input: string): Token[] {\n const tokens: Token[] = [];\n let remaining = input;\n // Alternation: bold | code | newline | text.\n const pattern = /\\*\\*([^*]+)\\*\\*|`([^`]+)`|\\n/;\n while (remaining.length > 0) {\n const match = pattern.exec(remaining);\n if (!match) {\n tokens.push({ type: 'text', value: remaining });\n break;\n }\n if (match.index > 0) {\n tokens.push({ type: 'text', value: remaining.slice(0, match.index) });\n }\n if (match[1] !== undefined) {\n tokens.push({ type: 'bold', value: match[1] });\n } else if (match[2] !== undefined) {\n tokens.push({ type: 'code', value: match[2] });\n } else {\n tokens.push({ type: 'br' });\n }\n remaining = remaining.slice(match.index + match[0].length);\n }\n return tokens;\n}\n\nfunction renderTokens(input: string): ReactNode {\n return tokenize(input).map((tok, i) => {\n if (tok.type === 'bold') return <strong key={i}>{tok.value}</strong>;\n if (tok.type === 'code') {\n return (\n <code\n key={i}\n dir=\"ltr\"\n className=\"ds:rounded-[var(--radius-sm)] ds:bg-muted/20 ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-[family-name:var(--font-mono)] ds:text-[length:0.95em]\"\n >\n {tok.value}\n </code>\n );\n }\n if (tok.type === 'br') return <br key={i} />;\n return <Fragment key={i}>{tok.value}</Fragment>;\n });\n}\n\nexport const StreamingText = forwardRef<HTMLSpanElement, StreamingTextProps>(\n (\n {\n content,\n isStreaming,\n renderMarkdown = false,\n ariaLive = 'polite',\n size = 'md',\n density = 'default',\n className,\n ...rest\n },\n ref,\n ) => {\n // Throttle visible content to at most ~10 updates per second so assistive\n // tech doesn't receive one announcement per token. We keep the full text in\n // a ref and push it to state on a timer.\n const [visible, setVisible] = useState<string>(content);\n\n useEffect(() => {\n if (!isStreaming) {\n // Streaming ended — flush immediately.\n setVisible(content);\n return;\n }\n // Global `setTimeout` works in both Node and browsers — avoid the\n // `window.` prefix so SSR (Next.js App Router, Remix) doesn't throw.\n const handle = setTimeout(() => setVisible(content), 100);\n return () => clearTimeout(handle);\n }, [content, isStreaming]);\n\n const body = renderMarkdown ? renderTokens(visible) : visible;\n\n return (\n <span\n ref={ref}\n aria-live={ariaLive}\n aria-busy={isStreaming || undefined}\n data-component=\"streaming-text\"\n className={containerVariants({ size, density, className })}\n {...rest}\n >\n {body}\n {isStreaming ? (\n <span\n aria-hidden=\"true\"\n className={[\n 'ds:inline-block ds:align-baseline',\n 'ds:text-[color:var(--primary)]',\n 'ds:motion-safe:animate-[streaming-cursor-blink_1s_step-end_infinite]',\n 'ds:motion-reduce:opacity-100',\n 'ds:[.theme-accessible_&]:animate-none',\n 'ds:forced-colors:text-[CanvasText]',\n 'ds:ms-[1px]',\n ].join(' ')}\n >\n {'\\u258D'}\n </span>\n ) : null}\n </span>\n );\n },\n);\n\nStreamingText.displayName = 'StreamingText';\n"],"names":["containerVariants","cva","tokenize","input","tokens","remaining","pattern","match","renderTokens","tok","i","jsx","Fragment","StreamingText","forwardRef","content","isStreaming","renderMarkdown","ariaLive","size","density","className","rest","ref","visible","setVisible","useState","useEffect","handle","body","jsxs"],"mappings":";;;AAUA,MAAMA,IAAoBC;AAAA,EACxB;AAAA,EACA;AAAA,IACE,UAAU;AAAA;AAAA;AAAA,MAGR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB,EAAE,MAAM,MAAM,SAAS,UAAA;AAAA,EAAU;AAEtD;AAkCA,SAASC,EAASC,GAAwB;AACxC,QAAMC,IAAkB,CAAA;AACxB,MAAIC,IAAYF;AAEhB,QAAMG,IAAU;AAChB,SAAOD,EAAU,SAAS,KAAG;AAC3B,UAAME,IAAQD,EAAQ,KAAKD,CAAS;AACpC,QAAI,CAACE,GAAO;AACV,MAAAH,EAAO,KAAK,EAAE,MAAM,QAAQ,OAAOC,GAAW;AAC9C;AAAA,IACF;AACA,IAAIE,EAAM,QAAQ,KAChBH,EAAO,KAAK,EAAE,MAAM,QAAQ,OAAOC,EAAU,MAAM,GAAGE,EAAM,KAAK,EAAA,CAAG,GAElEA,EAAM,CAAC,MAAM,SACfH,EAAO,KAAK,EAAE,MAAM,QAAQ,OAAOG,EAAM,CAAC,GAAG,IACpCA,EAAM,CAAC,MAAM,SACtBH,EAAO,KAAK,EAAE,MAAM,QAAQ,OAAOG,EAAM,CAAC,GAAG,IAE7CH,EAAO,KAAK,EAAE,MAAM,KAAA,CAAM,GAE5BC,IAAYA,EAAU,MAAME,EAAM,QAAQA,EAAM,CAAC,EAAE,MAAM;AAAA,EAC3D;AACA,SAAOH;AACT;AAEA,SAASI,EAAaL,GAA0B;AAC9C,SAAOD,EAASC,CAAK,EAAE,IAAI,CAACM,GAAKC,MAC3BD,EAAI,SAAS,2BAAgB,UAAA,EAAgB,UAAAA,EAAI,SAARC,CAAc,IACvDD,EAAI,SAAS,SAEb,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,KAAI;AAAA,MACJ,WAAU;AAAA,MAET,UAAAF,EAAI;AAAA,IAAA;AAAA,IAJAC;AAAA,EAAA,IAQPD,EAAI,SAAS,OAAa,gBAAAE,EAAC,UAAQD,CAAG,IACnC,gBAAAC,EAACC,GAAA,EAAkB,UAAAH,EAAI,MAAA,GAARC,CAAc,CACrC;AACH;AAEO,MAAMG,IAAgBC;AAAA,EAC3B,CACE;AAAA,IACE,SAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,UAAAC,IAAW;AAAA,IACX,MAAAC,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AAIH,UAAM,CAACC,GAASC,CAAU,IAAIC,EAAiBX,CAAO;AAEtD,IAAAY,EAAU,MAAM;AACd,UAAI,CAACX,GAAa;AAEhB,QAAAS,EAAWV,CAAO;AAClB;AAAA,MACF;AAGA,YAAMa,IAAS,WAAW,MAAMH,EAAWV,CAAO,GAAG,GAAG;AACxD,aAAO,MAAM,aAAaa,CAAM;AAAA,IAClC,GAAG,CAACb,GAASC,CAAW,CAAC;AAEzB,UAAMa,IAAOZ,IAAiBT,EAAagB,CAAO,IAAIA;AAEtD,WACE,gBAAAM;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAP;AAAA,QACA,aAAWL;AAAA,QACX,aAAWF,KAAe;AAAA,QAC1B,kBAAe;AAAA,QACf,WAAWhB,EAAkB,EAAE,MAAAmB,GAAM,SAAAC,GAAS,WAAAC,GAAW;AAAA,QACxD,GAAGC;AAAA,QAEH,UAAA;AAAA,UAAAO;AAAA,UACAb,IACC,gBAAAL;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cAAA,EACA,KAAK,GAAG;AAAA,cAET,UAAA;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEAE,EAAc,cAAc;"}
@@ -0,0 +1,167 @@
1
+ import { jsxs as K, jsx as y } from "react/jsx-runtime";
2
+ import { forwardRef as V, useId as O, useContext as L, useState as T, useRef as j, useEffect as G, useCallback as f, useImperativeHandle as S, useMemo as U, createContext as B } from "react";
3
+ import { c as q } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as J } from "react-i18next";
5
+ const Q = q(
6
+ [
7
+ // `max-w-full` keeps a chip from blowing past its container when the
8
+ // label is long and the container is narrow (e.g. a 22rem Leo sidebar
9
+ // dock). Labels wrap onto multiple lines via `whitespace-normal` +
10
+ // `break-words` so the full text stays legible — rounded pills grow
11
+ // taller rather than hiding content behind an ellipsis.
12
+ "ds:inline-flex ds:items-center ds:justify-start ds:text-start ds:whitespace-normal ds:break-words ds:max-w-full",
13
+ "ds:rounded-[var(--radius-full)] ds:border",
14
+ "ds:min-h-[var(--min-target-size)]",
15
+ "ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]",
16
+ "type-label",
17
+ "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
18
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
19
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
20
+ "ds:disabled:cursor-not-allowed ds:disabled:opacity-50",
21
+ "ds:forced-colors:border-[ButtonText] ds:forced-colors:text-[ButtonText]"
22
+ ].join(" "),
23
+ {
24
+ variants: {
25
+ intent: {
26
+ default: "ds:bg-muted/20 ds:text-foreground ds:border-transparent ds:hover:bg-accent/10",
27
+ suggestion: "ds:bg-[color:var(--primary)]/10 ds:text-foreground ds:border-transparent ds:hover:bg-[color:var(--primary)]/15",
28
+ followup: "ds:bg-muted/30 ds:text-foreground ds:border-transparent ds:hover:bg-muted/40"
29
+ },
30
+ // Weight, family, tracking, line-height all come from `.type-label` on the base.
31
+ // Size variants override --type-label-size to shift the ramp step.
32
+ size: {
33
+ sm: "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:[--type-label-size:var(--font-size-xs)]",
34
+ md: "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
35
+ lg: "ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:[--type-label-size:var(--font-size-base)]"
36
+ }
37
+ },
38
+ defaultVariants: { intent: "default", size: "md" }
39
+ }
40
+ ), F = B(null), W = V(({ label: k, className: I, children: A, ...C }, g) => {
41
+ const { t: p, i18n: a } = J(), v = a.dir() === "rtl", [n, m] = T([]), [i, d] = T(null), l = j(/* @__PURE__ */ new Map()), x = f((t) => {
42
+ m((r) => r.includes(t) ? r : [...r, t]);
43
+ }, []), z = f((t) => {
44
+ m((r) => r.filter((u) => u !== t)), l.current.delete(t);
45
+ }, []), o = f((t) => d(t), []);
46
+ G(() => {
47
+ !i && n.length > 0 && d(n[0]), i && !n.includes(i) && d(n[0] ?? null);
48
+ }, [i, n]);
49
+ const e = f(
50
+ (t, r) => {
51
+ const u = n.indexOf(t);
52
+ if (u === -1) return;
53
+ let c = u;
54
+ r === "next" && (c = (u + 1) % n.length), r === "prev" && (c = (u - 1 + n.length) % n.length), r === "first" && (c = 0), r === "last" && (c = n.length - 1);
55
+ const b = n[c];
56
+ d(b);
57
+ const w = l.current.get(b);
58
+ w == null || w.focus();
59
+ },
60
+ [n]
61
+ ), h = f(
62
+ (t, r) => {
63
+ r ? l.current.set(t, r) : l.current.delete(t);
64
+ },
65
+ []
66
+ ), N = U(
67
+ () => ({ register: x, unregister: z, focusedId: i, setFocus: o, onArrowMove: e, isRTL: v }),
68
+ [x, z, i, o, e, v]
69
+ );
70
+ return /* @__PURE__ */ y(E.Provider, { value: h, children: /* @__PURE__ */ y(F.Provider, { value: N, children: /* @__PURE__ */ y(
71
+ "div",
72
+ {
73
+ ref: g,
74
+ role: "group",
75
+ "aria-label": k ?? p("chat.suggestions"),
76
+ className: [
77
+ "ds:flex ds:flex-wrap ds:items-center",
78
+ "ds:gap-y-[var(--spacing-xs)] ds:gap-x-[var(--spacing-sm)]",
79
+ I
80
+ ].filter(Boolean).join(" "),
81
+ ...C,
82
+ children: A
83
+ }
84
+ ) }) });
85
+ });
86
+ W.displayName = "SuggestionChipGroup";
87
+ const E = B(null), X = V(
88
+ ({
89
+ intent: k = "default",
90
+ size: I = "md",
91
+ value: A,
92
+ startIcon: C,
93
+ children: g,
94
+ onSelect: p,
95
+ onRemove: a,
96
+ keepOnSelect: v = !1,
97
+ className: n,
98
+ disabled: m,
99
+ onKeyDown: i,
100
+ onFocus: d,
101
+ onClick: l,
102
+ ...x
103
+ }, z) => {
104
+ const o = O(), e = L(F), h = L(E), [N, t] = T(!1), r = j(null), u = (s) => {
105
+ r.current = s, h == null || h(o, s);
106
+ }, c = j(e);
107
+ c.current = e, G(() => {
108
+ const s = c.current;
109
+ if (s)
110
+ return s.register(o), () => s.unregister(o);
111
+ }, [o]);
112
+ const b = e ? e.focusedId === o : !0, w = e ? b ? 0 : -1 : 0, M = typeof A == "string" ? A : typeof g == "string" ? g : "", R = f(() => {
113
+ p == null || p(M), a ? a() : v || t(!0);
114
+ }, [p, M, a, v]), D = f(() => {
115
+ a ? a() : t(!0);
116
+ }, [a]);
117
+ return S(
118
+ z,
119
+ () => ({
120
+ getValue: () => M,
121
+ select: R,
122
+ dismiss: D
123
+ }),
124
+ [M, R, D]
125
+ ), N ? null : /* @__PURE__ */ K(
126
+ "button",
127
+ {
128
+ ref: u,
129
+ type: "button",
130
+ tabIndex: w,
131
+ disabled: m,
132
+ onClick: m ? void 0 : (s) => {
133
+ l == null || l(s), R();
134
+ },
135
+ onKeyDown: (s) => {
136
+ if (i == null || i(s), !e) return;
137
+ const H = e.isRTL ? "ArrowLeft" : "ArrowRight", P = e.isRTL ? "ArrowRight" : "ArrowLeft";
138
+ s.key === H || s.key === "ArrowDown" ? (s.preventDefault(), e.onArrowMove(o, "next")) : s.key === P || s.key === "ArrowUp" ? (s.preventDefault(), e.onArrowMove(o, "prev")) : s.key === "Home" ? (s.preventDefault(), e.onArrowMove(o, "first")) : s.key === "End" && (s.preventDefault(), e.onArrowMove(o, "last"));
139
+ },
140
+ onFocus: (s) => {
141
+ d == null || d(s), e && !b && e.setFocus(o);
142
+ },
143
+ "data-component": "suggestion-chip",
144
+ "data-component-id": x.id,
145
+ className: Q({ intent: k, size: I, className: n }),
146
+ ...x,
147
+ children: [
148
+ C ? /* @__PURE__ */ y(
149
+ "span",
150
+ {
151
+ "aria-hidden": "true",
152
+ className: "ds:me-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:[&>svg]:size-4",
153
+ children: C
154
+ }
155
+ ) : null,
156
+ /* @__PURE__ */ y("span", { children: g })
157
+ ]
158
+ }
159
+ );
160
+ }
161
+ );
162
+ X.displayName = "SuggestionChip";
163
+ export {
164
+ X as S,
165
+ W as a
166
+ };
167
+ //# sourceMappingURL=suggestion-chip-C4Jz0LrM.js.map