@alfadocs/ui-kit 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (991) hide show
  1. package/README.md +18 -0
  2. package/dist/_chunks/{accordion-B6fyINUk.js → accordion-BEnrZmAn.js} +34 -32
  3. package/dist/_chunks/accordion.agent-BTjeO1Sx.js +52 -0
  4. package/dist/_chunks/{agenda-card-DIWDvWum.js → agenda-card-DwLIxgi7.js} +2 -1
  5. package/dist/_chunks/agenda-card.agent-B_R47-c9.js +22 -0
  6. package/dist/_chunks/agenda-tray-DUvengGQ.js +178 -0
  7. package/dist/_chunks/ai-prompt-input.agent-0NHYLTWD.js +476 -0
  8. package/dist/_chunks/{aspect-ratio-CxsdG8vk.js → aspect-ratio-DeSNzASA.js} +12 -12
  9. package/dist/_chunks/audio-recorder.agent--VKeykUp.js +458 -0
  10. package/dist/_chunks/autocomplete.agent-Dh7KioS6.js +432 -0
  11. package/dist/_chunks/{balance-cell-renderer-BWm3knY9.js → balance-cell-renderer-5CA7zpAi.js} +3 -3
  12. package/dist/_chunks/breadcrumb.agent-GM2hAKFX.js +371 -0
  13. package/dist/_chunks/{chart.agent-BdS-_8MO.js → chart.agent-_pRYS17d.js} +112 -105
  14. package/dist/_chunks/{chat-container-Cm3SlR2p.js → chat-container-Dl0Kfy5a.js} +33 -32
  15. package/dist/_chunks/{chat-container.agent-Dhw9xCJt.js → chat-container.agent-CM4WModE.js} +9 -4
  16. package/dist/_chunks/{chat-input-DreOPP8A.js → chat-input-C_tMQv92.js} +108 -82
  17. package/dist/_chunks/chat-input.agent-Bsz3ckGa.js +69 -0
  18. package/dist/_chunks/checkbox-CtPM6Rup.js +196 -0
  19. package/dist/_chunks/checkbox-group-BTdEB6Yo.js +208 -0
  20. package/dist/_chunks/collapsible.agent-DkS1jVyn.js +149 -0
  21. package/dist/_chunks/{color-picker-e9PmpaGH.js → color-picker-94qcBZqZ.js} +234 -184
  22. package/dist/_chunks/combobox.agent-CAvUkkIe.js +410 -0
  23. package/dist/_chunks/{command-palette.agent-js2rxgeR.js → command-palette.agent-HatEt_EM.js} +161 -121
  24. package/dist/_chunks/date-picker-BqPTn7bO.js +1813 -0
  25. package/dist/_chunks/date-range-picker-B2hGsffw.js +274 -0
  26. package/dist/_chunks/date-time-picker-Bzt0S8yO.js +293 -0
  27. package/dist/_chunks/dialog.agent-Daf1TTko.js +179 -0
  28. package/dist/_chunks/{dropdown-menu-Cw3EyPZv.js → dropdown-menu-C7AZipNz.js} +75 -71
  29. package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js +43 -0
  30. package/dist/_chunks/{file-upload.agent-B9AN82LA.js → file-upload.agent-DJaH2dHg.js} +275 -243
  31. package/dist/_chunks/freemium-paywall.agent-_nQqLyRF.js +260 -0
  32. package/dist/_chunks/{leo-sidebar-nbHib2D-.js → leo-sidebar-BwINPdix.js} +6 -6
  33. package/dist/_chunks/link-QheANk74.js +121 -0
  34. package/dist/_chunks/list.agent-D0iWt4VI.js +420 -0
  35. package/dist/_chunks/{message-card-qAp2-WQK.js → message-card-qhoGv947.js} +2 -1
  36. package/dist/_chunks/message-card.agent-4IeIgrnJ.js +22 -0
  37. package/dist/_chunks/message-tray-xHUCra-Y.js +419 -0
  38. package/dist/_chunks/{multi-select.agent-CNsyW3n9.js → multi-select.agent-Do6CeQUT.js} +239 -179
  39. package/dist/_chunks/navigation-menu.agent-D69ND6Qq.js +266 -0
  40. package/dist/_chunks/{notification-card-BF2_veHy.js → notification-card-CsVEYJE-.js} +13 -12
  41. package/dist/_chunks/notification-card.agent-Rqt3ofk9.js +22 -0
  42. package/dist/_chunks/notification-tray-DTXMq42J.js +444 -0
  43. package/dist/_chunks/number-input-fvGmnRy9.js +333 -0
  44. package/dist/_chunks/otp-input-EglXOUue.js +257 -0
  45. package/dist/_chunks/pagination.agent-BkZQl45y.js +422 -0
  46. package/dist/_chunks/password-input-D6kuYXmr.js +304 -0
  47. package/dist/_chunks/{patient-shell-7cXqIMFg.js → patient-shell-BRmrrUUW.js} +3 -3
  48. package/dist/_chunks/{payment-form-hcl-gGrp.js → payment-form-BWaXas8z.js} +120 -118
  49. package/dist/_chunks/{payment-form.agent-BkEnRerR.js → payment-form.agent-kuIfodCj.js} +7 -2
  50. package/dist/_chunks/{pdf-viewer.agent-CfIHhcHx.js → pdf-viewer.agent-BaGEDheA.js} +358 -351
  51. package/dist/_chunks/phone-input-C8Op4sEc.js +513 -0
  52. package/dist/_chunks/popover-kFN8s84V.js +229 -0
  53. package/dist/_chunks/popover.agent-K_d1cfbj.js +39 -0
  54. package/dist/_chunks/privacy-lock.agent-C1i1-T58.js +185 -0
  55. package/dist/_chunks/progress-wNsqkw8I.js +253 -0
  56. package/dist/_chunks/progress.agent-C68rDOXL.js +27 -0
  57. package/dist/_chunks/{radio-cs8N1wJi.js → radio-DvF59ThA.js} +14 -13
  58. package/dist/_chunks/radio-group-Cz1a4QCA.js +152 -0
  59. package/dist/_chunks/recaptcha-widget.agent-BGHpU5zD.js +183 -0
  60. package/dist/_chunks/resizable.agent-CMwZzvsi.js +456 -0
  61. package/dist/_chunks/{rich-text-editor.agent-COSb5_2D.js → rich-text-editor.agent-DnE125Tz.js} +221 -214
  62. package/dist/_chunks/search-bar.agent-DxFAxctc.js +562 -0
  63. package/dist/_chunks/search-input-Xw3cdWXW.js +227 -0
  64. package/dist/_chunks/search-input.agent-CfZvViOd.js +69 -0
  65. package/dist/_chunks/select-DY1Cb2Tg.js +410 -0
  66. package/dist/_chunks/{sheet-BhNpLHc9.js → sheet-B9kH9pcI.js} +55 -54
  67. package/dist/_chunks/sheet.agent-QAyTOxgk.js +46 -0
  68. package/dist/_chunks/{sidebar-OVzwN3jE.js → sidebar-CHF5xr_P.js} +188 -185
  69. package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js +49 -0
  70. package/dist/_chunks/{signature-capture.agent-C38VPXxg.js → signature-capture.agent-BpeDwFht.js} +127 -120
  71. package/dist/_chunks/slider-CcsQTZTA.js +322 -0
  72. package/dist/_chunks/sparkline.agent-56Sj7nOP.js +245 -0
  73. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +322 -0
  74. package/dist/_chunks/stepper-calendar.agent-9iT3ClIB.js +646 -0
  75. package/dist/_chunks/stepper-progress-Bmen-YXB.js +149 -0
  76. package/dist/_chunks/stepper-progress.agent-q9InWca4.js +61 -0
  77. package/dist/_chunks/suggestion-chip-DhFrkRPj.js +169 -0
  78. package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js +46 -0
  79. package/dist/_chunks/switch-BYEH8I53.js +196 -0
  80. package/dist/_chunks/{tabs.agent-BpbVA-Zh.js → tabs.agent-h7NvsTR1.js} +146 -123
  81. package/dist/_chunks/{task-card-yW7tKlG4.js → task-card-CY5ztNkU.js} +2 -1
  82. package/dist/_chunks/task-card.agent-CUPKYd7w.js +22 -0
  83. package/dist/_chunks/task-tray-CCoUdorl.js +194 -0
  84. package/dist/_chunks/text-area-C_M8wliK.js +239 -0
  85. package/dist/_chunks/text-input-BX39e6T6.js +272 -0
  86. package/dist/_chunks/theme-toggle.agent-btmXTWdW.js +394 -0
  87. package/dist/_chunks/time-picker-B8AMIrX7.js +410 -0
  88. package/dist/_chunks/timeline.agent-CRPza9wc.js +279 -0
  89. package/dist/_chunks/{toast-lOhJDKOH.js → toast.agent-BjEGuq1Z.js} +403 -342
  90. package/dist/_chunks/{tooth-scheme.agent-BlDyu-Gx.js → tooth-scheme.agent-CWrQBjJM.js} +218 -211
  91. package/dist/_chunks/transcript-panel.agent-BXEYP6w-.js +337 -0
  92. package/dist/_chunks/{workflow-map-XeqHDFvp.js → workflow-map-D2A7rTEG.js} +465 -368
  93. package/dist/agent-catalog.json +2929 -268
  94. package/dist/components/accordion/accordion.agent.d.ts +2 -1
  95. package/dist/components/accordion/accordion.d.ts +6 -0
  96. package/dist/components/accordion/index.js +2 -2
  97. package/dist/components/agenda-card/agenda-card.agent.d.ts +3 -0
  98. package/dist/components/agenda-card/index.d.ts +1 -0
  99. package/dist/components/agenda-card/index.js +3 -1
  100. package/dist/components/agenda-tray/agenda-tray.agent.d.ts +4 -0
  101. package/dist/components/agenda-tray/agenda-tray.d.ts +19 -2
  102. package/dist/components/agenda-tray/index.d.ts +2 -1
  103. package/dist/components/agenda-tray/index.js +3 -2
  104. package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts +4 -0
  105. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +18 -1
  106. package/dist/components/ai-prompt-input/index.d.ts +2 -1
  107. package/dist/components/ai-prompt-input/index.js +3 -2
  108. package/dist/components/aspect-ratio/index.js +1 -1
  109. package/dist/components/audio-recorder/audio-recorder.agent.d.ts +4 -0
  110. package/dist/components/audio-recorder/audio-recorder.d.ts +10 -1
  111. package/dist/components/audio-recorder/index.d.ts +2 -1
  112. package/dist/components/audio-recorder/index.js +3 -2
  113. package/dist/components/autocomplete/autocomplete.agent.d.ts +2 -1
  114. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  115. package/dist/components/autocomplete/index.js +1 -1
  116. package/dist/components/breadcrumb/breadcrumb.agent.d.ts +8 -0
  117. package/dist/components/breadcrumb/breadcrumb.d.ts +21 -2
  118. package/dist/components/breadcrumb/index.d.ts +2 -1
  119. package/dist/components/breadcrumb/index.js +5 -4
  120. package/dist/components/button/button.d.ts +1 -1
  121. package/dist/components/chart/chart.d.ts +2 -0
  122. package/dist/components/chart/index.js +1 -1
  123. package/dist/components/chat-container/chat-container.d.ts +3 -1
  124. package/dist/components/chat-container/index.js +2 -2
  125. package/dist/components/chat-input/chat-input.agent.d.ts +4 -0
  126. package/dist/components/chat-input/chat-input.d.ts +10 -1
  127. package/dist/components/chat-input/index.d.ts +2 -1
  128. package/dist/components/chat-input/index.js +4 -2
  129. package/dist/components/checkbox/checkbox.agent.d.ts +4 -0
  130. package/dist/components/checkbox/checkbox.d.ts +6 -0
  131. package/dist/components/checkbox/index.js +1 -1
  132. package/dist/components/checkbox-group/checkbox-group.agent.d.ts +4 -0
  133. package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
  134. package/dist/components/checkbox-group/index.js +1 -1
  135. package/dist/components/collapsible/collapsible.agent.d.ts +4 -0
  136. package/dist/components/collapsible/collapsible.d.ts +8 -1
  137. package/dist/components/collapsible/index.d.ts +2 -1
  138. package/dist/components/collapsible/index.js +4 -3
  139. package/dist/components/color-picker/color-picker.agent.d.ts +4 -0
  140. package/dist/components/color-picker/color-picker.d.ts +5 -0
  141. package/dist/components/color-picker/index.js +1 -1
  142. package/dist/components/combobox/combobox.agent.d.ts +2 -1
  143. package/dist/components/combobox/combobox.d.ts +10 -0
  144. package/dist/components/combobox/index.js +1 -1
  145. package/dist/components/command-palette/command-palette.agent.d.ts +2 -1
  146. package/dist/components/command-palette/command-palette.d.ts +7 -0
  147. package/dist/components/command-palette/index.js +1 -1
  148. package/dist/components/data-table/index.js +1 -1
  149. package/dist/components/date-picker/date-picker.agent.d.ts +4 -0
  150. package/dist/components/date-picker/date-picker.d.ts +16 -1
  151. package/dist/components/date-picker/index.d.ts +2 -1
  152. package/dist/components/date-picker/index.js +3 -2
  153. package/dist/components/date-range-picker/date-range-picker.agent.d.ts +4 -0
  154. package/dist/components/date-range-picker/date-range-picker.d.ts +16 -1
  155. package/dist/components/date-range-picker/index.d.ts +2 -1
  156. package/dist/components/date-range-picker/index.js +3 -2
  157. package/dist/components/date-time-picker/date-time-picker.agent.d.ts +4 -0
  158. package/dist/components/date-time-picker/date-time-picker.d.ts +16 -1
  159. package/dist/components/date-time-picker/index.d.ts +2 -1
  160. package/dist/components/date-time-picker/index.js +3 -2
  161. package/dist/components/dialog/dialog.agent.d.ts +5 -6
  162. package/dist/components/dialog/dialog.d.ts +11 -2
  163. package/dist/components/dialog/index.js +1 -1
  164. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +2 -1
  165. package/dist/components/dropdown-menu/dropdown-menu.d.ts +10 -2
  166. package/dist/components/dropdown-menu/index.js +2 -2
  167. package/dist/components/file-upload/file-upload.agent.d.ts +2 -1
  168. package/dist/components/file-upload/file-upload.d.ts +12 -0
  169. package/dist/components/file-upload/index.js +1 -1
  170. package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts +4 -0
  171. package/dist/components/freemium-paywall/freemium-paywall.d.ts +8 -1
  172. package/dist/components/freemium-paywall/index.d.ts +2 -1
  173. package/dist/components/freemium-paywall/index.js +3 -2
  174. package/dist/components/index.d.ts +2 -0
  175. package/dist/components/link/index.d.ts +2 -0
  176. package/dist/components/link/index.js +5 -0
  177. package/dist/components/link/link.d.ts +39 -0
  178. package/dist/components/list/index.d.ts +2 -1
  179. package/dist/components/list/index.js +3 -2
  180. package/dist/components/list/list.agent.d.ts +4 -0
  181. package/dist/components/list/list.d.ts +8 -2
  182. package/dist/components/message-card/index.d.ts +1 -0
  183. package/dist/components/message-card/index.js +5 -3
  184. package/dist/components/message-card/message-card.agent.d.ts +3 -0
  185. package/dist/components/message-tray/index.d.ts +2 -1
  186. package/dist/components/message-tray/index.js +3 -2
  187. package/dist/components/message-tray/message-tray.agent.d.ts +4 -0
  188. package/dist/components/message-tray/message-tray.d.ts +27 -2
  189. package/dist/components/multi-select/index.js +1 -1
  190. package/dist/components/multi-select/multi-select.agent.d.ts +2 -1
  191. package/dist/components/multi-select/multi-select.d.ts +10 -0
  192. package/dist/components/navigation-menu/index.d.ts +2 -1
  193. package/dist/components/navigation-menu/index.js +7 -6
  194. package/dist/components/navigation-menu/navigation-menu.agent.d.ts +4 -0
  195. package/dist/components/navigation-menu/navigation-menu.d.ts +28 -2
  196. package/dist/components/notification-card/index.d.ts +1 -0
  197. package/dist/components/notification-card/index.js +5 -3
  198. package/dist/components/notification-card/notification-card.agent.d.ts +3 -0
  199. package/dist/components/notification-tray/index.d.ts +2 -1
  200. package/dist/components/notification-tray/index.js +3 -2
  201. package/dist/components/notification-tray/notification-tray.agent.d.ts +4 -0
  202. package/dist/components/notification-tray/notification-tray.d.ts +27 -2
  203. package/dist/components/number-input/index.js +1 -1
  204. package/dist/components/number-input/number-input.agent.d.ts +4 -0
  205. package/dist/components/number-input/number-input.d.ts +7 -0
  206. package/dist/components/otp-input/index.js +1 -1
  207. package/dist/components/otp-input/otp-input.agent.d.ts +4 -0
  208. package/dist/components/otp-input/otp-input.d.ts +10 -0
  209. package/dist/components/pagination/index.js +1 -1
  210. package/dist/components/pagination/pagination.agent.d.ts +2 -1
  211. package/dist/components/pagination/pagination.d.ts +7 -0
  212. package/dist/components/password-input/index.js +1 -1
  213. package/dist/components/password-input/password-input.agent.d.ts +4 -0
  214. package/dist/components/password-input/password-input.d.ts +9 -0
  215. package/dist/components/payment-form/index.js +2 -2
  216. package/dist/components/payment-form/payment-form.d.ts +2 -0
  217. package/dist/components/pdf-viewer/index.js +1 -1
  218. package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
  219. package/dist/components/phone-input/index.js +1 -1
  220. package/dist/components/phone-input/phone-input.agent.d.ts +4 -0
  221. package/dist/components/phone-input/phone-input.d.ts +7 -0
  222. package/dist/components/popover/index.js +2 -2
  223. package/dist/components/popover/popover.agent.d.ts +2 -1
  224. package/dist/components/popover/popover.d.ts +8 -1
  225. package/dist/components/privacy-lock/index.d.ts +2 -1
  226. package/dist/components/privacy-lock/index.js +3 -2
  227. package/dist/components/privacy-lock/privacy-lock.agent.d.ts +4 -0
  228. package/dist/components/privacy-lock/privacy-lock.d.ts +7 -1
  229. package/dist/components/progress/index.js +2 -2
  230. package/dist/components/radio/index.js +1 -1
  231. package/dist/components/radio-group/index.js +2 -2
  232. package/dist/components/radio-group/radio-group.agent.d.ts +4 -0
  233. package/dist/components/radio-group/radio-group.d.ts +5 -0
  234. package/dist/components/recaptcha-widget/index.d.ts +3 -0
  235. package/dist/components/recaptcha-widget/index.js +6 -0
  236. package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts +4 -0
  237. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts +56 -0
  238. package/dist/components/resizable/index.js +1 -1
  239. package/dist/components/resizable/resizable.agent.d.ts +2 -1
  240. package/dist/components/resizable/resizable.d.ts +6 -0
  241. package/dist/components/rich-text-editor/index.js +1 -1
  242. package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
  243. package/dist/components/search-bar/index.d.ts +2 -1
  244. package/dist/components/search-bar/index.js +3 -2
  245. package/dist/components/search-bar/search-bar.agent.d.ts +4 -0
  246. package/dist/components/search-bar/search-bar.d.ts +27 -1
  247. package/dist/components/search-input/index.d.ts +2 -1
  248. package/dist/components/search-input/index.js +4 -2
  249. package/dist/components/search-input/search-input.agent.d.ts +4 -0
  250. package/dist/components/search-input/search-input.d.ts +27 -0
  251. package/dist/components/select/index.js +1 -1
  252. package/dist/components/select/select.agent.d.ts +4 -0
  253. package/dist/components/select/select.d.ts +9 -0
  254. package/dist/components/sheet/index.js +2 -2
  255. package/dist/components/sheet/sheet.agent.d.ts +2 -1
  256. package/dist/components/sheet/sheet.d.ts +11 -2
  257. package/dist/components/sidebar/index.js +2 -2
  258. package/dist/components/sidebar/sidebar.agent.d.ts +2 -1
  259. package/dist/components/sidebar/sidebar.d.ts +6 -0
  260. package/dist/components/signature-capture/index.js +1 -1
  261. package/dist/components/signature-capture/signature-capture.d.ts +2 -0
  262. package/dist/components/slider/index.js +1 -1
  263. package/dist/components/slider/slider.agent.d.ts +4 -0
  264. package/dist/components/slider/slider.d.ts +5 -0
  265. package/dist/components/sparkline/index.js +1 -1
  266. package/dist/components/stepper-accordion/index.d.ts +2 -1
  267. package/dist/components/stepper-accordion/index.js +3 -2
  268. package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts +4 -0
  269. package/dist/components/stepper-accordion/stepper-accordion.d.ts +19 -1
  270. package/dist/components/stepper-calendar/index.d.ts +2 -1
  271. package/dist/components/stepper-calendar/index.js +3 -2
  272. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +4 -0
  273. package/dist/components/stepper-calendar/stepper-calendar.d.ts +19 -1
  274. package/dist/components/stepper-progress/index.d.ts +2 -1
  275. package/dist/components/stepper-progress/index.js +4 -2
  276. package/dist/components/stepper-progress/stepper-progress.agent.d.ts +4 -0
  277. package/dist/components/stepper-progress/stepper-progress.d.ts +26 -1
  278. package/dist/components/suggestion-chip/index.d.ts +2 -1
  279. package/dist/components/suggestion-chip/index.js +5 -3
  280. package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts +4 -0
  281. package/dist/components/suggestion-chip/suggestion-chip.d.ts +7 -1
  282. package/dist/components/switch/index.js +1 -1
  283. package/dist/components/switch/switch.agent.d.ts +4 -0
  284. package/dist/components/switch/switch.d.ts +6 -0
  285. package/dist/components/tabs/index.js +1 -1
  286. package/dist/components/tabs/tabs.agent.d.ts +2 -1
  287. package/dist/components/tabs/tabs.d.ts +4 -0
  288. package/dist/components/task-card/index.d.ts +1 -0
  289. package/dist/components/task-card/index.js +5 -3
  290. package/dist/components/task-card/task-card.agent.d.ts +3 -0
  291. package/dist/components/task-tray/index.d.ts +2 -1
  292. package/dist/components/task-tray/index.js +3 -2
  293. package/dist/components/task-tray/task-tray.agent.d.ts +4 -0
  294. package/dist/components/task-tray/task-tray.d.ts +25 -2
  295. package/dist/components/text-area/index.js +1 -1
  296. package/dist/components/text-area/text-area.agent.d.ts +4 -0
  297. package/dist/components/text-area/text-area.d.ts +7 -0
  298. package/dist/components/text-input/index.js +1 -1
  299. package/dist/components/text-input/text-input.agent.d.ts +4 -0
  300. package/dist/components/text-input/text-input.d.ts +10 -0
  301. package/dist/components/theme-toggle/index.d.ts +2 -1
  302. package/dist/components/theme-toggle/index.js +3 -2
  303. package/dist/components/theme-toggle/theme-toggle.agent.d.ts +4 -0
  304. package/dist/components/theme-toggle/theme-toggle.d.ts +9 -2
  305. package/dist/components/time-picker/index.d.ts +2 -1
  306. package/dist/components/time-picker/index.js +3 -2
  307. package/dist/components/time-picker/time-picker.agent.d.ts +4 -0
  308. package/dist/components/time-picker/time-picker.d.ts +16 -1
  309. package/dist/components/timeline/index.d.ts +2 -1
  310. package/dist/components/timeline/index.js +3 -2
  311. package/dist/components/timeline/timeline.agent.d.ts +4 -0
  312. package/dist/components/timeline/timeline.d.ts +8 -1
  313. package/dist/components/toast/index.d.ts +3 -2
  314. package/dist/components/toast/index.js +7 -5
  315. package/dist/components/toast/toast.agent.d.ts +4 -0
  316. package/dist/components/toast/toast.d.ts +8 -0
  317. package/dist/components/tooth-scheme/index.js +1 -1
  318. package/dist/components/tooth-scheme/tooth-scheme.d.ts +2 -0
  319. package/dist/components/transcript-panel/index.d.ts +2 -1
  320. package/dist/components/transcript-panel/index.js +3 -2
  321. package/dist/components/transcript-panel/transcript-panel.agent.d.ts +4 -0
  322. package/dist/components/transcript-panel/transcript-panel.d.ts +10 -1
  323. package/dist/components/workflow/index.d.ts +2 -1
  324. package/dist/components/workflow/index.js +10 -7
  325. package/dist/components/workflow/workflow-editor.d.ts +7 -1
  326. package/dist/components/workflow/workflow-map.d.ts +2 -0
  327. package/dist/components/workflow/workflow.agent.d.ts +6 -0
  328. package/dist/i18n/config.js +24 -11
  329. package/dist/i18n/resources.d.ts +7 -0
  330. package/dist/index.js +471 -423
  331. package/dist/locales/en.json +7 -0
  332. package/dist/patterns/leo-assistant/index.js +1 -1
  333. package/dist/patterns/patient-shell/index.js +1 -1
  334. package/dist/tokens.css +1 -1
  335. package/package.json +18 -2
  336. package/dist/_chunks/accordion-B6fyINUk.js.map +0 -1
  337. package/dist/_chunks/accordion.agent-Cz-yglRa.js +0 -17
  338. package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +0 -1
  339. package/dist/_chunks/agenda-card-DIWDvWum.js.map +0 -1
  340. package/dist/_chunks/agenda-tray-BqQZwiHc.js +0 -120
  341. package/dist/_chunks/agenda-tray-BqQZwiHc.js.map +0 -1
  342. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +0 -380
  343. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js.map +0 -1
  344. package/dist/_chunks/alert-BlOUMkXj.js.map +0 -1
  345. package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +0 -1
  346. package/dist/_chunks/app-frame-6d7Lu4ea.js.map +0 -1
  347. package/dist/_chunks/aspect-ratio-CxsdG8vk.js.map +0 -1
  348. package/dist/_chunks/audio-recorder-B-8SKgKn.js +0 -376
  349. package/dist/_chunks/audio-recorder-B-8SKgKn.js.map +0 -1
  350. package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +0 -1
  351. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +0 -372
  352. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js.map +0 -1
  353. package/dist/_chunks/avatar-Dcr6XuDQ.js.map +0 -1
  354. package/dist/_chunks/badge-mrstWxve.js.map +0 -1
  355. package/dist/_chunks/balance-cell-renderer-BWm3knY9.js.map +0 -1
  356. package/dist/_chunks/breadcrumb-D6xpsP7n.js +0 -293
  357. package/dist/_chunks/breadcrumb-D6xpsP7n.js.map +0 -1
  358. package/dist/_chunks/button-7mLWcMp_.js.map +0 -1
  359. package/dist/_chunks/button-group-CONver7M.js.map +0 -1
  360. package/dist/_chunks/button.agent-BuGZBktn.js.map +0 -1
  361. package/dist/_chunks/calendar-nGEgelJs.js.map +0 -1
  362. package/dist/_chunks/card-BEy58ZKp.js.map +0 -1
  363. package/dist/_chunks/chart.agent-BdS-_8MO.js.map +0 -1
  364. package/dist/_chunks/chat-container-Cm3SlR2p.js.map +0 -1
  365. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +0 -1
  366. package/dist/_chunks/chat-input-DreOPP8A.js.map +0 -1
  367. package/dist/_chunks/chat-message-ByouZpPP.js.map +0 -1
  368. package/dist/_chunks/check-DPdL_Sm7.js.map +0 -1
  369. package/dist/_chunks/checkbox-DNK4qS2_.js +0 -116
  370. package/dist/_chunks/checkbox-DNK4qS2_.js.map +0 -1
  371. package/dist/_chunks/checkbox-group-CWpGZEF6.js +0 -146
  372. package/dist/_chunks/checkbox-group-CWpGZEF6.js.map +0 -1
  373. package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +0 -1
  374. package/dist/_chunks/chevron-left-CX1jqD2M.js.map +0 -1
  375. package/dist/_chunks/chevron-right-BrpYejk0.js.map +0 -1
  376. package/dist/_chunks/chevron-up-zOEDrmBB.js.map +0 -1
  377. package/dist/_chunks/chevrons-right-d9MwesPG.js.map +0 -1
  378. package/dist/_chunks/circle-BkqTgYmt.js.map +0 -1
  379. package/dist/_chunks/circle-alert-ChA9opNA.js.map +0 -1
  380. package/dist/_chunks/circle-check-9AeSgJD_.js.map +0 -1
  381. package/dist/_chunks/circle-x-Du2CmjaU.js.map +0 -1
  382. package/dist/_chunks/clock-21AGPWJ5.js.map +0 -1
  383. package/dist/_chunks/collapsible-D4LOdLxp.js +0 -67
  384. package/dist/_chunks/collapsible-D4LOdLxp.js.map +0 -1
  385. package/dist/_chunks/color-picker-e9PmpaGH.js.map +0 -1
  386. package/dist/_chunks/combobox.agent-ByobCLJ_.js +0 -350
  387. package/dist/_chunks/combobox.agent-ByobCLJ_.js.map +0 -1
  388. package/dist/_chunks/command-palette.agent-js2rxgeR.js.map +0 -1
  389. package/dist/_chunks/compose-refs-C0k0tdqF.js.map +0 -1
  390. package/dist/_chunks/copy-B00HK7tj.js.map +0 -1
  391. package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +0 -1
  392. package/dist/_chunks/date-picker-DYXNsWmM.js +0 -1726
  393. package/dist/_chunks/date-picker-DYXNsWmM.js.map +0 -1
  394. package/dist/_chunks/date-range-picker-BcNDJI7m.js +0 -183
  395. package/dist/_chunks/date-range-picker-BcNDJI7m.js.map +0 -1
  396. package/dist/_chunks/date-time-picker-CmGiTU__.js +0 -202
  397. package/dist/_chunks/date-time-picker-CmGiTU__.js.map +0 -1
  398. package/dist/_chunks/description-list-DvJbp6Yg.js.map +0 -1
  399. package/dist/_chunks/dialog.agent-DEG_fVzG.js +0 -147
  400. package/dist/_chunks/dialog.agent-DEG_fVzG.js.map +0 -1
  401. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js.map +0 -1
  402. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +0 -17
  403. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +0 -1
  404. package/dist/_chunks/ellipsis-rgGdiK_9.js.map +0 -1
  405. package/dist/_chunks/empty-state-DQPtRp2b.js.map +0 -1
  406. package/dist/_chunks/eye-off-xEXDAh5z.js.map +0 -1
  407. package/dist/_chunks/file-text-DSNuv2B8.js.map +0 -1
  408. package/dist/_chunks/file-upload.agent-B9AN82LA.js.map +0 -1
  409. package/dist/_chunks/flag-DZ6V7-hU.js.map +0 -1
  410. package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +0 -1
  411. package/dist/_chunks/form-field-BfsPLTSc.js.map +0 -1
  412. package/dist/_chunks/form-field-context-94LwgYTQ.js.map +0 -1
  413. package/dist/_chunks/freemium-paywall-CkefGLM_.js +0 -198
  414. package/dist/_chunks/freemium-paywall-CkefGLM_.js.map +0 -1
  415. package/dist/_chunks/globe-BkEFMNSg.js.map +0 -1
  416. package/dist/_chunks/group-options-BvKhQ3xb.js.map +0 -1
  417. package/dist/_chunks/header-BGn1mRp8.js.map +0 -1
  418. package/dist/_chunks/icon-button-Wnnde5lc.js.map +0 -1
  419. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +0 -1
  420. package/dist/_chunks/index-4xgbg-sn.js.map +0 -1
  421. package/dist/_chunks/index-CJE9uQmb.js.map +0 -1
  422. package/dist/_chunks/index-CeY1nNvd.js.map +0 -1
  423. package/dist/_chunks/index-D2ZczOXr.js.map +0 -1
  424. package/dist/_chunks/info-B9XNKn05.js.map +0 -1
  425. package/dist/_chunks/input-surface-u4QB0lxe.js.map +0 -1
  426. package/dist/_chunks/isSameDay-ecuM8PBB.js.map +0 -1
  427. package/dist/_chunks/isSameMonth-5wNF2f4I.js.map +0 -1
  428. package/dist/_chunks/kbd-8baVw3KU.js.map +0 -1
  429. package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +0 -1
  430. package/dist/_chunks/leo-sidebar-nbHib2D-.js.map +0 -1
  431. package/dist/_chunks/list-B1ozIjQe.js +0 -359
  432. package/dist/_chunks/list-B1ozIjQe.js.map +0 -1
  433. package/dist/_chunks/live-region-C41SO3cA.js.map +0 -1
  434. package/dist/_chunks/log-out-616hnn2-.js.map +0 -1
  435. package/dist/_chunks/logo-BpFoCL-s.js.map +0 -1
  436. package/dist/_chunks/mail-C8irm52s.js.map +0 -1
  437. package/dist/_chunks/matrix-rain-BEkvux64.js.map +0 -1
  438. package/dist/_chunks/message-card-qAp2-WQK.js.map +0 -1
  439. package/dist/_chunks/message-tray-VaLpQU5t.js +0 -303
  440. package/dist/_chunks/message-tray-VaLpQU5t.js.map +0 -1
  441. package/dist/_chunks/multi-select.agent-CNsyW3n9.js.map +0 -1
  442. package/dist/_chunks/navigation-menu-EVFau1O2.js +0 -180
  443. package/dist/_chunks/navigation-menu-EVFau1O2.js.map +0 -1
  444. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +0 -1
  445. package/dist/_chunks/notification-card-BF2_veHy.js.map +0 -1
  446. package/dist/_chunks/notification-tray-B7U5YZYg.js +0 -328
  447. package/dist/_chunks/notification-tray-B7U5YZYg.js.map +0 -1
  448. package/dist/_chunks/number-input-DjpT_RXJ.js +0 -249
  449. package/dist/_chunks/number-input-DjpT_RXJ.js.map +0 -1
  450. package/dist/_chunks/otp-input-De5_Ih7B.js +0 -189
  451. package/dist/_chunks/otp-input-De5_Ih7B.js.map +0 -1
  452. package/dist/_chunks/pagination.agent-oEaqmtx5.js +0 -380
  453. package/dist/_chunks/pagination.agent-oEaqmtx5.js.map +0 -1
  454. package/dist/_chunks/password-input-DJDVznWH.js +0 -193
  455. package/dist/_chunks/password-input-DJDVznWH.js.map +0 -1
  456. package/dist/_chunks/patient-shell-7cXqIMFg.js.map +0 -1
  457. package/dist/_chunks/payment-form-hcl-gGrp.js.map +0 -1
  458. package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +0 -1
  459. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js.map +0 -1
  460. package/dist/_chunks/phone-input-DE_39q65.js +0 -428
  461. package/dist/_chunks/phone-input-DE_39q65.js.map +0 -1
  462. package/dist/_chunks/plus-CYKNmfuA.js.map +0 -1
  463. package/dist/_chunks/popover-C3CTUsqh.js +0 -227
  464. package/dist/_chunks/popover-C3CTUsqh.js.map +0 -1
  465. package/dist/_chunks/popover.agent-C0qOx9WT.js +0 -13
  466. package/dist/_chunks/popover.agent-C0qOx9WT.js.map +0 -1
  467. package/dist/_chunks/printer-CeVEWfQq.js.map +0 -1
  468. package/dist/_chunks/privacy-lock-CQpgkLec.js +0 -132
  469. package/dist/_chunks/privacy-lock-CQpgkLec.js.map +0 -1
  470. package/dist/_chunks/progress-B4Of_pzz.js +0 -252
  471. package/dist/_chunks/progress-B4Of_pzz.js.map +0 -1
  472. package/dist/_chunks/progress.agent-CXkHURjX.js +0 -22
  473. package/dist/_chunks/progress.agent-CXkHURjX.js.map +0 -1
  474. package/dist/_chunks/purify.es-DpIUMBYC.js.map +0 -1
  475. package/dist/_chunks/radio-cs8N1wJi.js.map +0 -1
  476. package/dist/_chunks/radio-group-BIUbpWml.js +0 -89
  477. package/dist/_chunks/radio-group-BIUbpWml.js.map +0 -1
  478. package/dist/_chunks/react-day-picker-C04L_28V.js.map +0 -1
  479. package/dist/_chunks/registry-C9nwlNyL.js.map +0 -1
  480. package/dist/_chunks/resizable.agent-DBpPGNdy.js +0 -435
  481. package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +0 -1
  482. package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js.map +0 -1
  483. package/dist/_chunks/safe-image-src-DstKgCo7.js.map +0 -1
  484. package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +0 -1
  485. package/dist/_chunks/search-BonnQsHv.js.map +0 -1
  486. package/dist/_chunks/search-bar-fcGqDFW3.js +0 -397
  487. package/dist/_chunks/search-bar-fcGqDFW3.js.map +0 -1
  488. package/dist/_chunks/search-input-BVMCONyN.js +0 -197
  489. package/dist/_chunks/search-input-BVMCONyN.js.map +0 -1
  490. package/dist/_chunks/select-IY_JQa-F.js +0 -321
  491. package/dist/_chunks/select-IY_JQa-F.js.map +0 -1
  492. package/dist/_chunks/send-CySZIRPJ.js.map +0 -1
  493. package/dist/_chunks/separator-B4wXDLNC.js.map +0 -1
  494. package/dist/_chunks/sheet-BhNpLHc9.js.map +0 -1
  495. package/dist/_chunks/sheet.agent-DwQlBqK9.js +0 -13
  496. package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +0 -1
  497. package/dist/_chunks/sidebar-OVzwN3jE.js.map +0 -1
  498. package/dist/_chunks/sidebar.agent-B0fnH9CC.js +0 -17
  499. package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +0 -1
  500. package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +0 -1
  501. package/dist/_chunks/signature-capture.agent-C38VPXxg.js.map +0 -1
  502. package/dist/_chunks/skeleton-dtqyF09N.js.map +0 -1
  503. package/dist/_chunks/skip-link-DmZ3c6cb.js.map +0 -1
  504. package/dist/_chunks/slider-DjyRt3Mp.js +0 -274
  505. package/dist/_chunks/slider-DjyRt3Mp.js.map +0 -1
  506. package/dist/_chunks/slot-grid-D_l5VsHG.js.map +0 -1
  507. package/dist/_chunks/sparkline.agent-C_xp3NRB.js +0 -238
  508. package/dist/_chunks/sparkline.agent-C_xp3NRB.js.map +0 -1
  509. package/dist/_chunks/spinner-GCcv67vh.js.map +0 -1
  510. package/dist/_chunks/square-CZoGU14v.js.map +0 -1
  511. package/dist/_chunks/square-check-big-Jr-0202D.js.map +0 -1
  512. package/dist/_chunks/stat-DUB6g90R.js.map +0 -1
  513. package/dist/_chunks/stepper-C-sIpRRU.js.map +0 -1
  514. package/dist/_chunks/stepper-accordion-CGog0JSF.js +0 -233
  515. package/dist/_chunks/stepper-accordion-CGog0JSF.js.map +0 -1
  516. package/dist/_chunks/stepper-calendar-_fLOAjus.js +0 -570
  517. package/dist/_chunks/stepper-calendar-_fLOAjus.js.map +0 -1
  518. package/dist/_chunks/stepper-progress-rE7tn7WY.js +0 -129
  519. package/dist/_chunks/stepper-progress-rE7tn7WY.js.map +0 -1
  520. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +0 -1
  521. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +0 -158
  522. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js.map +0 -1
  523. package/dist/_chunks/switch-aN2EYxHh.js +0 -138
  524. package/dist/_chunks/switch-aN2EYxHh.js.map +0 -1
  525. package/dist/_chunks/tabs.agent-BpbVA-Zh.js.map +0 -1
  526. package/dist/_chunks/tag-BqidXKo3.js.map +0 -1
  527. package/dist/_chunks/task-card-yW7tKlG4.js.map +0 -1
  528. package/dist/_chunks/task-tray-BzahI5FQ.js +0 -100
  529. package/dist/_chunks/task-tray-BzahI5FQ.js.map +0 -1
  530. package/dist/_chunks/text-area-DmKSd2DG.js +0 -152
  531. package/dist/_chunks/text-area-DmKSd2DG.js.map +0 -1
  532. package/dist/_chunks/text-input-CRHvl5zk.js +0 -188
  533. package/dist/_chunks/text-input-CRHvl5zk.js.map +0 -1
  534. package/dist/_chunks/theme-root-DDb0TJjd.js.map +0 -1
  535. package/dist/_chunks/theme-toggle-BHiMMEQN.js +0 -329
  536. package/dist/_chunks/theme-toggle-BHiMMEQN.js.map +0 -1
  537. package/dist/_chunks/time-picker-D-EueWUG.js +0 -322
  538. package/dist/_chunks/time-picker-D-EueWUG.js.map +0 -1
  539. package/dist/_chunks/timeline-RgAIzpMd.js +0 -220
  540. package/dist/_chunks/timeline-RgAIzpMd.js.map +0 -1
  541. package/dist/_chunks/timestamp-BV2lC-wV.js.map +0 -1
  542. package/dist/_chunks/toast-lOhJDKOH.js.map +0 -1
  543. package/dist/_chunks/tooltip-DHik5yRI.js.map +0 -1
  544. package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js.map +0 -1
  545. package/dist/_chunks/transcript-panel-CNbVGG9L.js +0 -266
  546. package/dist/_chunks/transcript-panel-CNbVGG9L.js.map +0 -1
  547. package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +0 -1
  548. package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +0 -1
  549. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +0 -1
  550. package/dist/_chunks/use-direction-D6rvvG9G.js.map +0 -1
  551. package/dist/_chunks/use-locale-BuXR_Zl9.js.map +0 -1
  552. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +0 -1
  553. package/dist/_chunks/use-theme-BMUhembX.js.map +0 -1
  554. package/dist/_chunks/user-CPxpqFjJ.js.map +0 -1
  555. package/dist/_chunks/visually-hidden-Bw7vBHLm.js.map +0 -1
  556. package/dist/_chunks/warning-stack-8Pa3pekh.js.map +0 -1
  557. package/dist/_chunks/workflow-map-XeqHDFvp.js.map +0 -1
  558. package/dist/_chunks/x-CCcI3eJp.js.map +0 -1
  559. package/dist/agent/index.d.ts.map +0 -1
  560. package/dist/agent/registry.d.ts.map +0 -1
  561. package/dist/agent/types.d.ts.map +0 -1
  562. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +0 -1
  563. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +0 -1
  564. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +0 -1
  565. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +0 -1
  566. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +0 -1
  567. package/dist/brand/logo-asset/index.d.ts.map +0 -1
  568. package/dist/components/_shared/calendar-chevron.d.ts.map +0 -1
  569. package/dist/components/_shared/compose-refs.d.ts.map +0 -1
  570. package/dist/components/_shared/date-locale.d.ts.map +0 -1
  571. package/dist/components/_shared/date-picker-variants.d.ts.map +0 -1
  572. package/dist/components/_shared/date-utils.d.ts.map +0 -1
  573. package/dist/components/_shared/group-options.d.ts.map +0 -1
  574. package/dist/components/_shared/index.d.ts.map +0 -1
  575. package/dist/components/_shared/input-surface.d.ts.map +0 -1
  576. package/dist/components/_shared/normalize-diacritics.d.ts.map +0 -1
  577. package/dist/components/_shared/option.d.ts.map +0 -1
  578. package/dist/components/_shared/safe-html.d.ts.map +0 -1
  579. package/dist/components/_shared/safe-image-src.d.ts.map +0 -1
  580. package/dist/components/_shared/stepper.d.ts.map +0 -1
  581. package/dist/components/_shared/time.d.ts.map +0 -1
  582. package/dist/components/_shared/use-debounced-callback.d.ts.map +0 -1
  583. package/dist/components/_shared/use-direction.d.ts.map +0 -1
  584. package/dist/components/_shared/use-focus-trap.d.ts.map +0 -1
  585. package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +0 -1
  586. package/dist/components/accordion/accordion.agent.d.ts.map +0 -1
  587. package/dist/components/accordion/accordion.d.ts.map +0 -1
  588. package/dist/components/accordion/index.d.ts.map +0 -1
  589. package/dist/components/accordion/index.js.map +0 -1
  590. package/dist/components/agenda-card/agenda-card.d.ts.map +0 -1
  591. package/dist/components/agenda-card/index.d.ts.map +0 -1
  592. package/dist/components/agenda-card/index.js.map +0 -1
  593. package/dist/components/agenda-tray/agenda-tray.d.ts.map +0 -1
  594. package/dist/components/agenda-tray/index.d.ts.map +0 -1
  595. package/dist/components/agenda-tray/index.js.map +0 -1
  596. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +0 -1
  597. package/dist/components/ai-prompt-input/index.d.ts.map +0 -1
  598. package/dist/components/ai-prompt-input/index.js.map +0 -1
  599. package/dist/components/alert/alert.d.ts.map +0 -1
  600. package/dist/components/alert/index.d.ts.map +0 -1
  601. package/dist/components/alert/index.js.map +0 -1
  602. package/dist/components/app-frame/app-frame.d.ts.map +0 -1
  603. package/dist/components/app-frame/index.d.ts.map +0 -1
  604. package/dist/components/app-frame/index.js.map +0 -1
  605. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +0 -1
  606. package/dist/components/aspect-ratio/index.d.ts.map +0 -1
  607. package/dist/components/aspect-ratio/index.js.map +0 -1
  608. package/dist/components/audio-recorder/audio-recorder.d.ts.map +0 -1
  609. package/dist/components/audio-recorder/index.d.ts.map +0 -1
  610. package/dist/components/audio-recorder/index.js.map +0 -1
  611. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +0 -1
  612. package/dist/components/audio-visualiser/index.d.ts.map +0 -1
  613. package/dist/components/audio-visualiser/index.js.map +0 -1
  614. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +0 -1
  615. package/dist/components/autocomplete/autocomplete.d.ts.map +0 -1
  616. package/dist/components/autocomplete/index.d.ts.map +0 -1
  617. package/dist/components/autocomplete/index.js.map +0 -1
  618. package/dist/components/avatar/avatar.d.ts.map +0 -1
  619. package/dist/components/avatar/index.d.ts.map +0 -1
  620. package/dist/components/avatar/index.js.map +0 -1
  621. package/dist/components/badge/badge.d.ts.map +0 -1
  622. package/dist/components/badge/index.d.ts.map +0 -1
  623. package/dist/components/badge/index.js.map +0 -1
  624. package/dist/components/breadcrumb/breadcrumb.d.ts.map +0 -1
  625. package/dist/components/breadcrumb/index.d.ts.map +0 -1
  626. package/dist/components/breadcrumb/index.js.map +0 -1
  627. package/dist/components/button/button.agent.d.ts.map +0 -1
  628. package/dist/components/button/button.d.ts.map +0 -1
  629. package/dist/components/button/icon-button.d.ts.map +0 -1
  630. package/dist/components/button/index.d.ts.map +0 -1
  631. package/dist/components/button/index.js.map +0 -1
  632. package/dist/components/button-group/button-group.d.ts.map +0 -1
  633. package/dist/components/button-group/index.d.ts.map +0 -1
  634. package/dist/components/button-group/index.js.map +0 -1
  635. package/dist/components/calendar/calendar.agent.d.ts.map +0 -1
  636. package/dist/components/calendar/calendar.d.ts.map +0 -1
  637. package/dist/components/calendar/contrast-warning.d.ts.map +0 -1
  638. package/dist/components/calendar/index.d.ts.map +0 -1
  639. package/dist/components/calendar/index.js.map +0 -1
  640. package/dist/components/card/card.d.ts.map +0 -1
  641. package/dist/components/card/index.d.ts.map +0 -1
  642. package/dist/components/card/index.js.map +0 -1
  643. package/dist/components/chart/chart.agent.d.ts.map +0 -1
  644. package/dist/components/chart/chart.d.ts.map +0 -1
  645. package/dist/components/chart/index.d.ts.map +0 -1
  646. package/dist/components/chart/index.js.map +0 -1
  647. package/dist/components/chat-container/chat-container.agent.d.ts.map +0 -1
  648. package/dist/components/chat-container/chat-container.d.ts.map +0 -1
  649. package/dist/components/chat-container/index.d.ts.map +0 -1
  650. package/dist/components/chat-container/index.js.map +0 -1
  651. package/dist/components/chat-input/chat-input.d.ts.map +0 -1
  652. package/dist/components/chat-input/index.d.ts.map +0 -1
  653. package/dist/components/chat-input/index.js.map +0 -1
  654. package/dist/components/chat-message/chat-message.d.ts.map +0 -1
  655. package/dist/components/chat-message/index.d.ts.map +0 -1
  656. package/dist/components/chat-message/index.js.map +0 -1
  657. package/dist/components/checkbox/checkbox-group-context.d.ts.map +0 -1
  658. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  659. package/dist/components/checkbox/index.d.ts.map +0 -1
  660. package/dist/components/checkbox/index.js.map +0 -1
  661. package/dist/components/checkbox-group/checkbox-group.d.ts.map +0 -1
  662. package/dist/components/checkbox-group/index.d.ts.map +0 -1
  663. package/dist/components/checkbox-group/index.js.map +0 -1
  664. package/dist/components/collapsible/collapsible.d.ts.map +0 -1
  665. package/dist/components/collapsible/index.d.ts.map +0 -1
  666. package/dist/components/collapsible/index.js.map +0 -1
  667. package/dist/components/color-picker/color-picker.d.ts.map +0 -1
  668. package/dist/components/color-picker/color-utils.d.ts.map +0 -1
  669. package/dist/components/color-picker/index.d.ts.map +0 -1
  670. package/dist/components/color-picker/index.js.map +0 -1
  671. package/dist/components/color-picker/palettes.d.ts.map +0 -1
  672. package/dist/components/combobox/combobox.agent.d.ts.map +0 -1
  673. package/dist/components/combobox/combobox.d.ts.map +0 -1
  674. package/dist/components/combobox/index.d.ts.map +0 -1
  675. package/dist/components/combobox/index.js.map +0 -1
  676. package/dist/components/command-palette/command-palette.agent.d.ts.map +0 -1
  677. package/dist/components/command-palette/command-palette.d.ts.map +0 -1
  678. package/dist/components/command-palette/index.d.ts.map +0 -1
  679. package/dist/components/command-palette/index.js.map +0 -1
  680. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +0 -1
  681. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +0 -1
  682. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +0 -1
  683. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +0 -1
  684. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +0 -1
  685. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +0 -1
  686. package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts.map +0 -1
  687. package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts.map +0 -1
  688. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +0 -1
  689. package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts.map +0 -1
  690. package/dist/components/data-table/data-table.agent.d.ts.map +0 -1
  691. package/dist/components/data-table/data-table.d.ts.map +0 -1
  692. package/dist/components/data-table/hooks/use-total-row.d.ts.map +0 -1
  693. package/dist/components/data-table/index.d.ts.map +0 -1
  694. package/dist/components/data-table/index.js.map +0 -1
  695. package/dist/components/data-table/toolbar.d.ts.map +0 -1
  696. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  697. package/dist/components/date-picker/index.d.ts.map +0 -1
  698. package/dist/components/date-picker/index.js.map +0 -1
  699. package/dist/components/date-range-picker/date-range-picker.d.ts.map +0 -1
  700. package/dist/components/date-range-picker/index.d.ts.map +0 -1
  701. package/dist/components/date-range-picker/index.js.map +0 -1
  702. package/dist/components/date-time-picker/date-time-picker.d.ts.map +0 -1
  703. package/dist/components/date-time-picker/index.d.ts.map +0 -1
  704. package/dist/components/date-time-picker/index.js.map +0 -1
  705. package/dist/components/description-list/description-list.d.ts.map +0 -1
  706. package/dist/components/description-list/index.d.ts.map +0 -1
  707. package/dist/components/description-list/index.js.map +0 -1
  708. package/dist/components/dialog/dialog.agent.d.ts.map +0 -1
  709. package/dist/components/dialog/dialog.d.ts.map +0 -1
  710. package/dist/components/dialog/index.d.ts.map +0 -1
  711. package/dist/components/dialog/index.js.map +0 -1
  712. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +0 -1
  713. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  714. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  715. package/dist/components/dropdown-menu/index.js.map +0 -1
  716. package/dist/components/empty-state/empty-state.d.ts.map +0 -1
  717. package/dist/components/empty-state/index.d.ts.map +0 -1
  718. package/dist/components/empty-state/index.js.map +0 -1
  719. package/dist/components/file-upload/file-upload.agent.d.ts.map +0 -1
  720. package/dist/components/file-upload/file-upload.d.ts.map +0 -1
  721. package/dist/components/file-upload/index.d.ts.map +0 -1
  722. package/dist/components/file-upload/index.js.map +0 -1
  723. package/dist/components/flag/flag.d.ts.map +0 -1
  724. package/dist/components/flag/index.d.ts.map +0 -1
  725. package/dist/components/flag/index.js.map +0 -1
  726. package/dist/components/floating-action-button/floating-action-button.d.ts.map +0 -1
  727. package/dist/components/floating-action-button/index.d.ts.map +0 -1
  728. package/dist/components/floating-action-button/index.js.map +0 -1
  729. package/dist/components/form-field/form-field-context.d.ts.map +0 -1
  730. package/dist/components/form-field/form-field.d.ts.map +0 -1
  731. package/dist/components/form-field/index.d.ts.map +0 -1
  732. package/dist/components/form-field/index.js.map +0 -1
  733. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +0 -1
  734. package/dist/components/freemium-paywall/index.d.ts.map +0 -1
  735. package/dist/components/freemium-paywall/index.js.map +0 -1
  736. package/dist/components/header/header.d.ts.map +0 -1
  737. package/dist/components/header/index.d.ts.map +0 -1
  738. package/dist/components/header/index.js.map +0 -1
  739. package/dist/components/icon-button/index.d.ts.map +0 -1
  740. package/dist/components/icon-button/index.js.map +0 -1
  741. package/dist/components/icon-button-group/icon-button-group.d.ts.map +0 -1
  742. package/dist/components/icon-button-group/index.d.ts.map +0 -1
  743. package/dist/components/icon-button-group/index.js.map +0 -1
  744. package/dist/components/index.d.ts.map +0 -1
  745. package/dist/components/kbd/index.d.ts.map +0 -1
  746. package/dist/components/kbd/index.js.map +0 -1
  747. package/dist/components/kbd/kbd.d.ts.map +0 -1
  748. package/dist/components/key-value-pair/index.d.ts.map +0 -1
  749. package/dist/components/key-value-pair/index.js.map +0 -1
  750. package/dist/components/key-value-pair/key-value-pair.d.ts.map +0 -1
  751. package/dist/components/list/index.d.ts.map +0 -1
  752. package/dist/components/list/index.js.map +0 -1
  753. package/dist/components/list/list.d.ts.map +0 -1
  754. package/dist/components/live-region/index.d.ts.map +0 -1
  755. package/dist/components/live-region/index.js.map +0 -1
  756. package/dist/components/live-region/live-region.d.ts.map +0 -1
  757. package/dist/components/logo/index.d.ts.map +0 -1
  758. package/dist/components/logo/index.js.map +0 -1
  759. package/dist/components/logo/logo.d.ts.map +0 -1
  760. package/dist/components/matrix-rain/index.d.ts.map +0 -1
  761. package/dist/components/matrix-rain/index.js.map +0 -1
  762. package/dist/components/matrix-rain/matrix-rain.d.ts.map +0 -1
  763. package/dist/components/message-card/index.d.ts.map +0 -1
  764. package/dist/components/message-card/index.js.map +0 -1
  765. package/dist/components/message-card/message-card.d.ts.map +0 -1
  766. package/dist/components/message-tray/index.d.ts.map +0 -1
  767. package/dist/components/message-tray/index.js.map +0 -1
  768. package/dist/components/message-tray/message-tray.d.ts.map +0 -1
  769. package/dist/components/multi-select/index.d.ts.map +0 -1
  770. package/dist/components/multi-select/index.js.map +0 -1
  771. package/dist/components/multi-select/multi-select.agent.d.ts.map +0 -1
  772. package/dist/components/multi-select/multi-select.d.ts.map +0 -1
  773. package/dist/components/navigation-menu/index.d.ts.map +0 -1
  774. package/dist/components/navigation-menu/index.js.map +0 -1
  775. package/dist/components/navigation-menu/navigation-menu.d.ts.map +0 -1
  776. package/dist/components/notification-card/index.d.ts.map +0 -1
  777. package/dist/components/notification-card/index.js.map +0 -1
  778. package/dist/components/notification-card/notification-card.d.ts.map +0 -1
  779. package/dist/components/notification-tray/index.d.ts.map +0 -1
  780. package/dist/components/notification-tray/index.js.map +0 -1
  781. package/dist/components/notification-tray/notification-tray.d.ts.map +0 -1
  782. package/dist/components/number-input/index.d.ts.map +0 -1
  783. package/dist/components/number-input/index.js.map +0 -1
  784. package/dist/components/number-input/number-input.d.ts.map +0 -1
  785. package/dist/components/number-input/use-locale-number.d.ts.map +0 -1
  786. package/dist/components/otp-input/index.d.ts.map +0 -1
  787. package/dist/components/otp-input/index.js.map +0 -1
  788. package/dist/components/otp-input/otp-input.d.ts.map +0 -1
  789. package/dist/components/pagination/index.d.ts.map +0 -1
  790. package/dist/components/pagination/index.js.map +0 -1
  791. package/dist/components/pagination/pagination.agent.d.ts.map +0 -1
  792. package/dist/components/pagination/pagination.d.ts.map +0 -1
  793. package/dist/components/password-input/index.d.ts.map +0 -1
  794. package/dist/components/password-input/index.js.map +0 -1
  795. package/dist/components/password-input/password-input.d.ts.map +0 -1
  796. package/dist/components/payment-form/index.d.ts.map +0 -1
  797. package/dist/components/payment-form/index.js.map +0 -1
  798. package/dist/components/payment-form/payment-form.agent.d.ts.map +0 -1
  799. package/dist/components/payment-form/payment-form.d.ts.map +0 -1
  800. package/dist/components/pdf-viewer/index.d.ts.map +0 -1
  801. package/dist/components/pdf-viewer/index.js.map +0 -1
  802. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +0 -1
  803. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +0 -1
  804. package/dist/components/phone-input/index.d.ts.map +0 -1
  805. package/dist/components/phone-input/index.js.map +0 -1
  806. package/dist/components/phone-input/phone-input.d.ts.map +0 -1
  807. package/dist/components/popover/index.d.ts.map +0 -1
  808. package/dist/components/popover/index.js.map +0 -1
  809. package/dist/components/popover/popover.agent.d.ts.map +0 -1
  810. package/dist/components/popover/popover.d.ts.map +0 -1
  811. package/dist/components/privacy-lock/index.d.ts.map +0 -1
  812. package/dist/components/privacy-lock/index.js.map +0 -1
  813. package/dist/components/privacy-lock/privacy-lock.d.ts.map +0 -1
  814. package/dist/components/progress/index.d.ts.map +0 -1
  815. package/dist/components/progress/index.js.map +0 -1
  816. package/dist/components/progress/progress.agent.d.ts.map +0 -1
  817. package/dist/components/progress/progress.d.ts.map +0 -1
  818. package/dist/components/radio/index.d.ts.map +0 -1
  819. package/dist/components/radio/index.js.map +0 -1
  820. package/dist/components/radio-group/index.d.ts.map +0 -1
  821. package/dist/components/radio-group/index.js.map +0 -1
  822. package/dist/components/radio-group/radio-group-context.d.ts.map +0 -1
  823. package/dist/components/radio-group/radio-group.d.ts.map +0 -1
  824. package/dist/components/radio-group/radio.d.ts.map +0 -1
  825. package/dist/components/resizable/index.d.ts.map +0 -1
  826. package/dist/components/resizable/index.js.map +0 -1
  827. package/dist/components/resizable/resizable-context.d.ts.map +0 -1
  828. package/dist/components/resizable/resizable.agent.d.ts.map +0 -1
  829. package/dist/components/resizable/resizable.d.ts.map +0 -1
  830. package/dist/components/rich-text-editor/index.d.ts.map +0 -1
  831. package/dist/components/rich-text-editor/index.js.map +0 -1
  832. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +0 -1
  833. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +0 -1
  834. package/dist/components/scroll-area/index.d.ts.map +0 -1
  835. package/dist/components/scroll-area/index.js.map +0 -1
  836. package/dist/components/scroll-area/scroll-area.d.ts.map +0 -1
  837. package/dist/components/search-bar/index.d.ts.map +0 -1
  838. package/dist/components/search-bar/index.js.map +0 -1
  839. package/dist/components/search-bar/search-bar.d.ts.map +0 -1
  840. package/dist/components/search-input/index.d.ts.map +0 -1
  841. package/dist/components/search-input/index.js.map +0 -1
  842. package/dist/components/search-input/search-input.d.ts.map +0 -1
  843. package/dist/components/select/index.d.ts.map +0 -1
  844. package/dist/components/select/index.js.map +0 -1
  845. package/dist/components/select/select.d.ts.map +0 -1
  846. package/dist/components/separator/index.d.ts.map +0 -1
  847. package/dist/components/separator/index.js.map +0 -1
  848. package/dist/components/separator/separator.d.ts.map +0 -1
  849. package/dist/components/sheet/index.d.ts.map +0 -1
  850. package/dist/components/sheet/index.js.map +0 -1
  851. package/dist/components/sheet/sheet.agent.d.ts.map +0 -1
  852. package/dist/components/sheet/sheet.d.ts.map +0 -1
  853. package/dist/components/sidebar/index.d.ts.map +0 -1
  854. package/dist/components/sidebar/index.js.map +0 -1
  855. package/dist/components/sidebar/sidebar.agent.d.ts.map +0 -1
  856. package/dist/components/sidebar/sidebar.d.ts.map +0 -1
  857. package/dist/components/sign-in-with-alfadocs-button/index.d.ts.map +0 -1
  858. package/dist/components/sign-in-with-alfadocs-button/index.js.map +0 -1
  859. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +0 -1
  860. package/dist/components/signature-capture/index.d.ts.map +0 -1
  861. package/dist/components/signature-capture/index.js.map +0 -1
  862. package/dist/components/signature-capture/signature-capture.agent.d.ts.map +0 -1
  863. package/dist/components/signature-capture/signature-capture.d.ts.map +0 -1
  864. package/dist/components/skeleton/index.d.ts.map +0 -1
  865. package/dist/components/skeleton/index.js.map +0 -1
  866. package/dist/components/skeleton/skeleton.d.ts.map +0 -1
  867. package/dist/components/skip-link/index.d.ts.map +0 -1
  868. package/dist/components/skip-link/index.js.map +0 -1
  869. package/dist/components/skip-link/skip-link.d.ts.map +0 -1
  870. package/dist/components/slider/index.d.ts.map +0 -1
  871. package/dist/components/slider/index.js.map +0 -1
  872. package/dist/components/slider/slider.d.ts.map +0 -1
  873. package/dist/components/slot-grid/index.d.ts.map +0 -1
  874. package/dist/components/slot-grid/index.js.map +0 -1
  875. package/dist/components/slot-grid/slot-grid.d.ts.map +0 -1
  876. package/dist/components/sparkline/index.d.ts.map +0 -1
  877. package/dist/components/sparkline/index.js.map +0 -1
  878. package/dist/components/sparkline/sparkline.agent.d.ts.map +0 -1
  879. package/dist/components/sparkline/sparkline.d.ts.map +0 -1
  880. package/dist/components/sparkline/use-linear-trend.d.ts.map +0 -1
  881. package/dist/components/spinner/index.d.ts.map +0 -1
  882. package/dist/components/spinner/index.js.map +0 -1
  883. package/dist/components/spinner/spinner.d.ts.map +0 -1
  884. package/dist/components/stat/index.d.ts.map +0 -1
  885. package/dist/components/stat/index.js.map +0 -1
  886. package/dist/components/stat/stat.d.ts.map +0 -1
  887. package/dist/components/stepper-accordion/index.d.ts.map +0 -1
  888. package/dist/components/stepper-accordion/index.js.map +0 -1
  889. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +0 -1
  890. package/dist/components/stepper-calendar/index.d.ts.map +0 -1
  891. package/dist/components/stepper-calendar/index.js.map +0 -1
  892. package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +0 -1
  893. package/dist/components/stepper-progress/index.d.ts.map +0 -1
  894. package/dist/components/stepper-progress/index.js.map +0 -1
  895. package/dist/components/stepper-progress/stepper-progress.d.ts.map +0 -1
  896. package/dist/components/streaming-text/index.d.ts.map +0 -1
  897. package/dist/components/streaming-text/index.js.map +0 -1
  898. package/dist/components/streaming-text/streaming-text.d.ts.map +0 -1
  899. package/dist/components/suggestion-chip/index.d.ts.map +0 -1
  900. package/dist/components/suggestion-chip/index.js.map +0 -1
  901. package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +0 -1
  902. package/dist/components/switch/index.d.ts.map +0 -1
  903. package/dist/components/switch/index.js.map +0 -1
  904. package/dist/components/switch/switch.d.ts.map +0 -1
  905. package/dist/components/tabs/index.d.ts.map +0 -1
  906. package/dist/components/tabs/index.js.map +0 -1
  907. package/dist/components/tabs/tabs.agent.d.ts.map +0 -1
  908. package/dist/components/tabs/tabs.d.ts.map +0 -1
  909. package/dist/components/tag/index.d.ts.map +0 -1
  910. package/dist/components/tag/index.js.map +0 -1
  911. package/dist/components/tag/tag.d.ts.map +0 -1
  912. package/dist/components/task-card/index.d.ts.map +0 -1
  913. package/dist/components/task-card/index.js.map +0 -1
  914. package/dist/components/task-card/task-card.d.ts.map +0 -1
  915. package/dist/components/task-tray/index.d.ts.map +0 -1
  916. package/dist/components/task-tray/index.js.map +0 -1
  917. package/dist/components/task-tray/task-tray.d.ts.map +0 -1
  918. package/dist/components/text-area/index.d.ts.map +0 -1
  919. package/dist/components/text-area/index.js.map +0 -1
  920. package/dist/components/text-area/text-area.d.ts.map +0 -1
  921. package/dist/components/text-input/index.d.ts.map +0 -1
  922. package/dist/components/text-input/index.js.map +0 -1
  923. package/dist/components/text-input/text-input.d.ts.map +0 -1
  924. package/dist/components/theme-root/index.d.ts.map +0 -1
  925. package/dist/components/theme-root/index.js.map +0 -1
  926. package/dist/components/theme-root/theme-root.d.ts.map +0 -1
  927. package/dist/components/theme-toggle/index.d.ts.map +0 -1
  928. package/dist/components/theme-toggle/index.js.map +0 -1
  929. package/dist/components/theme-toggle/theme-toggle.d.ts.map +0 -1
  930. package/dist/components/time-picker/index.d.ts.map +0 -1
  931. package/dist/components/time-picker/index.js.map +0 -1
  932. package/dist/components/time-picker/time-picker.d.ts.map +0 -1
  933. package/dist/components/timeline/index.d.ts.map +0 -1
  934. package/dist/components/timeline/index.js.map +0 -1
  935. package/dist/components/timeline/timeline.d.ts.map +0 -1
  936. package/dist/components/timestamp/index.d.ts.map +0 -1
  937. package/dist/components/timestamp/index.js.map +0 -1
  938. package/dist/components/timestamp/timestamp.d.ts.map +0 -1
  939. package/dist/components/toast/index.d.ts.map +0 -1
  940. package/dist/components/toast/index.js.map +0 -1
  941. package/dist/components/toast/toast.d.ts.map +0 -1
  942. package/dist/components/tooltip/index.d.ts.map +0 -1
  943. package/dist/components/tooltip/index.js.map +0 -1
  944. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  945. package/dist/components/tooth-scheme/index.d.ts.map +0 -1
  946. package/dist/components/tooth-scheme/index.js.map +0 -1
  947. package/dist/components/tooth-scheme/tooth-data.d.ts.map +0 -1
  948. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +0 -1
  949. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +0 -1
  950. package/dist/components/transcript-panel/index.d.ts.map +0 -1
  951. package/dist/components/transcript-panel/index.js.map +0 -1
  952. package/dist/components/transcript-panel/transcript-panel.d.ts.map +0 -1
  953. package/dist/components/typing-indicator/index.d.ts.map +0 -1
  954. package/dist/components/typing-indicator/index.js.map +0 -1
  955. package/dist/components/typing-indicator/typing-indicator.d.ts.map +0 -1
  956. package/dist/components/visually-hidden/index.d.ts.map +0 -1
  957. package/dist/components/visually-hidden/index.js.map +0 -1
  958. package/dist/components/visually-hidden/visually-hidden.d.ts.map +0 -1
  959. package/dist/components/warning-stack/index.d.ts.map +0 -1
  960. package/dist/components/warning-stack/index.js.map +0 -1
  961. package/dist/components/warning-stack/warning-stack.d.ts.map +0 -1
  962. package/dist/components/workflow/index.d.ts.map +0 -1
  963. package/dist/components/workflow/index.js.map +0 -1
  964. package/dist/components/workflow/workflow-card.d.ts.map +0 -1
  965. package/dist/components/workflow/workflow-editor.d.ts.map +0 -1
  966. package/dist/components/workflow/workflow-map.d.ts.map +0 -1
  967. package/dist/components/workflow/workflow-types.d.ts.map +0 -1
  968. package/dist/hooks/index.d.ts.map +0 -1
  969. package/dist/hooks/index.js.map +0 -1
  970. package/dist/hooks/use-locale.d.ts.map +0 -1
  971. package/dist/hooks/use-media-query.d.ts.map +0 -1
  972. package/dist/hooks/use-prefers-reduced-motion.d.ts.map +0 -1
  973. package/dist/hooks/use-theme.d.ts.map +0 -1
  974. package/dist/i18n/config.d.ts.map +0 -1
  975. package/dist/i18n/config.js.map +0 -1
  976. package/dist/i18n/resources.d.ts.map +0 -1
  977. package/dist/index.js.map +0 -1
  978. package/dist/option/index.js.map +0 -1
  979. package/dist/patterns/leo-assistant/index.d.ts.map +0 -1
  980. package/dist/patterns/leo-assistant/index.js.map +0 -1
  981. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +0 -1
  982. package/dist/patterns/leo-assistant/leo-embedded.d.ts.map +0 -1
  983. package/dist/patterns/leo-assistant/leo-popout.d.ts.map +0 -1
  984. package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +0 -1
  985. package/dist/patterns/leo-assistant/leo-types.d.ts.map +0 -1
  986. package/dist/patterns/patient-shell/index.d.ts.map +0 -1
  987. package/dist/patterns/patient-shell/index.js.map +0 -1
  988. package/dist/patterns/patient-shell/patient-shell.d.ts.map +0 -1
  989. package/dist/safe-html/index.js.map +0 -1
  990. package/dist/tokens/apexcharts-theme.d.ts.map +0 -1
  991. package/dist/tokens/themes/bridges/stripe-appearance.d.ts.map +0 -1
