@alfadocs/ui-kit-debug 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (984) hide show
  1. package/README.md +30 -0
  2. package/dist/_chunks/accordion-DOmxGEWU.js +228 -0
  3. package/dist/_chunks/accordion-DOmxGEWU.js.map +1 -0
  4. package/dist/_chunks/{agenda-card-DIWDvWum.js → agenda-card-CalZqycc.js} +13 -3
  5. package/dist/_chunks/agenda-card-CalZqycc.js.map +1 -0
  6. package/dist/_chunks/agenda-card.agent-B_R47-c9.js +22 -0
  7. package/dist/_chunks/agenda-card.agent-B_R47-c9.js.map +1 -0
  8. package/dist/_chunks/agenda-tray-3ffFDQZC.js +181 -0
  9. package/dist/_chunks/agenda-tray-3ffFDQZC.js.map +1 -0
  10. package/dist/_chunks/ai-prompt-input-BBiDlEIS.js +476 -0
  11. package/dist/_chunks/ai-prompt-input-BBiDlEIS.js.map +1 -0
  12. package/dist/_chunks/{alert-BlOUMkXj.js → alert-B1sj8Ss0.js} +24 -14
  13. package/dist/_chunks/alert-B1sj8Ss0.js.map +1 -0
  14. package/dist/_chunks/{apexcharts-theme-BkSShpEy.js → apexcharts-theme-BJigns_V.js} +7 -2
  15. package/dist/_chunks/{apexcharts-theme-BkSShpEy.js.map → apexcharts-theme-BJigns_V.js.map} +1 -1
  16. package/dist/_chunks/{app-frame-6d7Lu4ea.js → app-frame-CDJOgPXe.js} +7 -16
  17. package/dist/_chunks/app-frame-CDJOgPXe.js.map +1 -0
  18. package/dist/_chunks/{aspect-ratio-CxsdG8vk.js → aspect-ratio-DeSNzASA.js} +12 -12
  19. package/dist/_chunks/aspect-ratio-DeSNzASA.js.map +1 -0
  20. package/dist/_chunks/audio-recorder-B4U1LuiQ.js +457 -0
  21. package/dist/_chunks/audio-recorder-B4U1LuiQ.js.map +1 -0
  22. package/dist/_chunks/{audio-visualiser-CeMPCZkd.js → audio-visualiser-ByDEFLNm.js} +25 -19
  23. package/dist/_chunks/audio-visualiser-ByDEFLNm.js.map +1 -0
  24. package/dist/_chunks/autocomplete-D4oUZbsP.js +466 -0
  25. package/dist/_chunks/autocomplete-D4oUZbsP.js.map +1 -0
  26. package/dist/_chunks/avatar-Dcr6XuDQ.js.map +1 -1
  27. package/dist/_chunks/{badge-mrstWxve.js → badge-DKFbntoa.js} +16 -13
  28. package/dist/_chunks/badge-DKFbntoa.js.map +1 -0
  29. package/dist/_chunks/{balance-cell-renderer-BWm3knY9.js → balance-cell-renderer-B8zgIM-m.js} +64 -45
  30. package/dist/_chunks/balance-cell-renderer-B8zgIM-m.js.map +1 -0
  31. package/dist/_chunks/breadcrumb-D1snXjPb.js +379 -0
  32. package/dist/_chunks/breadcrumb-D1snXjPb.js.map +1 -0
  33. package/dist/_chunks/{button-7mLWcMp_.js → button-DD_0Xdmr.js} +12 -2
  34. package/dist/_chunks/button-DD_0Xdmr.js.map +1 -0
  35. package/dist/_chunks/button-group-CONver7M.js.map +1 -1
  36. package/dist/_chunks/button.agent-BuGZBktn.js.map +1 -1
  37. package/dist/_chunks/{calendar-nGEgelJs.js → calendar-zy0tUUVG.js} +13 -18
  38. package/dist/_chunks/calendar-zy0tUUVG.js.map +1 -0
  39. package/dist/_chunks/{card-BEy58ZKp.js → card-CWzuTLYE.js} +40 -34
  40. package/dist/_chunks/card-CWzuTLYE.js.map +1 -0
  41. package/dist/_chunks/chart-BLvFl169.js +292 -0
  42. package/dist/_chunks/chart-BLvFl169.js.map +1 -0
  43. package/dist/_chunks/chat-container-ClzsWXp2.js +220 -0
  44. package/dist/_chunks/chat-container-ClzsWXp2.js.map +1 -0
  45. package/dist/_chunks/chat-input-DOlsB1fm.js +333 -0
  46. package/dist/_chunks/chat-input-DOlsB1fm.js.map +1 -0
  47. package/dist/_chunks/{chat-message-ByouZpPP.js → chat-message-DoAhgUTj.js} +23 -13
  48. package/dist/_chunks/chat-message-DoAhgUTj.js.map +1 -0
  49. package/dist/_chunks/checkbox-CtPM6Rup.js +196 -0
  50. package/dist/_chunks/checkbox-CtPM6Rup.js.map +1 -0
  51. package/dist/_chunks/checkbox-group-BTdEB6Yo.js +208 -0
  52. package/dist/_chunks/checkbox-group-BTdEB6Yo.js.map +1 -0
  53. package/dist/_chunks/collapsible-CuxUBoHJ.js +147 -0
  54. package/dist/_chunks/collapsible-CuxUBoHJ.js.map +1 -0
  55. package/dist/_chunks/{color-picker-e9PmpaGH.js → color-picker-CTIcHlDF.js} +321 -205
  56. package/dist/_chunks/color-picker-CTIcHlDF.js.map +1 -0
  57. package/dist/_chunks/combobox-DCNXqbC7.js +460 -0
  58. package/dist/_chunks/combobox-DCNXqbC7.js.map +1 -0
  59. package/dist/_chunks/command-palette-C_vgSgrI.js +441 -0
  60. package/dist/_chunks/command-palette-C_vgSgrI.js.map +1 -0
  61. package/dist/_chunks/date-picker-B1PO1ZQP.js +1822 -0
  62. package/dist/_chunks/date-picker-B1PO1ZQP.js.map +1 -0
  63. package/dist/_chunks/date-range-picker-mix2nEVC.js +287 -0
  64. package/dist/_chunks/date-range-picker-mix2nEVC.js.map +1 -0
  65. package/dist/_chunks/date-time-picker-Dnong_BY.js +308 -0
  66. package/dist/_chunks/date-time-picker-Dnong_BY.js.map +1 -0
  67. package/dist/_chunks/{description-list-DvJbp6Yg.js → description-list-BYA77Yud.js} +26 -23
  68. package/dist/_chunks/description-list-BYA77Yud.js.map +1 -0
  69. package/dist/_chunks/dialog-BPD7wlGE.js +211 -0
  70. package/dist/_chunks/dialog-BPD7wlGE.js.map +1 -0
  71. package/dist/_chunks/dropdown-menu-CpiF6CPz.js +300 -0
  72. package/dist/_chunks/dropdown-menu-CpiF6CPz.js.map +1 -0
  73. package/dist/_chunks/{empty-state-DQPtRp2b.js → empty-state-3CLJIXSj.js} +132 -101
  74. package/dist/_chunks/empty-state-3CLJIXSj.js.map +1 -0
  75. package/dist/_chunks/file-upload-C947ACDK.js +829 -0
  76. package/dist/_chunks/file-upload-C947ACDK.js.map +1 -0
  77. package/dist/_chunks/flag-DZ6V7-hU.js.map +1 -1
  78. package/dist/_chunks/{floating-action-button-Cnw-f6AG.js → floating-action-button-C8OYj8mE.js} +9 -2
  79. package/dist/_chunks/floating-action-button-C8OYj8mE.js.map +1 -0
  80. package/dist/_chunks/{form-field-BfsPLTSc.js → form-field-Bmkeh7WY.js} +12 -11
  81. package/dist/_chunks/form-field-Bmkeh7WY.js.map +1 -0
  82. package/dist/_chunks/{form-field-context-94LwgYTQ.js → form-field-context-B3APVHKx.js} +4 -2
  83. package/dist/_chunks/form-field-context-B3APVHKx.js.map +1 -0
  84. package/dist/_chunks/freemium-paywall-CnvceDav.js +267 -0
  85. package/dist/_chunks/freemium-paywall-CnvceDav.js.map +1 -0
  86. package/dist/_chunks/{header-BGn1mRp8.js → header-D0ULgQl3.js} +69 -68
  87. package/dist/_chunks/header-D0ULgQl3.js.map +1 -0
  88. package/dist/_chunks/{icon-button-Wnnde5lc.js → icon-button-C4CGcYuz.js} +11 -3
  89. package/dist/_chunks/icon-button-C4CGcYuz.js.map +1 -0
  90. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +1 -1
  91. package/dist/_chunks/{kbd-8baVw3KU.js → kbd-Cglkd7CY.js} +6 -2
  92. package/dist/_chunks/kbd-Cglkd7CY.js.map +1 -0
  93. package/dist/_chunks/{key-value-pair-JRFS9Xrh.js → key-value-pair-CgWvAIGb.js} +2 -2
  94. package/dist/_chunks/key-value-pair-CgWvAIGb.js.map +1 -0
  95. package/dist/_chunks/{leo-sidebar-nbHib2D-.js → leo-sidebar-CfEY-xi2.js} +16 -20
  96. package/dist/_chunks/leo-sidebar-CfEY-xi2.js.map +1 -0
  97. package/dist/_chunks/link-8QmFjIz2.js +118 -0
  98. package/dist/_chunks/link-8QmFjIz2.js.map +1 -0
  99. package/dist/_chunks/list-qP6p0NTw.js +434 -0
  100. package/dist/_chunks/list-qP6p0NTw.js.map +1 -0
  101. package/dist/_chunks/live-region-C41SO3cA.js.map +1 -1
  102. package/dist/_chunks/{logo-BpFoCL-s.js → logo-_Z-jLq80.js} +155 -26
  103. package/dist/_chunks/logo-_Z-jLq80.js.map +1 -0
  104. package/dist/_chunks/{matrix-rain-BEkvux64.js → matrix-rain-CRPMXcVx.js} +8 -2
  105. package/dist/_chunks/matrix-rain-CRPMXcVx.js.map +1 -0
  106. package/dist/_chunks/{message-card-qAp2-WQK.js → message-card-ChCX9Iv6.js} +64 -60
  107. package/dist/_chunks/message-card-ChCX9Iv6.js.map +1 -0
  108. package/dist/_chunks/message-card.agent-4IeIgrnJ.js +22 -0
  109. package/dist/_chunks/message-card.agent-4IeIgrnJ.js.map +1 -0
  110. package/dist/_chunks/message-tray-n8q9ITXI.js +414 -0
  111. package/dist/_chunks/message-tray-n8q9ITXI.js.map +1 -0
  112. package/dist/_chunks/multi-select-wqqrgjUQ.js +545 -0
  113. package/dist/_chunks/multi-select-wqqrgjUQ.js.map +1 -0
  114. package/dist/_chunks/navigation-menu-ClbHeawy.js +279 -0
  115. package/dist/_chunks/navigation-menu-ClbHeawy.js.map +1 -0
  116. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +1 -1
  117. package/dist/_chunks/{notification-card-BF2_veHy.js → notification-card-hBlPN1-c.js} +15 -14
  118. package/dist/_chunks/notification-card-hBlPN1-c.js.map +1 -0
  119. package/dist/_chunks/notification-card.agent-Rqt3ofk9.js +22 -0
  120. package/dist/_chunks/notification-card.agent-Rqt3ofk9.js.map +1 -0
  121. package/dist/_chunks/notification-tray-C5cnXbl9.js +448 -0
  122. package/dist/_chunks/notification-tray-C5cnXbl9.js.map +1 -0
  123. package/dist/_chunks/number-input-Q7wkHnvQ.js +337 -0
  124. package/dist/_chunks/number-input-Q7wkHnvQ.js.map +1 -0
  125. package/dist/_chunks/otp-input-C9gUByF0.js +260 -0
  126. package/dist/_chunks/otp-input-C9gUByF0.js.map +1 -0
  127. package/dist/_chunks/pagination-3AC4zTsi.js +462 -0
  128. package/dist/_chunks/pagination-3AC4zTsi.js.map +1 -0
  129. package/dist/_chunks/password-input-C4LmjIH1.js +301 -0
  130. package/dist/_chunks/password-input-C4LmjIH1.js.map +1 -0
  131. package/dist/_chunks/{patient-shell-7cXqIMFg.js → patient-shell-BlsEUKWB.js} +10 -15
  132. package/dist/_chunks/{patient-shell-7cXqIMFg.js.map → patient-shell-BlsEUKWB.js.map} +1 -1
  133. package/dist/_chunks/{payment-form-hcl-gGrp.js → payment-form-C3vT_npe.js} +212 -201
  134. package/dist/_chunks/payment-form-C3vT_npe.js.map +1 -0
  135. package/dist/_chunks/pdf-viewer-CZIfY08H.js +895 -0
  136. package/dist/_chunks/pdf-viewer-CZIfY08H.js.map +1 -0
  137. package/dist/_chunks/phone-input-CSHJOJ13.js +508 -0
  138. package/dist/_chunks/phone-input-CSHJOJ13.js.map +1 -0
  139. package/dist/_chunks/popover-DekUKNBk.js +293 -0
  140. package/dist/_chunks/popover-DekUKNBk.js.map +1 -0
  141. package/dist/_chunks/privacy-lock-BKsI6ReN.js +193 -0
  142. package/dist/_chunks/privacy-lock-BKsI6ReN.js.map +1 -0
  143. package/dist/_chunks/progress-C11tqhoI.js +298 -0
  144. package/dist/_chunks/progress-C11tqhoI.js.map +1 -0
  145. package/dist/_chunks/{radio-cs8N1wJi.js → radio-DvF59ThA.js} +14 -13
  146. package/dist/_chunks/radio-DvF59ThA.js.map +1 -0
  147. package/dist/_chunks/radio-group-Cz1a4QCA.js +152 -0
  148. package/dist/_chunks/radio-group-Cz1a4QCA.js.map +1 -0
  149. package/dist/_chunks/react-day-picker-C04L_28V.js.map +1 -1
  150. package/dist/_chunks/recaptcha-widget-NyfOfLII.js +192 -0
  151. package/dist/_chunks/recaptcha-widget-NyfOfLII.js.map +1 -0
  152. package/dist/_chunks/resizable-mpXXyIsN.js +483 -0
  153. package/dist/_chunks/resizable-mpXXyIsN.js.map +1 -0
  154. package/dist/_chunks/{rich-text-editor.agent-COSb5_2D.js → rich-text-editor-C7TCIlQO.js} +387 -291
  155. package/dist/_chunks/rich-text-editor-C7TCIlQO.js.map +1 -0
  156. package/dist/_chunks/safe-image-src-DstKgCo7.js.map +1 -1
  157. package/dist/_chunks/{scroll-area-DLr5w9Dd.js → scroll-area-DEDU-lp-.js} +67 -54
  158. package/dist/_chunks/scroll-area-DEDU-lp-.js.map +1 -0
  159. package/dist/_chunks/search-bar-BTDfgYtg.js +585 -0
  160. package/dist/_chunks/search-bar-BTDfgYtg.js.map +1 -0
  161. package/dist/_chunks/search-input-CdJIEjFo.js +236 -0
  162. package/dist/_chunks/search-input-CdJIEjFo.js.map +1 -0
  163. package/dist/_chunks/search-input.agent-CfZvViOd.js +69 -0
  164. package/dist/_chunks/search-input.agent-CfZvViOd.js.map +1 -0
  165. package/dist/_chunks/select-y6bXV1f1.js +411 -0
  166. package/dist/_chunks/select-y6bXV1f1.js.map +1 -0
  167. package/dist/_chunks/{separator-B4wXDLNC.js → separator-CYU_bGFn.js} +2 -5
  168. package/dist/_chunks/separator-CYU_bGFn.js.map +1 -0
  169. package/dist/_chunks/{sheet-BhNpLHc9.js → sheet-4tgMFwj0.js} +141 -65
  170. package/dist/_chunks/sheet-4tgMFwj0.js.map +1 -0
  171. package/dist/_chunks/{sidebar-OVzwN3jE.js → sidebar-Bx3wCDyy.js} +576 -484
  172. package/dist/_chunks/sidebar-Bx3wCDyy.js.map +1 -0
  173. package/dist/_chunks/{sign-in-with-alfadocs-button-BN_FPGHT.js → sign-in-with-alfadocs-button-B9UrqOqH.js} +9 -5
  174. package/dist/_chunks/sign-in-with-alfadocs-button-B9UrqOqH.js.map +1 -0
  175. package/dist/_chunks/{signature-capture.agent-C38VPXxg.js → signature-capture-DjMlFOzS.js} +258 -253
  176. package/dist/_chunks/signature-capture-DjMlFOzS.js.map +1 -0
  177. package/dist/_chunks/{skeleton-dtqyF09N.js → skeleton-CZbwyJAA.js} +9 -3
  178. package/dist/_chunks/skeleton-CZbwyJAA.js.map +1 -0
  179. package/dist/_chunks/skip-link-DmZ3c6cb.js.map +1 -1
  180. package/dist/_chunks/slider-BT2bZWsy.js +326 -0
  181. package/dist/_chunks/slider-BT2bZWsy.js.map +1 -0
  182. package/dist/_chunks/{slot-grid-D_l5VsHG.js → slot-grid-CgpYgBkW.js} +105 -95
  183. package/dist/_chunks/slot-grid-CgpYgBkW.js.map +1 -0
  184. package/dist/_chunks/sparkline-_gy8aJDG.js +252 -0
  185. package/dist/_chunks/sparkline-_gy8aJDG.js.map +1 -0
  186. package/dist/_chunks/{spinner-GCcv67vh.js → spinner-DLaYfLPl.js} +66 -14
  187. package/dist/_chunks/spinner-DLaYfLPl.js.map +1 -0
  188. package/dist/_chunks/{stat-DUB6g90R.js → stat-B9PHSPbN.js} +45 -27
  189. package/dist/_chunks/stat-B9PHSPbN.js.map +1 -0
  190. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +322 -0
  191. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js.map +1 -0
  192. package/dist/_chunks/stepper-calendar-BLOJUE0-.js +648 -0
  193. package/dist/_chunks/stepper-calendar-BLOJUE0-.js.map +1 -0
  194. package/dist/_chunks/stepper-progress-jFY8BSf7.js +208 -0
  195. package/dist/_chunks/stepper-progress-jFY8BSf7.js.map +1 -0
  196. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +1 -1
  197. package/dist/_chunks/suggestion-chip-C4Jz0LrM.js +167 -0
  198. package/dist/_chunks/suggestion-chip-C4Jz0LrM.js.map +1 -0
  199. package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js +46 -0
  200. package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js.map +1 -0
  201. package/dist/_chunks/switch-C0psfIQF.js +196 -0
  202. package/dist/_chunks/switch-C0psfIQF.js.map +1 -0
  203. package/dist/_chunks/tabs-DaFA3Muo.js +399 -0
  204. package/dist/_chunks/tabs-DaFA3Muo.js.map +1 -0
  205. package/dist/_chunks/{tag-BqidXKo3.js → tag-DuLMjRbF.js} +90 -32
  206. package/dist/_chunks/tag-DuLMjRbF.js.map +1 -0
  207. package/dist/_chunks/{task-card-yW7tKlG4.js → task-card-Dw_ZJDL8.js} +6 -2
  208. package/dist/_chunks/task-card-Dw_ZJDL8.js.map +1 -0
  209. package/dist/_chunks/task-card.agent-CUPKYd7w.js +22 -0
  210. package/dist/_chunks/task-card.agent-CUPKYd7w.js.map +1 -0
  211. package/dist/_chunks/task-tray-XlIW9ueh.js +195 -0
  212. package/dist/_chunks/task-tray-XlIW9ueh.js.map +1 -0
  213. package/dist/_chunks/text-area-CO9Dz0qX.js +239 -0
  214. package/dist/_chunks/text-area-CO9Dz0qX.js.map +1 -0
  215. package/dist/_chunks/text-input-DZwt9L8H.js +275 -0
  216. package/dist/_chunks/text-input-DZwt9L8H.js.map +1 -0
  217. package/dist/_chunks/{theme-root-DDb0TJjd.js → theme-root-CSKD5ZRm.js} +9 -2
  218. package/dist/_chunks/{theme-root-DDb0TJjd.js.map → theme-root-CSKD5ZRm.js.map} +1 -1
  219. package/dist/_chunks/theme-toggle-B9zzCnvl.js +396 -0
  220. package/dist/_chunks/theme-toggle-B9zzCnvl.js.map +1 -0
  221. package/dist/_chunks/time-picker-DvPUmHH-.js +412 -0
  222. package/dist/_chunks/time-picker-DvPUmHH-.js.map +1 -0
  223. package/dist/_chunks/timeline-BvmnQadS.js +279 -0
  224. package/dist/_chunks/timeline-BvmnQadS.js.map +1 -0
  225. package/dist/_chunks/timestamp-BV2lC-wV.js.map +1 -1
  226. package/dist/_chunks/{toast-lOhJDKOH.js → toast.agent-BwKXA0km.js} +443 -344
  227. package/dist/_chunks/toast.agent-BwKXA0km.js.map +1 -0
  228. package/dist/_chunks/{tooth-scheme.agent-BlDyu-Gx.js → tooth-scheme-3mITSXiZ.js} +256 -265
  229. package/dist/_chunks/tooth-scheme-3mITSXiZ.js.map +1 -0
  230. package/dist/_chunks/transcript-panel-Bx5ANMsv.js +346 -0
  231. package/dist/_chunks/transcript-panel-Bx5ANMsv.js.map +1 -0
  232. package/dist/_chunks/{typing-indicator-CbUBf-Dx.js → typing-indicator-BZ5jXZPn.js} +27 -5
  233. package/dist/_chunks/typing-indicator-BZ5jXZPn.js.map +1 -0
  234. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +1 -1
  235. package/dist/_chunks/{use-theme-BMUhembX.js → use-theme-B1cwAXJR.js} +2 -5
  236. package/dist/_chunks/use-theme-B1cwAXJR.js.map +1 -0
  237. package/dist/_chunks/{visually-hidden-Bw7vBHLm.js → visually-hidden-BHxEUGyT.js} +11 -2
  238. package/dist/_chunks/{visually-hidden-Bw7vBHLm.js.map → visually-hidden-BHxEUGyT.js.map} +1 -1
  239. package/dist/_chunks/{warning-stack-8Pa3pekh.js → warning-stack-VygGHSqC.js} +11 -13
  240. package/dist/_chunks/warning-stack-VygGHSqC.js.map +1 -0
  241. package/dist/_chunks/{workflow-map-XeqHDFvp.js → workflow-map-C-nlogPC.js} +563 -488
  242. package/dist/_chunks/workflow-map-C-nlogPC.js.map +1 -0
  243. package/dist/agent-catalog.json +3577 -351
  244. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +1 -1
  245. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +1 -1
  246. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +1 -1
  247. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +1 -1
  248. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +1 -1
  249. package/dist/components/_shared/date-locale.d.ts.map +1 -1
  250. package/dist/components/_shared/index.d.ts +2 -2
  251. package/dist/components/_shared/index.d.ts.map +1 -1
  252. package/dist/components/_shared/normalize-diacritics.d.ts.map +1 -1
  253. package/dist/components/_shared/safe-html.d.ts.map +1 -1
  254. package/dist/components/_shared/safe-image-src.d.ts.map +1 -1
  255. package/dist/components/_shared/use-focus-trap.d.ts.map +1 -1
  256. package/dist/components/accordion/accordion.agent.d.ts +2 -1
  257. package/dist/components/accordion/accordion.agent.d.ts.map +1 -1
  258. package/dist/components/accordion/accordion.d.ts +6 -0
  259. package/dist/components/accordion/accordion.d.ts.map +1 -1
  260. package/dist/components/accordion/index.d.ts +1 -1
  261. package/dist/components/accordion/index.d.ts.map +1 -1
  262. package/dist/components/accordion/index.js +5 -6
  263. package/dist/components/accordion/index.js.map +1 -1
  264. package/dist/components/agenda-card/agenda-card.agent.d.ts +3 -0
  265. package/dist/components/agenda-card/agenda-card.agent.d.ts.map +1 -0
  266. package/dist/components/agenda-card/agenda-card.d.ts.map +1 -1
  267. package/dist/components/agenda-card/index.d.ts +1 -0
  268. package/dist/components/agenda-card/index.d.ts.map +1 -1
  269. package/dist/components/agenda-card/index.js +3 -1
  270. package/dist/components/agenda-card/index.js.map +1 -1
  271. package/dist/components/agenda-tray/agenda-tray.agent.d.ts +4 -0
  272. package/dist/components/agenda-tray/agenda-tray.agent.d.ts.map +1 -0
  273. package/dist/components/agenda-tray/agenda-tray.d.ts +18 -1
  274. package/dist/components/agenda-tray/agenda-tray.d.ts.map +1 -1
  275. package/dist/components/agenda-tray/index.d.ts +2 -1
  276. package/dist/components/agenda-tray/index.d.ts.map +1 -1
  277. package/dist/components/agenda-tray/index.js +3 -2
  278. package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts +4 -0
  279. package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts.map +1 -0
  280. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +18 -1
  281. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  282. package/dist/components/ai-prompt-input/index.d.ts +2 -1
  283. package/dist/components/ai-prompt-input/index.d.ts.map +1 -1
  284. package/dist/components/ai-prompt-input/index.js +3 -2
  285. package/dist/components/alert/alert.d.ts.map +1 -1
  286. package/dist/components/alert/index.d.ts +1 -1
  287. package/dist/components/alert/index.d.ts.map +1 -1
  288. package/dist/components/alert/index.js +1 -1
  289. package/dist/components/app-frame/app-frame.d.ts.map +1 -1
  290. package/dist/components/app-frame/index.js +1 -1
  291. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -1
  292. package/dist/components/aspect-ratio/index.js +1 -1
  293. package/dist/components/audio-recorder/audio-recorder.agent.d.ts +4 -0
  294. package/dist/components/audio-recorder/audio-recorder.agent.d.ts.map +1 -0
  295. package/dist/components/audio-recorder/audio-recorder.d.ts +10 -1
  296. package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -1
  297. package/dist/components/audio-recorder/index.d.ts +2 -1
  298. package/dist/components/audio-recorder/index.d.ts.map +1 -1
  299. package/dist/components/audio-recorder/index.js +3 -2
  300. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -1
  301. package/dist/components/audio-visualiser/index.js +1 -1
  302. package/dist/components/autocomplete/autocomplete.agent.d.ts +2 -1
  303. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
  304. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  305. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  306. package/dist/components/autocomplete/index.js +1 -1
  307. package/dist/components/avatar/avatar.d.ts.map +1 -1
  308. package/dist/components/badge/badge.d.ts.map +1 -1
  309. package/dist/components/badge/index.js +1 -1
  310. package/dist/components/breadcrumb/breadcrumb.agent.d.ts +8 -0
  311. package/dist/components/breadcrumb/breadcrumb.agent.d.ts.map +1 -0
  312. package/dist/components/breadcrumb/breadcrumb.d.ts +20 -1
  313. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  314. package/dist/components/breadcrumb/index.d.ts +2 -1
  315. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  316. package/dist/components/breadcrumb/index.js +5 -4
  317. package/dist/components/button/button.agent.d.ts.map +1 -1
  318. package/dist/components/button/button.d.ts +1 -1
  319. package/dist/components/button/button.d.ts.map +1 -1
  320. package/dist/components/button/icon-button.d.ts.map +1 -1
  321. package/dist/components/button/index.js +2 -2
  322. package/dist/components/button-group/button-group.d.ts.map +1 -1
  323. package/dist/components/calendar/calendar.agent.d.ts.map +1 -1
  324. package/dist/components/calendar/calendar.d.ts.map +1 -1
  325. package/dist/components/calendar/contrast-warning.d.ts.map +1 -1
  326. package/dist/components/calendar/index.js +1 -1
  327. package/dist/components/card/card.d.ts.map +1 -1
  328. package/dist/components/card/index.js +1 -1
  329. package/dist/components/chart/chart.agent.d.ts.map +1 -1
  330. package/dist/components/chart/chart.d.ts +2 -0
  331. package/dist/components/chart/chart.d.ts.map +1 -1
  332. package/dist/components/chart/index.d.ts +1 -1
  333. package/dist/components/chart/index.d.ts.map +1 -1
  334. package/dist/components/chart/index.js +1 -1
  335. package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -1
  336. package/dist/components/chat-container/chat-container.d.ts +4 -2
  337. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  338. package/dist/components/chat-container/index.js +2 -3
  339. package/dist/components/chat-container/index.js.map +1 -1
  340. package/dist/components/chat-input/chat-input.agent.d.ts +4 -0
  341. package/dist/components/chat-input/chat-input.agent.d.ts.map +1 -0
  342. package/dist/components/chat-input/chat-input.d.ts +10 -1
  343. package/dist/components/chat-input/chat-input.d.ts.map +1 -1
  344. package/dist/components/chat-input/index.d.ts +2 -1
  345. package/dist/components/chat-input/index.d.ts.map +1 -1
  346. package/dist/components/chat-input/index.js +3 -2
  347. package/dist/components/chat-message/chat-message.d.ts.map +1 -1
  348. package/dist/components/chat-message/index.js +1 -1
  349. package/dist/components/checkbox/checkbox.agent.d.ts +4 -0
  350. package/dist/components/checkbox/checkbox.agent.d.ts.map +1 -0
  351. package/dist/components/checkbox/checkbox.d.ts +6 -0
  352. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  353. package/dist/components/checkbox/index.js +1 -1
  354. package/dist/components/checkbox-group/checkbox-group.agent.d.ts +4 -0
  355. package/dist/components/checkbox-group/checkbox-group.agent.d.ts.map +1 -0
  356. package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
  357. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -1
  358. package/dist/components/checkbox-group/index.d.ts +1 -1
  359. package/dist/components/checkbox-group/index.d.ts.map +1 -1
  360. package/dist/components/checkbox-group/index.js +1 -1
  361. package/dist/components/collapsible/collapsible.agent.d.ts +4 -0
  362. package/dist/components/collapsible/collapsible.agent.d.ts.map +1 -0
  363. package/dist/components/collapsible/collapsible.d.ts +7 -0
  364. package/dist/components/collapsible/collapsible.d.ts.map +1 -1
  365. package/dist/components/collapsible/index.d.ts +3 -2
  366. package/dist/components/collapsible/index.d.ts.map +1 -1
  367. package/dist/components/collapsible/index.js +4 -3
  368. package/dist/components/color-picker/color-picker.agent.d.ts +4 -0
  369. package/dist/components/color-picker/color-picker.agent.d.ts.map +1 -0
  370. package/dist/components/color-picker/color-picker.d.ts +5 -0
  371. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  372. package/dist/components/color-picker/index.js +1 -1
  373. package/dist/components/combobox/combobox.agent.d.ts +2 -1
  374. package/dist/components/combobox/combobox.agent.d.ts.map +1 -1
  375. package/dist/components/combobox/combobox.d.ts +10 -0
  376. package/dist/components/combobox/combobox.d.ts.map +1 -1
  377. package/dist/components/combobox/index.d.ts +1 -1
  378. package/dist/components/combobox/index.d.ts.map +1 -1
  379. package/dist/components/combobox/index.js +1 -1
  380. package/dist/components/command-palette/command-palette.agent.d.ts +2 -1
  381. package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -1
  382. package/dist/components/command-palette/command-palette.d.ts +52 -12
  383. package/dist/components/command-palette/command-palette.d.ts.map +1 -1
  384. package/dist/components/command-palette/index.js +1 -1
  385. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +1 -1
  386. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +1 -1
  387. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -1
  388. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +1 -1
  389. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +1 -1
  390. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +1 -1
  391. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +1 -1
  392. package/dist/components/data-table/data-table.agent.d.ts.map +1 -1
  393. package/dist/components/data-table/data-table.d.ts +3 -1
  394. package/dist/components/data-table/data-table.d.ts.map +1 -1
  395. package/dist/components/data-table/index.js +1 -1
  396. package/dist/components/data-table/toolbar.d.ts +6 -5
  397. package/dist/components/data-table/toolbar.d.ts.map +1 -1
  398. package/dist/components/date-picker/date-picker.agent.d.ts +4 -0
  399. package/dist/components/date-picker/date-picker.agent.d.ts.map +1 -0
  400. package/dist/components/date-picker/date-picker.d.ts +15 -0
  401. package/dist/components/date-picker/date-picker.d.ts.map +1 -1
  402. package/dist/components/date-picker/index.d.ts +2 -1
  403. package/dist/components/date-picker/index.d.ts.map +1 -1
  404. package/dist/components/date-picker/index.js +3 -2
  405. package/dist/components/date-range-picker/date-range-picker.agent.d.ts +4 -0
  406. package/dist/components/date-range-picker/date-range-picker.agent.d.ts.map +1 -0
  407. package/dist/components/date-range-picker/date-range-picker.d.ts +16 -1
  408. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  409. package/dist/components/date-range-picker/index.d.ts +2 -1
  410. package/dist/components/date-range-picker/index.d.ts.map +1 -1
  411. package/dist/components/date-range-picker/index.js +3 -2
  412. package/dist/components/date-time-picker/date-time-picker.agent.d.ts +4 -0
  413. package/dist/components/date-time-picker/date-time-picker.agent.d.ts.map +1 -0
  414. package/dist/components/date-time-picker/date-time-picker.d.ts +16 -1
  415. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -1
  416. package/dist/components/date-time-picker/index.d.ts +2 -1
  417. package/dist/components/date-time-picker/index.d.ts.map +1 -1
  418. package/dist/components/date-time-picker/index.js +3 -2
  419. package/dist/components/description-list/description-list.d.ts +1 -2
  420. package/dist/components/description-list/description-list.d.ts.map +1 -1
  421. package/dist/components/description-list/index.js +1 -1
  422. package/dist/components/dialog/dialog.agent.d.ts +5 -6
  423. package/dist/components/dialog/dialog.agent.d.ts.map +1 -1
  424. package/dist/components/dialog/dialog.d.ts +11 -2
  425. package/dist/components/dialog/dialog.d.ts.map +1 -1
  426. package/dist/components/dialog/index.js +1 -1
  427. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +2 -1
  428. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -1
  429. package/dist/components/dropdown-menu/dropdown-menu.d.ts +20 -17
  430. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
  431. package/dist/components/dropdown-menu/index.js +3 -4
  432. package/dist/components/dropdown-menu/index.js.map +1 -1
  433. package/dist/components/empty-state/empty-state.d.ts.map +1 -1
  434. package/dist/components/empty-state/index.js +1 -1
  435. package/dist/components/file-upload/file-upload.agent.d.ts +2 -1
  436. package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -1
  437. package/dist/components/file-upload/file-upload.d.ts +12 -0
  438. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  439. package/dist/components/file-upload/index.d.ts +1 -1
  440. package/dist/components/file-upload/index.d.ts.map +1 -1
  441. package/dist/components/file-upload/index.js +1 -1
  442. package/dist/components/flag/flag.d.ts.map +1 -1
  443. package/dist/components/floating-action-button/floating-action-button.d.ts.map +1 -1
  444. package/dist/components/floating-action-button/index.js +1 -1
  445. package/dist/components/form-field/form-field-context.d.ts.map +1 -1
  446. package/dist/components/form-field/form-field.d.ts.map +1 -1
  447. package/dist/components/form-field/index.js +2 -2
  448. package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts +4 -0
  449. package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts.map +1 -0
  450. package/dist/components/freemium-paywall/freemium-paywall.d.ts +7 -0
  451. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  452. package/dist/components/freemium-paywall/index.d.ts +2 -1
  453. package/dist/components/freemium-paywall/index.d.ts.map +1 -1
  454. package/dist/components/freemium-paywall/index.js +3 -2
  455. package/dist/components/header/header.d.ts.map +1 -1
  456. package/dist/components/header/index.js +1 -1
  457. package/dist/components/icon-button/index.js +1 -1
  458. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  459. package/dist/components/index.d.ts +2 -0
  460. package/dist/components/index.d.ts.map +1 -1
  461. package/dist/components/kbd/index.js +1 -1
  462. package/dist/components/kbd/kbd.d.ts.map +1 -1
  463. package/dist/components/key-value-pair/index.js +1 -1
  464. package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -1
  465. package/dist/components/link/index.d.ts +2 -0
  466. package/dist/components/link/index.d.ts.map +1 -0
  467. package/dist/components/link/index.js +5 -0
  468. package/dist/components/link/index.js.map +1 -0
  469. package/dist/components/link/link.d.ts +39 -0
  470. package/dist/components/link/link.d.ts.map +1 -0
  471. package/dist/components/list/index.d.ts +2 -1
  472. package/dist/components/list/index.d.ts.map +1 -1
  473. package/dist/components/list/index.js +3 -2
  474. package/dist/components/list/list.agent.d.ts +4 -0
  475. package/dist/components/list/list.agent.d.ts.map +1 -0
  476. package/dist/components/list/list.d.ts +8 -2
  477. package/dist/components/list/list.d.ts.map +1 -1
  478. package/dist/components/live-region/live-region.d.ts.map +1 -1
  479. package/dist/components/logo/index.js +1 -1
  480. package/dist/components/logo/logo.d.ts.map +1 -1
  481. package/dist/components/matrix-rain/index.js +1 -1
  482. package/dist/components/matrix-rain/matrix-rain.d.ts.map +1 -1
  483. package/dist/components/message-card/index.d.ts +2 -1
  484. package/dist/components/message-card/index.d.ts.map +1 -1
  485. package/dist/components/message-card/index.js +5 -3
  486. package/dist/components/message-card/index.js.map +1 -1
  487. package/dist/components/message-card/message-card.agent.d.ts +3 -0
  488. package/dist/components/message-card/message-card.agent.d.ts.map +1 -0
  489. package/dist/components/message-card/message-card.d.ts.map +1 -1
  490. package/dist/components/message-tray/index.d.ts +2 -1
  491. package/dist/components/message-tray/index.d.ts.map +1 -1
  492. package/dist/components/message-tray/index.js +3 -2
  493. package/dist/components/message-tray/message-tray.agent.d.ts +4 -0
  494. package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -0
  495. package/dist/components/message-tray/message-tray.d.ts +26 -1
  496. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  497. package/dist/components/multi-select/index.js +1 -1
  498. package/dist/components/multi-select/multi-select.agent.d.ts +2 -1
  499. package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -1
  500. package/dist/components/multi-select/multi-select.d.ts +10 -0
  501. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  502. package/dist/components/navigation-menu/index.d.ts +2 -1
  503. package/dist/components/navigation-menu/index.d.ts.map +1 -1
  504. package/dist/components/navigation-menu/index.js +7 -6
  505. package/dist/components/navigation-menu/navigation-menu.agent.d.ts +4 -0
  506. package/dist/components/navigation-menu/navigation-menu.agent.d.ts.map +1 -0
  507. package/dist/components/navigation-menu/navigation-menu.d.ts +27 -1
  508. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  509. package/dist/components/notification-card/index.d.ts +2 -1
  510. package/dist/components/notification-card/index.d.ts.map +1 -1
  511. package/dist/components/notification-card/index.js +5 -3
  512. package/dist/components/notification-card/index.js.map +1 -1
  513. package/dist/components/notification-card/notification-card.agent.d.ts +3 -0
  514. package/dist/components/notification-card/notification-card.agent.d.ts.map +1 -0
  515. package/dist/components/notification-card/notification-card.d.ts.map +1 -1
  516. package/dist/components/notification-tray/index.d.ts +2 -1
  517. package/dist/components/notification-tray/index.d.ts.map +1 -1
  518. package/dist/components/notification-tray/index.js +3 -2
  519. package/dist/components/notification-tray/notification-tray.agent.d.ts +4 -0
  520. package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -0
  521. package/dist/components/notification-tray/notification-tray.d.ts +26 -1
  522. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  523. package/dist/components/number-input/index.js +1 -1
  524. package/dist/components/number-input/number-input.agent.d.ts +4 -0
  525. package/dist/components/number-input/number-input.agent.d.ts.map +1 -0
  526. package/dist/components/number-input/number-input.d.ts +7 -0
  527. package/dist/components/number-input/number-input.d.ts.map +1 -1
  528. package/dist/components/number-input/use-locale-number.d.ts.map +1 -1
  529. package/dist/components/otp-input/index.js +1 -1
  530. package/dist/components/otp-input/otp-input.agent.d.ts +4 -0
  531. package/dist/components/otp-input/otp-input.agent.d.ts.map +1 -0
  532. package/dist/components/otp-input/otp-input.d.ts +10 -0
  533. package/dist/components/otp-input/otp-input.d.ts.map +1 -1
  534. package/dist/components/pagination/index.js +1 -1
  535. package/dist/components/pagination/pagination.agent.d.ts +2 -1
  536. package/dist/components/pagination/pagination.agent.d.ts.map +1 -1
  537. package/dist/components/pagination/pagination.d.ts +11 -6
  538. package/dist/components/pagination/pagination.d.ts.map +1 -1
  539. package/dist/components/password-input/index.js +1 -1
  540. package/dist/components/password-input/password-input.agent.d.ts +4 -0
  541. package/dist/components/password-input/password-input.agent.d.ts.map +1 -0
  542. package/dist/components/password-input/password-input.d.ts +9 -0
  543. package/dist/components/password-input/password-input.d.ts.map +1 -1
  544. package/dist/components/payment-form/index.js +7 -8
  545. package/dist/components/payment-form/index.js.map +1 -1
  546. package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -1
  547. package/dist/components/payment-form/payment-form.d.ts +3 -1
  548. package/dist/components/payment-form/payment-form.d.ts.map +1 -1
  549. package/dist/components/pdf-viewer/index.js +1 -1
  550. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -1
  551. package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
  552. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  553. package/dist/components/phone-input/index.d.ts +1 -1
  554. package/dist/components/phone-input/index.d.ts.map +1 -1
  555. package/dist/components/phone-input/index.js +1 -1
  556. package/dist/components/phone-input/phone-input.agent.d.ts +4 -0
  557. package/dist/components/phone-input/phone-input.agent.d.ts.map +1 -0
  558. package/dist/components/phone-input/phone-input.d.ts +7 -0
  559. package/dist/components/phone-input/phone-input.d.ts.map +1 -1
  560. package/dist/components/popover/index.js +3 -4
  561. package/dist/components/popover/index.js.map +1 -1
  562. package/dist/components/popover/popover.agent.d.ts +2 -1
  563. package/dist/components/popover/popover.agent.d.ts.map +1 -1
  564. package/dist/components/popover/popover.d.ts +8 -1
  565. package/dist/components/popover/popover.d.ts.map +1 -1
  566. package/dist/components/privacy-lock/index.d.ts +2 -1
  567. package/dist/components/privacy-lock/index.d.ts.map +1 -1
  568. package/dist/components/privacy-lock/index.js +3 -2
  569. package/dist/components/privacy-lock/privacy-lock.agent.d.ts +4 -0
  570. package/dist/components/privacy-lock/privacy-lock.agent.d.ts.map +1 -0
  571. package/dist/components/privacy-lock/privacy-lock.d.ts +6 -0
  572. package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -1
  573. package/dist/components/progress/index.js +3 -4
  574. package/dist/components/progress/index.js.map +1 -1
  575. package/dist/components/progress/progress.agent.d.ts.map +1 -1
  576. package/dist/components/progress/progress.d.ts.map +1 -1
  577. package/dist/components/radio/index.js +1 -1
  578. package/dist/components/radio-group/index.js +2 -2
  579. package/dist/components/radio-group/radio-group.agent.d.ts +4 -0
  580. package/dist/components/radio-group/radio-group.agent.d.ts.map +1 -0
  581. package/dist/components/radio-group/radio-group.d.ts +5 -0
  582. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  583. package/dist/components/radio-group/radio.d.ts.map +1 -1
  584. package/dist/components/recaptcha-widget/index.d.ts +3 -0
  585. package/dist/components/recaptcha-widget/index.d.ts.map +1 -0
  586. package/dist/components/recaptcha-widget/index.js +6 -0
  587. package/dist/components/recaptcha-widget/index.js.map +1 -0
  588. package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts +4 -0
  589. package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts.map +1 -0
  590. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts +56 -0
  591. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts.map +1 -0
  592. package/dist/components/resizable/index.d.ts +1 -1
  593. package/dist/components/resizable/index.d.ts.map +1 -1
  594. package/dist/components/resizable/index.js +1 -1
  595. package/dist/components/resizable/resizable-context.d.ts.map +1 -1
  596. package/dist/components/resizable/resizable.agent.d.ts +2 -1
  597. package/dist/components/resizable/resizable.agent.d.ts.map +1 -1
  598. package/dist/components/resizable/resizable.d.ts +6 -0
  599. package/dist/components/resizable/resizable.d.ts.map +1 -1
  600. package/dist/components/rich-text-editor/index.js +1 -1
  601. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
  602. package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
  603. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  604. package/dist/components/scroll-area/index.js +1 -1
  605. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  606. package/dist/components/search-bar/index.d.ts +2 -1
  607. package/dist/components/search-bar/index.d.ts.map +1 -1
  608. package/dist/components/search-bar/index.js +3 -2
  609. package/dist/components/search-bar/search-bar.agent.d.ts +4 -0
  610. package/dist/components/search-bar/search-bar.agent.d.ts.map +1 -0
  611. package/dist/components/search-bar/search-bar.d.ts +26 -0
  612. package/dist/components/search-bar/search-bar.d.ts.map +1 -1
  613. package/dist/components/search-input/index.d.ts +2 -1
  614. package/dist/components/search-input/index.d.ts.map +1 -1
  615. package/dist/components/search-input/index.js +4 -2
  616. package/dist/components/search-input/index.js.map +1 -1
  617. package/dist/components/search-input/search-input.agent.d.ts +4 -0
  618. package/dist/components/search-input/search-input.agent.d.ts.map +1 -0
  619. package/dist/components/search-input/search-input.d.ts +27 -0
  620. package/dist/components/search-input/search-input.d.ts.map +1 -1
  621. package/dist/components/select/index.js +1 -1
  622. package/dist/components/select/select.agent.d.ts +4 -0
  623. package/dist/components/select/select.agent.d.ts.map +1 -0
  624. package/dist/components/select/select.d.ts +10 -1
  625. package/dist/components/select/select.d.ts.map +1 -1
  626. package/dist/components/separator/index.js +1 -1
  627. package/dist/components/separator/separator.d.ts.map +1 -1
  628. package/dist/components/sheet/index.js +3 -4
  629. package/dist/components/sheet/index.js.map +1 -1
  630. package/dist/components/sheet/sheet.agent.d.ts +2 -1
  631. package/dist/components/sheet/sheet.agent.d.ts.map +1 -1
  632. package/dist/components/sheet/sheet.d.ts +11 -2
  633. package/dist/components/sheet/sheet.d.ts.map +1 -1
  634. package/dist/components/sidebar/index.js +7 -8
  635. package/dist/components/sidebar/index.js.map +1 -1
  636. package/dist/components/sidebar/sidebar.agent.d.ts +2 -1
  637. package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -1
  638. package/dist/components/sidebar/sidebar.d.ts +4 -0
  639. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  640. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  641. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +1 -1
  642. package/dist/components/signature-capture/index.js +1 -1
  643. package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -1
  644. package/dist/components/signature-capture/signature-capture.d.ts +2 -0
  645. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  646. package/dist/components/skeleton/index.js +1 -1
  647. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  648. package/dist/components/skip-link/skip-link.d.ts.map +1 -1
  649. package/dist/components/slider/index.js +1 -1
  650. package/dist/components/slider/slider.agent.d.ts +4 -0
  651. package/dist/components/slider/slider.agent.d.ts.map +1 -0
  652. package/dist/components/slider/slider.d.ts +5 -0
  653. package/dist/components/slider/slider.d.ts.map +1 -1
  654. package/dist/components/slot-grid/index.js +1 -1
  655. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
  656. package/dist/components/sparkline/index.js +1 -1
  657. package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -1
  658. package/dist/components/sparkline/sparkline.d.ts.map +1 -1
  659. package/dist/components/sparkline/use-linear-trend.d.ts.map +1 -1
  660. package/dist/components/spinner/index.js +1 -1
  661. package/dist/components/spinner/spinner.d.ts.map +1 -1
  662. package/dist/components/stat/index.js +1 -1
  663. package/dist/components/stat/stat.d.ts.map +1 -1
  664. package/dist/components/stepper-accordion/index.d.ts +2 -1
  665. package/dist/components/stepper-accordion/index.d.ts.map +1 -1
  666. package/dist/components/stepper-accordion/index.js +3 -2
  667. package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts +4 -0
  668. package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts.map +1 -0
  669. package/dist/components/stepper-accordion/stepper-accordion.d.ts +19 -1
  670. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -1
  671. package/dist/components/stepper-calendar/index.d.ts +2 -1
  672. package/dist/components/stepper-calendar/index.d.ts.map +1 -1
  673. package/dist/components/stepper-calendar/index.js +3 -2
  674. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +4 -0
  675. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts.map +1 -0
  676. package/dist/components/stepper-calendar/stepper-calendar.d.ts +18 -0
  677. package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +1 -1
  678. package/dist/components/stepper-progress/index.d.ts +2 -1
  679. package/dist/components/stepper-progress/index.d.ts.map +1 -1
  680. package/dist/components/stepper-progress/index.js +3 -2
  681. package/dist/components/stepper-progress/stepper-progress.agent.d.ts +4 -0
  682. package/dist/components/stepper-progress/stepper-progress.agent.d.ts.map +1 -0
  683. package/dist/components/stepper-progress/stepper-progress.d.ts +25 -0
  684. package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -1
  685. package/dist/components/streaming-text/streaming-text.d.ts.map +1 -1
  686. package/dist/components/suggestion-chip/index.d.ts +2 -1
  687. package/dist/components/suggestion-chip/index.d.ts.map +1 -1
  688. package/dist/components/suggestion-chip/index.js +5 -3
  689. package/dist/components/suggestion-chip/index.js.map +1 -1
  690. package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts +4 -0
  691. package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts.map +1 -0
  692. package/dist/components/suggestion-chip/suggestion-chip.d.ts +7 -1
  693. package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +1 -1
  694. package/dist/components/switch/index.js +1 -1
  695. package/dist/components/switch/switch.agent.d.ts +4 -0
  696. package/dist/components/switch/switch.agent.d.ts.map +1 -0
  697. package/dist/components/switch/switch.d.ts +6 -0
  698. package/dist/components/switch/switch.d.ts.map +1 -1
  699. package/dist/components/tabs/index.d.ts +1 -1
  700. package/dist/components/tabs/index.d.ts.map +1 -1
  701. package/dist/components/tabs/index.js +1 -1
  702. package/dist/components/tabs/tabs.agent.d.ts +2 -1
  703. package/dist/components/tabs/tabs.agent.d.ts.map +1 -1
  704. package/dist/components/tabs/tabs.d.ts +4 -0
  705. package/dist/components/tabs/tabs.d.ts.map +1 -1
  706. package/dist/components/tag/index.js +1 -1
  707. package/dist/components/tag/tag.d.ts.map +1 -1
  708. package/dist/components/task-card/index.d.ts +1 -0
  709. package/dist/components/task-card/index.d.ts.map +1 -1
  710. package/dist/components/task-card/index.js +5 -3
  711. package/dist/components/task-card/index.js.map +1 -1
  712. package/dist/components/task-card/task-card.agent.d.ts +3 -0
  713. package/dist/components/task-card/task-card.agent.d.ts.map +1 -0
  714. package/dist/components/task-card/task-card.d.ts.map +1 -1
  715. package/dist/components/task-tray/index.d.ts +2 -1
  716. package/dist/components/task-tray/index.d.ts.map +1 -1
  717. package/dist/components/task-tray/index.js +3 -2
  718. package/dist/components/task-tray/task-tray.agent.d.ts +4 -0
  719. package/dist/components/task-tray/task-tray.agent.d.ts.map +1 -0
  720. package/dist/components/task-tray/task-tray.d.ts +24 -1
  721. package/dist/components/task-tray/task-tray.d.ts.map +1 -1
  722. package/dist/components/text-area/index.js +1 -1
  723. package/dist/components/text-area/text-area.agent.d.ts +4 -0
  724. package/dist/components/text-area/text-area.agent.d.ts.map +1 -0
  725. package/dist/components/text-area/text-area.d.ts +7 -0
  726. package/dist/components/text-area/text-area.d.ts.map +1 -1
  727. package/dist/components/text-input/index.js +1 -1
  728. package/dist/components/text-input/text-input.agent.d.ts +4 -0
  729. package/dist/components/text-input/text-input.agent.d.ts.map +1 -0
  730. package/dist/components/text-input/text-input.d.ts +10 -0
  731. package/dist/components/text-input/text-input.d.ts.map +1 -1
  732. package/dist/components/theme-root/index.js +1 -1
  733. package/dist/components/theme-root/theme-root.d.ts.map +1 -1
  734. package/dist/components/theme-toggle/index.d.ts +2 -1
  735. package/dist/components/theme-toggle/index.d.ts.map +1 -1
  736. package/dist/components/theme-toggle/index.js +3 -2
  737. package/dist/components/theme-toggle/theme-toggle.agent.d.ts +4 -0
  738. package/dist/components/theme-toggle/theme-toggle.agent.d.ts.map +1 -0
  739. package/dist/components/theme-toggle/theme-toggle.d.ts +8 -1
  740. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
  741. package/dist/components/time-picker/index.d.ts +2 -1
  742. package/dist/components/time-picker/index.d.ts.map +1 -1
  743. package/dist/components/time-picker/index.js +3 -2
  744. package/dist/components/time-picker/time-picker.agent.d.ts +4 -0
  745. package/dist/components/time-picker/time-picker.agent.d.ts.map +1 -0
  746. package/dist/components/time-picker/time-picker.d.ts +15 -0
  747. package/dist/components/time-picker/time-picker.d.ts.map +1 -1
  748. package/dist/components/timeline/index.d.ts +2 -1
  749. package/dist/components/timeline/index.d.ts.map +1 -1
  750. package/dist/components/timeline/index.js +3 -2
  751. package/dist/components/timeline/timeline.agent.d.ts +4 -0
  752. package/dist/components/timeline/timeline.agent.d.ts.map +1 -0
  753. package/dist/components/timeline/timeline.d.ts +7 -0
  754. package/dist/components/timeline/timeline.d.ts.map +1 -1
  755. package/dist/components/timestamp/timestamp.d.ts.map +1 -1
  756. package/dist/components/toast/index.d.ts +3 -2
  757. package/dist/components/toast/index.d.ts.map +1 -1
  758. package/dist/components/toast/index.js +7 -5
  759. package/dist/components/toast/toast.agent.d.ts +4 -0
  760. package/dist/components/toast/toast.agent.d.ts.map +1 -0
  761. package/dist/components/toast/toast.d.ts +8 -0
  762. package/dist/components/toast/toast.d.ts.map +1 -1
  763. package/dist/components/tooth-scheme/index.js +1 -1
  764. package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -1
  765. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
  766. package/dist/components/tooth-scheme/tooth-scheme.d.ts +3 -1
  767. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  768. package/dist/components/transcript-panel/index.d.ts +2 -1
  769. package/dist/components/transcript-panel/index.d.ts.map +1 -1
  770. package/dist/components/transcript-panel/index.js +3 -2
  771. package/dist/components/transcript-panel/transcript-panel.agent.d.ts +4 -0
  772. package/dist/components/transcript-panel/transcript-panel.agent.d.ts.map +1 -0
  773. package/dist/components/transcript-panel/transcript-panel.d.ts +9 -0
  774. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  775. package/dist/components/typing-indicator/index.js +1 -1
  776. package/dist/components/typing-indicator/typing-indicator.d.ts.map +1 -1
  777. package/dist/components/visually-hidden/index.js +1 -1
  778. package/dist/components/visually-hidden/visually-hidden.d.ts.map +1 -1
  779. package/dist/components/warning-stack/index.js +1 -1
  780. package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
  781. package/dist/components/workflow/index.d.ts +2 -1
  782. package/dist/components/workflow/index.d.ts.map +1 -1
  783. package/dist/components/workflow/index.js +10 -7
  784. package/dist/components/workflow/workflow-card.d.ts.map +1 -1
  785. package/dist/components/workflow/workflow-editor.d.ts +6 -0
  786. package/dist/components/workflow/workflow-editor.d.ts.map +1 -1
  787. package/dist/components/workflow/workflow-map.d.ts +2 -0
  788. package/dist/components/workflow/workflow-map.d.ts.map +1 -1
  789. package/dist/components/workflow/workflow-types.d.ts.map +1 -1
  790. package/dist/components/workflow/workflow.agent.d.ts +6 -0
  791. package/dist/components/workflow/workflow.agent.d.ts.map +1 -0
  792. package/dist/hooks/index.js +1 -1
  793. package/dist/hooks/use-prefers-reduced-motion.d.ts.map +1 -1
  794. package/dist/hooks/use-theme.d.ts.map +1 -1
  795. package/dist/i18n/config.d.ts.map +1 -1
  796. package/dist/i18n/config.js +24 -11
  797. package/dist/i18n/config.js.map +1 -1
  798. package/dist/i18n/resources.d.ts +7 -0
  799. package/dist/i18n/resources.d.ts.map +1 -1
  800. package/dist/index.js +463 -425
  801. package/dist/locales/en.json +7 -0
  802. package/dist/patterns/leo-assistant/index.js +1 -1
  803. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +1 -1
  804. package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +1 -1
  805. package/dist/patterns/patient-shell/index.js +1 -1
  806. package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -1
  807. package/dist/safe-html/index.js +20 -3
  808. package/dist/safe-html/index.js.map +1 -1
  809. package/dist/tokens/apexcharts-theme.d.ts.map +1 -1
  810. package/dist/tokens.css +2 -2
  811. package/package.json +28 -2
  812. package/dist/_chunks/accordion-B6fyINUk.js +0 -118
  813. package/dist/_chunks/accordion-B6fyINUk.js.map +0 -1
  814. package/dist/_chunks/accordion.agent-Cz-yglRa.js +0 -17
  815. package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +0 -1
  816. package/dist/_chunks/agenda-card-DIWDvWum.js.map +0 -1
  817. package/dist/_chunks/agenda-tray-BqQZwiHc.js +0 -120
  818. package/dist/_chunks/agenda-tray-BqQZwiHc.js.map +0 -1
  819. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +0 -380
  820. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js.map +0 -1
  821. package/dist/_chunks/alert-BlOUMkXj.js.map +0 -1
  822. package/dist/_chunks/app-frame-6d7Lu4ea.js.map +0 -1
  823. package/dist/_chunks/aspect-ratio-CxsdG8vk.js.map +0 -1
  824. package/dist/_chunks/audio-recorder-B-8SKgKn.js +0 -376
  825. package/dist/_chunks/audio-recorder-B-8SKgKn.js.map +0 -1
  826. package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +0 -1
  827. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +0 -372
  828. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js.map +0 -1
  829. package/dist/_chunks/badge-mrstWxve.js.map +0 -1
  830. package/dist/_chunks/balance-cell-renderer-BWm3knY9.js.map +0 -1
  831. package/dist/_chunks/breadcrumb-D6xpsP7n.js +0 -293
  832. package/dist/_chunks/breadcrumb-D6xpsP7n.js.map +0 -1
  833. package/dist/_chunks/button-7mLWcMp_.js.map +0 -1
  834. package/dist/_chunks/calendar-nGEgelJs.js.map +0 -1
  835. package/dist/_chunks/card-BEy58ZKp.js.map +0 -1
  836. package/dist/_chunks/chart.agent-BdS-_8MO.js +0 -269
  837. package/dist/_chunks/chart.agent-BdS-_8MO.js.map +0 -1
  838. package/dist/_chunks/chat-container-Cm3SlR2p.js +0 -174
  839. package/dist/_chunks/chat-container-Cm3SlR2p.js.map +0 -1
  840. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js +0 -22
  841. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +0 -1
  842. package/dist/_chunks/chat-input-DreOPP8A.js +0 -226
  843. package/dist/_chunks/chat-input-DreOPP8A.js.map +0 -1
  844. package/dist/_chunks/chat-message-ByouZpPP.js.map +0 -1
  845. package/dist/_chunks/checkbox-DNK4qS2_.js +0 -116
  846. package/dist/_chunks/checkbox-DNK4qS2_.js.map +0 -1
  847. package/dist/_chunks/checkbox-group-CWpGZEF6.js +0 -146
  848. package/dist/_chunks/checkbox-group-CWpGZEF6.js.map +0 -1
  849. package/dist/_chunks/collapsible-D4LOdLxp.js +0 -67
  850. package/dist/_chunks/collapsible-D4LOdLxp.js.map +0 -1
  851. package/dist/_chunks/color-picker-e9PmpaGH.js.map +0 -1
  852. package/dist/_chunks/combobox.agent-ByobCLJ_.js +0 -350
  853. package/dist/_chunks/combobox.agent-ByobCLJ_.js.map +0 -1
  854. package/dist/_chunks/command-palette.agent-js2rxgeR.js +0 -351
  855. package/dist/_chunks/command-palette.agent-js2rxgeR.js.map +0 -1
  856. package/dist/_chunks/date-picker-DYXNsWmM.js +0 -1726
  857. package/dist/_chunks/date-picker-DYXNsWmM.js.map +0 -1
  858. package/dist/_chunks/date-range-picker-BcNDJI7m.js +0 -183
  859. package/dist/_chunks/date-range-picker-BcNDJI7m.js.map +0 -1
  860. package/dist/_chunks/date-time-picker-CmGiTU__.js +0 -202
  861. package/dist/_chunks/date-time-picker-CmGiTU__.js.map +0 -1
  862. package/dist/_chunks/description-list-DvJbp6Yg.js.map +0 -1
  863. package/dist/_chunks/dialog.agent-DEG_fVzG.js +0 -147
  864. package/dist/_chunks/dialog.agent-DEG_fVzG.js.map +0 -1
  865. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js +0 -215
  866. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js.map +0 -1
  867. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +0 -17
  868. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +0 -1
  869. package/dist/_chunks/empty-state-DQPtRp2b.js.map +0 -1
  870. package/dist/_chunks/file-upload.agent-B9AN82LA.js +0 -649
  871. package/dist/_chunks/file-upload.agent-B9AN82LA.js.map +0 -1
  872. package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +0 -1
  873. package/dist/_chunks/form-field-BfsPLTSc.js.map +0 -1
  874. package/dist/_chunks/form-field-context-94LwgYTQ.js.map +0 -1
  875. package/dist/_chunks/freemium-paywall-CkefGLM_.js +0 -198
  876. package/dist/_chunks/freemium-paywall-CkefGLM_.js.map +0 -1
  877. package/dist/_chunks/header-BGn1mRp8.js.map +0 -1
  878. package/dist/_chunks/icon-button-Wnnde5lc.js.map +0 -1
  879. package/dist/_chunks/kbd-8baVw3KU.js.map +0 -1
  880. package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +0 -1
  881. package/dist/_chunks/leo-sidebar-nbHib2D-.js.map +0 -1
  882. package/dist/_chunks/list-B1ozIjQe.js +0 -359
  883. package/dist/_chunks/list-B1ozIjQe.js.map +0 -1
  884. package/dist/_chunks/logo-BpFoCL-s.js.map +0 -1
  885. package/dist/_chunks/matrix-rain-BEkvux64.js.map +0 -1
  886. package/dist/_chunks/message-card-qAp2-WQK.js.map +0 -1
  887. package/dist/_chunks/message-tray-VaLpQU5t.js +0 -303
  888. package/dist/_chunks/message-tray-VaLpQU5t.js.map +0 -1
  889. package/dist/_chunks/multi-select.agent-CNsyW3n9.js +0 -450
  890. package/dist/_chunks/multi-select.agent-CNsyW3n9.js.map +0 -1
  891. package/dist/_chunks/navigation-menu-EVFau1O2.js +0 -180
  892. package/dist/_chunks/navigation-menu-EVFau1O2.js.map +0 -1
  893. package/dist/_chunks/notification-card-BF2_veHy.js.map +0 -1
  894. package/dist/_chunks/notification-tray-B7U5YZYg.js +0 -328
  895. package/dist/_chunks/notification-tray-B7U5YZYg.js.map +0 -1
  896. package/dist/_chunks/number-input-DjpT_RXJ.js +0 -249
  897. package/dist/_chunks/number-input-DjpT_RXJ.js.map +0 -1
  898. package/dist/_chunks/otp-input-De5_Ih7B.js +0 -189
  899. package/dist/_chunks/otp-input-De5_Ih7B.js.map +0 -1
  900. package/dist/_chunks/pagination.agent-oEaqmtx5.js +0 -380
  901. package/dist/_chunks/pagination.agent-oEaqmtx5.js.map +0 -1
  902. package/dist/_chunks/password-input-DJDVznWH.js +0 -193
  903. package/dist/_chunks/password-input-DJDVznWH.js.map +0 -1
  904. package/dist/_chunks/payment-form-hcl-gGrp.js.map +0 -1
  905. package/dist/_chunks/payment-form.agent-BkEnRerR.js +0 -26
  906. package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +0 -1
  907. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js +0 -859
  908. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js.map +0 -1
  909. package/dist/_chunks/phone-input-DE_39q65.js +0 -428
  910. package/dist/_chunks/phone-input-DE_39q65.js.map +0 -1
  911. package/dist/_chunks/popover-C3CTUsqh.js +0 -227
  912. package/dist/_chunks/popover-C3CTUsqh.js.map +0 -1
  913. package/dist/_chunks/popover.agent-C0qOx9WT.js +0 -13
  914. package/dist/_chunks/popover.agent-C0qOx9WT.js.map +0 -1
  915. package/dist/_chunks/privacy-lock-CQpgkLec.js +0 -132
  916. package/dist/_chunks/privacy-lock-CQpgkLec.js.map +0 -1
  917. package/dist/_chunks/progress-B4Of_pzz.js +0 -252
  918. package/dist/_chunks/progress-B4Of_pzz.js.map +0 -1
  919. package/dist/_chunks/progress.agent-CXkHURjX.js +0 -22
  920. package/dist/_chunks/progress.agent-CXkHURjX.js.map +0 -1
  921. package/dist/_chunks/radio-cs8N1wJi.js.map +0 -1
  922. package/dist/_chunks/radio-group-BIUbpWml.js +0 -89
  923. package/dist/_chunks/radio-group-BIUbpWml.js.map +0 -1
  924. package/dist/_chunks/resizable.agent-DBpPGNdy.js +0 -435
  925. package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +0 -1
  926. package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js.map +0 -1
  927. package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +0 -1
  928. package/dist/_chunks/search-bar-fcGqDFW3.js +0 -397
  929. package/dist/_chunks/search-bar-fcGqDFW3.js.map +0 -1
  930. package/dist/_chunks/search-input-BVMCONyN.js +0 -197
  931. package/dist/_chunks/search-input-BVMCONyN.js.map +0 -1
  932. package/dist/_chunks/select-IY_JQa-F.js +0 -321
  933. package/dist/_chunks/select-IY_JQa-F.js.map +0 -1
  934. package/dist/_chunks/separator-B4wXDLNC.js.map +0 -1
  935. package/dist/_chunks/sheet-BhNpLHc9.js.map +0 -1
  936. package/dist/_chunks/sheet.agent-DwQlBqK9.js +0 -13
  937. package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +0 -1
  938. package/dist/_chunks/sidebar-OVzwN3jE.js.map +0 -1
  939. package/dist/_chunks/sidebar.agent-B0fnH9CC.js +0 -17
  940. package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +0 -1
  941. package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +0 -1
  942. package/dist/_chunks/signature-capture.agent-C38VPXxg.js.map +0 -1
  943. package/dist/_chunks/skeleton-dtqyF09N.js.map +0 -1
  944. package/dist/_chunks/slider-DjyRt3Mp.js +0 -274
  945. package/dist/_chunks/slider-DjyRt3Mp.js.map +0 -1
  946. package/dist/_chunks/slot-grid-D_l5VsHG.js.map +0 -1
  947. package/dist/_chunks/sparkline.agent-C_xp3NRB.js +0 -238
  948. package/dist/_chunks/sparkline.agent-C_xp3NRB.js.map +0 -1
  949. package/dist/_chunks/spinner-GCcv67vh.js.map +0 -1
  950. package/dist/_chunks/stat-DUB6g90R.js.map +0 -1
  951. package/dist/_chunks/stepper-accordion-CGog0JSF.js +0 -233
  952. package/dist/_chunks/stepper-accordion-CGog0JSF.js.map +0 -1
  953. package/dist/_chunks/stepper-calendar-_fLOAjus.js +0 -570
  954. package/dist/_chunks/stepper-calendar-_fLOAjus.js.map +0 -1
  955. package/dist/_chunks/stepper-progress-rE7tn7WY.js +0 -129
  956. package/dist/_chunks/stepper-progress-rE7tn7WY.js.map +0 -1
  957. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +0 -158
  958. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js.map +0 -1
  959. package/dist/_chunks/switch-aN2EYxHh.js +0 -138
  960. package/dist/_chunks/switch-aN2EYxHh.js.map +0 -1
  961. package/dist/_chunks/tabs.agent-BpbVA-Zh.js +0 -348
  962. package/dist/_chunks/tabs.agent-BpbVA-Zh.js.map +0 -1
  963. package/dist/_chunks/tag-BqidXKo3.js.map +0 -1
  964. package/dist/_chunks/task-card-yW7tKlG4.js.map +0 -1
  965. package/dist/_chunks/task-tray-BzahI5FQ.js +0 -100
  966. package/dist/_chunks/task-tray-BzahI5FQ.js.map +0 -1
  967. package/dist/_chunks/text-area-DmKSd2DG.js +0 -152
  968. package/dist/_chunks/text-area-DmKSd2DG.js.map +0 -1
  969. package/dist/_chunks/text-input-CRHvl5zk.js +0 -188
  970. package/dist/_chunks/text-input-CRHvl5zk.js.map +0 -1
  971. package/dist/_chunks/theme-toggle-BHiMMEQN.js +0 -329
  972. package/dist/_chunks/theme-toggle-BHiMMEQN.js.map +0 -1
  973. package/dist/_chunks/time-picker-D-EueWUG.js +0 -322
  974. package/dist/_chunks/time-picker-D-EueWUG.js.map +0 -1
  975. package/dist/_chunks/timeline-RgAIzpMd.js +0 -220
  976. package/dist/_chunks/timeline-RgAIzpMd.js.map +0 -1
  977. package/dist/_chunks/toast-lOhJDKOH.js.map +0 -1
  978. package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js.map +0 -1
  979. package/dist/_chunks/transcript-panel-CNbVGG9L.js +0 -266
  980. package/dist/_chunks/transcript-panel-CNbVGG9L.js.map +0 -1
  981. package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +0 -1
  982. package/dist/_chunks/use-theme-BMUhembX.js.map +0 -1
  983. package/dist/_chunks/warning-stack-8Pa3pekh.js.map +0 -1
  984. package/dist/_chunks/workflow-map-XeqHDFvp.js.map +0 -1