@@ -1,129 +0,0 @@
1
- import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as k, useRef as R, useState as S, useEffect as C, useLayoutEffect as E } from "react";
3
- import { c as t } from "./index-D2ZczOXr.js";
4
- import { useTranslation as A } from "react-i18next";
5
- const B = t("ds:flex ds:w-full", {
6
- variants: {
7
- captionPosition: {
8
- top: "ds:flex-col ds:gap-[var(--spacing-xs)]",
9
- bottom: "ds:flex-col-reverse ds:gap-[var(--spacing-xs)]"
10
- }
11
- },
12
- defaultVariants: { captionPosition: "top" }
13
- }), H = t(
14
- "ds:relative ds:w-full ds:overflow-hidden ds:rounded-[var(--radius-full)] ds:bg-[var(--muted)]",
15
- {
16
- variants: {
17
- size: {
18
- sm: "ds:h-[var(--spacing-xs)]",
19
- default: "ds:h-[var(--spacing-sm)]"
20
- }
21
- },
22
- defaultVariants: { size: "default" }
23
- }
24
- ), L = t(
25
- [
26
- "ds:block ds:h-full ds:rounded-[var(--radius-full)]",
27
- "ds:[inline-size:calc(var(--stepper-progress-value,0)*1%)]",
28
- "ds:transition-[inline-size,background-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]",
29
- "ds:motion-reduce:transition-none"
30
- ].join(" "),
31
- {
32
- variants: {
33
- tone: {
34
- progress: "ds:bg-[var(--primary)]",
35
- error: "ds:bg-[var(--destructive)]",
36
- complete: "ds:bg-[var(--success,var(--primary))]"
37
- }
38
- },
39
- defaultVariants: { tone: "progress" }
40
- }
41
- ), O = t(
42
- "ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)] ds:flex-wrap",
43
- {
44
- variants: {
45
- tone: {
46
- progress: "ds:text-[var(--foreground)]",
47
- error: "ds:text-[var(--destructive)]",
48
- complete: "ds:text-[var(--foreground)]"
49
- }
50
- },
51
- defaultVariants: { tone: "progress" }
52
- }
53
- ), $ = k(
54
- ({
55
- activeStep: g,
56
- steps: l,
57
- "aria-label": x,
58
- hideCaption: h = !1,
59
- size: b = "default",
60
- captionPosition: y = "top",
61
- className: N,
62
- ...V
63
- }, w) => {
64
- const { t: i } = A(), d = R(null), s = l.length, r = Math.max(0, Math.min(g, s - 1)), e = l[r], c = (e == null ? void 0 : e.status) === "error" ? "error" : "current", p = r + 1, P = s === 0 ? 0 : p / s * 100, u = c === "error" ? "error" : r === s - 1 && s > 0 ? "complete" : "progress", [j, z] = S(!1);
65
- C(() => {
66
- z(!0);
67
- }, []);
68
- const f = j ? P : 0;
69
- E(() => {
70
- var m;
71
- (m = d.current) == null || m.style.setProperty(
72
- "--stepper-progress-value",
73
- String(f)
74
- );
75
- }, [f]);
76
- const v = i("navigation.stepper.stepOfTotal", {
77
- n: r + 1,
78
- total: s
79
- }), M = x ?? i("navigation.stepper.label"), o = c === "error" && (e != null && e.description) ? e.description : null, T = [
80
- v,
81
- e ? `— ${e.label}` : null,
82
- o
83
- ].filter(Boolean).join(" ");
84
- return /* @__PURE__ */ n(
85
- "div",
86
- {
87
- ref: w,
88
- "data-component": "stepper-progress",
89
- className: B({ captionPosition: y, className: N }),
90
- ...V,
91
- children: [
92
- h ? null : /* @__PURE__ */ n("div", { className: O({ tone: u }), "aria-hidden": "true", children: [
93
- /* @__PURE__ */ a("span", { className: "type-meta ds:font-[var(--font-weight-semibold)]", children: v }),
94
- e ? /* @__PURE__ */ n("span", { className: "type-meta ds:text-[var(--muted-foreground)]", children: [
95
- "— ",
96
- e.label
97
- ] }) : null,
98
- o ? /* @__PURE__ */ a("span", { className: "type-meta ds:ms-auto ds:text-[var(--destructive)]", children: o }) : null
99
- ] }),
100
- /* @__PURE__ */ a(
101
- "div",
102
- {
103
- role: "progressbar",
104
- "aria-label": M,
105
- "aria-valuemin": 0,
106
- "aria-valuemax": s,
107
- "aria-valuenow": p,
108
- "aria-valuetext": T,
109
- className: H({ size: b }),
110
- children: /* @__PURE__ */ a(
111
- "span",
112
- {
113
- ref: d,
114
- "aria-hidden": "true",
115
- className: L({ tone: u })
116
- }
117
- )
118
- }
119
- )
120
- ]
121
- }
122
- );
123
- }
124
- );
125
- $.displayName = "StepperProgress";
126
- export {
127
- $ as S
128
- };
129
- //# sourceMappingURL=stepper-progress-rE7tn7WY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stepper-progress-rE7tn7WY.js","sources":["../../src/components/stepper-progress/stepper-progress.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useLayoutEffect,\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';\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 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\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 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 return (\n <div\n ref={ref}\n data-component=\"stepper-progress\"\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":["rootVariants","cva","trackVariants","fillVariants","captionVariants","StepperProgress","forwardRef","activeStep","steps","ariaLabel","hideCaption","size","captionPosition","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","jsxs","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
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":";;;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;AAgCA,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;"}
@@ -1,158 +0,0 @@
1
- import { jsxs as E, jsx as h } from "react/jsx-runtime";
2
- import { forwardRef as L, useId as O, useContext as j, useState as N, useRef as T, useEffect as D, useCallback as x, useMemo as P, createContext as G } from "react";
3
- import { c as S } from "./index-D2ZczOXr.js";
4
- import { useTranslation as H } from "react-i18next";
5
- const K = S(
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
- ), V = G(null), U = L(
41
- ({ label: z, className: M, children: b, ...y }, f) => {
42
- const { t: p, i18n: w } = H(), A = w.dir() === "rtl", [r, g] = N([]), [i, a] = N(null), d = T(/* @__PURE__ */ new Map()), C = x((n) => {
43
- g((t) => t.includes(n) ? t : [...t, n]);
44
- }, []), c = x((n) => {
45
- g((t) => t.filter((l) => l !== n)), d.current.delete(n);
46
- }, []), o = x((n) => a(n), []);
47
- D(() => {
48
- !i && r.length > 0 && a(r[0]), i && !r.includes(i) && a(r[0] ?? null);
49
- }, [i, r]);
50
- const s = x(
51
- (n, t) => {
52
- const l = r.indexOf(n);
53
- if (l === -1) return;
54
- let u = l;
55
- t === "next" && (u = (l + 1) % r.length), t === "prev" && (u = (l - 1 + r.length) % r.length), t === "first" && (u = 0), t === "last" && (u = r.length - 1);
56
- const m = r[u];
57
- a(m);
58
- const R = d.current.get(m);
59
- R == null || R.focus();
60
- },
61
- [r]
62
- ), v = x(
63
- (n, t) => {
64
- t ? d.current.set(n, t) : d.current.delete(n);
65
- },
66
- []
67
- ), k = P(
68
- () => ({ register: C, unregister: c, focusedId: i, setFocus: o, onArrowMove: s, isRTL: A }),
69
- [C, c, i, o, s, A]
70
- );
71
- return /* @__PURE__ */ h(B.Provider, { value: v, children: /* @__PURE__ */ h(V.Provider, { value: k, children: /* @__PURE__ */ h(
72
- "div",
73
- {
74
- ref: f,
75
- role: "group",
76
- "aria-label": z ?? p("chat.suggestions"),
77
- className: [
78
- "ds:flex ds:flex-wrap ds:items-center",
79
- "ds:gap-y-[var(--spacing-xs)] ds:gap-x-[var(--spacing-sm)]",
80
- M
81
- ].filter(Boolean).join(" "),
82
- ...y,
83
- children: b
84
- }
85
- ) }) });
86
- }
87
- );
88
- U.displayName = "SuggestionChipGroup";
89
- const B = G(null), q = L(
90
- ({
91
- intent: z = "default",
92
- size: M = "md",
93
- value: b,
94
- startIcon: y,
95
- children: f,
96
- onSelect: p,
97
- onRemove: w,
98
- keepOnSelect: A = !1,
99
- className: r,
100
- disabled: g,
101
- onKeyDown: i,
102
- onFocus: a,
103
- onClick: d,
104
- ...C
105
- }, c) => {
106
- const o = O(), s = j(V), v = j(B), [k, n] = N(!1), t = T(null), l = (e) => {
107
- t.current = e, v == null || v(o, e), typeof c == "function" ? c(e) : c && (c.current = e);
108
- }, u = T(s);
109
- if (u.current = s, D(() => {
110
- const e = u.current;
111
- if (e)
112
- return e.register(o), () => e.unregister(o);
113
- }, [o]), k) return null;
114
- const m = s ? s.focusedId === o : !0;
115
- return /* @__PURE__ */ E(
116
- "button",
117
- {
118
- ref: l,
119
- type: "button",
120
- tabIndex: s ? m ? 0 : -1 : 0,
121
- disabled: g,
122
- onClick: g ? void 0 : (e) => {
123
- d == null || d(e);
124
- const I = typeof b == "string" ? b : typeof f == "string" ? f : "";
125
- p == null || p(I), w ? w() : A || n(!0);
126
- },
127
- onKeyDown: (e) => {
128
- if (i == null || i(e), !s) return;
129
- const I = s.isRTL ? "ArrowLeft" : "ArrowRight", F = s.isRTL ? "ArrowRight" : "ArrowLeft";
130
- e.key === I || e.key === "ArrowDown" ? (e.preventDefault(), s.onArrowMove(o, "next")) : e.key === F || e.key === "ArrowUp" ? (e.preventDefault(), s.onArrowMove(o, "prev")) : e.key === "Home" ? (e.preventDefault(), s.onArrowMove(o, "first")) : e.key === "End" && (e.preventDefault(), s.onArrowMove(o, "last"));
131
- },
132
- onFocus: (e) => {
133
- a == null || a(e), s && !m && s.setFocus(o);
134
- },
135
- "data-component": "suggestion-chip",
136
- className: K({ intent: z, size: M, className: r }),
137
- ...C,
138
- children: [
139
- y ? /* @__PURE__ */ h(
140
- "span",
141
- {
142
- "aria-hidden": "true",
143
- className: "ds:me-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:[&>svg]:size-4",
144
- children: y
145
- }
146
- ) : null,
147
- /* @__PURE__ */ h("span", { children: f })
148
- ]
149
- }
150
- );
151
- }
152
- );
153
- q.displayName = "SuggestionChip";
154
- export {
155
- q as S,
156
- U as a
157
- };
158
- //# sourceMappingURL=suggestion-chip-BNJ2M8Os.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suggestion-chip-BNJ2M8Os.js","sources":["../../src/components/suggestion-chip/suggestion-chip.tsx"],"sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ButtonHTMLAttributes,\n type HTMLAttributes,\n type KeyboardEvent,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst chipVariants = cva(\n [\n // `max-w-full` keeps a chip from blowing past its container when the\n // label is long and the container is narrow (e.g. a 22rem Leo sidebar\n // dock). Labels wrap onto multiple lines via `whitespace-normal` +\n // `break-words` so the full text stays legible — rounded pills grow\n // taller rather than hiding content behind an ellipsis.\n 'ds:inline-flex ds:items-center ds:justify-start ds:text-start ds:whitespace-normal ds:break-words ds:max-w-full',\n 'ds:rounded-[var(--radius-full)] ds:border',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]',\n 'type-label',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n 'ds:forced-colors:border-[ButtonText] ds:forced-colors:text-[ButtonText]',\n ].join(' '),\n {\n variants: {\n intent: {\n default:\n 'ds:bg-muted/20 ds:text-foreground ds:border-transparent ds:hover:bg-accent/10',\n suggestion:\n 'ds:bg-[color:var(--primary)]/10 ds:text-foreground ds:border-transparent ds:hover:bg-[color:var(--primary)]/15',\n followup:\n 'ds:bg-muted/30 ds:text-foreground ds:border-transparent ds:hover:bg-muted/40',\n },\n // Weight, family, tracking, line-height all come from `.type-label` on the base.\n // Size variants override --type-label-size to shift the ramp step.\n size: {\n sm: 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:[--type-label-size:var(--font-size-xs)]',\n md: 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n lg: 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)] ds:[--type-label-size:var(--font-size-base)]',\n },\n },\n defaultVariants: { intent: 'default', size: 'md' },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Group context — roving tabIndex */\n/* ------------------------------------------------------------------ */\n\ninterface ChipGroupCtxValue {\n register: (id: string) => void;\n unregister: (id: string) => void;\n focusedId: string | null;\n setFocus: (id: string) => void;\n onArrowMove: (\n id: string,\n direction: 'prev' | 'next' | 'first' | 'last',\n ) => void;\n isRTL: boolean;\n}\n\nconst ChipGroupCtx = createContext<ChipGroupCtxValue | null>(null);\n\n/* ------------------------------------------------------------------ */\n/* SuggestionChipGroup */\n/* ------------------------------------------------------------------ */\n\nexport interface SuggestionChipGroupProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'aria-label'> {\n /** Override the default group label (ui.chat.suggestions). */\n label?: string;\n}\n\nexport const SuggestionChipGroup = forwardRef<HTMLDivElement, SuggestionChipGroupProps>(\n ({ label, className, children, ...rest }, ref) => {\n const { t, i18n } = useTranslation();\n const isRTL = i18n.dir() === 'rtl';\n const [order, setOrder] = useState<string[]>([]);\n const [focusedId, setFocusedId] = useState<string | null>(null);\n const nodeMap = useRef<Map<string, HTMLButtonElement>>(new Map());\n\n const register = useCallback((id: string) => {\n setOrder((prev) => (prev.includes(id) ? prev : [...prev, id]));\n }, []);\n const unregister = useCallback((id: string) => {\n setOrder((prev) => prev.filter((x) => x !== id));\n nodeMap.current.delete(id);\n }, []);\n\n const setFocus = useCallback((id: string) => setFocusedId(id), []);\n\n useEffect(() => {\n // Ensure focusedId stays valid — default to first registered.\n if (!focusedId && order.length > 0) setFocusedId(order[0]);\n if (focusedId && !order.includes(focusedId)) {\n setFocusedId(order[0] ?? null);\n }\n }, [focusedId, order]);\n\n const onArrowMove: ChipGroupCtxValue['onArrowMove'] = useCallback(\n (id, direction) => {\n const idx = order.indexOf(id);\n if (idx === -1) return;\n let next = idx;\n if (direction === 'next') next = (idx + 1) % order.length;\n if (direction === 'prev') next = (idx - 1 + order.length) % order.length;\n if (direction === 'first') next = 0;\n if (direction === 'last') next = order.length - 1;\n const nextId = order[next];\n setFocusedId(nextId);\n const el = nodeMap.current.get(nextId);\n el?.focus();\n },\n [order],\n );\n\n // Wrapped in useCallback so the context value reference is stable across\n // renders — otherwise every chip re-runs its ref-registering effect on\n // every focus change.\n const registerNode = useCallback(\n (id: string, el: HTMLButtonElement | null) => {\n if (el) nodeMap.current.set(id, el);\n else nodeMap.current.delete(id);\n },\n [],\n );\n\n // Memoise the context value so child chips don't see a new `group`\n // reference on every render — otherwise their register/unregister\n // effect re-runs each render, driving setOrder in the parent and\n // producing an infinite render loop.\n const ctxValue = useMemo(\n () => ({ register, unregister, focusedId, setFocus, onArrowMove, isRTL }),\n [register, unregister, focusedId, setFocus, onArrowMove, isRTL],\n );\n\n return (\n <ChipGroupCtxNodeContext.Provider value={registerNode}>\n <ChipGroupCtx.Provider value={ctxValue}>\n <div\n ref={ref}\n role=\"group\"\n aria-label={label ?? t('chat.suggestions')}\n className={[\n 'ds:flex ds:flex-wrap ds:items-center',\n 'ds:gap-y-[var(--spacing-xs)] ds:gap-x-[var(--spacing-sm)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </div>\n </ChipGroupCtx.Provider>\n </ChipGroupCtxNodeContext.Provider>\n );\n },\n);\n\nSuggestionChipGroup.displayName = 'SuggestionChipGroup';\n\n// Separate context to register the DOM node from the chip without tripping\n// eslint `react-hooks/exhaustive-deps`.\nconst ChipGroupCtxNodeContext = createContext<\n ((id: string, el: HTMLButtonElement | null) => void) | null\n>(null);\n\n/* ------------------------------------------------------------------ */\n/* SuggestionChip */\n/* ------------------------------------------------------------------ */\n\ntype NativeButtonProps = Omit<\n ButtonHTMLAttributes<HTMLButtonElement>,\n 'onSelect' | 'children'\n>;\n\nexport interface SuggestionChipProps\n extends NativeButtonProps,\n VariantProps<typeof chipVariants> {\n /** Value emitted on activation. Falls back to children when a string. */\n value?: string;\n startIcon?: ReactNode;\n children: ReactNode;\n /** Activation handler. */\n onSelect?: (value: string) => void;\n /** When provided, parent owns removal. Otherwise the chip manages its own\n * `removed` state and unmounts after selection. */\n onRemove?: () => void;\n /** Opt out of self-removal — useful inside controlled lists. */\n keepOnSelect?: boolean;\n}\n\nexport const SuggestionChip = forwardRef<HTMLButtonElement, SuggestionChipProps>(\n (\n {\n intent = 'default',\n size = 'md',\n value,\n startIcon,\n children,\n onSelect,\n onRemove,\n keepOnSelect = false,\n className,\n disabled,\n onKeyDown,\n onFocus,\n onClick,\n ...rest\n },\n ref,\n ) => {\n const id = useId();\n const group = useContext(ChipGroupCtx);\n const registerNode = useContext(ChipGroupCtxNodeContext);\n const [removed, setRemoved] = useState(false);\n const localRef = useRef<HTMLButtonElement | null>(null);\n\n const setRef = (node: HTMLButtonElement | null) => {\n localRef.current = node;\n registerNode?.(id, node);\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n };\n\n // Keep register/unregister in a ref so the effect runs only on\n // mount / unmount. Depending on `group` directly would re-fire the\n // effect on every parent render (focusedId changes invalidate the\n // group context value), which in turn mutates the parent's `order`\n // state and loops.\n const groupRef = useRef(group);\n groupRef.current = group;\n\n useEffect(() => {\n const g = groupRef.current;\n if (!g) return;\n g.register(id);\n return () => g.unregister(id);\n }, [id]);\n\n if (removed) return null;\n\n const isFocused = group ? group.focusedId === id : true;\n const tabIndex = group ? (isFocused ? 0 : -1) : 0;\n\n const handleClick: NonNullable<NativeButtonProps['onClick']> = (e) => {\n onClick?.(e);\n const resolvedValue =\n typeof value === 'string'\n ? value\n : typeof children === 'string'\n ? children\n : '';\n onSelect?.(resolvedValue);\n if (onRemove) onRemove();\n else if (!keepOnSelect) setRemoved(true);\n };\n\n const handleKeyDown: NonNullable<NativeButtonProps['onKeyDown']> = (e) => {\n onKeyDown?.(e);\n if (!group) return;\n // Arrow navigation inside a group — RTL inverts Left/Right.\n const nextKey = group.isRTL ? 'ArrowLeft' : 'ArrowRight';\n const prevKey = group.isRTL ? 'ArrowRight' : 'ArrowLeft';\n if (e.key === nextKey || e.key === 'ArrowDown') {\n e.preventDefault();\n group.onArrowMove(id, 'next');\n } else if (e.key === prevKey || e.key === 'ArrowUp') {\n e.preventDefault();\n group.onArrowMove(id, 'prev');\n } else if (e.key === 'Home') {\n e.preventDefault();\n group.onArrowMove(id, 'first');\n } else if (e.key === 'End') {\n e.preventDefault();\n group.onArrowMove(id, 'last');\n }\n };\n\n const handleFocus: NonNullable<NativeButtonProps['onFocus']> = (e) => {\n onFocus?.(e);\n if (group && !isFocused) group.setFocus(id);\n };\n\n return (\n <button\n ref={setRef}\n type=\"button\"\n tabIndex={tabIndex}\n disabled={disabled}\n onClick={disabled ? undefined : handleClick}\n onKeyDown={handleKeyDown as unknown as (e: KeyboardEvent<HTMLButtonElement>) => void}\n onFocus={handleFocus}\n data-component=\"suggestion-chip\"\n className={chipVariants({ intent, size, className })}\n {...rest}\n >\n {startIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:me-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:[&>svg]:size-4\"\n >\n {startIcon}\n </span>\n ) : null}\n <span>{children}</span>\n </button>\n );\n },\n);\n\nSuggestionChip.displayName = 'SuggestionChip';\n"],"names":["chipVariants","cva","ChipGroupCtx","createContext","SuggestionChipGroup","forwardRef","label","className","children","rest","ref","t","i18n","useTranslation","isRTL","order","setOrder","useState","focusedId","setFocusedId","nodeMap","useRef","register","useCallback","id","prev","unregister","x","setFocus","useEffect","onArrowMove","direction","idx","next","nextId","el","registerNode","ctxValue","useMemo","jsx","ChipGroupCtxNodeContext","SuggestionChip","intent","size","value","startIcon","onSelect","onRemove","keepOnSelect","disabled","onKeyDown","onFocus","onClick","useId","group","useContext","removed","setRemoved","localRef","setRef","node","groupRef","g","isFocused","jsxs","resolvedValue","nextKey","prevKey"],"mappings":"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"}
@@ -1,138 +0,0 @@
1
- import { jsxs as B, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as R, useContext as T, useState as q } from "react";
3
- import * as h from "@radix-ui/react-switch";
4
- import { c as i } from "./index-D2ZczOXr.js";
5
- import { useTranslation as C } from "react-i18next";
6
- import { u as I, F as O } from "./form-field-context-94LwgYTQ.js";
7
- const D = i(
8
- [
9
- "ds:inline-flex ds:shrink-0 ds:cursor-pointer ds:items-center",
10
- "ds:rounded-[var(--radius-full)]",
11
- "ds:border-2 ds:border-transparent",
12
- "ds:bg-muted",
13
- "ds:data-[state=checked]:bg-primary",
14
- "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
15
- "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
16
- "ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
17
- "ds:disabled:cursor-not-allowed ds:disabled:opacity-50"
18
- ].join(" "),
19
- {
20
- variants: {
21
- size: {
22
- sm: "ds:h-4 ds:w-7",
23
- md: "ds:h-5 ds:w-9",
24
- lg: "ds:h-6 ds:w-11"
25
- }
26
- },
27
- defaultVariants: { size: "md" }
28
- }
29
- ), _ = i(
30
- [
31
- "ds:pointer-events-none ds:flex ds:items-center ds:justify-center ds:rounded-full ds:bg-background ds:text-foreground ds:shadow-[var(--shadow-sm)]",
32
- "ds:transition-transform ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
33
- "ds:data-[state=checked]:translate-x-full ds:rtl:data-[state=checked]:-translate-x-full",
34
- "ds:data-[state=unchecked]:translate-x-0"
35
- ].join(" "),
36
- {
37
- variants: {
38
- size: {
39
- sm: "ds:size-3",
40
- md: "ds:size-4",
41
- lg: "ds:size-5"
42
- }
43
- },
44
- defaultVariants: { size: "md" }
45
- }
46
- ), $ = i(
47
- "ds:inline-flex ds:items-center ds:gap-3 ds:min-h-[var(--min-target-size)]",
48
- {
49
- variants: {
50
- labelSide: {
51
- start: "ds:flex-row-reverse",
52
- end: ""
53
- }
54
- },
55
- defaultVariants: { labelSide: "end" }
56
- }
57
- ), A = i("type-label ds:text-foreground ds:select-none", {
58
- variants: {
59
- disabled: {
60
- true: "ds:cursor-not-allowed ds:opacity-50",
61
- false: "ds:cursor-pointer"
62
- }
63
- },
64
- defaultVariants: { disabled: !1 }
65
- }), E = {
66
- sm: "ds:size-2",
67
- md: "ds:size-2.5",
68
- lg: "ds:size-3"
69
- }, G = R(
70
- ({
71
- label: b,
72
- labelSide: v = "end",
73
- size: a = "md",
74
- icon: n,
75
- showStateText: p = !1,
76
- checked: t,
77
- defaultChecked: o,
78
- onCheckedChange: r,
79
- disabled: w,
80
- id: x,
81
- className: g,
82
- ...y
83
- }, z) => {
84
- const { t: l } = C(), s = I(), S = T(O) !== null, c = x ?? s.id, [F, V] = q(
85
- t ?? o ?? !1
86
- ), d = typeof t == "boolean", u = d ? t : F, N = (m) => {
87
- d || V(m), r == null || r(m);
88
- }, f = s.disabled || w, j = s.describedBy || void 0, k = u ? l("ui.inputs.switch.on", "On") : l("ui.inputs.switch.off", "Off");
89
- return /* @__PURE__ */ B("div", { className: $({ labelSide: v }), children: [
90
- /* @__PURE__ */ e(
91
- h.Root,
92
- {
93
- ref: z,
94
- id: c,
95
- checked: d ? t : void 0,
96
- defaultChecked: d ? void 0 : o,
97
- onCheckedChange: N,
98
- disabled: f,
99
- "aria-describedby": j,
100
- "aria-invalid": s.invalid || void 0,
101
- "aria-required": s.required || void 0,
102
- "data-component": "switch",
103
- className: D({ size: a, className: g }),
104
- ...y,
105
- children: /* @__PURE__ */ e(h.Thumb, { className: _({ size: a }), children: n ? /* @__PURE__ */ e(
106
- "span",
107
- {
108
- "aria-hidden": "true",
109
- className: `${E[a]} ds:inline-flex ds:items-center ds:justify-center ds:[&_svg]:size-full`,
110
- children: u ? n.on : n.off
111
- }
112
- ) : null })
113
- }
114
- ),
115
- p ? /* @__PURE__ */ e(
116
- "span",
117
- {
118
- "aria-hidden": "true",
119
- className: "type-meta ds:text-muted-foreground ds:select-none",
120
- children: k
121
- }
122
- ) : null,
123
- S ? null : /* @__PURE__ */ e(
124
- "label",
125
- {
126
- htmlFor: c,
127
- className: A({ disabled: !!f }),
128
- children: b
129
- }
130
- )
131
- ] });
132
- }
133
- );
134
- G.displayName = "Switch";
135
- export {
136
- G as S
137
- };
138
- //# sourceMappingURL=switch-aN2EYxHh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"switch-aN2EYxHh.js","sources":["../../src/components/switch/switch.tsx"],"sourcesContent":["import {\n forwardRef,\n useContext,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport * as RadixSwitch from '@radix-ui/react-switch';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n FormFieldContext,\n useFormField,\n} from '../form-field/form-field-context';\n\nconst switchVariants = cva(\n [\n 'ds:inline-flex ds:shrink-0 ds:cursor-pointer ds:items-center',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:border-2 ds:border-transparent',\n 'ds:bg-muted',\n 'ds:data-[state=checked]:bg-primary',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-4 ds:w-7',\n md: 'ds:h-5 ds:w-9',\n lg: 'ds:h-6 ds:w-11',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\nconst thumbVariants = cva(\n [\n 'ds:pointer-events-none ds:flex ds:items-center ds:justify-center ds:rounded-full ds:bg-background ds:text-foreground ds:shadow-[var(--shadow-sm)]',\n 'ds:transition-transform ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:data-[state=checked]:translate-x-full ds:rtl:data-[state=checked]:-translate-x-full',\n 'ds:data-[state=unchecked]:translate-x-0',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:size-3',\n md: 'ds:size-4',\n lg: 'ds:size-5',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\nconst wrapperVariants = cva(\n 'ds:inline-flex ds:items-center ds:gap-3 ds:min-h-[var(--min-target-size)]',\n {\n variants: {\n labelSide: {\n start: 'ds:flex-row-reverse',\n end: '',\n },\n },\n defaultVariants: { labelSide: 'end' },\n },\n);\n\nconst labelVariants = cva('type-label ds:text-foreground ds:select-none', {\n variants: {\n disabled: {\n true: 'ds:cursor-not-allowed ds:opacity-50',\n false: 'ds:cursor-pointer',\n },\n },\n defaultVariants: { disabled: false },\n});\n\nconst iconSizeBySwitchSize = {\n sm: 'ds:size-2',\n md: 'ds:size-2.5',\n lg: 'ds:size-3',\n} as const;\n\nexport interface SwitchIcon {\n on: ReactNode;\n off: ReactNode;\n}\n\ntype RadixRootProps = ComponentPropsWithoutRef<typeof RadixSwitch.Root>;\n\nexport interface SwitchProps\n extends Omit<RadixRootProps, 'children'>,\n VariantProps<typeof switchVariants> {\n label: string;\n labelSide?: 'start' | 'end';\n size?: 'sm' | 'md' | 'lg';\n icon?: SwitchIcon;\n showStateText?: boolean;\n}\n\nexport const Switch = forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n label,\n labelSide = 'end',\n size = 'md',\n icon,\n showStateText = false,\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n id,\n className,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const ctx = useFormField();\n const inFormField = useContext(FormFieldContext) !== null;\n const switchId = id ?? ctx.id;\n\n const [internalChecked, setInternalChecked] = useState<boolean>(\n checked ?? defaultChecked ?? false,\n );\n const isControlled = typeof checked === 'boolean';\n const currentChecked = isControlled ? checked : internalChecked;\n\n const handleCheckedChange = (next: boolean) => {\n if (!isControlled) setInternalChecked(next);\n onCheckedChange?.(next);\n };\n\n const effectiveDisabled = ctx.disabled || disabled;\n const describedBy = ctx.describedBy || undefined;\n\n const stateText = currentChecked\n ? t('ui.inputs.switch.on', 'On')\n : t('ui.inputs.switch.off', 'Off');\n\n return (\n <div className={wrapperVariants({ labelSide })}>\n <RadixSwitch.Root\n ref={ref}\n id={switchId}\n checked={isControlled ? checked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n onCheckedChange={handleCheckedChange}\n disabled={effectiveDisabled}\n aria-describedby={describedBy}\n aria-invalid={ctx.invalid || undefined}\n aria-required={ctx.required || undefined}\n data-component=\"switch\"\n className={switchVariants({ size, className })}\n {...props}\n >\n <RadixSwitch.Thumb className={thumbVariants({ size })}>\n {icon ? (\n <span\n aria-hidden=\"true\"\n className={`${iconSizeBySwitchSize[size]} ds:inline-flex ds:items-center ds:justify-center ds:[&_svg]:size-full`}\n >\n {currentChecked ? icon.on : icon.off}\n </span>\n ) : null}\n </RadixSwitch.Thumb>\n </RadixSwitch.Root>\n {showStateText ? (\n <span\n aria-hidden=\"true\"\n className=\"type-meta ds:text-muted-foreground ds:select-none\"\n >\n {stateText}\n </span>\n ) : null}\n {!inFormField ? (\n <label\n htmlFor={switchId}\n className={labelVariants({ disabled: Boolean(effectiveDisabled) })}\n >\n {label}\n </label>\n ) : null}\n </div>\n );\n },\n);\n\nSwitch.displayName = 'Switch';\n"],"names":["switchVariants","cva","thumbVariants","wrapperVariants","labelVariants","iconSizeBySwitchSize","Switch","forwardRef","label","labelSide","size","icon","showStateText","checked","defaultChecked","onCheckedChange","disabled","id","className","props","ref","t","useTranslation","ctx","useFormField","inFormField","useContext","FormFieldContext","switchId","internalChecked","setInternalChecked","useState","isControlled","currentChecked","handleCheckedChange","next","effectiveDisabled","describedBy","stateText","jsx","RadixSwitch"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs.agent-BpbVA-Zh.js","sources":["../../src/components/tabs/tabs.tsx","../../src/components/tabs/tabs.agent.ts"],"sourcesContent":["import {\n Children,\n createContext,\n forwardRef,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type MutableRefObject,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { cva, cx, type VariantProps } from 'class-variance-authority';\nimport { X, ChevronDown } from 'lucide-react';\nimport { useTranslation } from 'react-i18next';\nimport { useDirection } from '../_shared/use-direction';\nimport { composeRefs } from '../_shared/compose-refs';\nimport { Select, type SelectOption } from '../select/select';\n\n// ---------------------------------------------------------------------------\n// CVA recipes\n// ---------------------------------------------------------------------------\n\nexport const tabsListVariants = cva(\n 'ds:relative ds:flex',\n {\n variants: {\n variant: {\n // Shadcn-style segmented control: light container, white active card\n default: 'ds:flex-1 ds:min-w-0 ds:items-center ds:bg-muted/10 ds:rounded-[var(--radius-md)] ds:p-1',\n // Classic underline tabs: bottom border with colored active indicator\n underlined: 'ds:flex-1 ds:min-w-0 ds:items-end ds:[border-block-end:1px_solid_var(--border)]',\n // Segmented control: warm secondary container, content-width\n pills: 'ds:items-center ds:bg-secondary ds:rounded-[var(--radius-md)] ds:p-1',\n },\n orientation: {\n horizontal: 'ds:flex-row ds:overflow-hidden',\n vertical: 'ds:flex-col',\n },\n },\n defaultVariants: {\n variant: 'default',\n orientation: 'horizontal',\n },\n },\n);\n\nexport const tabsTriggerVariants = cva(\n [\n 'ds:relative ds:inline-flex ds:items-center ds:justify-center ds:whitespace-nowrap ds:border-0',\n 'ds:gap-2 ds:font-medium ds:transition-colors',\n 'ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:cursor-pointer ds:select-none',\n 'ds:disabled:pointer-events-none ds:disabled:opacity-50',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n ].join(' '),\n {\n variants: {\n variant: {\n default: [\n 'ds:rounded-[var(--radius-sm)] ds:bg-transparent ds:text-muted-foreground',\n 'ds:hover:bg-muted/10 ds:hover:text-foreground',\n 'ds:data-[state=active]:bg-background ds:data-[state=active]:text-foreground',\n 'ds:data-[state=active]:shadow-sm',\n ].join(' '),\n underlined: [\n 'ds:bg-transparent ds:text-muted-foreground',\n 'ds:[border-block-end:2px_solid_transparent]',\n 'ds:hover:bg-muted/10 ds:hover:text-foreground',\n 'ds:data-[state=active]:[border-block-end-color:var(--primary)]',\n 'ds:data-[state=active]:text-foreground ds:data-[state=active]:[margin-block-end:-1px]',\n ].join(' '),\n pills: [\n 'ds:rounded-[var(--radius-full)] ds:bg-transparent ds:text-muted-foreground',\n 'ds:hover:bg-muted/20 ds:hover:text-foreground',\n 'ds:data-[state=active]:bg-primary ds:data-[state=active]:text-primary-foreground',\n ].join(' '),\n },\n size: {\n sm: 'ds:h-8 ds:px-[var(--spacing-sm)] ds:text-[length:var(--font-size-sm)]',\n md: 'ds:h-10 ds:px-[var(--spacing-md)] ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:px-[var(--spacing-lg)] ds:text-[length:var(--font-size-lg)]',\n },\n orientation: {\n horizontal: '',\n vertical: 'ds:w-full ds:justify-start',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n orientation: 'horizontal',\n },\n },\n);\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ntype TabsOverflow = 'dropdown' | 'select';\n\ninterface TabsContextValue {\n variant: 'default' | 'underlined' | 'pills';\n size: 'sm' | 'md' | 'lg';\n orientation: 'horizontal' | 'vertical';\n overflow: TabsOverflow;\n value: string;\n setValue: (value: string) => void;\n}\n\nconst TabsContext = createContext<TabsContextValue>({\n variant: 'default',\n size: 'md',\n orientation: 'horizontal',\n overflow: 'dropdown',\n value: '',\n setValue: () => {},\n});\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface TabsRootProps\n extends Omit<ComponentPropsWithoutRef<typeof TabsPrimitive.Root>, 'orientation'> {\n variant?: 'default' | 'underlined' | 'pills';\n size?: 'sm' | 'md' | 'lg';\n orientation?: 'horizontal' | 'vertical';\n /**\n * Strategy for tabs that don't fit horizontally.\n *\n * - `'dropdown'` (default) — overflowing tabs collapse into a \"More\"\n * `DropdownMenu` rendered next to the visible tab list. Most tabs\n * stay visible inline; the few that don't fit hide behind the menu.\n * Best when there are 5–7 tabs at moderately narrow viewports.\n * - `'select'` — at narrow container widths (under the `@md` breakpoint)\n * the entire tab strip collapses into a single `Select` whose value\n * is the active tab. Best when there are many tabs and the panel is\n * genuinely cramped (mobile, side-panel host). Above `@md`, the\n * inline tab list reappears unchanged.\n *\n * Limitation: the Select mirror builds option labels from each\n * `Tabs.Trigger`'s `children`. Plain string / number children are\n * used verbatim; richer children (icon + text, fragments) fall back\n * to the trigger's `value` so the option remains selectable. Prefer\n * plain-text trigger children when using `overflow=\"select\"`, or use\n * the trigger's `icon` prop for the icon and keep `children` a\n * plain string.\n *\n * @default 'dropdown'\n */\n overflow?: TabsOverflow;\n}\n\nexport interface TabsListProps extends ComponentPropsWithoutRef<typeof TabsPrimitive.List> {\n 'aria-label'?: string;\n}\n\nexport interface TabsTriggerProps\n extends ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>,\n VariantProps<typeof tabsTriggerVariants> {\n icon?: ReactNode;\n badge?: ReactNode;\n dismissible?: boolean;\n onDismiss?: () => void;\n}\n\nexport type TabsContentProps = ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;\n\n// ---------------------------------------------------------------------------\n// TabsRoot\n// ---------------------------------------------------------------------------\n\nconst TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(\n (\n {\n variant = 'default',\n size = 'md',\n orientation = 'horizontal',\n overflow = 'dropdown',\n className,\n children,\n value: valueProp,\n defaultValue,\n onValueChange,\n ...props\n },\n ref,\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = composeRefs(ref, rootRef);\n const dir = useDirection(rootRef);\n\n // Track the active tab so the `overflow=\"select\"` mirror can read it\n // without forcing consumers into controlled mode. If `value` is passed\n // we honour it; otherwise we manage internal state seeded from\n // `defaultValue` and notify consumers via `onValueChange`. Net effect\n // is identical to Radix's own controlled / uncontrolled split — we\n // just shadow the value into context so the Select can mirror it.\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState<string>(defaultValue ?? '');\n const value = isControlled ? (valueProp ?? '') : internalValue;\n const setValue = useCallback(\n (next: string) => {\n if (!isControlled) setInternalValue(next);\n onValueChange?.(next);\n },\n [isControlled, onValueChange],\n );\n\n const ctxValue = useMemo(\n () => ({ variant, size, orientation, overflow, value, setValue }),\n [variant, size, orientation, overflow, value, setValue],\n );\n\n return (\n <TabsContext.Provider value={ctxValue}>\n <TabsPrimitive.Root\n ref={composedRef}\n orientation={orientation}\n dir={dir}\n // We always run Radix in controlled mode against our shadow state\n // (seeded from `defaultValue`) so the `overflow=\"select\"` mirror\n // can read the active value via context without DOM observation.\n value={value}\n onValueChange={setValue}\n data-component=\"tabs\"\n className={cx(\n 'ds:flex',\n orientation === 'vertical' ? 'ds:flex-row ds:gap-[var(--spacing-md)]' : 'ds:flex-col',\n className,\n )}\n {...props}\n >\n {children}\n </TabsPrimitive.Root>\n </TabsContext.Provider>\n );\n },\n);\nTabsRoot.displayName = 'Tabs';\n\n// ---------------------------------------------------------------------------\n// TabsList — with overflow detection\n// ---------------------------------------------------------------------------\n\nconst TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ className, children, 'aria-label': ariaLabel, ...props }, ref) => {\n const { variant, size, orientation, overflow, value, setValue } = useContext(TabsContext);\n const { t } = useTranslation('ui');\n\n const listRef = useRef<HTMLDivElement>(null);\n const [overflowTabs, setOverflowTabs] = useState<{ value: string; label: string }[]>([]);\n const isHorizontal = orientation === 'horizontal';\n // The `select` overflow strategy renders a Select mirror at narrow\n // container widths and skips the DropdownMenu overflow detector\n // (it's the wrong UX for that case — a select-and-a-dropdown would\n // double up). The dropdown detector only runs when `overflow` is\n // `dropdown` and the strip is horizontal.\n const isDropdownOverflow = overflow === 'dropdown' && isHorizontal;\n\n useEffect(() => {\n if (!isDropdownOverflow) {\n setOverflowTabs([]);\n return;\n }\n const el = listRef.current;\n if (!el) return;\n\n const detectOverflow = () => {\n const containerRight = el.getBoundingClientRect().right;\n const hidden: { value: string; label: string }[] = [];\n el.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]').forEach((tab) => {\n const rect = tab.getBoundingClientRect();\n if (rect.right > containerRight + 2) {\n const value = tab.getAttribute('data-value') ?? tab.dataset['value'] ?? '';\n const label = tab.textContent?.trim() ?? value;\n hidden.push({ value, label });\n }\n });\n setOverflowTabs(hidden);\n };\n\n const ro = new ResizeObserver(detectOverflow);\n ro.observe(el);\n detectOverflow();\n return () => ro.disconnect();\n }, [isDropdownOverflow, children]);\n\n const combinedRef = (node: HTMLDivElement | null) => {\n (listRef as MutableRefObject<HTMLDivElement | null>).current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as MutableRefObject<HTMLDivElement | null>).current = node;\n };\n\n // For `overflow=\"select\"` we mirror the Trigger children as Select\n // options. Triggers may carry icon + text; for the Select label we\n // prefer the trigger's plain-text children — anything else falls\n // back to the trigger's `value` so the option is at least selectable.\n const selectOptions = useMemo<SelectOption<string>[]>(() => {\n if (overflow !== 'select') return [];\n return Children.toArray(children)\n .filter((child): child is ReactElement<TabsTriggerProps> => isValidElement(child))\n .filter((child) => typeof child.props.value === 'string' && child.props.value.length > 0)\n .map((child) => {\n const triggerValue = child.props.value as string;\n const labelChild = child.props.children;\n const label =\n typeof labelChild === 'string'\n ? labelChild\n : typeof labelChild === 'number'\n ? String(labelChild)\n : triggerValue;\n return { value: triggerValue, label };\n });\n }, [children, overflow]);\n\n if (overflow === 'select' && isHorizontal) {\n // Container queries gate the swap: above `@md` (Tailwind v4 default\n // 28rem container width) the inline tab strip renders; below it,\n // the Select takes over. The Tabs.List markup stays mounted in\n // both modes so Radix's roving-tabindex / ARIA wiring is preserved\n // even when the strip is visually hidden — keyboard users who land\n // on the panel via skip-link still get to the active tab.\n return (\n <div className=\"ds:@container/tabs ds:relative ds:w-full\">\n {/* Select mirror — visible at narrow container widths only. */}\n <div className=\"ds:block ds:@md/tabs:hidden\">\n <Select\n options={selectOptions}\n value={value}\n onValueChange={(next) => {\n if (typeof next === 'string' && next.length > 0) setValue(next);\n }}\n size={size}\n aria-label={ariaLabel ?? t('tabs.selectLabel')}\n />\n </div>\n {/* Inline tab strip — visible at wider container widths. */}\n <div className=\"ds:hidden ds:@md/tabs:flex ds:relative ds:items-center\">\n <TabsPrimitive.List\n ref={combinedRef}\n aria-label={ariaLabel}\n className={tabsListVariants({ variant, orientation, className })}\n {...props}\n >\n {children}\n </TabsPrimitive.List>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"ds:relative ds:flex ds:items-center\">\n <TabsPrimitive.List\n ref={combinedRef}\n aria-label={ariaLabel}\n className={tabsListVariants({ variant, orientation, className })}\n {...props}\n >\n {children}\n </TabsPrimitive.List>\n\n {isDropdownOverflow && overflowTabs.length > 0 && (\n <OverflowMenu tabs={overflowTabs} label={t('tabs.moreTabs')} size={size} />\n )}\n </div>\n );\n },\n);\nTabsList.displayName = 'TabsList';\n\n// ---------------------------------------------------------------------------\n// OverflowMenu (internal)\n// ---------------------------------------------------------------------------\n\ninterface OverflowMenuProps {\n tabs: { value: string; label: string }[];\n label: string;\n size: 'sm' | 'md' | 'lg';\n}\n\nfunction OverflowMenu({ tabs, label, size }: OverflowMenuProps) {\n const { variant } = useContext(TabsContext);\n\n return (\n <DropdownMenuPrimitive.Root>\n <DropdownMenuPrimitive.Trigger\n className={cx(\n tabsTriggerVariants({ variant, size, orientation: 'horizontal' }),\n 'ds:shrink-0 ds:ms-1',\n )}\n aria-label={label}\n >\n {label}\n <ChevronDown aria-hidden=\"true\" className=\"ds:size-4\" />\n </DropdownMenuPrimitive.Trigger>\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n sideOffset={4}\n className={cx(\n 'ds:z-50 ds:min-w-40 ds:overflow-hidden ds:rounded-[var(--radius-md)]',\n 'ds:border ds:border-border ds:bg-popover ds:p-1 ds:shadow-md',\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95',\n )}\n >\n {tabs.map(({ value, label: tabLabel }) => (\n <DropdownMenuPrimitive.Item\n key={value}\n className={cx(\n 'ds:relative ds:flex ds:cursor-pointer ds:select-none ds:items-center',\n 'ds:rounded-[var(--radius-sm)] ds:px-[var(--spacing-sm)] ds:py-[var(--spacing-xs)]',\n 'ds:text-[var(--font-size-sm)] ds:text-foreground ds:outline-none',\n 'ds:hover:bg-muted ds:focus:bg-muted',\n 'ds:data-[disabled]:pointer-events-none ds:data-[disabled]:opacity-50',\n )}\n onSelect={() => {\n const tab = document.querySelector<HTMLButtonElement>(\n `[role=\"tab\"][data-value=\"${CSS.escape(value)}\"]`,\n );\n tab?.click();\n tab?.scrollIntoView({ inline: 'nearest' });\n }}\n >\n {tabLabel}\n </DropdownMenuPrimitive.Item>\n ))}\n </DropdownMenuPrimitive.Content>\n </DropdownMenuPrimitive.Portal>\n </DropdownMenuPrimitive.Root>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TabsTrigger\n// ---------------------------------------------------------------------------\n\nconst TabsTrigger = forwardRef<HTMLButtonElement, TabsTriggerProps>(\n (\n {\n variant: variantProp,\n size: sizeProp,\n orientation: orientationProp,\n icon,\n badge,\n dismissible = false,\n onDismiss,\n className,\n children,\n value,\n onKeyDown,\n ...props\n },\n ref,\n ) => {\n const ctx = useContext(TabsContext);\n const variant = variantProp ?? ctx.variant;\n const size = sizeProp ?? ctx.size;\n const orientation = orientationProp ?? ctx.orientation;\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n // APG dismissible-tab pattern: Delete/Backspace while trigger is focused closes the tab.\n // The visual X is pointer-only (aria-hidden) to avoid nested-interactive HTML violation.\n if (dismissible && (e.key === 'Delete' || e.key === 'Backspace')) {\n e.preventDefault();\n onDismiss?.();\n }\n onKeyDown?.(e);\n };\n\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n value={value}\n data-value={value}\n className={tabsTriggerVariants({ variant, size, orientation, className })}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {icon && <span aria-hidden=\"true\" className=\"ds:shrink-0 ds:size-4\">{icon}</span>}\n {children}\n {badge && <span className=\"ds:shrink-0\">{badge}</span>}\n {dismissible && (\n // Visual-only dismiss indicator — pointer dismiss fires here; keyboard dismiss fires via Delete/Backspace on the trigger above.\n // No role/tabIndex to avoid nested-interactive (interactive content inside <button> is invalid HTML).\n <span\n aria-hidden=\"true\"\n className={cx(\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:size-6 ds:rounded-[var(--radius-sm)]',\n 'ds:hover:bg-muted-foreground/20',\n )}\n onPointerDown={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onDismiss?.();\n }}\n >\n <X className=\"ds:size-3.5\" />\n </span>\n )}\n </TabsPrimitive.Trigger>\n );\n },\n);\nTabsTrigger.displayName = 'TabsTrigger';\n\n// ---------------------------------------------------------------------------\n// TabsContent\n// ---------------------------------------------------------------------------\n\nconst TabsContent = forwardRef<HTMLDivElement, TabsContentProps>(\n ({ className, children, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cx(\n 'ds:mt-[var(--spacing-sm)] ds:outline-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n className,\n )}\n {...props}\n >\n {children}\n </TabsPrimitive.Content>\n ),\n);\nTabsContent.displayName = 'TabsContent';\n\n// ---------------------------------------------------------------------------\n// Compound export\n// ---------------------------------------------------------------------------\n\nexport const Tabs = Object.assign(TabsRoot, {\n Root: TabsRoot,\n List: TabsList,\n Trigger: TabsTrigger,\n Content: TabsContent,\n});\n\nexport { TabsList, TabsTrigger, TabsContent };\n\n","import type { AgentAdapter } from '../../agent/types';\n\nexport const tabsAgent: AgentAdapter<unknown> = {\n id: 'tabs',\n capabilities: ['select_single', 'navigate'],\n state: {},\n actions: {},\n domHooks: {\n root: { attr: 'data-component', value: 'tabs' },\n item: {\n attr: 'data-tab-id',\n description: 'Each Tab.Trigger emits its value as data-tab-id. The agent reads this to identify the active tab via the DOM.',\n },\n },\n};\n"],"names":["tabsListVariants","cva","tabsTriggerVariants","TabsContext","createContext","TabsRoot","forwardRef","variant","size","orientation","overflow","className","children","valueProp","defaultValue","onValueChange","props","ref","rootRef","useRef","composedRef","composeRefs","dir","useDirection","isControlled","internalValue","setInternalValue","useState","value","setValue","useCallback","next","ctxValue","useMemo","jsx","TabsPrimitive","cx","TabsList","ariaLabel","useContext","t","useTranslation","listRef","overflowTabs","setOverflowTabs","isHorizontal","isDropdownOverflow","useEffect","el","detectOverflow","containerRight","hidden","tab","label","_a","ro","combinedRef","node","selectOptions","Children","child","isValidElement","triggerValue","labelChild","jsxs","Select","OverflowMenu","tabs","DropdownMenuPrimitive","ChevronDown","tabLabel","TabsTrigger","variantProp","sizeProp","orientationProp","icon","badge","dismissible","onDismiss","onKeyDown","ctx","handleKeyDown","e","X","TabsContent","Tabs","tabsAgent"],"mappings":"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"}