@@ -2,7 +2,7 @@ import { jsxs as m, Fragment as _, jsx as s } from "react/jsx-runtime";
2
2
  import { forwardRef as t, useRef as k, useState as N, useEffect as j } from "react";
3
3
  import { c as o } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as l } from "react-i18next";
5
- import { I as H } from "./icon-button-Wnnde5lc.js";
5
+ import { I as H } from "./icon-button-C4CGcYuz.js";
6
6
  import { c as w } from "./createLucideIcon-CrFbzy84.js";
7
7
  /**
8
8
  * @license lucide-react v1.8.0 - ISC
@@ -112,9 +112,13 @@ const B = [
112
112
  "ds:w-full ds:h-full",
113
113
  "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]"
114
114
  ].join(" ")
115
- ), z = o("ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]"), I = o(
115
+ ), z = o(
116
+ "ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]"
117
+ ), I = o(
116
118
  "ds:hidden ds:md:flex ds:flex-1 ds:min-w-0 ds:items-center ds:justify-center ds:gap-[var(--spacing-sm)]"
117
- ), M = o("ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]"), T = o(
119
+ ), M = o(
120
+ "ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]"
121
+ ), T = o(
118
122
  [
119
123
  "ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]",
120
124
  "ds:text-[length:var(--font-size-base)] ds:font-[var(--font-weight-semibold)]",
@@ -200,41 +204,35 @@ const B = [
200
204
  }
201
205
  );
202
206
  D.displayName = "Header";
203
- const E = t(
204
- ({ className: e, ...r }, a) => /* @__PURE__ */ s(
205
- "div",
206
- {
207
- ref: a,
208
- "data-header-slot": "start",
209
- className: [z(), e].filter(Boolean).join(" "),
210
- ...r
211
- }
212
- )
213
- );
207
+ const E = t(({ className: e, ...r }, a) => /* @__PURE__ */ s(
208
+ "div",
209
+ {
210
+ ref: a,
211
+ "data-header-slot": "start",
212
+ className: [z(), e].filter(Boolean).join(" "),
213
+ ...r
214
+ }
215
+ ));
214
216
  E.displayName = "HeaderStart";
215
- const L = t(
216
- ({ className: e, ...r }, a) => /* @__PURE__ */ s(
217
- "div",
218
- {
219
- ref: a,
220
- "data-header-slot": "center",
221
- className: [I(), e].filter(Boolean).join(" "),
222
- ...r
223
- }
224
- )
225
- );
217
+ const L = t(({ className: e, ...r }, a) => /* @__PURE__ */ s(
218
+ "div",
219
+ {
220
+ ref: a,
221
+ "data-header-slot": "center",
222
+ className: [I(), e].filter(Boolean).join(" "),
223
+ ...r
224
+ }
225
+ ));
226
226
  L.displayName = "HeaderCenter";
227
- const F = t(
228
- ({ className: e, ...r }, a) => /* @__PURE__ */ s(
229
- "div",
230
- {
231
- ref: a,
232
- "data-header-slot": "end",
233
- className: [M(), e].filter(Boolean).join(" "),
234
- ...r
235
- }
236
- )
237
- );
227
+ const F = t(({ className: e, ...r }, a) => /* @__PURE__ */ s(
228
+ "div",
229
+ {
230
+ ref: a,
231
+ "data-header-slot": "end",
232
+ className: [M(), e].filter(Boolean).join(" "),
233
+ ...r
234
+ }
235
+ ));
238
236
  F.displayName = "HeaderEnd";
239
237
  const P = t(
240
238
  ({ logo: e, children: r, href: a = "/", className: d, ...n }, i) => /* @__PURE__ */ m(
@@ -245,7 +243,14 @@ const P = t(
245
243
  className: [T(), d].filter(Boolean).join(" "),
246
244
  ...n,
247
245
  children: [
248
- e ? /* @__PURE__ */ s("span", { "aria-hidden": r ? "true" : void 0, className: "ds:inline-flex ds:items-center", children: e }) : null,
246
+ e ? /* @__PURE__ */ s(
247
+ "span",
248
+ {
249
+ "aria-hidden": r ? "true" : void 0,
250
+ className: "ds:inline-flex ds:items-center",
251
+ children: e
252
+ }
253
+ ) : null,
249
254
  r ? /* @__PURE__ */ s("span", { className: "ds:truncate", children: r }) : null
250
255
  ]
251
256
  }
@@ -266,37 +271,33 @@ function X({
266
271
  }
267
272
  );
268
273
  }
269
- const q = t(
270
- ({ onMenuOpen: e, "aria-label": r, className: a }, d) => {
271
- const { t: n } = l();
272
- return /* @__PURE__ */ s(
273
- H,
274
- {
275
- ref: d,
276
- className: ["ds:md:hidden", a].filter(Boolean).join(" "),
277
- icon: /* @__PURE__ */ s(C, { "aria-hidden": !0 }),
278
- "aria-label": r ?? n("navigation.sidebar.open", "Open menu"),
279
- onClick: e
280
- }
281
- );
282
- }
283
- );
274
+ const q = t(({ onMenuOpen: e, "aria-label": r, className: a }, d) => {
275
+ const { t: n } = l();
276
+ return /* @__PURE__ */ s(
277
+ H,
278
+ {
279
+ ref: d,
280
+ className: ["ds:md:hidden", a].filter(Boolean).join(" "),
281
+ icon: /* @__PURE__ */ s(C, { "aria-hidden": !0 }),
282
+ "aria-label": r ?? n("navigation.sidebar.open", "Open menu"),
283
+ onClick: e
284
+ }
285
+ );
286
+ });
284
287
  q.displayName = "HeaderMenuButton";
285
- const A = t(
286
- ({ href: e, children: r, className: a, ...d }, n) => {
287
- const { t: i } = l();
288
- return /* @__PURE__ */ s(
289
- "a",
290
- {
291
- ref: n,
292
- href: e,
293
- className: [R(), a].filter(Boolean).join(" "),
294
- ...d,
295
- children: r ?? i("navigation.nav.skipToContent", "Skip to content")
296
- }
297
- );
298
- }
299
- );
288
+ const A = t(({ href: e, children: r, className: a, ...d }, n) => {
289
+ const { t: i } = l();
290
+ return /* @__PURE__ */ s(
291
+ "a",
292
+ {
293
+ ref: n,
294
+ href: e,
295
+ className: [R(), a].filter(Boolean).join(" "),
296
+ ...d,
297
+ children: r ?? i("navigation.nav.skipToContent", "Skip to content")
298
+ }
299
+ );
300
+ });
300
301
  A.displayName = "HeaderSkipLink";
301
302
  export {
302
303
  D as H,
@@ -308,4 +309,4 @@ export {
308
309
  A as f,
309
310
  E as g
310
311
  };
311
- //# sourceMappingURL=header-BGn1mRp8.js.map
312
+ //# sourceMappingURL=header-D0ULgQl3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-D0ULgQl3.js","sources":["../../node_modules/lucide-react/dist/esm/icons/menu.js","../../src/components/header/header.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M4 5h16\", key: \"1tepv9\" }],\n [\"path\", { d: \"M4 12h16\", key: \"1lakjw\" }],\n [\"path\", { d: \"M4 19h16\", key: \"1djgab\" }]\n];\nconst Menu = createLucideIcon(\"menu\", __iconNode);\n\nexport { __iconNode, Menu as default };\n//# sourceMappingURL=menu.js.map\n","import {\n forwardRef,\n useEffect,\n useRef,\n useState,\n type AnchorHTMLAttributes,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Menu } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rootVariants = cva(\n [\n 'ds:w-full',\n // Fixed height — a Header is always the `lg` token (64px). Using `h-*`\n // (not `min-h-*`) pins the row regardless of how Storybook's Canvas /\n // docs wrapper stretches the story's layout.\n 'ds:h-[var(--header-height-lg)]',\n // `flex items-stretch` lets the inner div fill the full cross-axis so\n // the flex-centered content sits on the true vertical midline.\n 'ds:flex ds:items-stretch',\n // Pin to the top of the page — `sticky` keeps the Header in normal\n // document flow (so content below isn't occluded and the docs Canvas\n // doesn't leak the Header over adjacent preview blocks) but stays\n // anchored to the viewport while the nearest scroll ancestor scrolls.\n 'ds:sticky ds:inset-block-start-0 ds:z-[var(--z-sticky)]',\n 'ds:bg-[var(--background)]',\n 'ds:text-[color:var(--foreground)]',\n // Shadow recipe follows `Brand/Shadows` — one tier between states, never\n // two. Resting: flat, no shadow. Scrolled: --shadow-md (tooltip/menu tier)\n // paired with a 1-px --border so elevation still reads without the shadow\n // in forced-colors / print, where UAs strip box-shadow. Transition is\n // gated on `motion-reduce` so users opting out of motion still get the\n // static elevation without animated lift.\n 'ds:transition-[border-color,box-shadow] ds:motion-reduce:transition-none',\n 'ds:border-block-end ds:border-transparent',\n 'ds:data-[scrolled=true]:border-[color:var(--border)]',\n 'ds:data-[scrolled=true]:shadow-[var(--shadow-md)]',\n // Windows HCM: always show the border — forced-colors strips box-shadow\n // entirely, so the border is the only separation cue the user gets.\n 'ds:forced-colors:border-[color:CanvasText]',\n // Print: strip shadow, keep border so the header still reads as a\n // bounded surface on paper.\n 'ds:print:shadow-none ds:print:border-[color:var(--border)]',\n ].join(' '),\n {\n variants: {\n variant: {\n // Brand surface — primary-tinted background with primary-foreground\n // ink. Token rescopes are narrowed to `start` + `end` slots so chrome\n // (IconButton outline border, Logo monochrome, focus rings) re-tints\n // automatically. The `center` slot is excluded because SearchBar paints\n // its own `var(--background)` surface and must keep the document's\n // --foreground / --muted-foreground for its icon, placeholder, border,\n // kbd chip, and hover state.\n //\n // Contrast: --primary-foreground (#fff) over --primary (violet-500) is\n // 4.6:1 — passes WCAG AA for normal text. Muted-foreground is also set\n // to pure primary-foreground so any muted text in the header clears AA.\n //\n // Dark-mode override: in dark mode --primary is magenta-500 — using it\n // as the full-width header surface puts a hot-pink bar at the top of\n // every page, which the Apr 2026 brand guide's own dark mockups never\n // do (fuchsia is reserved for CTAs). We shift the header bg to\n // --background (blue-500) in dark so the header blends with the Dark\n // Blue brand surface at the same level as the Sidebar; separation\n // from the main canvas (which we offset to blue-700) is carried by\n // the existing scroll-shadow + border. White --primary-foreground ink\n // on blue-500 clears AAA (~12.8:1).\n brand: [\n 'ds:bg-[var(--primary)] ds:text-[color:var(--primary-foreground)]',\n 'ds:[.theme-dark_&]:bg-[var(--background)]',\n 'ds:[&_[data-header-slot=start]]:[--foreground:var(--primary-foreground)]',\n 'ds:[&_[data-header-slot=start]]:[--muted-foreground:var(--primary-foreground)]',\n 'ds:[&_[data-header-slot=start]]:[--border:color-mix(in_srgb,var(--primary-foreground)_40%,transparent)]',\n 'ds:[&_[data-header-slot=start]]:[--muted:color-mix(in_srgb,var(--primary-foreground)_16%,transparent)]',\n 'ds:[&_[data-header-slot=start]]:[--ring:var(--primary-foreground)]',\n 'ds:[&_[data-header-slot=end]]:[--foreground:var(--primary-foreground)]',\n 'ds:[&_[data-header-slot=end]]:[--muted-foreground:var(--primary-foreground)]',\n 'ds:[&_[data-header-slot=end]]:[--border:color-mix(in_srgb,var(--primary-foreground)_40%,transparent)]',\n 'ds:[&_[data-header-slot=end]]:[--muted:color-mix(in_srgb,var(--primary-foreground)_16%,transparent)]',\n 'ds:[&_[data-header-slot=end]]:[--ring:var(--primary-foreground)]',\n ].join(' '),\n // Light surface — plain page background with primary-coloured chrome.\n // Start + end slots rescope --foreground, --border, --ring to --primary\n // so IconButton borders/icons render in the brand hue while the\n // HeaderBrand wordmark keeps its bicolor artwork and the SearchBar\n // (center slot) is untouched.\n light: [\n 'ds:bg-[var(--background)] ds:text-[color:var(--foreground)]',\n 'ds:[&_[data-header-slot=start]]:[--foreground:var(--primary)]',\n 'ds:[&_[data-header-slot=start]]:[--border:var(--primary)]',\n 'ds:[&_[data-header-slot=start]]:[--ring:var(--primary)]',\n 'ds:[&_[data-header-slot=end]]:[--foreground:var(--primary)]',\n 'ds:[&_[data-header-slot=end]]:[--border:var(--primary)]',\n 'ds:[&_[data-header-slot=end]]:[--ring:var(--primary)]',\n ].join(' '),\n },\n },\n defaultVariants: {\n variant: 'brand',\n },\n },\n);\n\nconst innerVariants = cva(\n [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:w-full ds:h-full',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n ].join(' '),\n);\n\nconst slotStartVariants = cva(\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]',\n);\nconst slotCenterVariants = cva(\n 'ds:hidden ds:md:flex ds:flex-1 ds:min-w-0 ds:items-center ds:justify-center ds:gap-[var(--spacing-sm)]',\n);\nconst slotEndVariants = cva(\n 'ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]',\n);\n\nconst brandVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:text-[length:var(--font-size-base)] ds:font-[var(--font-weight-semibold)]',\n // `leading-none` zeros the anchor's line-height so the Logo SVG sits at\n // the geometric centre of the flex cross-axis — otherwise the residual\n // line-box above ascenders / below descenders nudges the SVG upward.\n 'ds:leading-none',\n // Inherit foreground from the Header root so the `brand` variant's\n // --primary-foreground ink cascades here without an override prop.\n 'ds:text-[color:currentColor]',\n 'ds:no-underline',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)]',\n 'ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:min-h-[var(--min-target-size)]',\n ].join(' '),\n);\n\nconst brandDividerVariants = cva(\n [\n 'ds:hidden ds:md:inline-block',\n 'ds:border-inline-start ds:border-[color:var(--border)]',\n 'ds:self-stretch ds:my-[var(--spacing-xs)]',\n ].join(' '),\n);\n\nconst skipLinkVariants = cva(\n [\n 'ds:sr-only ds:focus:not-sr-only',\n 'ds:focus:absolute ds:focus:inset-inline-start-[var(--spacing-sm)] ds:focus:inset-block-start-[var(--spacing-sm)]',\n 'ds:focus:z-[calc(var(--z-sticky)+1)]',\n 'ds:focus:ps-[var(--spacing-sm)] ds:focus:pe-[var(--spacing-sm)] ds:focus:pbs-[var(--spacing-xs)] ds:focus:pbe-[var(--spacing-xs)]',\n 'ds:focus:bg-[var(--background)] ds:focus:text-[color:var(--foreground)]',\n 'ds:focus:border ds:focus:border-[color:var(--border)]',\n 'ds:focus:rounded-[var(--radius-sm)]',\n 'ds:focus:outline-[length:var(--focus-ring-width)] ds:focus:outline-solid ds:focus:outline-[color:var(--ring)]',\n 'ds:forced-colors:focus:outline-[CanvasText]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport interface HeaderProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'role' | 'children'>,\n VariantProps<typeof rootVariants> {\n children: ReactNode;\n /** Override the default landmark name. */\n 'aria-label'?: string;\n /** Enable the scroll-linked border + shadow (default `true`). */\n scrollLinkedElevation?: boolean;\n}\n\nexport const Header = forwardRef<HTMLElement, HeaderProps>(\n (\n {\n variant = 'brand',\n className,\n children,\n scrollLinkedElevation = true,\n 'aria-label': ariaLabel,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const label = ariaLabel ?? t('navigation.header.label', 'Page header');\n\n /* ---- Scroll-linked border / shadow ---------------------------- */\n const sentinelRef = useRef<HTMLDivElement | null>(null);\n const [scrolled, setScrolled] = useState(false);\n useEffect(() => {\n if (!scrollLinkedElevation) return undefined;\n const sentinel = sentinelRef.current;\n if (!sentinel) return undefined;\n if (typeof IntersectionObserver === 'undefined') return undefined;\n const io = new IntersectionObserver(\n (entries) => {\n const entry = entries[0];\n // When the sentinel scrolls out of view (isIntersecting=false),\n // the user has scrolled past the top — flip the elevation on.\n setScrolled(!entry.isIntersecting);\n },\n { threshold: 0 },\n );\n io.observe(sentinel);\n return () => io.disconnect();\n }, [scrollLinkedElevation]);\n\n return (\n <>\n {/* 1px sentinel above the sticky header so the IntersectionObserver\n fires when the user scrolls past the top. Kept outside the\n <header> so it doesn't affect landmark semantics. */}\n {scrollLinkedElevation ? (\n <div\n ref={sentinelRef}\n aria-hidden=\"true\"\n className=\"ds:block ds:h-px ds:w-full\"\n />\n ) : null}\n <header\n ref={ref}\n role=\"banner\"\n aria-label={label}\n data-component=\"header\"\n data-scrolled={scrolled ? 'true' : undefined}\n className={rootVariants({ variant, className })}\n {...rest}\n >\n <div className={innerVariants()}>{children}</div>\n </header>\n </>\n );\n },\n);\nHeader.displayName = 'Header';\n\n/* ------------------------------------------------------------------ */\n/* Slot wrappers */\n/* ------------------------------------------------------------------ */\n\nexport const HeaderStart = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-header-slot=\"start\"\n className={[slotStartVariants(), className].filter(Boolean).join(' ')}\n {...props}\n />\n));\nHeaderStart.displayName = 'HeaderStart';\n\nexport const HeaderCenter = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-header-slot=\"center\"\n className={[slotCenterVariants(), className].filter(Boolean).join(' ')}\n {...props}\n />\n));\nHeaderCenter.displayName = 'HeaderCenter';\n\nexport const HeaderEnd = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-header-slot=\"end\"\n className={[slotEndVariants(), className].filter(Boolean).join(' ')}\n {...props}\n />\n));\nHeaderEnd.displayName = 'HeaderEnd';\n\n/* ------------------------------------------------------------------ */\n/* Brand */\n/* ------------------------------------------------------------------ */\n\nexport interface HeaderBrandProps extends Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'children'\n> {\n /** Logo slot — an <svg> / <img>. Must carry its own accessible name via aria-label on the wrapping component OR a visible wordmark child. */\n logo?: ReactNode;\n /** Visible wordmark / product name. Sits after the logo. */\n children?: ReactNode;\n /** Destination href. Defaults to \"/\". */\n href?: string;\n}\n\nexport const HeaderBrand = forwardRef<HTMLAnchorElement, HeaderBrandProps>(\n ({ logo, children, href = '/', className, ...props }, ref) => {\n if (import.meta.env.DEV && !props['aria-label'] && !children) {\n console.warn(\n 'HeaderBrand: pass `aria-label` or visible children — a logo-only brand link without a name has no accessible name.',\n );\n }\n return (\n <a\n ref={ref}\n href={href}\n className={[brandVariants(), className].filter(Boolean).join(' ')}\n {...props}\n >\n {logo ? (\n <span\n aria-hidden={children ? 'true' : undefined}\n className=\"ds:inline-flex ds:items-center\"\n >\n {logo}\n </span>\n ) : null}\n {children ? <span className=\"ds:truncate\">{children}</span> : null}\n </a>\n );\n },\n);\nHeaderBrand.displayName = 'HeaderBrand';\n\n/* ------------------------------------------------------------------ */\n/* Brand divider */\n/* ------------------------------------------------------------------ */\n\nexport function HeaderBrandDivider({\n className,\n ...props\n}: HTMLAttributes<HTMLSpanElement>): ReactNode {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={[brandDividerVariants(), className].filter(Boolean).join(' ')}\n {...props}\n />\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Menu button (mobile drawer trigger) */\n/* ------------------------------------------------------------------ */\n\nexport interface HeaderMenuButtonProps {\n onMenuOpen: () => void;\n 'aria-label'?: string;\n className?: string;\n}\n\nexport const HeaderMenuButton = forwardRef<\n HTMLButtonElement,\n HeaderMenuButtonProps\n>(({ onMenuOpen, 'aria-label': ariaLabel, className }, ref) => {\n const { t } = useTranslation();\n return (\n <IconButton\n ref={ref}\n // Show on mobile; hide above md breakpoint.\n className={['ds:md:hidden', className].filter(Boolean).join(' ')}\n icon={<Menu aria-hidden />}\n aria-label={ariaLabel ?? t('navigation.sidebar.open', 'Open menu')}\n onClick={onMenuOpen}\n />\n );\n});\nHeaderMenuButton.displayName = 'HeaderMenuButton';\n\n/* ------------------------------------------------------------------ */\n/* SkipLink */\n/* ------------------------------------------------------------------ */\n\nexport interface HeaderSkipLinkProps extends Omit<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n 'children'\n> {\n href: string;\n children?: ReactNode;\n}\n\nexport const HeaderSkipLink = forwardRef<\n HTMLAnchorElement,\n HeaderSkipLinkProps\n>(({ href, children, className, ...props }, ref) => {\n const { t } = useTranslation();\n return (\n <a\n ref={ref}\n href={href}\n className={[skipLinkVariants(), className].filter(Boolean).join(' ')}\n {...props}\n >\n {children ?? t('navigation.nav.skipToContent', 'Skip to content')}\n </a>\n );\n});\nHeaderSkipLink.displayName = 'HeaderSkipLink';\n"],"names":["__iconNode","Menu","createLucideIcon","rootVariants","cva","innerVariants","slotStartVariants","slotCenterVariants","slotEndVariants","brandVariants","brandDividerVariants","skipLinkVariants","Header","forwardRef","variant","className","children","scrollLinkedElevation","ariaLabel","rest","ref","t","useTranslation","label","sentinelRef","useRef","scrolled","setScrolled","useState","useEffect","sentinel","io","entries","entry","jsxs","Fragment","jsx","HeaderStart","props","HeaderCenter","HeaderEnd","HeaderBrand","logo","href","HeaderBrandDivider","HeaderMenuButton","onMenuOpen","IconButton","HeaderSkipLink"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import { forwardRef as u } from "react";
3
- import { B as p } from "./button-7mLWcMp_.js";
3
+ import { B as p } from "./button-DD_0Xdmr.js";
4
4
  import { c as h } from "./index-D2ZczOXr.js";
5
5
  import { T as b } from "./tooltip-DHik5yRI.js";
6
6
  const B = h("ds:p-0", {
@@ -15,7 +15,15 @@ const B = h("ds:p-0", {
15
15
  size: "md"
16
16
  }
17
17
  }), w = u(
18
- ({ icon: e, size: s, intent: i = "outline", className: o, tooltip: t, flipIconInRtl: d = !1, ...n }, l) => {
18
+ ({
19
+ icon: e,
20
+ size: s,
21
+ intent: i = "outline",
22
+ className: o,
23
+ tooltip: t,
24
+ flipIconInRtl: d = !1,
25
+ ...n
26
+ }, l) => {
19
27
  const c = n["aria-label"] || t, m = s === "sm" ? "ds:size-4" : s === "lg" ? "ds:size-5" : "ds:size-[18px]", f = d ? "ds:rtl:rotate-180" : "", r = /* @__PURE__ */ a(
20
28
  p,
21
29
  {
@@ -43,4 +51,4 @@ w.displayName = "IconButton";
43
51
  export {
44
52
  w as I
45
53
  };
46
- //# sourceMappingURL=icon-button-Wnnde5lc.js.map
54
+ //# sourceMappingURL=icon-button-C4CGcYuz.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-button-C4CGcYuz.js","sources":["../../src/components/button/icon-button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { Button, type ButtonProps } from './button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Tooltip } from '../tooltip';\n\nconst iconButtonVariants = cva('ds:p-0', {\n variants: {\n size: {\n sm: 'ds:w-8 ds:h-8',\n md: 'ds:w-10 ds:h-10',\n lg: 'ds:w-12 ds:h-12',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type IconButtonProps = Omit<\n ButtonProps,\n 'startIcon' | 'endIcon' | 'children' | 'size' | 'flipIconInRtl'\n> &\n VariantProps<typeof iconButtonVariants> & {\n icon: React.ReactNode;\n tooltip?: string;\n 'aria-label'?: string;\n /**\n * Mirror the icon horizontally in RTL. Default `false` — only enable\n * for directional glyphs (arrows, chevrons). See Button.flipIconInRtl.\n */\n flipIconInRtl?: boolean;\n };\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n (\n {\n icon,\n size,\n intent = 'outline',\n className,\n tooltip,\n flipIconInRtl = false,\n ...props\n },\n ref,\n ) => {\n const ariaLabel = props['aria-label'] || tooltip;\n\n if (import.meta.env.DEV && !ariaLabel) {\n console.warn(\n 'IconButton: aria-label or tooltip prop is required for accessibility.',\n );\n }\n\n const iconSizeClass =\n size === 'sm'\n ? 'ds:size-4'\n : size === 'lg'\n ? 'ds:size-5'\n : 'ds:size-[18px]';\n const iconFlipClass = flipIconInRtl ? 'ds:rtl:rotate-180' : '';\n\n const button = (\n <Button\n ref={ref}\n size={size}\n intent={intent}\n className={iconButtonVariants({ size, className })}\n aria-label={ariaLabel}\n data-component=\"icon-button\"\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className={`ds:inline-flex ds:items-center ds:justify-center ${iconSizeClass} ${iconFlipClass}`.trim()}\n >\n {icon}\n </span>\n </Button>\n );\n\n if (tooltip) {\n return <Tooltip label={tooltip}>{button}</Tooltip>;\n }\n\n return button;\n },\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["iconButtonVariants","cva","IconButton","forwardRef","icon","size","intent","className","tooltip","flipIconInRtl","props","ref","ariaLabel","iconSizeClass","iconFlipClass","button","jsx","Button","Tooltip"],"mappings":";;;;;AAKA,MAAMA,IAAqBC,EAAI,UAAU;AAAA,EACvC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAC,GAiBYC,IAAaC;AAAA,EACxB,CACE;AAAA,IACE,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAYF,EAAM,YAAY,KAAKF,GAQnCK,IACJR,MAAS,OACL,cACAA,MAAS,OACP,cACA,kBACFS,IAAgBL,IAAgB,sBAAsB,IAEtDM,IACJ,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAN;AAAA,QACA,MAAAN;AAAA,QACA,QAAAC;AAAA,QACA,WAAWN,EAAmB,EAAE,MAAAK,GAAM,WAAAE,GAAW;AAAA,QACjD,cAAYK;AAAA,QACZ,kBAAe;AAAA,QACd,GAAGF;AAAA,QAEJ,UAAA,gBAAAM;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAW,oDAAoDH,CAAa,IAAIC,CAAa,GAAG,KAAA;AAAA,YAE/F,UAAAV;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAIJ,WAAII,sBACMU,GAAA,EAAQ,OAAOV,GAAU,UAAAO,GAAO,IAGnCA;AAAA,EACT;AACF;AAEAb,EAAW,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button-group-DeV3FpNY.js","sources":["../../src/components/icon-button-group/icon-button-group.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { IconButton, type IconButtonProps } from '../button/icon-button';\nimport type { ButtonProps } from '../button/button';\n\ntype ButtonIntent = NonNullable<ButtonProps['intent']>;\n\n// Intentionally does NOT compose `@radix-ui/react-toggle-group`. Radix\n// ToggleGroup's render shape makes it hard to layer shared-border chrome\n// across children (first-child / last-child / internal-divider CSS), and\n// the three-mode + three-role matrix (group / toolbar / radiogroup × momentary\n// / toggle-single / toggle-multi) is broader than Radix's single / multi\n// contract. The roving-tabindex implementation below mirrors Radix's pattern\n// so keyboard semantics stay consistent. See 05-accessibility.mdx for the\n// WAI-ARIA toolbar / radiogroup references.\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst iconButtonGroupVariants = cva(\n [\n 'ds:inline-flex ds:isolate',\n // Hairline border around the group unifies the children into one\n // visual unit. Internal child dividers are drawn via the per-child\n // class list below.\n 'ds:border ds:border-border',\n 'ds:rounded-[var(--radius-md)]',\n // Ensure the focus ring of a pressed child sits above its siblings.\n 'ds:[&>*]:relative ds:[&>*:focus-visible]:z-10',\n ].join(' '),\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:flex-row',\n // Flatten internal corners on children so the outer radius owns\n // the rounded edges.\n 'ds:[&>*:not(:first-child)]:rounded-s-none',\n 'ds:[&>*:not(:last-child)]:rounded-e-none',\n // Internal divider — logical so it flips in RTL.\n 'ds:[&>*:not(:first-child)]:border-s',\n 'ds:[&>*:not(:first-child)]:border-border',\n // The children already own an outer border (from IconButton's\n // own border in secondary/outline variants). Collapse the doubled\n // border so we don't get a 2px seam.\n 'ds:[&>*]:border-0',\n ].join(' '),\n vertical: [\n 'ds:flex-col',\n // Vertical groups flow block-wise. Reading direction doesn't\n // invert vertical stacks in any locale this DS targets, so the\n // physical `rounded-t/b` is intentional.\n 'ds:[&>*:not(:first-child)]:rounded-t-none',\n 'ds:[&>*:not(:last-child)]:rounded-b-none',\n 'ds:[&>*:not(:first-child)]:border-t',\n 'ds:[&>*:not(:first-child)]:border-border',\n 'ds:[&>*]:border-0',\n ].join(' '),\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type IconButtonGroupRole = 'group' | 'toolbar' | 'radiogroup';\nexport type IconButtonGroupMode =\n | 'momentary'\n | 'toggle-single'\n | 'toggle-multi';\n\ntype SharedPropsBase = {\n /** Forwarded to every child that does not set its own `size`. */\n size?: 'sm' | 'md' | 'lg';\n orientation?: 'horizontal' | 'vertical';\n /** Disables every child. Uses `aria-disabled` on children (not the HTML\n * attribute) so each child still takes focus — matches WAI-ARIA toolbar\n * guidance. Visual disabled styling picks up the `aria-disabled:*`\n * variant declared on the Button base class. */\n disabled?: boolean;\n /** Intent applied to every child that does not set its own `intent`.\n * Defaults to `outline` — grouped icon buttons are peers, not a row\n * of solid-primary CTAs. */\n intent?: ButtonIntent;\n children: ReactNode;\n};\n\n// At least one of `aria-label` / `aria-labelledby` must be present. This\n// discriminated pair makes the TypeScript compiler reject a group with\n// neither — see the a11y acceptance criteria in the user story.\ntype AccessibleNameProps =\n | { 'aria-label': string; 'aria-labelledby'?: never }\n | { 'aria-label'?: never; 'aria-labelledby': string };\n\ntype SharedProps = SharedPropsBase & AccessibleNameProps;\n\n// Role + mode combinations are not all valid. Encoded via a discriminated\n// union so the compiler rejects nonsensical pairings (e.g. a multi-select\n// radiogroup).\ntype GroupRoleProps =\n | { role?: 'group'; mode?: 'momentary' | 'toggle-single' | 'toggle-multi' }\n | { role: 'toolbar'; mode?: 'momentary' | 'toggle-single' | 'toggle-multi' }\n | { role: 'radiogroup'; mode: 'toggle-single' };\n\ntype MomentaryProps = SharedProps & {\n mode?: 'momentary';\n value?: never;\n defaultValue?: never;\n onValueChange?: never;\n};\n\ntype ToggleSingleProps = SharedProps & {\n mode: 'toggle-single';\n value?: string;\n defaultValue?: string;\n onValueChange?: (next: string) => void;\n};\n\ntype ToggleMultiProps = SharedProps & {\n mode: 'toggle-multi';\n value?: string[];\n defaultValue?: string[];\n onValueChange?: (next: string[]) => void;\n};\n\nexport type IconButtonGroupProps = (\n | MomentaryProps\n | ToggleSingleProps\n | ToggleMultiProps\n) &\n GroupRoleProps &\n Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'onChange' | 'children'> &\n VariantProps<typeof iconButtonGroupVariants>;\n\n/* ------------------------------------------------------------------ */\n/* IconButtonGroup */\n/* ------------------------------------------------------------------ */\n\nexport const IconButtonGroup = forwardRef<HTMLDivElement, IconButtonGroupProps>(\n (props, ref) => {\n const {\n size,\n orientation = 'horizontal',\n role = 'group',\n mode = 'momentary',\n disabled = false,\n intent = 'outline',\n className,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...rest\n } = props as IconButtonGroupProps & { className?: string };\n\n if (import.meta.env.DEV && !ariaLabel && !ariaLabelledBy) {\n // eslint-disable-next-line no-console\n console.warn(\n 'IconButtonGroup: `aria-label` or `aria-labelledby` is required for accessibility.',\n );\n }\n\n /* ---- Controlled / uncontrolled value for toggle modes --------- */\n const [internalValue, setInternalValue] = useState<string | string[]>(\n () => {\n if (mode === 'toggle-single') {\n const p = props as ToggleSingleProps;\n return p.defaultValue ?? '';\n }\n if (mode === 'toggle-multi') {\n const p = props as ToggleMultiProps;\n return p.defaultValue ?? [];\n }\n return '';\n },\n );\n\n const resolvedValue: string | string[] = (() => {\n if (mode === 'toggle-single') {\n const p = props as ToggleSingleProps;\n return p.value !== undefined ? p.value : internalValue;\n }\n if (mode === 'toggle-multi') {\n const p = props as ToggleMultiProps;\n return p.value !== undefined ? p.value : internalValue;\n }\n return '';\n })();\n\n const commitValue = useCallback(\n (next: string | string[]) => {\n if (mode === 'toggle-single') {\n const p = props as ToggleSingleProps;\n if (p.value === undefined) setInternalValue(next as string);\n p.onValueChange?.(next as string);\n } else if (mode === 'toggle-multi') {\n const p = props as ToggleMultiProps;\n if (p.value === undefined) setInternalValue(next as string[]);\n p.onValueChange?.(next as string[]);\n }\n },\n [mode, props],\n );\n\n /* ---- Roving tabindex state — only active in toolbar / radiogroup - */\n const rovingTabindex = role === 'toolbar' || role === 'radiogroup';\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const registerIndex = useCallback(\n (index: number, el: HTMLButtonElement | null) => {\n buttonsRef.current[index] = el;\n },\n [],\n );\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [isRTL, setIsRTL] = useState(false);\n // `useLayoutEffect` so the direction is correct BEFORE the first paint\n // (otherwise a user pressing an arrow key on the first frame after mount\n // would hit the default-LTR mapping even in an RTL document).\n useLayoutEffect(() => {\n if (typeof window === 'undefined') return;\n const node = rootRef.current;\n if (!node) return;\n // Read the computed direction from the group's own wrapper so a\n // scoped `dir='rtl'` on any ancestor (not just <html>) flips arrow\n // navigation. `getComputedStyle` walks up automatically.\n const dir = window.getComputedStyle(node).direction;\n setIsRTL(dir === 'rtl');\n }, []);\n\n /* ---- Arrow-key navigation for roving tabindex ----------------- */\n const handleRootKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (!rovingTabindex) return;\n const count = buttonsRef.current.filter(Boolean).length;\n if (count === 0) return;\n\n const forwardKey =\n orientation === 'vertical'\n ? 'ArrowDown'\n : isRTL\n ? 'ArrowLeft'\n : 'ArrowRight';\n const backwardKey =\n orientation === 'vertical'\n ? 'ArrowUp'\n : isRTL\n ? 'ArrowRight'\n : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forwardKey) next = (focusIndex + 1) % count;\n else if (event.key === backwardKey)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n\n if (next === null) return;\n // Skip over disabled children.\n const maxAttempts = count;\n let attempts = 0;\n let candidate = next;\n while (attempts < maxAttempts) {\n const el = buttonsRef.current[candidate];\n if (el && el.getAttribute('aria-disabled') !== 'true' && !el.disabled) {\n break;\n }\n candidate =\n event.key === backwardKey || event.key === 'End'\n ? (candidate - 1 + count) % count\n : (candidate + 1) % count;\n attempts += 1;\n }\n event.preventDefault();\n setFocusIndex(candidate);\n buttonsRef.current[candidate]?.focus();\n // WAI-ARIA radiogroup pattern: arrow keys MOVE focus AND CHANGE\n // the selected radio in one action. toolbar pattern (and plain\n // group) only moves focus.\n if (role === 'radiogroup' && mode === 'toggle-single') {\n const child = childArrayRef.current[candidate];\n if (child && typeof child === 'object' && 'props' in child) {\n const cValue = (\n child as ReactElement<{ value?: string }>\n ).props.value;\n if (cValue) commitValue(cValue);\n }\n }\n },\n [rovingTabindex, orientation, isRTL, focusIndex, role, mode, commitValue],\n );\n\n /* ---- Build enhanced children ---------------------------------- */\n const childArray = Children.toArray(children);\n // Mirror into a ref so the keydown handler (referenced from Memo deps)\n // can read the latest child list without inflating the dep array.\n const childArrayRef = useRef<ReturnType<typeof Children.toArray>>([]);\n childArrayRef.current = childArray;\n\n const enhanced = childArray.map((child, index) => {\n if (!isValidElement(child)) {\n if (import.meta.env.DEV) {\n // eslint-disable-next-line no-console\n console.warn(\n 'IconButtonGroup: children should be <IconButton> elements.',\n );\n }\n return child;\n }\n\n const childEl = child as ReactElement<\n IconButtonProps & {\n value?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n }\n >;\n\n // DEV-time sanity: warn if we got something that isn't an IconButton.\n // `React.cloneElement` would still work, but IconButton-specific\n // props (::before target size, forwarded tooltip) wouldn't apply.\n if (import.meta.env.DEV && childEl.type !== IconButton) {\n // eslint-disable-next-line no-console\n console.warn(\n 'IconButtonGroup: each child should be a DS <IconButton>. Other elements break target-size + focus-ring contracts.',\n );\n }\n\n const childValue = childEl.props.value;\n\n // Compute aria-pressed / aria-checked for toggle modes.\n const { ariaPressed, ariaChecked } = computeToggleAria(\n mode,\n role,\n childValue,\n resolvedValue,\n );\n\n const groupDisabled = disabled === true;\n const childDisabled = childEl.props.disabled === true;\n\n // Click handling — wrap so aria-disabled (group-level) blocks\n // activation, then forward to the child's own onClick.\n const wrappedOnClick: React.MouseEventHandler<HTMLButtonElement> = (\n event,\n ) => {\n // aria-disabled is advisory; the native click still fires. Block\n // it explicitly when the GROUP (not the child) is disabled.\n if (groupDisabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n // Forward to the child's own handler first so consumers can run\n // analytics / preventDefault.\n childEl.props.onClick?.(event);\n if (event.defaultPrevented) return;\n if (!childValue) return;\n if (mode === 'toggle-single') {\n // Contract: exactly one pressed. Clicking the pressed one is a\n // no-op. This matches Radix ToggleGroup type='single' and the\n // radiogroup pattern.\n if (resolvedValue === childValue) return;\n commitValue(childValue);\n } else if (mode === 'toggle-multi') {\n const list = resolvedValue as string[];\n const next = list.includes(childValue)\n ? list.filter((v) => v !== childValue)\n : [...list, childValue];\n commitValue(next);\n }\n };\n\n // cloneElement's typed overload rejects `ref` as a prop, so we\n // build the override bag as `unknown` and cast to the element's\n // prop type. React at runtime routes `ref` via its usual channel.\n const setMergedRef = (node: HTMLButtonElement | null) => {\n registerIndex(index, node);\n const originalRef = (\n childEl as unknown as { ref?: React.Ref<HTMLButtonElement> }\n ).ref;\n if (typeof originalRef === 'function') originalRef(node);\n else if (\n originalRef !== null &&\n originalRef !== undefined &&\n typeof originalRef === 'object'\n ) {\n (originalRef as React.MutableRefObject<HTMLButtonElement | null>).current =\n node;\n }\n };\n\n // Per the user story: group-level disabled injects `aria-disabled`\n // so the child stays focusable; child-level `disabled` still uses\n // the HTML attribute (child's own contract). When both are true\n // we leave the HTML disabled in place (strictest cue wins).\n const ariaDisabled = groupDisabled && !childDisabled ? true : undefined;\n\n // If the group is disabled OR we are in a toggle mode, we need the\n // wrapped click handler. In pure momentary mode with no group\n // disable, the child's own onClick is passed through unchanged.\n const needsWrappedClick = mode !== 'momentary' || groupDisabled;\n\n const overrides = {\n intent: childEl.props.intent ?? intent,\n size: childEl.props.size ?? size,\n disabled: childDisabled,\n 'aria-disabled': ariaDisabled,\n onClick: needsWrappedClick ? wrappedOnClick : childEl.props.onClick,\n 'aria-pressed': ariaPressed,\n 'aria-checked': ariaChecked,\n // When the group is a radiogroup, children must be `role=\"radio\"`\n // so screen readers announce them as radio buttons and so\n // `getByRole('radio')` works in tests. The button element is\n // re-purposed as a radio; `aria-checked` above carries the state.\n role: role === 'radiogroup' ? 'radio' : undefined,\n tabIndex: rovingTabindex ? (index === focusIndex ? 0 : -1) : undefined,\n onFocus: (ev: React.FocusEvent<HTMLButtonElement>) => {\n if (rovingTabindex) setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n },\n ref: setMergedRef,\n } as unknown as Partial<IconButtonProps>;\n\n return cloneElement(childEl, overrides);\n });\n\n const mergedRootRef = (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n return (\n <div\n ref={mergedRootRef}\n role={role}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-orientation={role === 'toolbar' ? orientation : undefined}\n onKeyDown={handleRootKeyDown}\n className={iconButtonGroupVariants({ orientation, className })}\n data-component=\"icon-button-group\"\n {...rest}\n >\n {enhanced}\n </div>\n );\n },\n);\n\nIconButtonGroup.displayName = 'IconButtonGroup';\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nfunction computeToggleAria(\n mode: IconButtonGroupMode,\n role: IconButtonGroupRole,\n childValue: string | undefined,\n resolvedValue: string | string[],\n): { ariaPressed?: boolean; ariaChecked?: boolean } {\n if (mode === 'momentary' || !childValue) return {};\n\n const isActive =\n mode === 'toggle-multi'\n ? (resolvedValue as string[]).includes(childValue)\n : resolvedValue === childValue;\n\n // radiogroup uses aria-checked; toolbar/group use aria-pressed.\n if (role === 'radiogroup') {\n return { ariaChecked: isActive };\n }\n return { ariaPressed: isActive };\n}\n\n"],"names":["iconButtonGroupVariants","cva","IconButtonGroup","forwardRef","props","ref","size","orientation","role","mode","disabled","intent","className","children","ariaLabel","ariaLabelledBy","rest","internalValue","setInternalValue","useState","resolvedValue","p","commitValue","useCallback","next","_a","_b","rovingTabindex","buttonsRef","useRef","focusIndex","setFocusIndex","registerIndex","index","el","rootRef","isRTL","setIsRTL","useLayoutEffect","node","dir","handleRootKeyDown","event","count","forwardKey","backwardKey","maxAttempts","attempts","candidate","child","childArrayRef","cValue","childArray","Children","enhanced","isValidElement","childEl","childValue","ariaPressed","ariaChecked","computeToggleAria","groupDisabled","childDisabled","wrappedOnClick","list","v","setMergedRef","originalRef","ariaDisabled","needsWrappedClick","overrides","ev","cloneElement","jsx","isActive"],"mappings":"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"}
1
+ {"version":3,"file":"icon-button-group-DeV3FpNY.js","sources":["../../src/components/icon-button-group/icon-button-group.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n type HTMLAttributes,\n type KeyboardEvent as ReactKeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { IconButton, type IconButtonProps } from '../button/icon-button';\nimport type { ButtonProps } from '../button/button';\n\ntype ButtonIntent = NonNullable<ButtonProps['intent']>;\n\n// Intentionally does NOT compose `@radix-ui/react-toggle-group`. Radix\n// ToggleGroup's render shape makes it hard to layer shared-border chrome\n// across children (first-child / last-child / internal-divider CSS), and\n// the three-mode + three-role matrix (group / toolbar / radiogroup × momentary\n// / toggle-single / toggle-multi) is broader than Radix's single / multi\n// contract. The roving-tabindex implementation below mirrors Radix's pattern\n// so keyboard semantics stay consistent. See 05-accessibility.mdx for the\n// WAI-ARIA toolbar / radiogroup references.\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst iconButtonGroupVariants = cva(\n [\n 'ds:inline-flex ds:isolate',\n // Hairline border around the group unifies the children into one\n // visual unit. Internal child dividers are drawn via the per-child\n // class list below.\n 'ds:border ds:border-border',\n 'ds:rounded-[var(--radius-md)]',\n // Ensure the focus ring of a pressed child sits above its siblings.\n 'ds:[&>*]:relative ds:[&>*:focus-visible]:z-10',\n ].join(' '),\n {\n variants: {\n orientation: {\n horizontal: [\n 'ds:flex-row',\n // Flatten internal corners on children so the outer radius owns\n // the rounded edges.\n 'ds:[&>*:not(:first-child)]:rounded-s-none',\n 'ds:[&>*:not(:last-child)]:rounded-e-none',\n // Internal divider — logical so it flips in RTL.\n 'ds:[&>*:not(:first-child)]:border-s',\n 'ds:[&>*:not(:first-child)]:border-border',\n // The children already own an outer border (from IconButton's\n // own border in secondary/outline variants). Collapse the doubled\n // border so we don't get a 2px seam.\n 'ds:[&>*]:border-0',\n ].join(' '),\n vertical: [\n 'ds:flex-col',\n // Vertical groups flow block-wise. Reading direction doesn't\n // invert vertical stacks in any locale this DS targets, so the\n // physical `rounded-t/b` is intentional.\n 'ds:[&>*:not(:first-child)]:rounded-t-none',\n 'ds:[&>*:not(:last-child)]:rounded-b-none',\n 'ds:[&>*:not(:first-child)]:border-t',\n 'ds:[&>*:not(:first-child)]:border-border',\n 'ds:[&>*]:border-0',\n ].join(' '),\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type IconButtonGroupRole = 'group' | 'toolbar' | 'radiogroup';\nexport type IconButtonGroupMode =\n | 'momentary'\n | 'toggle-single'\n | 'toggle-multi';\n\ntype SharedPropsBase = {\n /** Forwarded to every child that does not set its own `size`. */\n size?: 'sm' | 'md' | 'lg';\n orientation?: 'horizontal' | 'vertical';\n /** Disables every child. Uses `aria-disabled` on children (not the HTML\n * attribute) so each child still takes focus — matches WAI-ARIA toolbar\n * guidance. Visual disabled styling picks up the `aria-disabled:*`\n * variant declared on the Button base class. */\n disabled?: boolean;\n /** Intent applied to every child that does not set its own `intent`.\n * Defaults to `outline` — grouped icon buttons are peers, not a row\n * of solid-primary CTAs. */\n intent?: ButtonIntent;\n children: ReactNode;\n};\n\n// At least one of `aria-label` / `aria-labelledby` must be present. This\n// discriminated pair makes the TypeScript compiler reject a group with\n// neither — see the a11y acceptance criteria in the user story.\ntype AccessibleNameProps =\n | { 'aria-label': string; 'aria-labelledby'?: never }\n | { 'aria-label'?: never; 'aria-labelledby': string };\n\ntype SharedProps = SharedPropsBase & AccessibleNameProps;\n\n// Role + mode combinations are not all valid. Encoded via a discriminated\n// union so the compiler rejects nonsensical pairings (e.g. a multi-select\n// radiogroup).\ntype GroupRoleProps =\n | { role?: 'group'; mode?: 'momentary' | 'toggle-single' | 'toggle-multi' }\n | { role: 'toolbar'; mode?: 'momentary' | 'toggle-single' | 'toggle-multi' }\n | { role: 'radiogroup'; mode: 'toggle-single' };\n\ntype MomentaryProps = SharedProps & {\n mode?: 'momentary';\n value?: never;\n defaultValue?: never;\n onValueChange?: never;\n};\n\ntype ToggleSingleProps = SharedProps & {\n mode: 'toggle-single';\n value?: string;\n defaultValue?: string;\n onValueChange?: (next: string) => void;\n};\n\ntype ToggleMultiProps = SharedProps & {\n mode: 'toggle-multi';\n value?: string[];\n defaultValue?: string[];\n onValueChange?: (next: string[]) => void;\n};\n\nexport type IconButtonGroupProps = (\n | MomentaryProps\n | ToggleSingleProps\n | ToggleMultiProps\n) &\n GroupRoleProps &\n Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'onChange' | 'children'> &\n VariantProps<typeof iconButtonGroupVariants>;\n\n/* ------------------------------------------------------------------ */\n/* IconButtonGroup */\n/* ------------------------------------------------------------------ */\n\nexport const IconButtonGroup = forwardRef<HTMLDivElement, IconButtonGroupProps>(\n (props, ref) => {\n const {\n size,\n orientation = 'horizontal',\n role = 'group',\n mode = 'momentary',\n disabled = false,\n intent = 'outline',\n className,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...rest\n } = props as IconButtonGroupProps & { className?: string };\n\n if (import.meta.env.DEV && !ariaLabel && !ariaLabelledBy) {\n console.warn(\n 'IconButtonGroup: `aria-label` or `aria-labelledby` is required for accessibility.',\n );\n }\n\n /* ---- Controlled / uncontrolled value for toggle modes --------- */\n const [internalValue, setInternalValue] = useState<string | string[]>(\n () => {\n if (mode === 'toggle-single') {\n const p = props as ToggleSingleProps;\n return p.defaultValue ?? '';\n }\n if (mode === 'toggle-multi') {\n const p = props as ToggleMultiProps;\n return p.defaultValue ?? [];\n }\n return '';\n },\n );\n\n const resolvedValue: string | string[] = (() => {\n if (mode === 'toggle-single') {\n const p = props as ToggleSingleProps;\n return p.value !== undefined ? p.value : internalValue;\n }\n if (mode === 'toggle-multi') {\n const p = props as ToggleMultiProps;\n return p.value !== undefined ? p.value : internalValue;\n }\n return '';\n })();\n\n const commitValue = useCallback(\n (next: string | string[]) => {\n if (mode === 'toggle-single') {\n const p = props as ToggleSingleProps;\n if (p.value === undefined) setInternalValue(next as string);\n p.onValueChange?.(next as string);\n } else if (mode === 'toggle-multi') {\n const p = props as ToggleMultiProps;\n if (p.value === undefined) setInternalValue(next as string[]);\n p.onValueChange?.(next as string[]);\n }\n },\n [mode, props],\n );\n\n /* ---- Roving tabindex state — only active in toolbar / radiogroup - */\n const rovingTabindex = role === 'toolbar' || role === 'radiogroup';\n const buttonsRef = useRef<Array<HTMLButtonElement | null>>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const registerIndex = useCallback(\n (index: number, el: HTMLButtonElement | null) => {\n buttonsRef.current[index] = el;\n },\n [],\n );\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [isRTL, setIsRTL] = useState(false);\n // `useLayoutEffect` so the direction is correct BEFORE the first paint\n // (otherwise a user pressing an arrow key on the first frame after mount\n // would hit the default-LTR mapping even in an RTL document).\n useLayoutEffect(() => {\n if (typeof window === 'undefined') return;\n const node = rootRef.current;\n if (!node) return;\n // Read the computed direction from the group's own wrapper so a\n // scoped `dir='rtl'` on any ancestor (not just <html>) flips arrow\n // navigation. `getComputedStyle` walks up automatically.\n const dir = window.getComputedStyle(node).direction;\n setIsRTL(dir === 'rtl');\n }, []);\n\n /* ---- Arrow-key navigation for roving tabindex ----------------- */\n const handleRootKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n if (!rovingTabindex) return;\n const count = buttonsRef.current.filter(Boolean).length;\n if (count === 0) return;\n\n const forwardKey =\n orientation === 'vertical'\n ? 'ArrowDown'\n : isRTL\n ? 'ArrowLeft'\n : 'ArrowRight';\n const backwardKey =\n orientation === 'vertical'\n ? 'ArrowUp'\n : isRTL\n ? 'ArrowRight'\n : 'ArrowLeft';\n\n let next: number | null = null;\n if (event.key === forwardKey) next = (focusIndex + 1) % count;\n else if (event.key === backwardKey)\n next = (focusIndex - 1 + count) % count;\n else if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = count - 1;\n\n if (next === null) return;\n // Skip over disabled children.\n const maxAttempts = count;\n let attempts = 0;\n let candidate = next;\n while (attempts < maxAttempts) {\n const el = buttonsRef.current[candidate];\n if (\n el &&\n el.getAttribute('aria-disabled') !== 'true' &&\n !el.disabled\n ) {\n break;\n }\n candidate =\n event.key === backwardKey || event.key === 'End'\n ? (candidate - 1 + count) % count\n : (candidate + 1) % count;\n attempts += 1;\n }\n event.preventDefault();\n setFocusIndex(candidate);\n buttonsRef.current[candidate]?.focus();\n // WAI-ARIA radiogroup pattern: arrow keys MOVE focus AND CHANGE\n // the selected radio in one action. toolbar pattern (and plain\n // group) only moves focus.\n if (role === 'radiogroup' && mode === 'toggle-single') {\n const child = childArrayRef.current[candidate];\n if (child && typeof child === 'object' && 'props' in child) {\n const cValue = (child as ReactElement<{ value?: string }>).props\n .value;\n if (cValue) commitValue(cValue);\n }\n }\n },\n [rovingTabindex, orientation, isRTL, focusIndex, role, mode, commitValue],\n );\n\n /* ---- Build enhanced children ---------------------------------- */\n const childArray = Children.toArray(children);\n // Mirror into a ref so the keydown handler (referenced from Memo deps)\n // can read the latest child list without inflating the dep array.\n const childArrayRef = useRef<ReturnType<typeof Children.toArray>>([]);\n childArrayRef.current = childArray;\n\n const enhanced = childArray.map((child, index) => {\n if (!isValidElement(child)) {\n if (import.meta.env.DEV) {\n console.warn(\n 'IconButtonGroup: children should be <IconButton> elements.',\n );\n }\n return child;\n }\n\n const childEl = child as ReactElement<\n IconButtonProps & {\n value?: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n }\n >;\n\n // DEV-time sanity: warn if we got something that isn't an IconButton.\n // `React.cloneElement` would still work, but IconButton-specific\n // props (::before target size, forwarded tooltip) wouldn't apply.\n if (import.meta.env.DEV && childEl.type !== IconButton) {\n console.warn(\n 'IconButtonGroup: each child should be a DS <IconButton>. Other elements break target-size + focus-ring contracts.',\n );\n }\n\n const childValue = childEl.props.value;\n\n // Compute aria-pressed / aria-checked for toggle modes.\n const { ariaPressed, ariaChecked } = computeToggleAria(\n mode,\n role,\n childValue,\n resolvedValue,\n );\n\n const groupDisabled = disabled === true;\n const childDisabled = childEl.props.disabled === true;\n\n // Click handling — wrap so aria-disabled (group-level) blocks\n // activation, then forward to the child's own onClick.\n const wrappedOnClick: React.MouseEventHandler<HTMLButtonElement> = (\n event,\n ) => {\n // aria-disabled is advisory; the native click still fires. Block\n // it explicitly when the GROUP (not the child) is disabled.\n if (groupDisabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n // Forward to the child's own handler first so consumers can run\n // analytics / preventDefault.\n childEl.props.onClick?.(event);\n if (event.defaultPrevented) return;\n if (!childValue) return;\n if (mode === 'toggle-single') {\n // Contract: exactly one pressed. Clicking the pressed one is a\n // no-op. This matches Radix ToggleGroup type='single' and the\n // radiogroup pattern.\n if (resolvedValue === childValue) return;\n commitValue(childValue);\n } else if (mode === 'toggle-multi') {\n const list = resolvedValue as string[];\n const next = list.includes(childValue)\n ? list.filter((v) => v !== childValue)\n : [...list, childValue];\n commitValue(next);\n }\n };\n\n // cloneElement's typed overload rejects `ref` as a prop, so we\n // build the override bag as `unknown` and cast to the element's\n // prop type. React at runtime routes `ref` via its usual channel.\n const setMergedRef = (node: HTMLButtonElement | null) => {\n registerIndex(index, node);\n const originalRef = (\n childEl as unknown as { ref?: React.Ref<HTMLButtonElement> }\n ).ref;\n if (typeof originalRef === 'function') originalRef(node);\n else if (\n originalRef !== null &&\n originalRef !== undefined &&\n typeof originalRef === 'object'\n ) {\n (\n originalRef as React.MutableRefObject<HTMLButtonElement | null>\n ).current = node;\n }\n };\n\n // Per the user story: group-level disabled injects `aria-disabled`\n // so the child stays focusable; child-level `disabled` still uses\n // the HTML attribute (child's own contract). When both are true\n // we leave the HTML disabled in place (strictest cue wins).\n const ariaDisabled = groupDisabled && !childDisabled ? true : undefined;\n\n // If the group is disabled OR we are in a toggle mode, we need the\n // wrapped click handler. In pure momentary mode with no group\n // disable, the child's own onClick is passed through unchanged.\n const needsWrappedClick = mode !== 'momentary' || groupDisabled;\n\n const overrides = {\n intent: childEl.props.intent ?? intent,\n size: childEl.props.size ?? size,\n disabled: childDisabled,\n 'aria-disabled': ariaDisabled,\n onClick: needsWrappedClick ? wrappedOnClick : childEl.props.onClick,\n 'aria-pressed': ariaPressed,\n 'aria-checked': ariaChecked,\n // When the group is a radiogroup, children must be `role=\"radio\"`\n // so screen readers announce them as radio buttons and so\n // `getByRole('radio')` works in tests. The button element is\n // re-purposed as a radio; `aria-checked` above carries the state.\n role: role === 'radiogroup' ? 'radio' : undefined,\n tabIndex: rovingTabindex ? (index === focusIndex ? 0 : -1) : undefined,\n onFocus: (ev: React.FocusEvent<HTMLButtonElement>) => {\n if (rovingTabindex) setFocusIndex(index);\n childEl.props.onFocus?.(ev);\n },\n ref: setMergedRef,\n } as unknown as Partial<IconButtonProps>;\n\n return cloneElement(childEl, overrides);\n });\n\n const mergedRootRef = (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n return (\n <div\n ref={mergedRootRef}\n role={role}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-orientation={role === 'toolbar' ? orientation : undefined}\n onKeyDown={handleRootKeyDown}\n className={iconButtonGroupVariants({ orientation, className })}\n data-component=\"icon-button-group\"\n {...rest}\n >\n {enhanced}\n </div>\n );\n },\n);\n\nIconButtonGroup.displayName = 'IconButtonGroup';\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nfunction computeToggleAria(\n mode: IconButtonGroupMode,\n role: IconButtonGroupRole,\n childValue: string | undefined,\n resolvedValue: string | string[],\n): { ariaPressed?: boolean; ariaChecked?: boolean } {\n if (mode === 'momentary' || !childValue) return {};\n\n const isActive =\n mode === 'toggle-multi'\n ? (resolvedValue as string[]).includes(childValue)\n : resolvedValue === childValue;\n\n // radiogroup uses aria-checked; toolbar/group use aria-pressed.\n if (role === 'radiogroup') {\n return { ariaChecked: isActive };\n }\n return { ariaPressed: isActive };\n}\n"],"names":["iconButtonGroupVariants","cva","IconButtonGroup","forwardRef","props","ref","size","orientation","role","mode","disabled","intent","className","children","ariaLabel","ariaLabelledBy","rest","internalValue","setInternalValue","useState","resolvedValue","p","commitValue","useCallback","next","_a","_b","rovingTabindex","buttonsRef","useRef","focusIndex","setFocusIndex","registerIndex","index","el","rootRef","isRTL","setIsRTL","useLayoutEffect","node","dir","handleRootKeyDown","event","count","forwardKey","backwardKey","maxAttempts","attempts","candidate","child","childArrayRef","cValue","childArray","Children","enhanced","isValidElement","childEl","childValue","ariaPressed","ariaChecked","computeToggleAria","groupDisabled","childDisabled","wrappedOnClick","list","v","setMergedRef","originalRef","ariaDisabled","needsWrappedClick","overrides","ev","cloneElement","jsx","isActive"],"mappings":"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"}
@@ -216,9 +216,13 @@ const h = x(
216
216
  );
217
217
  });
218
218
  $.displayName = "Kbd";
219
- const _ = { mac: S, win: k, spoken: E };
219
+ const _ = {
220
+ mac: S,
221
+ win: k,
222
+ spoken: E
223
+ };
220
224
  export {
221
225
  $ as K,
222
226
  _ as k
223
227
  };
224
- //# sourceMappingURL=kbd-8baVw3KU.js.map
228
+ //# sourceMappingURL=kbd-Cglkd7CY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd-Cglkd7CY.js","sources":["../../src/components/kbd/kbd.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';\nimport { useTranslation } from 'react-i18next';\n\n/* ------------------------------------------------------------------ */\n/* Platform detection */\n/* ------------------------------------------------------------------ */\n\nfunction detectMacLike(): boolean {\n if (typeof navigator === 'undefined') return false;\n const uaData = (\n navigator as unknown as {\n userAgentData?: { platform?: string };\n }\n ).userAgentData;\n const platformString = uaData?.platform ?? navigator.platform ?? '';\n return /mac/i.test(platformString);\n}\n\n/* ------------------------------------------------------------------ */\n/* Glyph + accessible-name maps */\n/* ------------------------------------------------------------------ */\n\nexport type KbdNamedKey =\n | 'Meta'\n | 'Control'\n | 'Alt'\n | 'Shift'\n | 'Enter'\n | 'Escape'\n | 'Space'\n | 'Tab'\n | 'Delete'\n | 'Backspace'\n | 'ArrowUp'\n | 'ArrowDown'\n | 'ArrowLeft'\n | 'ArrowRight';\n\n/**\n * Named keys we understand — anything else is passed through verbatim.\n * Glyph rendering is platform-aware; accessible names spell the key out\n * so screen readers say \"Command K\" instead of \"black apple K\".\n */\nconst MAC_GLYPHS: Record<KbdNamedKey, string> = {\n Meta: '\\u2318', // ⌘\n Control: '\\u2303', // ⌃\n Alt: '\\u2325', // ⌥\n Shift: '\\u21E7', // ⇧\n Enter: '\\u23CE', // ⏎\n Escape: 'Esc',\n Space: 'Space',\n Tab: '\\u21E5', // ⇥\n Delete: '\\u2326', // ⌦\n Backspace: '\\u232B', // ⌫\n ArrowUp: '\\u2191', // ↑\n ArrowDown: '\\u2193', // ↓\n ArrowLeft: '\\u2190', // ←\n ArrowRight: '\\u2192', // →\n};\n\nconst WIN_GLYPHS: Record<KbdNamedKey, string> = {\n Meta: 'Ctrl', // Windows/Linux consumers usually care about the Control equivalent\n Control: 'Ctrl',\n Alt: 'Alt',\n Shift: 'Shift',\n Enter: 'Enter',\n Escape: 'Esc',\n Space: 'Space',\n Tab: 'Tab',\n Delete: 'Del',\n Backspace: 'Backspace',\n ArrowUp: '\\u2191',\n ArrowDown: '\\u2193',\n ArrowLeft: '\\u2190',\n ArrowRight: '\\u2192',\n};\n\n/** Spelled-out names used for the aria-label — never platform-swapped. */\nconst SPOKEN_NAMES: Record<KbdNamedKey, string> = {\n Meta: 'Command',\n Control: 'Control',\n Alt: 'Option',\n Shift: 'Shift',\n Enter: 'Enter',\n Escape: 'Escape',\n Space: 'Space',\n Tab: 'Tab',\n Delete: 'Delete',\n Backspace: 'Backspace',\n ArrowUp: 'Up arrow',\n ArrowDown: 'Down arrow',\n ArrowLeft: 'Left arrow',\n ArrowRight: 'Right arrow',\n};\n\nfunction isNamedKey(key: string): key is KbdNamedKey {\n return (\n key === 'Meta' ||\n key === 'Control' ||\n key === 'Alt' ||\n key === 'Shift' ||\n key === 'Enter' ||\n key === 'Escape' ||\n key === 'Space' ||\n key === 'Tab' ||\n key === 'Delete' ||\n key === 'Backspace' ||\n key === 'ArrowUp' ||\n key === 'ArrowDown' ||\n key === 'ArrowLeft' ||\n key === 'ArrowRight'\n );\n}\n\nfunction glyphFor(key: string, isMac: boolean): string {\n if (isNamedKey(key)) {\n return (isMac ? MAC_GLYPHS : WIN_GLYPHS)[key];\n }\n return key;\n}\n\nfunction spokenFor(key: string): string {\n if (isNamedKey(key)) return SPOKEN_NAMES[key];\n return key;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst kbdVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:font-[family-name:var(--font-mono)]',\n 'ds:tabular-nums',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:select-none',\n // Tight minimum size so single-key pills never collapse.\n 'ds:min-inline-size-[1.5em] ds:min-block-size-[1.5em]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:text-[length:var(--font-size-xs)] ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n md: 'ds:text-[length:var(--font-size-xs)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n lg: 'ds:text-[length:var(--font-size-sm)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n },\n intensity: {\n outline: [\n 'ds:bg-[var(--background)]',\n 'ds:border ds:border-[color:var(--border)]',\n 'ds:text-[color:var(--foreground)]',\n ].join(' '),\n solid: [\n 'ds:bg-[var(--muted)]',\n 'ds:text-[color:var(--foreground)]',\n ].join(' '),\n },\n },\n defaultVariants: { size: 'md', intensity: 'outline' },\n },\n);\n\nconst groupVariants = cva(\n [\n 'ds:inline-flex ds:items-center',\n 'ds:gap-[calc(var(--spacing-xs)/2)]',\n // Group shouldn't visually render as a pill itself — just holds pills.\n 'ds:font-[family-name:var(--font-mono)]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type KbdSeparator = 'none' | 'plus' | 'then';\n\n/**\n * Optional override map for keys. Consumers can rewrite the visible\n * glyph or the spoken name for product-specific shortcuts (e.g. mapping\n * a \"Brand\" modifier to a special icon).\n */\nexport interface KbdGlyphOverride {\n glyph?: string;\n spoken?: string;\n}\n\ninterface KbdBaseProps\n extends\n Omit<HTMLAttributes<HTMLElement>, 'children'>,\n VariantProps<typeof kbdVariants> {\n separator?: KbdSeparator;\n glyphMap?: Partial<Record<KbdNamedKey | string, KbdGlyphOverride>>;\n}\n\ninterface KbdWithKeysProps extends KbdBaseProps {\n keys: Array<KbdNamedKey | string>;\n children?: never;\n}\n\ninterface KbdWithChildrenProps extends KbdBaseProps {\n keys?: never;\n children: ReactNode;\n}\n\nexport type KbdProps = KbdWithKeysProps | KbdWithChildrenProps;\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const Kbd = forwardRef<HTMLElement, KbdProps>((props, ref) => {\n const {\n size = 'md',\n intensity = 'outline',\n separator = 'none',\n glyphMap,\n className,\n ...rest\n } = props as KbdBaseProps & { className?: string };\n\n const { t } = useTranslation();\n\n const [isMac, setIsMac] = useState(false);\n useEffect(() => {\n setIsMac(detectMacLike());\n }, []);\n\n // Children path: pass-through rendering. Still a semantic <kbd> so\n // AT + search engines classify it correctly.\n if ('children' in props && props.children !== undefined) {\n return (\n <kbd\n ref={ref}\n className={[kbdVariants({ size, intensity }), className]\n .filter(Boolean)\n .join(' ')}\n data-component=\"kbd\"\n {...rest}\n >\n {(props as KbdWithChildrenProps).children}\n </kbd>\n );\n }\n\n const keys = (props as KbdWithKeysProps).keys;\n\n // Single-key shortcut with no separator — render as one pill.\n // axe's `aria-prohibited-attr` rule forbids `aria-label` on <kbd>\n // elements (no valid implicit role), so the spoken name is delivered\n // via a visually-hidden sr-only span instead.\n if (keys.length === 1) {\n const k = keys[0];\n const override = glyphMap?.[k];\n const glyph = override?.glyph ?? glyphFor(k, isMac);\n const spoken = override?.spoken ?? spokenFor(k);\n return (\n <kbd\n ref={ref}\n className={[kbdVariants({ size, intensity }), className]\n .filter(Boolean)\n .join(' ')}\n data-component=\"kbd\"\n {...rest}\n >\n <span aria-hidden=\"true\">{glyph}</span>\n <span className=\"ds:sr-only\">{spoken}</span>\n </kbd>\n );\n }\n\n // Multi-key shortcut.\n const spokenAll = keys\n .map((k) => glyphMap?.[k]?.spoken ?? spokenFor(k))\n .join(' ');\n\n // `none`: single combined pill (e.g. \"⌘K\" rendered together).\n if (separator === 'none') {\n return (\n <kbd\n ref={ref}\n className={[kbdVariants({ size, intensity }), className]\n .filter(Boolean)\n .join(' ')}\n data-component=\"kbd\"\n {...rest}\n >\n {keys.map((k, i) => {\n const glyph = glyphMap?.[k]?.glyph ?? glyphFor(k, isMac);\n return (\n <span key={`${k}-${i}`} aria-hidden=\"true\">\n {glyph}\n </span>\n );\n })}\n <span className=\"ds:sr-only\">{spokenAll}</span>\n </kbd>\n );\n }\n\n // `plus` / `then`: multiple sibling <kbd> pills inside a wrapping <kbd>.\n const separatorText =\n separator === 'plus' ? t('kbd.plus', '+') : t('kbd.then', 'then');\n\n const spokenAnnouncement =\n separator === 'then'\n ? t('kbd.pressThen', 'Press {{keys}}', {\n keys: keys\n .map((k) => glyphMap?.[k]?.spoken ?? spokenFor(k))\n .join(` ${t('kbd.thenSpoken', 'then')} `),\n })\n : spokenAll;\n\n return (\n <kbd\n ref={ref}\n className={[groupVariants(), className].filter(Boolean).join(' ')}\n data-component=\"kbd\"\n {...rest}\n >\n <span className=\"ds:sr-only\">{spokenAnnouncement}</span>\n {keys.map((k, i) => {\n const glyph = glyphMap?.[k]?.glyph ?? glyphFor(k, isMac);\n return (\n <Fragment key={`${k}-${i}`}>\n <kbd\n aria-hidden=\"true\"\n className={kbdVariants({ size, intensity })}\n >\n {glyph}\n </kbd>\n {i < keys.length - 1 ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:text-[color:var(--muted-foreground)] ds:text-[length:var(--font-size-xs)]\"\n >\n {separatorText}\n </span>\n ) : null}\n </Fragment>\n );\n })}\n </kbd>\n );\n});\n\nKbd.displayName = 'Kbd';\n\n/* ------------------------------------------------------------------ */\n/* Named helpers */\n/* ------------------------------------------------------------------ */\n\nexport const kbdGlyphs = {\n mac: MAC_GLYPHS,\n win: WIN_GLYPHS,\n spoken: SPOKEN_NAMES,\n};\n"],"names":["detectMacLike","uaData","platformString","MAC_GLYPHS","WIN_GLYPHS","SPOKEN_NAMES","isNamedKey","key","glyphFor","isMac","spokenFor","kbdVariants","cva","groupVariants","Kbd","forwardRef","props","ref","size","intensity","separator","glyphMap","className","rest","t","useTranslation","setIsMac","useState","useEffect","jsx","keys","k","override","glyph","spoken","jsxs","spokenAll","_a","i","separatorText","spokenAnnouncement","Fragment","kbdGlyphs"],"mappings":";;;;AAeA,SAASA,IAAyB;AAChC,MAAI,OAAO,YAAc,IAAa,QAAO;AAC7C,QAAMC,IACJ,UAGA,eACIC,KAAiBD,KAAA,gBAAAA,EAAQ,aAAY,UAAU,YAAY;AACjE,SAAO,OAAO,KAAKC,CAAc;AACnC;AA2BA,MAAMC,IAA0C;AAAA,EAC9C,MAAM;AAAA;AAAA,EACN,SAAS;AAAA;AAAA,EACT,KAAK;AAAA;AAAA,EACL,OAAO;AAAA;AAAA,EACP,OAAO;AAAA;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA;AAAA,EACL,QAAQ;AAAA;AAAA,EACR,WAAW;AAAA;AAAA,EACX,SAAS;AAAA;AAAA,EACT,WAAW;AAAA;AAAA,EACX,WAAW;AAAA;AAAA,EACX,YAAY;AAAA;AACd,GAEMC,IAA0C;AAAA,EAC9C,MAAM;AAAA;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AACd,GAGMC,IAA4C;AAAA,EAChD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AACd;AAEA,SAASC,EAAWC,GAAiC;AACnD,SACEA,MAAQ,UACRA,MAAQ,aACRA,MAAQ,SACRA,MAAQ,WACRA,MAAQ,WACRA,MAAQ,YACRA,MAAQ,WACRA,MAAQ,SACRA,MAAQ,YACRA,MAAQ,eACRA,MAAQ,aACRA,MAAQ,eACRA,MAAQ,eACRA,MAAQ;AAEZ;AAEA,SAASC,EAASD,GAAaE,GAAwB;AACrD,SAAIH,EAAWC,CAAG,KACRE,IAAQN,IAAaC,GAAYG,CAAG,IAEvCA;AACT;AAEA,SAASG,EAAUH,GAAqB;AACtC,SAAID,EAAWC,CAAG,IAAUF,EAAaE,CAAG,IACrCA;AACT;AAMA,MAAMI,IAAcC;AAAA,EAClB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,WAAW;AAAA,QACT,SAAS;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,QACV,OAAO;AAAA,UACL;AAAA,UACA;AAAA,QAAA,EACA,KAAK,GAAG;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF,iBAAiB,EAAE,MAAM,MAAM,WAAW,UAAA;AAAA,EAAU;AAExD,GAEMC,IAAgBD;AAAA,EACpB;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ,GA0CaE,IAAMC,EAAkC,CAACC,GAAOC,MAAQ;AACnE,QAAM;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,WAAAC,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDP,GAEE,EAAE,GAAAQ,EAAA,IAAMC,EAAA,GAER,CAAChB,GAAOiB,CAAQ,IAAIC,EAAS,EAAK;AAOxC,MANAC,EAAU,MAAM;AACd,IAAAF,EAAS1B,GAAe;AAAA,EAC1B,GAAG,CAAA,CAAE,GAID,cAAcgB,KAASA,EAAM,aAAa;AAC5C,WACE,gBAAAa;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAZ;AAAA,QACA,WAAW,CAACN,EAAY,EAAE,MAAAO,GAAM,WAAAC,EAAA,CAAW,GAAGG,CAAS,EACpD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACX,kBAAe;AAAA,QACd,GAAGC;AAAA,QAEF,UAAAP,EAA+B;AAAA,MAAA;AAAA,IAAA;AAKvC,QAAMc,IAAQd,EAA2B;AAMzC,MAAIc,EAAK,WAAW,GAAG;AACrB,UAAMC,IAAID,EAAK,CAAC,GACVE,IAAWX,KAAA,gBAAAA,EAAWU,IACtBE,KAAQD,KAAA,gBAAAA,EAAU,UAASxB,EAASuB,GAAGtB,CAAK,GAC5CyB,KAASF,KAAA,gBAAAA,EAAU,WAAUtB,EAAUqB,CAAC;AAC9C,WACE,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAlB;AAAA,QACA,WAAW,CAACN,EAAY,EAAE,MAAAO,GAAM,WAAAC,EAAA,CAAW,GAAGG,CAAS,EACpD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACX,kBAAe;AAAA,QACd,GAAGC;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAM,EAAC,QAAA,EAAK,eAAY,QAAQ,UAAAI,GAAM;AAAA,UAChC,gBAAAJ,EAAC,QAAA,EAAK,WAAU,cAAc,UAAAK,EAAA,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG3C;AAGA,QAAME,IAAYN,EACf,IAAI,CAACC;;AAAM,aAAAM,IAAAhB,KAAA,gBAAAA,EAAWU,OAAX,gBAAAM,EAAe,WAAU3B,EAAUqB,CAAC;AAAA,GAAC,EAChD,KAAK,GAAG;AAGX,MAAIX,MAAc;AAChB,WACE,gBAAAe;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAlB;AAAA,QACA,WAAW,CAACN,EAAY,EAAE,MAAAO,GAAM,WAAAC,EAAA,CAAW,GAAGG,CAAS,EACpD,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACX,kBAAe;AAAA,QACd,GAAGC;AAAA,QAEH,UAAA;AAAA,UAAAO,EAAK,IAAI,CAACC,GAAGO,MAAM;;AAClB,kBAAML,MAAQI,IAAAhB,KAAA,gBAAAA,EAAWU,OAAX,gBAAAM,EAAe,UAAS7B,EAASuB,GAAGtB,CAAK;AACvD,mBACE,gBAAAoB,EAAC,UAAuB,eAAY,QACjC,eADQ,GAAGE,CAAC,IAAIO,CAAC,EAEpB;AAAA,UAEJ,CAAC;AAAA,UACD,gBAAAT,EAAC,QAAA,EAAK,WAAU,cAAc,UAAAO,EAAA,CAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAM9C,QAAMG,IACJnB,MAAc,SAASI,EAAE,YAAY,GAAG,IAAIA,EAAE,YAAY,MAAM,GAE5DgB,IACJpB,MAAc,SACVI,EAAE,iBAAiB,kBAAkB;AAAA,IACnC,MAAMM,EACH,IAAI,CAACC,MAAA;;AAAM,eAAAM,IAAAhB,KAAA,gBAAAA,EAAWU,OAAX,gBAAAM,EAAe,WAAU3B,EAAUqB,CAAC;AAAA,KAAC,EAChD,KAAK,IAAIP,EAAE,kBAAkB,MAAM,CAAC,GAAG;AAAA,EAAA,CAC3C,IACDY;AAEN,SACE,gBAAAD;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAlB;AAAA,MACA,WAAW,CAACJ,EAAA,GAAiBS,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MAChE,kBAAe;AAAA,MACd,GAAGC;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAM,EAAC,QAAA,EAAK,WAAU,cAAc,UAAAW,GAAmB;AAAA,QAChDV,EAAK,IAAI,CAACC,GAAGO,MAAM;;AAClB,gBAAML,MAAQI,IAAAhB,KAAA,gBAAAA,EAAWU,OAAX,gBAAAM,EAAe,UAAS7B,EAASuB,GAAGtB,CAAK;AACvD,mCACGgC,GAAA,EACC,UAAA;AAAA,YAAA,gBAAAZ;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,eAAY;AAAA,gBACZ,WAAWlB,EAAY,EAAE,MAAAO,GAAM,WAAAC,GAAW;AAAA,gBAEzC,UAAAc;AAAA,cAAA;AAAA,YAAA;AAAA,YAEFK,IAAIR,EAAK,SAAS,IACjB,gBAAAD;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,eAAY;AAAA,gBACZ,WAAU;AAAA,gBAET,UAAAU;AAAA,cAAA;AAAA,YAAA,IAED;AAAA,UAAA,EAAA,GAdS,GAAGR,CAAC,IAAIO,CAAC,EAexB;AAAA,QAEJ,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEDxB,EAAI,cAAc;AAMX,MAAM4B,IAAY;AAAA,EACvB,KAAKvC;AAAA,EACL,KAAKC;AAAA,EACL,QAAQC;AACV;"}
@@ -2,7 +2,7 @@ import { jsxs as l, jsx as a } from "react/jsx-runtime";
2
2
  import { forwardRef as C, useState as c, useCallback as g } from "react";
3
3
  import { c as V } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as N } from "react-i18next";
5
- import { I as b } from "./icon-button-Wnnde5lc.js";
5
+ import { I as b } from "./icon-button-C4CGcYuz.js";
6
6
  import { C as P } from "./check-DPdL_Sm7.js";
7
7
  import { C as w } from "./copy-B00HK7tj.js";
8
8
  const z = V("ds:flex", {
@@ -73,4 +73,4 @@ T.displayName = "KeyValuePair";
73
73
  export {
74
74
  T as K
75
75
  };
76
- //# sourceMappingURL=key-value-pair-JRFS9Xrh.js.map
76
+ //# sourceMappingURL=key-value-pair-CgWvAIGb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-value-pair-CgWvAIGb.js","sources":["../../src/components/key-value-pair/key-value-pair.tsx"],"sourcesContent":["import { forwardRef, useState, useCallback } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Copy, Check } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\n\n/* ------------------------------------------------------------------ */\n/* CVA — root wrapper */\n/* ------------------------------------------------------------------ */\n\nconst keyValuePairVariants = cva('ds:flex', {\n variants: {\n layout: {\n horizontal: 'ds:flex-row ds:items-center ds:gap-[var(--spacing-sm)]',\n vertical: 'ds:flex-col ds:gap-[var(--spacing-xs)]',\n },\n },\n defaultVariants: {\n layout: 'horizontal',\n },\n});\n\n/* ------------------------------------------------------------------ */\n/* KeyValuePairProps */\n/* ------------------------------------------------------------------ */\n\nexport interface KeyValuePairProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof keyValuePairVariants> {\n /** The label (term) */\n label: string;\n /** The value — accepts plain text, Badge, Tag, monospace code, any ReactNode */\n value: React.ReactNode;\n /** Layout direction */\n layout?: 'horizontal' | 'vertical';\n /** Render value in monospace font */\n mono?: boolean;\n /** Show a copy-to-clipboard IconButton beside the value */\n copyable?: boolean;\n /** The text to copy — defaults to `value` if value is a string */\n copyText?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* KeyValuePair */\n/* ------------------------------------------------------------------ */\n\nexport const KeyValuePair = forwardRef<HTMLDivElement, KeyValuePairProps>(\n (\n {\n label,\n value,\n layout = 'horizontal',\n mono = false,\n copyable = false,\n copyText,\n className,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [copied, setCopied] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n\n const textToCopy =\n copyText ?? (typeof value === 'string' ? value : undefined);\n\n const handleCopy = useCallback(async () => {\n if (!textToCopy) {\n if (import.meta.env.DEV) {\n console.warn(\n 'KeyValuePair: copyable is true but no copyText was provided and value is not a string. Copy no-op.',\n );\n }\n return;\n }\n\n try {\n await navigator.clipboard.writeText(textToCopy);\n setCopied(true);\n setAnnouncement(t('ui.keyValuePair.copied'));\n setTimeout(() => {\n setCopied(false);\n setAnnouncement('');\n }, 2000);\n } catch {\n setAnnouncement(t('ui.keyValuePair.notAvailable'));\n setTimeout(() => setAnnouncement(''), 3000);\n }\n }, [textToCopy, t]);\n\n const valueClasses = [\n 'type-body ds:text-foreground ds:min-w-0 ds:shrink ds:[unicode-bidi:isolate]',\n mono ? 'ds:font-[family-name:var(--font-mono)]' : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n ref={ref}\n className={keyValuePairVariants({ layout, className })}\n data-component=\"key-value-pair\"\n {...props}\n >\n <span className=\"type-label ds:text-muted-foreground ds:shrink-0\">\n {label}\n <span className=\"ds:sr-only\">: </span>\n </span>\n <span className={valueClasses}>{value}</span>\n {copyable && (\n <IconButton\n icon={copied ? <Check /> : <Copy />}\n size=\"sm\"\n aria-label={t('ui.keyValuePair.copy', { label })}\n onClick={handleCopy}\n intent=\"ghost\"\n className={\n layout === 'horizontal'\n ? 'ds:ms-auto ds:shrink-0'\n : 'ds:self-start'\n }\n />\n )}\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {announcement}\n </span>\n </div>\n );\n },\n);\n\nKeyValuePair.displayName = 'KeyValuePair';\n"],"names":["keyValuePairVariants","cva","KeyValuePair","forwardRef","label","value","layout","mono","copyable","copyText","className","props","ref","t","useTranslation","copied","setCopied","useState","announcement","setAnnouncement","textToCopy","handleCopy","useCallback","valueClasses","jsxs","jsx","IconButton","Check","Copy"],"mappings":";;;;;;;AAUA,MAAMA,IAAuBC,EAAI,WAAW;AAAA,EAC1C,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,YAAY;AAAA,MACZ,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,iBAAiB;AAAA,IACf,QAAQ;AAAA,EAAA;AAEZ,CAAC,GA4BYC,IAAeC;AAAA,EAC1B,CACE;AAAA,IACE,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,MAAAC,IAAO;AAAA,IACP,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACR,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAAcC,CAAe,IAAIF,EAAS,EAAE,GAE7CG,IACJX,MAAa,OAAOJ,KAAU,WAAWA,IAAQ,SAE7CgB,IAAaC,EAAY,YAAY;AACzC,UAAKF;AASL,YAAI;AACF,gBAAM,UAAU,UAAU,UAAUA,CAAU,GAC9CJ,EAAU,EAAI,GACdG,EAAgBN,EAAE,wBAAwB,CAAC,GAC3C,WAAW,MAAM;AACf,YAAAG,EAAU,EAAK,GACfG,EAAgB,EAAE;AAAA,UACpB,GAAG,GAAI;AAAA,QACT,QAAQ;AACN,UAAAA,EAAgBN,EAAE,8BAA8B,CAAC,GACjD,WAAW,MAAMM,EAAgB,EAAE,GAAG,GAAI;AAAA,QAC5C;AAAA,IACF,GAAG,CAACC,GAAYP,CAAC,CAAC,GAEZU,IAAe;AAAA,MACnB;AAAA,MACAhB,IAAO,2CAA2C;AAAA,IAAA,EAEjD,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,WACE,gBAAAiB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAZ;AAAA,QACA,WAAWZ,EAAqB,EAAE,QAAAM,GAAQ,WAAAI,GAAW;AAAA,QACrD,kBAAe;AAAA,QACd,GAAGC;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAa,EAAC,QAAA,EAAK,WAAU,mDACb,UAAA;AAAA,YAAApB;AAAA,8BACA,QAAA,EAAK,WAAU,cAAa,UAAA,MAAE;AAAA,UAAA,GACjC;AAAA,4BACC,QAAA,EAAK,WAAWmB,GAAe,UAAAlB,GAAM;AAAA,UACrCG,KACC,gBAAAiB;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,MAAMX,IAAS,gBAAAU,EAACE,GAAA,CAAA,CAAM,sBAAMC,GAAA,EAAK;AAAA,cACjC,MAAK;AAAA,cACL,cAAYf,EAAE,wBAAwB,EAAE,OAAAT,GAAO;AAAA,cAC/C,SAASiB;AAAA,cACT,QAAO;AAAA,cACP,WACEf,MAAW,eACP,2BACA;AAAA,YAAA;AAAA,UAAA;AAAA,UAIV,gBAAAmB,EAAC,UAAK,MAAK,UAAS,aAAU,UAAS,WAAU,cAC9C,UAAAP,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AAEAhB,EAAa,cAAc;"}
@@ -2,19 +2,19 @@ import { jsx as e, jsxs as c, Fragment as A } from "react/jsx-runtime";
2
2
  import { forwardRef as k, useMemo as U } from "react";
3
3
  import * as ee from "@radix-ui/react-dialog";
4
4
  import { useTranslation as y } from "react-i18next";
5
- import { F as se } from "./floating-action-button-Cnw-f6AG.js";
6
- import { I as B } from "./icon-button-Wnnde5lc.js";
7
- import { S as E } from "./sheet-BhNpLHc9.js";
5
+ import { F as se } from "./floating-action-button-C8OYj8mE.js";
6
+ import { I as B } from "./icon-button-C4CGcYuz.js";
7
+ import { S as E } from "./sheet-4tgMFwj0.js";
8
8
  import { X as de } from "./x-CCcI3eJp.js";
9
9
  import { A as L } from "./avatar-Dcr6XuDQ.js";
10
- import { B as D } from "./button-7mLWcMp_.js";
11
- import { C as ae } from "./chat-container-Cm3SlR2p.js";
12
- import { C as re } from "./chat-message-ByouZpPP.js";
13
- import { C as le } from "./chat-input-DreOPP8A.js";
10
+ import { B as D } from "./button-DD_0Xdmr.js";
11
+ import { C as ae } from "./chat-container-ClzsWXp2.js";
12
+ import { C as re } from "./chat-message-DoAhgUTj.js";
13
+ import { C as le } from "./chat-input-DOlsB1fm.js";
14
14
  import { S as ie } from "./streaming-text-BgjCTVOw.js";
15
- import { a as q, S as O } from "./suggestion-chip-BNJ2M8Os.js";
16
- import { T as oe } from "./typing-indicator-CbUBf-Dx.js";
17
- import { P as te } from "./progress-B4Of_pzz.js";
15
+ import { a as q, S as O } from "./suggestion-chip-C4Jz0LrM.js";
16
+ import { T as oe } from "./typing-indicator-BZ5jXZPn.js";
17
+ import { P as te } from "./progress-C11tqhoI.js";
18
18
  import { S as ne } from "./square-CZoGU14v.js";
19
19
  import { c as ce } from "./createLucideIcon-CrFbzy84.js";
20
20
  import { P as me } from "./plus-CYKNmfuA.js";
@@ -114,7 +114,6 @@ function ve({
114
114
  return /* @__PURE__ */ c(
115
115
  "section",
116
116
  {
117
- role: "region",
118
117
  "aria-labelledby": l,
119
118
  className: [
120
119
  "ds:flex ds:flex-1 ds:min-h-0 ds:flex-col ds:items-center ds:justify-center",
@@ -336,13 +335,7 @@ const C = k(
336
335
  "ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]",
337
336
  "ds:bg-muted/40"
338
337
  ].join(" "),
339
- children: /* @__PURE__ */ e(
340
- oe,
341
- {
342
- label: p("chat.typing"),
343
- density: x
344
- }
345
- )
338
+ children: /* @__PURE__ */ e(oe, { label: p("chat.typing"), density: x })
346
339
  }
347
340
  )
348
341
  ] })
@@ -359,7 +352,10 @@ const C = k(
359
352
  r,
360
353
  x,
361
354
  p
362
- ]), G = l ? Math.min(100, Math.max(0, l.current / Math.max(1, l.limit) * 100)) : 0, z = l ? l.current >= l.limit : !1, F = l ? l.label ?? p("leo.usageLabel", {
355
+ ]), G = l ? Math.min(
356
+ 100,
357
+ Math.max(0, l.current / Math.max(1, l.limit) * 100)
358
+ ) : 0, z = l ? l.current >= l.limit : !1, F = l ? l.label ?? p("leo.usageLabel", {
363
359
  current: l.current,
364
360
  limit: l.limit
365
361
  }) : null, R = s.length === 0 && !t, H = /* @__PURE__ */ c("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
@@ -760,4 +756,4 @@ export {
760
756
  we as b,
761
757
  Ce as c
762
758
  };
763
- //# sourceMappingURL=leo-sidebar-nbHib2D-.js.map
759
+ //# sourceMappingURL=leo-sidebar-CfEY-xi2.js.map