@alfadocs/ui-kit-debug 0.1.8

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 (1220) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +132 -0
  3. package/dist/_chunks/accordion-B6fyINUk.js +118 -0
  4. package/dist/_chunks/accordion-B6fyINUk.js.map +1 -0
  5. package/dist/_chunks/accordion.agent-Cz-yglRa.js +17 -0
  6. package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +1 -0
  7. package/dist/_chunks/agenda-card-DIWDvWum.js +131 -0
  8. package/dist/_chunks/agenda-card-DIWDvWum.js.map +1 -0
  9. package/dist/_chunks/agenda-tray-BqQZwiHc.js +120 -0
  10. package/dist/_chunks/agenda-tray-BqQZwiHc.js.map +1 -0
  11. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +380 -0
  12. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js.map +1 -0
  13. package/dist/_chunks/alert-BlOUMkXj.js +188 -0
  14. package/dist/_chunks/alert-BlOUMkXj.js.map +1 -0
  15. package/dist/_chunks/apexcharts-theme-BkSShpEy.js +48 -0
  16. package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +1 -0
  17. package/dist/_chunks/app-frame-6d7Lu4ea.js +130 -0
  18. package/dist/_chunks/app-frame-6d7Lu4ea.js.map +1 -0
  19. package/dist/_chunks/aspect-ratio-CxsdG8vk.js +57 -0
  20. package/dist/_chunks/aspect-ratio-CxsdG8vk.js.map +1 -0
  21. package/dist/_chunks/audio-recorder-B-8SKgKn.js +376 -0
  22. package/dist/_chunks/audio-recorder-B-8SKgKn.js.map +1 -0
  23. package/dist/_chunks/audio-visualiser-CeMPCZkd.js +139 -0
  24. package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +1 -0
  25. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +372 -0
  26. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js.map +1 -0
  27. package/dist/_chunks/avatar-Dcr6XuDQ.js +114 -0
  28. package/dist/_chunks/avatar-Dcr6XuDQ.js.map +1 -0
  29. package/dist/_chunks/badge-mrstWxve.js +105 -0
  30. package/dist/_chunks/badge-mrstWxve.js.map +1 -0
  31. package/dist/_chunks/balance-cell-renderer-BWm3knY9.js +996 -0
  32. package/dist/_chunks/balance-cell-renderer-BWm3knY9.js.map +1 -0
  33. package/dist/_chunks/breadcrumb-D6xpsP7n.js +293 -0
  34. package/dist/_chunks/breadcrumb-D6xpsP7n.js.map +1 -0
  35. package/dist/_chunks/button-7mLWcMp_.js +119 -0
  36. package/dist/_chunks/button-7mLWcMp_.js.map +1 -0
  37. package/dist/_chunks/button-group-CONver7M.js +121 -0
  38. package/dist/_chunks/button-group-CONver7M.js.map +1 -0
  39. package/dist/_chunks/button.agent-BuGZBktn.js +17 -0
  40. package/dist/_chunks/button.agent-BuGZBktn.js.map +1 -0
  41. package/dist/_chunks/calendar-nGEgelJs.js +1041 -0
  42. package/dist/_chunks/calendar-nGEgelJs.js.map +1 -0
  43. package/dist/_chunks/card-BEy58ZKp.js +159 -0
  44. package/dist/_chunks/card-BEy58ZKp.js.map +1 -0
  45. package/dist/_chunks/chart.agent-BdS-_8MO.js +269 -0
  46. package/dist/_chunks/chart.agent-BdS-_8MO.js.map +1 -0
  47. package/dist/_chunks/chat-container-Cm3SlR2p.js +174 -0
  48. package/dist/_chunks/chat-container-Cm3SlR2p.js.map +1 -0
  49. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js +22 -0
  50. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +1 -0
  51. package/dist/_chunks/chat-input-DreOPP8A.js +226 -0
  52. package/dist/_chunks/chat-input-DreOPP8A.js.map +1 -0
  53. package/dist/_chunks/chat-message-ByouZpPP.js +229 -0
  54. package/dist/_chunks/chat-message-ByouZpPP.js.map +1 -0
  55. package/dist/_chunks/check-DPdL_Sm7.js +12 -0
  56. package/dist/_chunks/check-DPdL_Sm7.js.map +1 -0
  57. package/dist/_chunks/checkbox-DNK4qS2_.js +116 -0
  58. package/dist/_chunks/checkbox-DNK4qS2_.js.map +1 -0
  59. package/dist/_chunks/checkbox-group-CWpGZEF6.js +146 -0
  60. package/dist/_chunks/checkbox-group-CWpGZEF6.js.map +1 -0
  61. package/dist/_chunks/chevron-down-BX_NP2Yh.js +12 -0
  62. package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +1 -0
  63. package/dist/_chunks/chevron-left-CX1jqD2M.js +12 -0
  64. package/dist/_chunks/chevron-left-CX1jqD2M.js.map +1 -0
  65. package/dist/_chunks/chevron-right-BrpYejk0.js +12 -0
  66. package/dist/_chunks/chevron-right-BrpYejk0.js.map +1 -0
  67. package/dist/_chunks/chevron-up-zOEDrmBB.js +12 -0
  68. package/dist/_chunks/chevron-up-zOEDrmBB.js.map +1 -0
  69. package/dist/_chunks/chevrons-right-d9MwesPG.js +26 -0
  70. package/dist/_chunks/chevrons-right-d9MwesPG.js.map +1 -0
  71. package/dist/_chunks/circle-BkqTgYmt.js +12 -0
  72. package/dist/_chunks/circle-BkqTgYmt.js.map +1 -0
  73. package/dist/_chunks/circle-alert-ChA9opNA.js +16 -0
  74. package/dist/_chunks/circle-alert-ChA9opNA.js.map +1 -0
  75. package/dist/_chunks/circle-check-9AeSgJD_.js +15 -0
  76. package/dist/_chunks/circle-check-9AeSgJD_.js.map +1 -0
  77. package/dist/_chunks/circle-x-Du2CmjaU.js +16 -0
  78. package/dist/_chunks/circle-x-Du2CmjaU.js.map +1 -0
  79. package/dist/_chunks/clock-21AGPWJ5.js +15 -0
  80. package/dist/_chunks/clock-21AGPWJ5.js.map +1 -0
  81. package/dist/_chunks/collapsible-D4LOdLxp.js +67 -0
  82. package/dist/_chunks/collapsible-D4LOdLxp.js.map +1 -0
  83. package/dist/_chunks/color-picker-e9PmpaGH.js +556 -0
  84. package/dist/_chunks/color-picker-e9PmpaGH.js.map +1 -0
  85. package/dist/_chunks/combobox.agent-ByobCLJ_.js +350 -0
  86. package/dist/_chunks/combobox.agent-ByobCLJ_.js.map +1 -0
  87. package/dist/_chunks/command-palette.agent-js2rxgeR.js +351 -0
  88. package/dist/_chunks/command-palette.agent-js2rxgeR.js.map +1 -0
  89. package/dist/_chunks/compose-refs-C0k0tdqF.js +10 -0
  90. package/dist/_chunks/compose-refs-C0k0tdqF.js.map +1 -0
  91. package/dist/_chunks/copy-B00HK7tj.js +15 -0
  92. package/dist/_chunks/copy-B00HK7tj.js.map +1 -0
  93. package/dist/_chunks/createLucideIcon-CrFbzy84.js +117 -0
  94. package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +1 -0
  95. package/dist/_chunks/date-picker-DYXNsWmM.js +1726 -0
  96. package/dist/_chunks/date-picker-DYXNsWmM.js.map +1 -0
  97. package/dist/_chunks/date-range-picker-BcNDJI7m.js +183 -0
  98. package/dist/_chunks/date-range-picker-BcNDJI7m.js.map +1 -0
  99. package/dist/_chunks/date-time-picker-CmGiTU__.js +202 -0
  100. package/dist/_chunks/date-time-picker-CmGiTU__.js.map +1 -0
  101. package/dist/_chunks/description-list-DvJbp6Yg.js +188 -0
  102. package/dist/_chunks/description-list-DvJbp6Yg.js.map +1 -0
  103. package/dist/_chunks/dialog.agent-DEG_fVzG.js +147 -0
  104. package/dist/_chunks/dialog.agent-DEG_fVzG.js.map +1 -0
  105. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js +215 -0
  106. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js.map +1 -0
  107. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +17 -0
  108. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +1 -0
  109. package/dist/_chunks/ellipsis-rgGdiK_9.js +16 -0
  110. package/dist/_chunks/ellipsis-rgGdiK_9.js.map +1 -0
  111. package/dist/_chunks/empty-state-DQPtRp2b.js +304 -0
  112. package/dist/_chunks/empty-state-DQPtRp2b.js.map +1 -0
  113. package/dist/_chunks/eye-off-xEXDAh5z.js +29 -0
  114. package/dist/_chunks/eye-off-xEXDAh5z.js.map +1 -0
  115. package/dist/_chunks/file-text-DSNuv2B8.js +24 -0
  116. package/dist/_chunks/file-text-DSNuv2B8.js.map +1 -0
  117. package/dist/_chunks/file-upload.agent-B9AN82LA.js +649 -0
  118. package/dist/_chunks/file-upload.agent-B9AN82LA.js.map +1 -0
  119. package/dist/_chunks/flag-DZ6V7-hU.js +637 -0
  120. package/dist/_chunks/flag-DZ6V7-hU.js.map +1 -0
  121. package/dist/_chunks/floating-action-button-Cnw-f6AG.js +96 -0
  122. package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +1 -0
  123. package/dist/_chunks/form-field-BfsPLTSc.js +122 -0
  124. package/dist/_chunks/form-field-BfsPLTSc.js.map +1 -0
  125. package/dist/_chunks/form-field-context-94LwgYTQ.js +19 -0
  126. package/dist/_chunks/form-field-context-94LwgYTQ.js.map +1 -0
  127. package/dist/_chunks/freemium-paywall-CkefGLM_.js +198 -0
  128. package/dist/_chunks/freemium-paywall-CkefGLM_.js.map +1 -0
  129. package/dist/_chunks/globe-BkEFMNSg.js +16 -0
  130. package/dist/_chunks/globe-BkEFMNSg.js.map +1 -0
  131. package/dist/_chunks/group-options-BvKhQ3xb.js +16 -0
  132. package/dist/_chunks/group-options-BvKhQ3xb.js.map +1 -0
  133. package/dist/_chunks/header-BGn1mRp8.js +311 -0
  134. package/dist/_chunks/header-BGn1mRp8.js.map +1 -0
  135. package/dist/_chunks/icon-button-Wnnde5lc.js +46 -0
  136. package/dist/_chunks/icon-button-Wnnde5lc.js.map +1 -0
  137. package/dist/_chunks/icon-button-group-DeV3FpNY.js +205 -0
  138. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +1 -0
  139. package/dist/_chunks/index-4xgbg-sn.js +317 -0
  140. package/dist/_chunks/index-4xgbg-sn.js.map +1 -0
  141. package/dist/_chunks/index-CJE9uQmb.js +646 -0
  142. package/dist/_chunks/index-CJE9uQmb.js.map +1 -0
  143. package/dist/_chunks/index-CeY1nNvd.js +2853 -0
  144. package/dist/_chunks/index-CeY1nNvd.js.map +1 -0
  145. package/dist/_chunks/index-D2ZczOXr.js +48 -0
  146. package/dist/_chunks/index-D2ZczOXr.js.map +1 -0
  147. package/dist/_chunks/info-B9XNKn05.js +16 -0
  148. package/dist/_chunks/info-B9XNKn05.js.map +1 -0
  149. package/dist/_chunks/input-surface-u4QB0lxe.js +32 -0
  150. package/dist/_chunks/input-surface-u4QB0lxe.js.map +1 -0
  151. package/dist/_chunks/isSameDay-ecuM8PBB.js +39 -0
  152. package/dist/_chunks/isSameDay-ecuM8PBB.js.map +1 -0
  153. package/dist/_chunks/isSameMonth-5wNF2f4I.js +1307 -0
  154. package/dist/_chunks/isSameMonth-5wNF2f4I.js.map +1 -0
  155. package/dist/_chunks/kbd-8baVw3KU.js +224 -0
  156. package/dist/_chunks/kbd-8baVw3KU.js.map +1 -0
  157. package/dist/_chunks/key-value-pair-JRFS9Xrh.js +76 -0
  158. package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +1 -0
  159. package/dist/_chunks/leo-sidebar-nbHib2D-.js +763 -0
  160. package/dist/_chunks/leo-sidebar-nbHib2D-.js.map +1 -0
  161. package/dist/_chunks/list-B1ozIjQe.js +359 -0
  162. package/dist/_chunks/list-B1ozIjQe.js.map +1 -0
  163. package/dist/_chunks/live-region-C41SO3cA.js +58 -0
  164. package/dist/_chunks/live-region-C41SO3cA.js.map +1 -0
  165. package/dist/_chunks/log-out-616hnn2-.js +16 -0
  166. package/dist/_chunks/log-out-616hnn2-.js.map +1 -0
  167. package/dist/_chunks/logo-BpFoCL-s.js +145 -0
  168. package/dist/_chunks/logo-BpFoCL-s.js.map +1 -0
  169. package/dist/_chunks/mail-C8irm52s.js +15 -0
  170. package/dist/_chunks/mail-C8irm52s.js.map +1 -0
  171. package/dist/_chunks/matrix-rain-BEkvux64.js +238 -0
  172. package/dist/_chunks/matrix-rain-BEkvux64.js.map +1 -0
  173. package/dist/_chunks/message-card-qAp2-WQK.js +276 -0
  174. package/dist/_chunks/message-card-qAp2-WQK.js.map +1 -0
  175. package/dist/_chunks/message-tray-VaLpQU5t.js +303 -0
  176. package/dist/_chunks/message-tray-VaLpQU5t.js.map +1 -0
  177. package/dist/_chunks/multi-select.agent-CNsyW3n9.js +450 -0
  178. package/dist/_chunks/multi-select.agent-CNsyW3n9.js.map +1 -0
  179. package/dist/_chunks/navigation-menu-EVFau1O2.js +180 -0
  180. package/dist/_chunks/navigation-menu-EVFau1O2.js.map +1 -0
  181. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js +7 -0
  182. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +1 -0
  183. package/dist/_chunks/notification-card-BF2_veHy.js +256 -0
  184. package/dist/_chunks/notification-card-BF2_veHy.js.map +1 -0
  185. package/dist/_chunks/notification-tray-B7U5YZYg.js +328 -0
  186. package/dist/_chunks/notification-tray-B7U5YZYg.js.map +1 -0
  187. package/dist/_chunks/number-input-DjpT_RXJ.js +249 -0
  188. package/dist/_chunks/number-input-DjpT_RXJ.js.map +1 -0
  189. package/dist/_chunks/otp-input-De5_Ih7B.js +189 -0
  190. package/dist/_chunks/otp-input-De5_Ih7B.js.map +1 -0
  191. package/dist/_chunks/pagination.agent-oEaqmtx5.js +380 -0
  192. package/dist/_chunks/pagination.agent-oEaqmtx5.js.map +1 -0
  193. package/dist/_chunks/password-input-DJDVznWH.js +193 -0
  194. package/dist/_chunks/password-input-DJDVznWH.js.map +1 -0
  195. package/dist/_chunks/patient-shell-7cXqIMFg.js +193 -0
  196. package/dist/_chunks/patient-shell-7cXqIMFg.js.map +1 -0
  197. package/dist/_chunks/payment-form-hcl-gGrp.js +579 -0
  198. package/dist/_chunks/payment-form-hcl-gGrp.js.map +1 -0
  199. package/dist/_chunks/payment-form.agent-BkEnRerR.js +26 -0
  200. package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +1 -0
  201. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js +859 -0
  202. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js.map +1 -0
  203. package/dist/_chunks/phone-input-DE_39q65.js +428 -0
  204. package/dist/_chunks/phone-input-DE_39q65.js.map +1 -0
  205. package/dist/_chunks/plus-CYKNmfuA.js +15 -0
  206. package/dist/_chunks/plus-CYKNmfuA.js.map +1 -0
  207. package/dist/_chunks/popover-C3CTUsqh.js +227 -0
  208. package/dist/_chunks/popover-C3CTUsqh.js.map +1 -0
  209. package/dist/_chunks/popover.agent-C0qOx9WT.js +13 -0
  210. package/dist/_chunks/popover.agent-C0qOx9WT.js.map +1 -0
  211. package/dist/_chunks/printer-CeVEWfQq.js +22 -0
  212. package/dist/_chunks/printer-CeVEWfQq.js.map +1 -0
  213. package/dist/_chunks/privacy-lock-CQpgkLec.js +132 -0
  214. package/dist/_chunks/privacy-lock-CQpgkLec.js.map +1 -0
  215. package/dist/_chunks/progress-B4Of_pzz.js +252 -0
  216. package/dist/_chunks/progress-B4Of_pzz.js.map +1 -0
  217. package/dist/_chunks/progress.agent-CXkHURjX.js +22 -0
  218. package/dist/_chunks/progress.agent-CXkHURjX.js.map +1 -0
  219. package/dist/_chunks/purify.es-DpIUMBYC.js +561 -0
  220. package/dist/_chunks/purify.es-DpIUMBYC.js.map +1 -0
  221. package/dist/_chunks/radio-cs8N1wJi.js +107 -0
  222. package/dist/_chunks/radio-cs8N1wJi.js.map +1 -0
  223. package/dist/_chunks/radio-group-BIUbpWml.js +89 -0
  224. package/dist/_chunks/radio-group-BIUbpWml.js.map +1 -0
  225. package/dist/_chunks/react-day-picker-C04L_28V.js +1824 -0
  226. package/dist/_chunks/react-day-picker-C04L_28V.js.map +1 -0
  227. package/dist/_chunks/registry-C9nwlNyL.js +21 -0
  228. package/dist/_chunks/registry-C9nwlNyL.js.map +1 -0
  229. package/dist/_chunks/resizable.agent-DBpPGNdy.js +435 -0
  230. package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +1 -0
  231. package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js +835 -0
  232. package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js.map +1 -0
  233. package/dist/_chunks/safe-image-src-DstKgCo7.js +14 -0
  234. package/dist/_chunks/safe-image-src-DstKgCo7.js.map +1 -0
  235. package/dist/_chunks/scroll-area-DLr5w9Dd.js +146 -0
  236. package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +1 -0
  237. package/dist/_chunks/search-BonnQsHv.js +15 -0
  238. package/dist/_chunks/search-BonnQsHv.js.map +1 -0
  239. package/dist/_chunks/search-bar-fcGqDFW3.js +397 -0
  240. package/dist/_chunks/search-bar-fcGqDFW3.js.map +1 -0
  241. package/dist/_chunks/search-input-BVMCONyN.js +197 -0
  242. package/dist/_chunks/search-input-BVMCONyN.js.map +1 -0
  243. package/dist/_chunks/select-IY_JQa-F.js +321 -0
  244. package/dist/_chunks/select-IY_JQa-F.js.map +1 -0
  245. package/dist/_chunks/send-CySZIRPJ.js +21 -0
  246. package/dist/_chunks/send-CySZIRPJ.js.map +1 -0
  247. package/dist/_chunks/separator-B4wXDLNC.js +59 -0
  248. package/dist/_chunks/separator-B4wXDLNC.js.map +1 -0
  249. package/dist/_chunks/sheet-BhNpLHc9.js +189 -0
  250. package/dist/_chunks/sheet-BhNpLHc9.js.map +1 -0
  251. package/dist/_chunks/sheet.agent-DwQlBqK9.js +13 -0
  252. package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +1 -0
  253. package/dist/_chunks/sidebar-OVzwN3jE.js +1077 -0
  254. package/dist/_chunks/sidebar-OVzwN3jE.js.map +1 -0
  255. package/dist/_chunks/sidebar.agent-B0fnH9CC.js +17 -0
  256. package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +1 -0
  257. package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js +45 -0
  258. package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +1 -0
  259. package/dist/_chunks/signature-capture.agent-C38VPXxg.js +485 -0
  260. package/dist/_chunks/signature-capture.agent-C38VPXxg.js.map +1 -0
  261. package/dist/_chunks/skeleton-dtqyF09N.js +97 -0
  262. package/dist/_chunks/skeleton-dtqyF09N.js.map +1 -0
  263. package/dist/_chunks/skip-link-DmZ3c6cb.js +69 -0
  264. package/dist/_chunks/skip-link-DmZ3c6cb.js.map +1 -0
  265. package/dist/_chunks/slider-DjyRt3Mp.js +274 -0
  266. package/dist/_chunks/slider-DjyRt3Mp.js.map +1 -0
  267. package/dist/_chunks/slot-grid-D_l5VsHG.js +492 -0
  268. package/dist/_chunks/slot-grid-D_l5VsHG.js.map +1 -0
  269. package/dist/_chunks/sparkline.agent-C_xp3NRB.js +238 -0
  270. package/dist/_chunks/sparkline.agent-C_xp3NRB.js.map +1 -0
  271. package/dist/_chunks/spinner-GCcv67vh.js +164 -0
  272. package/dist/_chunks/spinner-GCcv67vh.js.map +1 -0
  273. package/dist/_chunks/square-CZoGU14v.js +14 -0
  274. package/dist/_chunks/square-CZoGU14v.js.map +1 -0
  275. package/dist/_chunks/square-check-big-Jr-0202D.js +18 -0
  276. package/dist/_chunks/square-check-big-Jr-0202D.js.map +1 -0
  277. package/dist/_chunks/stat-DUB6g90R.js +210 -0
  278. package/dist/_chunks/stat-DUB6g90R.js.map +1 -0
  279. package/dist/_chunks/stepper-C-sIpRRU.js +7 -0
  280. package/dist/_chunks/stepper-C-sIpRRU.js.map +1 -0
  281. package/dist/_chunks/stepper-accordion-CGog0JSF.js +233 -0
  282. package/dist/_chunks/stepper-accordion-CGog0JSF.js.map +1 -0
  283. package/dist/_chunks/stepper-calendar-_fLOAjus.js +570 -0
  284. package/dist/_chunks/stepper-calendar-_fLOAjus.js.map +1 -0
  285. package/dist/_chunks/stepper-progress-rE7tn7WY.js +129 -0
  286. package/dist/_chunks/stepper-progress-rE7tn7WY.js.map +1 -0
  287. package/dist/_chunks/streaming-text-BgjCTVOw.js +105 -0
  288. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +1 -0
  289. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +158 -0
  290. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js.map +1 -0
  291. package/dist/_chunks/switch-aN2EYxHh.js +138 -0
  292. package/dist/_chunks/switch-aN2EYxHh.js.map +1 -0
  293. package/dist/_chunks/tabs.agent-BpbVA-Zh.js +348 -0
  294. package/dist/_chunks/tabs.agent-BpbVA-Zh.js.map +1 -0
  295. package/dist/_chunks/tag-BqidXKo3.js +197 -0
  296. package/dist/_chunks/tag-BqidXKo3.js.map +1 -0
  297. package/dist/_chunks/task-card-yW7tKlG4.js +113 -0
  298. package/dist/_chunks/task-card-yW7tKlG4.js.map +1 -0
  299. package/dist/_chunks/task-tray-BzahI5FQ.js +100 -0
  300. package/dist/_chunks/task-tray-BzahI5FQ.js.map +1 -0
  301. package/dist/_chunks/text-area-DmKSd2DG.js +152 -0
  302. package/dist/_chunks/text-area-DmKSd2DG.js.map +1 -0
  303. package/dist/_chunks/text-input-CRHvl5zk.js +188 -0
  304. package/dist/_chunks/text-input-CRHvl5zk.js.map +1 -0
  305. package/dist/_chunks/theme-root-DDb0TJjd.js +18 -0
  306. package/dist/_chunks/theme-root-DDb0TJjd.js.map +1 -0
  307. package/dist/_chunks/theme-toggle-BHiMMEQN.js +329 -0
  308. package/dist/_chunks/theme-toggle-BHiMMEQN.js.map +1 -0
  309. package/dist/_chunks/time-picker-D-EueWUG.js +322 -0
  310. package/dist/_chunks/time-picker-D-EueWUG.js.map +1 -0
  311. package/dist/_chunks/timeline-RgAIzpMd.js +220 -0
  312. package/dist/_chunks/timeline-RgAIzpMd.js.map +1 -0
  313. package/dist/_chunks/timestamp-BV2lC-wV.js +109 -0
  314. package/dist/_chunks/timestamp-BV2lC-wV.js.map +1 -0
  315. package/dist/_chunks/toast-lOhJDKOH.js +884 -0
  316. package/dist/_chunks/toast-lOhJDKOH.js.map +1 -0
  317. package/dist/_chunks/tooltip-DHik5yRI.js +98 -0
  318. package/dist/_chunks/tooltip-DHik5yRI.js.map +1 -0
  319. package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js +762 -0
  320. package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js.map +1 -0
  321. package/dist/_chunks/transcript-panel-CNbVGG9L.js +266 -0
  322. package/dist/_chunks/transcript-panel-CNbVGG9L.js.map +1 -0
  323. package/dist/_chunks/triangle-alert-CBPUIzQo.js +22 -0
  324. package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +1 -0
  325. package/dist/_chunks/typing-indicator-CbUBf-Dx.js +82 -0
  326. package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +1 -0
  327. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js +28 -0
  328. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +1 -0
  329. package/dist/_chunks/use-direction-D6rvvG9G.js +40 -0
  330. package/dist/_chunks/use-direction-D6rvvG9G.js.map +1 -0
  331. package/dist/_chunks/use-locale-BuXR_Zl9.js +32 -0
  332. package/dist/_chunks/use-locale-BuXR_Zl9.js.map +1 -0
  333. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js +15 -0
  334. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +1 -0
  335. package/dist/_chunks/use-theme-BMUhembX.js +148 -0
  336. package/dist/_chunks/use-theme-BMUhembX.js.map +1 -0
  337. package/dist/_chunks/user-CPxpqFjJ.js +15 -0
  338. package/dist/_chunks/user-CPxpqFjJ.js.map +1 -0
  339. package/dist/_chunks/visually-hidden-Bw7vBHLm.js +21 -0
  340. package/dist/_chunks/visually-hidden-Bw7vBHLm.js.map +1 -0
  341. package/dist/_chunks/warning-stack-8Pa3pekh.js +181 -0
  342. package/dist/_chunks/warning-stack-8Pa3pekh.js.map +1 -0
  343. package/dist/_chunks/workflow-map-XeqHDFvp.js +1340 -0
  344. package/dist/_chunks/workflow-map-XeqHDFvp.js.map +1 -0
  345. package/dist/_chunks/x-CCcI3eJp.js +15 -0
  346. package/dist/_chunks/x-CCcI3eJp.js.map +1 -0
  347. package/dist/agent/index.d.ts +5 -0
  348. package/dist/agent/index.d.ts.map +1 -0
  349. package/dist/agent/registry.d.ts +26 -0
  350. package/dist/agent/registry.d.ts.map +1 -0
  351. package/dist/agent/types.d.ts +148 -0
  352. package/dist/agent/types.d.ts.map +1 -0
  353. package/dist/agent-catalog.json +813 -0
  354. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts +12 -0
  355. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +1 -0
  356. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts +14 -0
  357. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +1 -0
  358. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts +13 -0
  359. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +1 -0
  360. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts +12 -0
  361. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +1 -0
  362. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts +12 -0
  363. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +1 -0
  364. package/dist/brand/logo-asset/index.d.ts +6 -0
  365. package/dist/brand/logo-asset/index.d.ts.map +1 -0
  366. package/dist/components/_shared/calendar-chevron.d.ts +4 -0
  367. package/dist/components/_shared/calendar-chevron.d.ts.map +1 -0
  368. package/dist/components/_shared/compose-refs.d.ts +3 -0
  369. package/dist/components/_shared/compose-refs.d.ts.map +1 -0
  370. package/dist/components/_shared/date-locale.d.ts +5 -0
  371. package/dist/components/_shared/date-locale.d.ts.map +1 -0
  372. package/dist/components/_shared/date-picker-variants.d.ts +10 -0
  373. package/dist/components/_shared/date-picker-variants.d.ts.map +1 -0
  374. package/dist/components/_shared/date-utils.d.ts +3 -0
  375. package/dist/components/_shared/date-utils.d.ts.map +1 -0
  376. package/dist/components/_shared/group-options.d.ts +6 -0
  377. package/dist/components/_shared/group-options.d.ts.map +1 -0
  378. package/dist/components/_shared/index.d.ts +17 -0
  379. package/dist/components/_shared/index.d.ts.map +1 -0
  380. package/dist/components/_shared/input-surface.d.ts +23 -0
  381. package/dist/components/_shared/input-surface.d.ts.map +1 -0
  382. package/dist/components/_shared/normalize-diacritics.d.ts +2 -0
  383. package/dist/components/_shared/normalize-diacritics.d.ts.map +1 -0
  384. package/dist/components/_shared/option.d.ts +8 -0
  385. package/dist/components/_shared/option.d.ts.map +1 -0
  386. package/dist/components/_shared/safe-html.d.ts +30 -0
  387. package/dist/components/_shared/safe-html.d.ts.map +1 -0
  388. package/dist/components/_shared/safe-image-src.d.ts +3 -0
  389. package/dist/components/_shared/safe-image-src.d.ts.map +1 -0
  390. package/dist/components/_shared/stepper.d.ts +17 -0
  391. package/dist/components/_shared/stepper.d.ts.map +1 -0
  392. package/dist/components/_shared/time.d.ts +6 -0
  393. package/dist/components/_shared/time.d.ts.map +1 -0
  394. package/dist/components/_shared/use-debounced-callback.d.ts +6 -0
  395. package/dist/components/_shared/use-debounced-callback.d.ts.map +1 -0
  396. package/dist/components/_shared/use-direction.d.ts +19 -0
  397. package/dist/components/_shared/use-direction.d.ts.map +1 -0
  398. package/dist/components/_shared/use-focus-trap.d.ts +32 -0
  399. package/dist/components/_shared/use-focus-trap.d.ts.map +1 -0
  400. package/dist/components/_shared/use-neutralize-hidden-focus.d.ts +3 -0
  401. package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +1 -0
  402. package/dist/components/accordion/accordion.agent.d.ts +3 -0
  403. package/dist/components/accordion/accordion.agent.d.ts.map +1 -0
  404. package/dist/components/accordion/accordion.d.ts +41 -0
  405. package/dist/components/accordion/accordion.d.ts.map +1 -0
  406. package/dist/components/accordion/index.d.ts +4 -0
  407. package/dist/components/accordion/index.d.ts.map +1 -0
  408. package/dist/components/accordion/index.js +10 -0
  409. package/dist/components/accordion/index.js.map +1 -0
  410. package/dist/components/agenda-card/agenda-card.d.ts +36 -0
  411. package/dist/components/agenda-card/agenda-card.d.ts.map +1 -0
  412. package/dist/components/agenda-card/index.d.ts +3 -0
  413. package/dist/components/agenda-card/index.d.ts.map +1 -0
  414. package/dist/components/agenda-card/index.js +6 -0
  415. package/dist/components/agenda-card/index.js.map +1 -0
  416. package/dist/components/agenda-tray/agenda-tray.d.ts +24 -0
  417. package/dist/components/agenda-tray/agenda-tray.d.ts.map +1 -0
  418. package/dist/components/agenda-tray/index.d.ts +3 -0
  419. package/dist/components/agenda-tray/index.d.ts.map +1 -0
  420. package/dist/components/agenda-tray/index.js +5 -0
  421. package/dist/components/agenda-tray/index.js.map +1 -0
  422. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +49 -0
  423. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
  424. package/dist/components/ai-prompt-input/index.d.ts +3 -0
  425. package/dist/components/ai-prompt-input/index.d.ts.map +1 -0
  426. package/dist/components/ai-prompt-input/index.js +5 -0
  427. package/dist/components/ai-prompt-input/index.js.map +1 -0
  428. package/dist/components/alert/alert.d.ts +23 -0
  429. package/dist/components/alert/alert.d.ts.map +1 -0
  430. package/dist/components/alert/index.d.ts +2 -0
  431. package/dist/components/alert/index.d.ts.map +1 -0
  432. package/dist/components/alert/index.js +5 -0
  433. package/dist/components/alert/index.js.map +1 -0
  434. package/dist/components/app-frame/app-frame.d.ts +33 -0
  435. package/dist/components/app-frame/app-frame.d.ts.map +1 -0
  436. package/dist/components/app-frame/index.d.ts +3 -0
  437. package/dist/components/app-frame/index.d.ts.map +1 -0
  438. package/dist/components/app-frame/index.js +5 -0
  439. package/dist/components/app-frame/index.js.map +1 -0
  440. package/dist/components/aspect-ratio/aspect-ratio.d.ts +16 -0
  441. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +1 -0
  442. package/dist/components/aspect-ratio/index.d.ts +4 -0
  443. package/dist/components/aspect-ratio/index.d.ts.map +1 -0
  444. package/dist/components/aspect-ratio/index.js +7 -0
  445. package/dist/components/aspect-ratio/index.js.map +1 -0
  446. package/dist/components/audio-recorder/audio-recorder.d.ts +26 -0
  447. package/dist/components/audio-recorder/audio-recorder.d.ts.map +1 -0
  448. package/dist/components/audio-recorder/index.d.ts +3 -0
  449. package/dist/components/audio-recorder/index.d.ts.map +1 -0
  450. package/dist/components/audio-recorder/index.js +5 -0
  451. package/dist/components/audio-recorder/index.js.map +1 -0
  452. package/dist/components/audio-visualiser/audio-visualiser.d.ts +18 -0
  453. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +1 -0
  454. package/dist/components/audio-visualiser/index.d.ts +3 -0
  455. package/dist/components/audio-visualiser/index.d.ts.map +1 -0
  456. package/dist/components/audio-visualiser/index.js +5 -0
  457. package/dist/components/audio-visualiser/index.js.map +1 -0
  458. package/dist/components/autocomplete/autocomplete.agent.d.ts +3 -0
  459. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -0
  460. package/dist/components/autocomplete/autocomplete.d.ts +41 -0
  461. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -0
  462. package/dist/components/autocomplete/index.d.ts +4 -0
  463. package/dist/components/autocomplete/index.d.ts.map +1 -0
  464. package/dist/components/autocomplete/index.js +7 -0
  465. package/dist/components/autocomplete/index.js.map +1 -0
  466. package/dist/components/avatar/avatar.d.ts +29 -0
  467. package/dist/components/avatar/avatar.d.ts.map +1 -0
  468. package/dist/components/avatar/index.d.ts +3 -0
  469. package/dist/components/avatar/index.d.ts.map +1 -0
  470. package/dist/components/avatar/index.js +7 -0
  471. package/dist/components/avatar/index.js.map +1 -0
  472. package/dist/components/badge/badge.d.ts +20 -0
  473. package/dist/components/badge/badge.d.ts.map +1 -0
  474. package/dist/components/badge/index.d.ts +3 -0
  475. package/dist/components/badge/index.d.ts.map +1 -0
  476. package/dist/components/badge/index.js +5 -0
  477. package/dist/components/badge/index.js.map +1 -0
  478. package/dist/components/breadcrumb/breadcrumb.d.ts +51 -0
  479. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  480. package/dist/components/breadcrumb/index.d.ts +3 -0
  481. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  482. package/dist/components/breadcrumb/index.js +10 -0
  483. package/dist/components/breadcrumb/index.js.map +1 -0
  484. package/dist/components/button/button.agent.d.ts +3 -0
  485. package/dist/components/button/button.agent.d.ts.map +1 -0
  486. package/dist/components/button/button.d.ts +21 -0
  487. package/dist/components/button/button.d.ts.map +1 -0
  488. package/dist/components/button/icon-button.d.ts +29 -0
  489. package/dist/components/button/icon-button.d.ts.map +1 -0
  490. package/dist/components/button/index.d.ts +4 -0
  491. package/dist/components/button/index.d.ts.map +1 -0
  492. package/dist/components/button/index.js +9 -0
  493. package/dist/components/button/index.js.map +1 -0
  494. package/dist/components/button-group/button-group.d.ts +29 -0
  495. package/dist/components/button-group/button-group.d.ts.map +1 -0
  496. package/dist/components/button-group/index.d.ts +2 -0
  497. package/dist/components/button-group/index.d.ts.map +1 -0
  498. package/dist/components/button-group/index.js +5 -0
  499. package/dist/components/button-group/index.js.map +1 -0
  500. package/dist/components/calendar/calendar.agent.d.ts +4 -0
  501. package/dist/components/calendar/calendar.agent.d.ts.map +1 -0
  502. package/dist/components/calendar/calendar.d.ts +226 -0
  503. package/dist/components/calendar/calendar.d.ts.map +1 -0
  504. package/dist/components/calendar/contrast-warning.d.ts +20 -0
  505. package/dist/components/calendar/contrast-warning.d.ts.map +1 -0
  506. package/dist/components/calendar/index.d.ts +4 -0
  507. package/dist/components/calendar/index.d.ts.map +1 -0
  508. package/dist/components/calendar/index.js +7 -0
  509. package/dist/components/calendar/index.js.map +1 -0
  510. package/dist/components/card/card.d.ts +29 -0
  511. package/dist/components/card/card.d.ts.map +1 -0
  512. package/dist/components/card/index.d.ts +3 -0
  513. package/dist/components/card/index.d.ts.map +1 -0
  514. package/dist/components/card/index.js +5 -0
  515. package/dist/components/card/index.js.map +1 -0
  516. package/dist/components/chart/chart.agent.d.ts +4 -0
  517. package/dist/components/chart/chart.agent.d.ts.map +1 -0
  518. package/dist/components/chart/chart.d.ts +45 -0
  519. package/dist/components/chart/chart.d.ts.map +1 -0
  520. package/dist/components/chart/index.d.ts +4 -0
  521. package/dist/components/chart/index.d.ts.map +1 -0
  522. package/dist/components/chart/index.js +7 -0
  523. package/dist/components/chart/index.js.map +1 -0
  524. package/dist/components/chat-container/chat-container.agent.d.ts +4 -0
  525. package/dist/components/chat-container/chat-container.agent.d.ts.map +1 -0
  526. package/dist/components/chat-container/chat-container.d.ts +36 -0
  527. package/dist/components/chat-container/chat-container.d.ts.map +1 -0
  528. package/dist/components/chat-container/index.d.ts +4 -0
  529. package/dist/components/chat-container/index.d.ts.map +1 -0
  530. package/dist/components/chat-container/index.js +7 -0
  531. package/dist/components/chat-container/index.js.map +1 -0
  532. package/dist/components/chat-input/chat-input.d.ts +32 -0
  533. package/dist/components/chat-input/chat-input.d.ts.map +1 -0
  534. package/dist/components/chat-input/index.d.ts +3 -0
  535. package/dist/components/chat-input/index.d.ts.map +1 -0
  536. package/dist/components/chat-input/index.js +5 -0
  537. package/dist/components/chat-input/index.js.map +1 -0
  538. package/dist/components/chat-message/chat-message.d.ts +36 -0
  539. package/dist/components/chat-message/chat-message.d.ts.map +1 -0
  540. package/dist/components/chat-message/index.d.ts +3 -0
  541. package/dist/components/chat-message/index.d.ts.map +1 -0
  542. package/dist/components/chat-message/index.js +5 -0
  543. package/dist/components/chat-message/index.js.map +1 -0
  544. package/dist/components/checkbox/checkbox-group-context.d.ts +9 -0
  545. package/dist/components/checkbox/checkbox-group-context.d.ts.map +1 -0
  546. package/dist/components/checkbox/checkbox.d.ts +18 -0
  547. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  548. package/dist/components/checkbox/index.d.ts +4 -0
  549. package/dist/components/checkbox/index.d.ts.map +1 -0
  550. package/dist/components/checkbox/index.js +7 -0
  551. package/dist/components/checkbox/index.js.map +1 -0
  552. package/dist/components/checkbox-group/checkbox-group.d.ts +30 -0
  553. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -0
  554. package/dist/components/checkbox-group/index.d.ts +3 -0
  555. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  556. package/dist/components/checkbox-group/index.js +5 -0
  557. package/dist/components/checkbox-group/index.js.map +1 -0
  558. package/dist/components/collapsible/collapsible.d.ts +18 -0
  559. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  560. package/dist/components/collapsible/index.d.ts +3 -0
  561. package/dist/components/collapsible/index.d.ts.map +1 -0
  562. package/dist/components/collapsible/index.js +7 -0
  563. package/dist/components/collapsible/index.js.map +1 -0
  564. package/dist/components/color-picker/color-picker.d.ts +18 -0
  565. package/dist/components/color-picker/color-picker.d.ts.map +1 -0
  566. package/dist/components/color-picker/color-utils.d.ts +32 -0
  567. package/dist/components/color-picker/color-utils.d.ts.map +1 -0
  568. package/dist/components/color-picker/index.d.ts +6 -0
  569. package/dist/components/color-picker/index.d.ts.map +1 -0
  570. package/dist/components/color-picker/index.js +7 -0
  571. package/dist/components/color-picker/index.js.map +1 -0
  572. package/dist/components/color-picker/palettes.d.ts +16 -0
  573. package/dist/components/color-picker/palettes.d.ts.map +1 -0
  574. package/dist/components/combobox/combobox.agent.d.ts +3 -0
  575. package/dist/components/combobox/combobox.agent.d.ts.map +1 -0
  576. package/dist/components/combobox/combobox.d.ts +46 -0
  577. package/dist/components/combobox/combobox.d.ts.map +1 -0
  578. package/dist/components/combobox/index.d.ts +4 -0
  579. package/dist/components/combobox/index.d.ts.map +1 -0
  580. package/dist/components/combobox/index.js +10 -0
  581. package/dist/components/combobox/index.js.map +1 -0
  582. package/dist/components/command-palette/command-palette.agent.d.ts +3 -0
  583. package/dist/components/command-palette/command-palette.agent.d.ts.map +1 -0
  584. package/dist/components/command-palette/command-palette.d.ts +81 -0
  585. package/dist/components/command-palette/command-palette.d.ts.map +1 -0
  586. package/dist/components/command-palette/index.d.ts +4 -0
  587. package/dist/components/command-palette/index.d.ts.map +1 -0
  588. package/dist/components/command-palette/index.js +17 -0
  589. package/dist/components/command-palette/index.js.map +1 -0
  590. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +23 -0
  591. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +1 -0
  592. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts +18 -0
  593. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +1 -0
  594. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts +11 -0
  595. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +1 -0
  596. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts +13 -0
  597. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +1 -0
  598. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts +10 -0
  599. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +1 -0
  600. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts +13 -0
  601. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +1 -0
  602. package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts +7 -0
  603. package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts.map +1 -0
  604. package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts +6 -0
  605. package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts.map +1 -0
  606. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts +18 -0
  607. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +1 -0
  608. package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts +7 -0
  609. package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts.map +1 -0
  610. package/dist/components/data-table/data-table.agent.d.ts +4 -0
  611. package/dist/components/data-table/data-table.agent.d.ts.map +1 -0
  612. package/dist/components/data-table/data-table.d.ts +78 -0
  613. package/dist/components/data-table/data-table.d.ts.map +1 -0
  614. package/dist/components/data-table/hooks/use-total-row.d.ts +16 -0
  615. package/dist/components/data-table/hooks/use-total-row.d.ts.map +1 -0
  616. package/dist/components/data-table/index.d.ts +27 -0
  617. package/dist/components/data-table/index.d.ts.map +1 -0
  618. package/dist/components/data-table/index.js +19 -0
  619. package/dist/components/data-table/index.js.map +1 -0
  620. package/dist/components/data-table/toolbar.d.ts +49 -0
  621. package/dist/components/data-table/toolbar.d.ts.map +1 -0
  622. package/dist/components/date-picker/date-picker.d.ts +37 -0
  623. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  624. package/dist/components/date-picker/index.d.ts +3 -0
  625. package/dist/components/date-picker/index.d.ts.map +1 -0
  626. package/dist/components/date-picker/index.js +5 -0
  627. package/dist/components/date-picker/index.js.map +1 -0
  628. package/dist/components/date-range-picker/date-range-picker.d.ts +42 -0
  629. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -0
  630. package/dist/components/date-range-picker/index.d.ts +3 -0
  631. package/dist/components/date-range-picker/index.d.ts.map +1 -0
  632. package/dist/components/date-range-picker/index.js +5 -0
  633. package/dist/components/date-range-picker/index.js.map +1 -0
  634. package/dist/components/date-time-picker/date-time-picker.d.ts +35 -0
  635. package/dist/components/date-time-picker/date-time-picker.d.ts.map +1 -0
  636. package/dist/components/date-time-picker/index.d.ts +3 -0
  637. package/dist/components/date-time-picker/index.d.ts.map +1 -0
  638. package/dist/components/date-time-picker/index.js +5 -0
  639. package/dist/components/date-time-picker/index.js.map +1 -0
  640. package/dist/components/description-list/description-list.d.ts +25 -0
  641. package/dist/components/description-list/description-list.d.ts.map +1 -0
  642. package/dist/components/description-list/index.d.ts +3 -0
  643. package/dist/components/description-list/index.d.ts.map +1 -0
  644. package/dist/components/description-list/index.js +5 -0
  645. package/dist/components/description-list/index.js.map +1 -0
  646. package/dist/components/dialog/dialog.agent.d.ts +10 -0
  647. package/dist/components/dialog/dialog.agent.d.ts.map +1 -0
  648. package/dist/components/dialog/dialog.d.ts +34 -0
  649. package/dist/components/dialog/dialog.d.ts.map +1 -0
  650. package/dist/components/dialog/index.d.ts +4 -0
  651. package/dist/components/dialog/index.d.ts.map +1 -0
  652. package/dist/components/dialog/index.js +6 -0
  653. package/dist/components/dialog/index.js.map +1 -0
  654. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +3 -0
  655. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +1 -0
  656. package/dist/components/dropdown-menu/dropdown-menu.d.ts +54 -0
  657. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +1 -0
  658. package/dist/components/dropdown-menu/index.d.ts +4 -0
  659. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  660. package/dist/components/dropdown-menu/index.js +7 -0
  661. package/dist/components/dropdown-menu/index.js.map +1 -0
  662. package/dist/components/empty-state/empty-state.d.ts +30 -0
  663. package/dist/components/empty-state/empty-state.d.ts.map +1 -0
  664. package/dist/components/empty-state/index.d.ts +3 -0
  665. package/dist/components/empty-state/index.d.ts.map +1 -0
  666. package/dist/components/empty-state/index.js +5 -0
  667. package/dist/components/empty-state/index.js.map +1 -0
  668. package/dist/components/file-upload/file-upload.agent.d.ts +3 -0
  669. package/dist/components/file-upload/file-upload.agent.d.ts.map +1 -0
  670. package/dist/components/file-upload/file-upload.d.ts +33 -0
  671. package/dist/components/file-upload/file-upload.d.ts.map +1 -0
  672. package/dist/components/file-upload/index.d.ts +4 -0
  673. package/dist/components/file-upload/index.d.ts.map +1 -0
  674. package/dist/components/file-upload/index.js +6 -0
  675. package/dist/components/file-upload/index.js.map +1 -0
  676. package/dist/components/flag/flag.d.ts +29 -0
  677. package/dist/components/flag/flag.d.ts.map +1 -0
  678. package/dist/components/flag/index.d.ts +3 -0
  679. package/dist/components/flag/index.d.ts.map +1 -0
  680. package/dist/components/flag/index.js +7 -0
  681. package/dist/components/flag/index.js.map +1 -0
  682. package/dist/components/floating-action-button/floating-action-button.d.ts +24 -0
  683. package/dist/components/floating-action-button/floating-action-button.d.ts.map +1 -0
  684. package/dist/components/floating-action-button/index.d.ts +2 -0
  685. package/dist/components/floating-action-button/index.d.ts.map +1 -0
  686. package/dist/components/floating-action-button/index.js +5 -0
  687. package/dist/components/floating-action-button/index.js.map +1 -0
  688. package/dist/components/form-field/form-field-context.d.ts +12 -0
  689. package/dist/components/form-field/form-field-context.d.ts.map +1 -0
  690. package/dist/components/form-field/form-field.d.ts +24 -0
  691. package/dist/components/form-field/form-field.d.ts.map +1 -0
  692. package/dist/components/form-field/index.d.ts +4 -0
  693. package/dist/components/form-field/index.d.ts.map +1 -0
  694. package/dist/components/form-field/index.js +8 -0
  695. package/dist/components/form-field/index.js.map +1 -0
  696. package/dist/components/freemium-paywall/freemium-paywall.d.ts +45 -0
  697. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -0
  698. package/dist/components/freemium-paywall/index.d.ts +3 -0
  699. package/dist/components/freemium-paywall/index.d.ts.map +1 -0
  700. package/dist/components/freemium-paywall/index.js +5 -0
  701. package/dist/components/freemium-paywall/index.js.map +1 -0
  702. package/dist/components/header/header.d.ts +39 -0
  703. package/dist/components/header/header.d.ts.map +1 -0
  704. package/dist/components/header/index.d.ts +3 -0
  705. package/dist/components/header/index.d.ts.map +1 -0
  706. package/dist/components/header/index.js +12 -0
  707. package/dist/components/header/index.js.map +1 -0
  708. package/dist/components/icon-button/index.d.ts +3 -0
  709. package/dist/components/icon-button/index.d.ts.map +1 -0
  710. package/dist/components/icon-button/index.js +5 -0
  711. package/dist/components/icon-button/index.js.map +1 -0
  712. package/dist/components/icon-button-group/icon-button-group.d.ts +246 -0
  713. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -0
  714. package/dist/components/icon-button-group/index.d.ts +3 -0
  715. package/dist/components/icon-button-group/index.d.ts.map +1 -0
  716. package/dist/components/icon-button-group/index.js +5 -0
  717. package/dist/components/icon-button-group/index.js.map +1 -0
  718. package/dist/components/index.d.ts +118 -0
  719. package/dist/components/index.d.ts.map +1 -0
  720. package/dist/components/kbd/index.d.ts +3 -0
  721. package/dist/components/kbd/index.d.ts.map +1 -0
  722. package/dist/components/kbd/index.js +6 -0
  723. package/dist/components/kbd/index.js.map +1 -0
  724. package/dist/components/kbd/kbd.d.ts +38 -0
  725. package/dist/components/kbd/kbd.d.ts.map +1 -0
  726. package/dist/components/key-value-pair/index.d.ts +3 -0
  727. package/dist/components/key-value-pair/index.d.ts.map +1 -0
  728. package/dist/components/key-value-pair/index.js +5 -0
  729. package/dist/components/key-value-pair/index.js.map +1 -0
  730. package/dist/components/key-value-pair/key-value-pair.d.ts +21 -0
  731. package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -0
  732. package/dist/components/list/index.d.ts +3 -0
  733. package/dist/components/list/index.d.ts.map +1 -0
  734. package/dist/components/list/index.js +5 -0
  735. package/dist/components/list/index.js.map +1 -0
  736. package/dist/components/list/list.d.ts +42 -0
  737. package/dist/components/list/list.d.ts.map +1 -0
  738. package/dist/components/live-region/index.d.ts +3 -0
  739. package/dist/components/live-region/index.d.ts.map +1 -0
  740. package/dist/components/live-region/index.js +5 -0
  741. package/dist/components/live-region/index.js.map +1 -0
  742. package/dist/components/live-region/live-region.d.ts +49 -0
  743. package/dist/components/live-region/live-region.d.ts.map +1 -0
  744. package/dist/components/logo/index.d.ts +3 -0
  745. package/dist/components/logo/index.d.ts.map +1 -0
  746. package/dist/components/logo/index.js +5 -0
  747. package/dist/components/logo/index.js.map +1 -0
  748. package/dist/components/logo/logo.d.ts +43 -0
  749. package/dist/components/logo/logo.d.ts.map +1 -0
  750. package/dist/components/matrix-rain/index.d.ts +2 -0
  751. package/dist/components/matrix-rain/index.d.ts.map +1 -0
  752. package/dist/components/matrix-rain/index.js +5 -0
  753. package/dist/components/matrix-rain/index.js.map +1 -0
  754. package/dist/components/matrix-rain/matrix-rain.d.ts +75 -0
  755. package/dist/components/matrix-rain/matrix-rain.d.ts.map +1 -0
  756. package/dist/components/message-card/index.d.ts +3 -0
  757. package/dist/components/message-card/index.d.ts.map +1 -0
  758. package/dist/components/message-card/index.js +6 -0
  759. package/dist/components/message-card/index.js.map +1 -0
  760. package/dist/components/message-card/message-card.d.ts +73 -0
  761. package/dist/components/message-card/message-card.d.ts.map +1 -0
  762. package/dist/components/message-tray/index.d.ts +3 -0
  763. package/dist/components/message-tray/index.d.ts.map +1 -0
  764. package/dist/components/message-tray/index.js +5 -0
  765. package/dist/components/message-tray/index.js.map +1 -0
  766. package/dist/components/message-tray/message-tray.d.ts +40 -0
  767. package/dist/components/message-tray/message-tray.d.ts.map +1 -0
  768. package/dist/components/multi-select/index.d.ts +4 -0
  769. package/dist/components/multi-select/index.d.ts.map +1 -0
  770. package/dist/components/multi-select/index.js +7 -0
  771. package/dist/components/multi-select/index.js.map +1 -0
  772. package/dist/components/multi-select/multi-select.agent.d.ts +3 -0
  773. package/dist/components/multi-select/multi-select.agent.d.ts.map +1 -0
  774. package/dist/components/multi-select/multi-select.d.ts +30 -0
  775. package/dist/components/multi-select/multi-select.d.ts.map +1 -0
  776. package/dist/components/navigation-menu/index.d.ts +5 -0
  777. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  778. package/dist/components/navigation-menu/index.js +14 -0
  779. package/dist/components/navigation-menu/index.js.map +1 -0
  780. package/dist/components/navigation-menu/navigation-menu.d.ts +26 -0
  781. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  782. package/dist/components/notification-card/index.d.ts +3 -0
  783. package/dist/components/notification-card/index.d.ts.map +1 -0
  784. package/dist/components/notification-card/index.js +6 -0
  785. package/dist/components/notification-card/index.js.map +1 -0
  786. package/dist/components/notification-card/notification-card.d.ts +62 -0
  787. package/dist/components/notification-card/notification-card.d.ts.map +1 -0
  788. package/dist/components/notification-tray/index.d.ts +3 -0
  789. package/dist/components/notification-tray/index.d.ts.map +1 -0
  790. package/dist/components/notification-tray/index.js +5 -0
  791. package/dist/components/notification-tray/index.js.map +1 -0
  792. package/dist/components/notification-tray/notification-tray.d.ts +38 -0
  793. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -0
  794. package/dist/components/number-input/index.d.ts +5 -0
  795. package/dist/components/number-input/index.d.ts.map +1 -0
  796. package/dist/components/number-input/index.js +6 -0
  797. package/dist/components/number-input/index.js.map +1 -0
  798. package/dist/components/number-input/number-input.d.ts +34 -0
  799. package/dist/components/number-input/number-input.d.ts.map +1 -0
  800. package/dist/components/number-input/use-locale-number.d.ts +15 -0
  801. package/dist/components/number-input/use-locale-number.d.ts.map +1 -0
  802. package/dist/components/otp-input/index.d.ts +3 -0
  803. package/dist/components/otp-input/index.d.ts.map +1 -0
  804. package/dist/components/otp-input/index.js +5 -0
  805. package/dist/components/otp-input/index.js.map +1 -0
  806. package/dist/components/otp-input/otp-input.d.ts +13 -0
  807. package/dist/components/otp-input/otp-input.d.ts.map +1 -0
  808. package/dist/components/pagination/index.d.ts +4 -0
  809. package/dist/components/pagination/index.d.ts.map +1 -0
  810. package/dist/components/pagination/index.js +13 -0
  811. package/dist/components/pagination/index.js.map +1 -0
  812. package/dist/components/pagination/pagination.agent.d.ts +3 -0
  813. package/dist/components/pagination/pagination.agent.d.ts.map +1 -0
  814. package/dist/components/pagination/pagination.d.ts +64 -0
  815. package/dist/components/pagination/pagination.d.ts.map +1 -0
  816. package/dist/components/password-input/index.d.ts +3 -0
  817. package/dist/components/password-input/index.d.ts.map +1 -0
  818. package/dist/components/password-input/index.js +5 -0
  819. package/dist/components/password-input/index.js.map +1 -0
  820. package/dist/components/password-input/password-input.d.ts +22 -0
  821. package/dist/components/password-input/password-input.d.ts.map +1 -0
  822. package/dist/components/payment-form/index.d.ts +4 -0
  823. package/dist/components/payment-form/index.d.ts.map +1 -0
  824. package/dist/components/payment-form/index.js +12 -0
  825. package/dist/components/payment-form/index.js.map +1 -0
  826. package/dist/components/payment-form/payment-form.agent.d.ts +4 -0
  827. package/dist/components/payment-form/payment-form.agent.d.ts.map +1 -0
  828. package/dist/components/payment-form/payment-form.d.ts +68 -0
  829. package/dist/components/payment-form/payment-form.d.ts.map +1 -0
  830. package/dist/components/pdf-viewer/index.d.ts +4 -0
  831. package/dist/components/pdf-viewer/index.d.ts.map +1 -0
  832. package/dist/components/pdf-viewer/index.js +6 -0
  833. package/dist/components/pdf-viewer/index.js.map +1 -0
  834. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts +4 -0
  835. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +1 -0
  836. package/dist/components/pdf-viewer/pdf-viewer.d.ts +36 -0
  837. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -0
  838. package/dist/components/phone-input/index.d.ts +3 -0
  839. package/dist/components/phone-input/index.d.ts.map +1 -0
  840. package/dist/components/phone-input/index.js +8 -0
  841. package/dist/components/phone-input/index.js.map +1 -0
  842. package/dist/components/phone-input/phone-input.d.ts +50 -0
  843. package/dist/components/phone-input/phone-input.d.ts.map +1 -0
  844. package/dist/components/popover/index.d.ts +4 -0
  845. package/dist/components/popover/index.d.ts.map +1 -0
  846. package/dist/components/popover/index.js +7 -0
  847. package/dist/components/popover/index.js.map +1 -0
  848. package/dist/components/popover/popover.agent.d.ts +3 -0
  849. package/dist/components/popover/popover.agent.d.ts.map +1 -0
  850. package/dist/components/popover/popover.d.ts +37 -0
  851. package/dist/components/popover/popover.d.ts.map +1 -0
  852. package/dist/components/privacy-lock/index.d.ts +3 -0
  853. package/dist/components/privacy-lock/index.d.ts.map +1 -0
  854. package/dist/components/privacy-lock/index.js +5 -0
  855. package/dist/components/privacy-lock/index.js.map +1 -0
  856. package/dist/components/privacy-lock/privacy-lock.d.ts +35 -0
  857. package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -0
  858. package/dist/components/progress/index.d.ts +4 -0
  859. package/dist/components/progress/index.d.ts.map +1 -0
  860. package/dist/components/progress/index.js +7 -0
  861. package/dist/components/progress/index.js.map +1 -0
  862. package/dist/components/progress/progress.agent.d.ts +4 -0
  863. package/dist/components/progress/progress.agent.d.ts.map +1 -0
  864. package/dist/components/progress/progress.d.ts +20 -0
  865. package/dist/components/progress/progress.d.ts.map +1 -0
  866. package/dist/components/radio/index.d.ts +3 -0
  867. package/dist/components/radio/index.d.ts.map +1 -0
  868. package/dist/components/radio/index.js +5 -0
  869. package/dist/components/radio/index.js.map +1 -0
  870. package/dist/components/radio-group/index.d.ts +5 -0
  871. package/dist/components/radio-group/index.d.ts.map +1 -0
  872. package/dist/components/radio-group/index.js +7 -0
  873. package/dist/components/radio-group/index.js.map +1 -0
  874. package/dist/components/radio-group/radio-group-context.d.ts +7 -0
  875. package/dist/components/radio-group/radio-group-context.d.ts.map +1 -0
  876. package/dist/components/radio-group/radio-group.d.ts +19 -0
  877. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  878. package/dist/components/radio-group/radio.d.ts +16 -0
  879. package/dist/components/radio-group/radio.d.ts.map +1 -0
  880. package/dist/components/resizable/index.d.ts +6 -0
  881. package/dist/components/resizable/index.d.ts.map +1 -0
  882. package/dist/components/resizable/index.js +10 -0
  883. package/dist/components/resizable/index.js.map +1 -0
  884. package/dist/components/resizable/resizable-context.d.ts +25 -0
  885. package/dist/components/resizable/resizable-context.d.ts.map +1 -0
  886. package/dist/components/resizable/resizable.agent.d.ts +3 -0
  887. package/dist/components/resizable/resizable.agent.d.ts.map +1 -0
  888. package/dist/components/resizable/resizable.d.ts +32 -0
  889. package/dist/components/resizable/resizable.d.ts.map +1 -0
  890. package/dist/components/rich-text-editor/index.d.ts +4 -0
  891. package/dist/components/rich-text-editor/index.d.ts.map +1 -0
  892. package/dist/components/rich-text-editor/index.js +10 -0
  893. package/dist/components/rich-text-editor/index.js.map +1 -0
  894. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts +4 -0
  895. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -0
  896. package/dist/components/rich-text-editor/rich-text-editor.d.ts +45 -0
  897. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -0
  898. package/dist/components/scroll-area/index.d.ts +4 -0
  899. package/dist/components/scroll-area/index.d.ts.map +1 -0
  900. package/dist/components/scroll-area/index.js +10 -0
  901. package/dist/components/scroll-area/index.js.map +1 -0
  902. package/dist/components/scroll-area/scroll-area.d.ts +29 -0
  903. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  904. package/dist/components/search-bar/index.d.ts +3 -0
  905. package/dist/components/search-bar/index.d.ts.map +1 -0
  906. package/dist/components/search-bar/index.js +6 -0
  907. package/dist/components/search-bar/index.js.map +1 -0
  908. package/dist/components/search-bar/search-bar.d.ts +59 -0
  909. package/dist/components/search-bar/search-bar.d.ts.map +1 -0
  910. package/dist/components/search-input/index.d.ts +3 -0
  911. package/dist/components/search-input/index.d.ts.map +1 -0
  912. package/dist/components/search-input/index.js +5 -0
  913. package/dist/components/search-input/index.js.map +1 -0
  914. package/dist/components/search-input/search-input.d.ts +28 -0
  915. package/dist/components/search-input/search-input.d.ts.map +1 -0
  916. package/dist/components/select/index.d.ts +5 -0
  917. package/dist/components/select/index.d.ts.map +1 -0
  918. package/dist/components/select/index.js +15 -0
  919. package/dist/components/select/index.js.map +1 -0
  920. package/dist/components/select/select.d.ts +78 -0
  921. package/dist/components/select/select.d.ts.map +1 -0
  922. package/dist/components/separator/index.d.ts +3 -0
  923. package/dist/components/separator/index.d.ts.map +1 -0
  924. package/dist/components/separator/index.js +5 -0
  925. package/dist/components/separator/index.js.map +1 -0
  926. package/dist/components/separator/separator.d.ts +26 -0
  927. package/dist/components/separator/separator.d.ts.map +1 -0
  928. package/dist/components/sheet/index.d.ts +4 -0
  929. package/dist/components/sheet/index.d.ts.map +1 -0
  930. package/dist/components/sheet/index.js +7 -0
  931. package/dist/components/sheet/index.js.map +1 -0
  932. package/dist/components/sheet/sheet.agent.d.ts +3 -0
  933. package/dist/components/sheet/sheet.agent.d.ts.map +1 -0
  934. package/dist/components/sheet/sheet.d.ts +34 -0
  935. package/dist/components/sheet/sheet.d.ts.map +1 -0
  936. package/dist/components/sidebar/index.d.ts +4 -0
  937. package/dist/components/sidebar/index.d.ts.map +1 -0
  938. package/dist/components/sidebar/index.js +25 -0
  939. package/dist/components/sidebar/index.js.map +1 -0
  940. package/dist/components/sidebar/sidebar.agent.d.ts +3 -0
  941. package/dist/components/sidebar/sidebar.agent.d.ts.map +1 -0
  942. package/dist/components/sidebar/sidebar.d.ts +174 -0
  943. package/dist/components/sidebar/sidebar.d.ts.map +1 -0
  944. package/dist/components/sign-in-with-alfadocs-button/index.d.ts +3 -0
  945. package/dist/components/sign-in-with-alfadocs-button/index.d.ts.map +1 -0
  946. package/dist/components/sign-in-with-alfadocs-button/index.js +5 -0
  947. package/dist/components/sign-in-with-alfadocs-button/index.js.map +1 -0
  948. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts +40 -0
  949. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +1 -0
  950. package/dist/components/signature-capture/index.d.ts +4 -0
  951. package/dist/components/signature-capture/index.d.ts.map +1 -0
  952. package/dist/components/signature-capture/index.js +6 -0
  953. package/dist/components/signature-capture/index.js.map +1 -0
  954. package/dist/components/signature-capture/signature-capture.agent.d.ts +4 -0
  955. package/dist/components/signature-capture/signature-capture.agent.d.ts.map +1 -0
  956. package/dist/components/signature-capture/signature-capture.d.ts +53 -0
  957. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -0
  958. package/dist/components/skeleton/index.d.ts +3 -0
  959. package/dist/components/skeleton/index.d.ts.map +1 -0
  960. package/dist/components/skeleton/index.js +5 -0
  961. package/dist/components/skeleton/index.js.map +1 -0
  962. package/dist/components/skeleton/skeleton.d.ts +29 -0
  963. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  964. package/dist/components/skip-link/index.d.ts +2 -0
  965. package/dist/components/skip-link/index.d.ts.map +1 -0
  966. package/dist/components/skip-link/index.js +5 -0
  967. package/dist/components/skip-link/index.js.map +1 -0
  968. package/dist/components/skip-link/skip-link.d.ts +34 -0
  969. package/dist/components/skip-link/skip-link.d.ts.map +1 -0
  970. package/dist/components/slider/index.d.ts +3 -0
  971. package/dist/components/slider/index.d.ts.map +1 -0
  972. package/dist/components/slider/index.js +5 -0
  973. package/dist/components/slider/index.js.map +1 -0
  974. package/dist/components/slider/slider.d.ts +31 -0
  975. package/dist/components/slider/slider.d.ts.map +1 -0
  976. package/dist/components/slot-grid/index.d.ts +3 -0
  977. package/dist/components/slot-grid/index.d.ts.map +1 -0
  978. package/dist/components/slot-grid/index.js +7 -0
  979. package/dist/components/slot-grid/index.js.map +1 -0
  980. package/dist/components/slot-grid/slot-grid.d.ts +82 -0
  981. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -0
  982. package/dist/components/sparkline/index.d.ts +6 -0
  983. package/dist/components/sparkline/index.d.ts.map +1 -0
  984. package/dist/components/sparkline/index.js +7 -0
  985. package/dist/components/sparkline/index.js.map +1 -0
  986. package/dist/components/sparkline/sparkline.agent.d.ts +4 -0
  987. package/dist/components/sparkline/sparkline.agent.d.ts.map +1 -0
  988. package/dist/components/sparkline/sparkline.d.ts +39 -0
  989. package/dist/components/sparkline/sparkline.d.ts.map +1 -0
  990. package/dist/components/sparkline/use-linear-trend.d.ts +7 -0
  991. package/dist/components/sparkline/use-linear-trend.d.ts.map +1 -0
  992. package/dist/components/spinner/index.d.ts +3 -0
  993. package/dist/components/spinner/index.d.ts.map +1 -0
  994. package/dist/components/spinner/index.js +5 -0
  995. package/dist/components/spinner/index.js.map +1 -0
  996. package/dist/components/spinner/spinner.d.ts +18 -0
  997. package/dist/components/spinner/spinner.d.ts.map +1 -0
  998. package/dist/components/stat/index.d.ts +3 -0
  999. package/dist/components/stat/index.d.ts.map +1 -0
  1000. package/dist/components/stat/index.js +5 -0
  1001. package/dist/components/stat/index.js.map +1 -0
  1002. package/dist/components/stat/stat.d.ts +32 -0
  1003. package/dist/components/stat/stat.d.ts.map +1 -0
  1004. package/dist/components/stepper-accordion/index.d.ts +4 -0
  1005. package/dist/components/stepper-accordion/index.d.ts.map +1 -0
  1006. package/dist/components/stepper-accordion/index.js +5 -0
  1007. package/dist/components/stepper-accordion/index.js.map +1 -0
  1008. package/dist/components/stepper-accordion/stepper-accordion.d.ts +32 -0
  1009. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -0
  1010. package/dist/components/stepper-calendar/index.d.ts +3 -0
  1011. package/dist/components/stepper-calendar/index.d.ts.map +1 -0
  1012. package/dist/components/stepper-calendar/index.js +5 -0
  1013. package/dist/components/stepper-calendar/index.js.map +1 -0
  1014. package/dist/components/stepper-calendar/stepper-calendar.d.ts +44 -0
  1015. package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +1 -0
  1016. package/dist/components/stepper-progress/index.d.ts +3 -0
  1017. package/dist/components/stepper-progress/index.d.ts.map +1 -0
  1018. package/dist/components/stepper-progress/index.js +5 -0
  1019. package/dist/components/stepper-progress/index.js.map +1 -0
  1020. package/dist/components/stepper-progress/stepper-progress.d.ts +28 -0
  1021. package/dist/components/stepper-progress/stepper-progress.d.ts.map +1 -0
  1022. package/dist/components/streaming-text/index.d.ts +3 -0
  1023. package/dist/components/streaming-text/index.d.ts.map +1 -0
  1024. package/dist/components/streaming-text/index.js +5 -0
  1025. package/dist/components/streaming-text/index.js.map +1 -0
  1026. package/dist/components/streaming-text/streaming-text.d.ts +23 -0
  1027. package/dist/components/streaming-text/streaming-text.d.ts.map +1 -0
  1028. package/dist/components/suggestion-chip/index.d.ts +3 -0
  1029. package/dist/components/suggestion-chip/index.d.ts.map +1 -0
  1030. package/dist/components/suggestion-chip/index.js +6 -0
  1031. package/dist/components/suggestion-chip/index.js.map +1 -0
  1032. package/dist/components/suggestion-chip/suggestion-chip.d.ts +28 -0
  1033. package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +1 -0
  1034. package/dist/components/switch/index.d.ts +2 -0
  1035. package/dist/components/switch/index.d.ts.map +1 -0
  1036. package/dist/components/switch/index.js +5 -0
  1037. package/dist/components/switch/index.js.map +1 -0
  1038. package/dist/components/switch/switch.d.ts +21 -0
  1039. package/dist/components/switch/switch.d.ts.map +1 -0
  1040. package/dist/components/tabs/index.d.ts +4 -0
  1041. package/dist/components/tabs/index.d.ts.map +1 -0
  1042. package/dist/components/tabs/index.js +9 -0
  1043. package/dist/components/tabs/index.js.map +1 -0
  1044. package/dist/components/tabs/tabs.agent.d.ts +3 -0
  1045. package/dist/components/tabs/tabs.agent.d.ts.map +1 -0
  1046. package/dist/components/tabs/tabs.d.ts +63 -0
  1047. package/dist/components/tabs/tabs.d.ts.map +1 -0
  1048. package/dist/components/tag/index.d.ts +3 -0
  1049. package/dist/components/tag/index.d.ts.map +1 -0
  1050. package/dist/components/tag/index.js +5 -0
  1051. package/dist/components/tag/index.js.map +1 -0
  1052. package/dist/components/tag/tag.d.ts +25 -0
  1053. package/dist/components/tag/tag.d.ts.map +1 -0
  1054. package/dist/components/task-card/index.d.ts +3 -0
  1055. package/dist/components/task-card/index.d.ts.map +1 -0
  1056. package/dist/components/task-card/index.js +6 -0
  1057. package/dist/components/task-card/index.js.map +1 -0
  1058. package/dist/components/task-card/task-card.d.ts +40 -0
  1059. package/dist/components/task-card/task-card.d.ts.map +1 -0
  1060. package/dist/components/task-tray/index.d.ts +3 -0
  1061. package/dist/components/task-tray/index.d.ts.map +1 -0
  1062. package/dist/components/task-tray/index.js +5 -0
  1063. package/dist/components/task-tray/index.js.map +1 -0
  1064. package/dist/components/task-tray/task-tray.d.ts +28 -0
  1065. package/dist/components/task-tray/task-tray.d.ts.map +1 -0
  1066. package/dist/components/text-area/index.d.ts +3 -0
  1067. package/dist/components/text-area/index.d.ts.map +1 -0
  1068. package/dist/components/text-area/index.js +5 -0
  1069. package/dist/components/text-area/index.js.map +1 -0
  1070. package/dist/components/text-area/text-area.d.ts +19 -0
  1071. package/dist/components/text-area/text-area.d.ts.map +1 -0
  1072. package/dist/components/text-input/index.d.ts +3 -0
  1073. package/dist/components/text-input/index.d.ts.map +1 -0
  1074. package/dist/components/text-input/index.js +5 -0
  1075. package/dist/components/text-input/index.js.map +1 -0
  1076. package/dist/components/text-input/text-input.d.ts +22 -0
  1077. package/dist/components/text-input/text-input.d.ts.map +1 -0
  1078. package/dist/components/theme-root/index.d.ts +3 -0
  1079. package/dist/components/theme-root/index.d.ts.map +1 -0
  1080. package/dist/components/theme-root/index.js +5 -0
  1081. package/dist/components/theme-root/index.js.map +1 -0
  1082. package/dist/components/theme-root/theme-root.d.ts +16 -0
  1083. package/dist/components/theme-root/theme-root.d.ts.map +1 -0
  1084. package/dist/components/theme-toggle/index.d.ts +3 -0
  1085. package/dist/components/theme-toggle/index.d.ts.map +1 -0
  1086. package/dist/components/theme-toggle/index.js +5 -0
  1087. package/dist/components/theme-toggle/index.js.map +1 -0
  1088. package/dist/components/theme-toggle/theme-toggle.d.ts +34 -0
  1089. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -0
  1090. package/dist/components/time-picker/index.d.ts +3 -0
  1091. package/dist/components/time-picker/index.d.ts.map +1 -0
  1092. package/dist/components/time-picker/index.js +5 -0
  1093. package/dist/components/time-picker/index.js.map +1 -0
  1094. package/dist/components/time-picker/time-picker.d.ts +38 -0
  1095. package/dist/components/time-picker/time-picker.d.ts.map +1 -0
  1096. package/dist/components/timeline/index.d.ts +3 -0
  1097. package/dist/components/timeline/index.d.ts.map +1 -0
  1098. package/dist/components/timeline/index.js +5 -0
  1099. package/dist/components/timeline/index.js.map +1 -0
  1100. package/dist/components/timeline/timeline.d.ts +47 -0
  1101. package/dist/components/timeline/timeline.d.ts.map +1 -0
  1102. package/dist/components/timestamp/index.d.ts +3 -0
  1103. package/dist/components/timestamp/index.d.ts.map +1 -0
  1104. package/dist/components/timestamp/index.js +5 -0
  1105. package/dist/components/timestamp/index.js.map +1 -0
  1106. package/dist/components/timestamp/timestamp.d.ts +51 -0
  1107. package/dist/components/timestamp/timestamp.d.ts.map +1 -0
  1108. package/dist/components/toast/index.d.ts +3 -0
  1109. package/dist/components/toast/index.d.ts.map +1 -0
  1110. package/dist/components/toast/index.js +9 -0
  1111. package/dist/components/toast/index.js.map +1 -0
  1112. package/dist/components/toast/toast.d.ts +32 -0
  1113. package/dist/components/toast/toast.d.ts.map +1 -0
  1114. package/dist/components/tooltip/index.d.ts +3 -0
  1115. package/dist/components/tooltip/index.d.ts.map +1 -0
  1116. package/dist/components/tooltip/index.js +6 -0
  1117. package/dist/components/tooltip/index.js.map +1 -0
  1118. package/dist/components/tooltip/tooltip.d.ts +31 -0
  1119. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  1120. package/dist/components/tooth-scheme/index.d.ts +5 -0
  1121. package/dist/components/tooth-scheme/index.d.ts.map +1 -0
  1122. package/dist/components/tooth-scheme/index.js +20 -0
  1123. package/dist/components/tooth-scheme/index.js.map +1 -0
  1124. package/dist/components/tooth-scheme/tooth-data.d.ts +91 -0
  1125. package/dist/components/tooth-scheme/tooth-data.d.ts.map +1 -0
  1126. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +4 -0
  1127. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -0
  1128. package/dist/components/tooth-scheme/tooth-scheme.d.ts +34 -0
  1129. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -0
  1130. package/dist/components/transcript-panel/index.d.ts +3 -0
  1131. package/dist/components/transcript-panel/index.d.ts.map +1 -0
  1132. package/dist/components/transcript-panel/index.js +5 -0
  1133. package/dist/components/transcript-panel/index.js.map +1 -0
  1134. package/dist/components/transcript-panel/transcript-panel.d.ts +25 -0
  1135. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -0
  1136. package/dist/components/typing-indicator/index.d.ts +3 -0
  1137. package/dist/components/typing-indicator/index.d.ts.map +1 -0
  1138. package/dist/components/typing-indicator/index.js +5 -0
  1139. package/dist/components/typing-indicator/index.js.map +1 -0
  1140. package/dist/components/typing-indicator/typing-indicator.d.ts +17 -0
  1141. package/dist/components/typing-indicator/typing-indicator.d.ts.map +1 -0
  1142. package/dist/components/visually-hidden/index.d.ts +2 -0
  1143. package/dist/components/visually-hidden/index.d.ts.map +1 -0
  1144. package/dist/components/visually-hidden/index.js +5 -0
  1145. package/dist/components/visually-hidden/index.js.map +1 -0
  1146. package/dist/components/visually-hidden/visually-hidden.d.ts +11 -0
  1147. package/dist/components/visually-hidden/visually-hidden.d.ts.map +1 -0
  1148. package/dist/components/warning-stack/index.d.ts +2 -0
  1149. package/dist/components/warning-stack/index.d.ts.map +1 -0
  1150. package/dist/components/warning-stack/index.js +5 -0
  1151. package/dist/components/warning-stack/index.js.map +1 -0
  1152. package/dist/components/warning-stack/warning-stack.d.ts +42 -0
  1153. package/dist/components/warning-stack/warning-stack.d.ts.map +1 -0
  1154. package/dist/components/workflow/index.d.ts +9 -0
  1155. package/dist/components/workflow/index.d.ts.map +1 -0
  1156. package/dist/components/workflow/index.js +14 -0
  1157. package/dist/components/workflow/index.js.map +1 -0
  1158. package/dist/components/workflow/workflow-card.d.ts +25 -0
  1159. package/dist/components/workflow/workflow-card.d.ts.map +1 -0
  1160. package/dist/components/workflow/workflow-editor.d.ts +29 -0
  1161. package/dist/components/workflow/workflow-editor.d.ts.map +1 -0
  1162. package/dist/components/workflow/workflow-map.d.ts +26 -0
  1163. package/dist/components/workflow/workflow-map.d.ts.map +1 -0
  1164. package/dist/components/workflow/workflow-types.d.ts +128 -0
  1165. package/dist/components/workflow/workflow-types.d.ts.map +1 -0
  1166. package/dist/fonts/SpaceGrotesk-VF.woff2 +0 -0
  1167. package/dist/hooks/index.d.ts +7 -0
  1168. package/dist/hooks/index.d.ts.map +1 -0
  1169. package/dist/hooks/index.js +15 -0
  1170. package/dist/hooks/index.js.map +1 -0
  1171. package/dist/hooks/use-locale.d.ts +27 -0
  1172. package/dist/hooks/use-locale.d.ts.map +1 -0
  1173. package/dist/hooks/use-media-query.d.ts +17 -0
  1174. package/dist/hooks/use-media-query.d.ts.map +1 -0
  1175. package/dist/hooks/use-prefers-reduced-motion.d.ts +10 -0
  1176. package/dist/hooks/use-prefers-reduced-motion.d.ts.map +1 -0
  1177. package/dist/hooks/use-theme.d.ts +51 -0
  1178. package/dist/hooks/use-theme.d.ts.map +1 -0
  1179. package/dist/i18n/config.d.ts +4 -0
  1180. package/dist/i18n/config.d.ts.map +1 -0
  1181. package/dist/i18n/config.js +2820 -0
  1182. package/dist/i18n/config.js.map +1 -0
  1183. package/dist/i18n/resources.d.ts +2866 -0
  1184. package/dist/i18n/resources.d.ts.map +1 -0
  1185. package/dist/index.js +447 -0
  1186. package/dist/index.js.map +1 -0
  1187. package/dist/locales/ar.json +1 -0
  1188. package/dist/locales/de.json +940 -0
  1189. package/dist/locales/en.json +964 -0
  1190. package/dist/locales/it.json +940 -0
  1191. package/dist/option/index.js +2 -0
  1192. package/dist/option/index.js.map +1 -0
  1193. package/dist/patterns/leo-assistant/index.d.ts +20 -0
  1194. package/dist/patterns/leo-assistant/index.d.ts.map +1 -0
  1195. package/dist/patterns/leo-assistant/index.js +8 -0
  1196. package/dist/patterns/leo-assistant/index.js.map +1 -0
  1197. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts +3 -0
  1198. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +1 -0
  1199. package/dist/patterns/leo-assistant/leo-embedded.d.ts +13 -0
  1200. package/dist/patterns/leo-assistant/leo-embedded.d.ts.map +1 -0
  1201. package/dist/patterns/leo-assistant/leo-popout.d.ts +13 -0
  1202. package/dist/patterns/leo-assistant/leo-popout.d.ts.map +1 -0
  1203. package/dist/patterns/leo-assistant/leo-sidebar.d.ts +38 -0
  1204. package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +1 -0
  1205. package/dist/patterns/leo-assistant/leo-types.d.ts +122 -0
  1206. package/dist/patterns/leo-assistant/leo-types.d.ts.map +1 -0
  1207. package/dist/patterns/patient-shell/index.d.ts +12 -0
  1208. package/dist/patterns/patient-shell/index.d.ts.map +1 -0
  1209. package/dist/patterns/patient-shell/index.js +5 -0
  1210. package/dist/patterns/patient-shell/index.js.map +1 -0
  1211. package/dist/patterns/patient-shell/patient-shell.d.ts +62 -0
  1212. package/dist/patterns/patient-shell/patient-shell.d.ts.map +1 -0
  1213. package/dist/safe-html/index.js +66 -0
  1214. package/dist/safe-html/index.js.map +1 -0
  1215. package/dist/tokens/apexcharts-theme.d.ts +3 -0
  1216. package/dist/tokens/apexcharts-theme.d.ts.map +1 -0
  1217. package/dist/tokens/themes/bridges/stripe-appearance.d.ts +10 -0
  1218. package/dist/tokens/themes/bridges/stripe-appearance.d.ts.map +1 -0
  1219. package/dist/tokens.css +3 -0
  1220. package/package.json +702 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-OVzwN3jE.js","sources":["../../node_modules/lucide-react/dist/esm/icons/grip-vertical.js","../../node_modules/lucide-react/dist/esm/icons/panel-left-close.js","../../node_modules/lucide-react/dist/esm/icons/panel-left-open.js","../../node_modules/lucide-react/dist/esm/icons/star.js","../../src/components/sidebar/sidebar.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 [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n];\nconst GripVertical = createLucideIcon(\"grip-vertical\", __iconNode);\n\nexport { __iconNode, GripVertical as default };\n//# sourceMappingURL=grip-vertical.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }],\n [\"path\", { d: \"m16 15-3-3 3-3\", key: \"14y99z\" }]\n];\nconst PanelLeftClose = createLucideIcon(\"panel-left-close\", __iconNode);\n\nexport { __iconNode, PanelLeftClose as default };\n//# sourceMappingURL=panel-left-close.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }],\n [\"path\", { d: \"m14 9 3 3-3 3\", key: \"8010ee\" }]\n];\nconst PanelLeftOpen = createLucideIcon(\"panel-left-open\", __iconNode);\n\nexport { __iconNode, PanelLeftOpen as default };\n//# sourceMappingURL=panel-left-open.js.map\n","/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\",\n key: \"r04s7s\"\n }\n ]\n];\nconst Star = createLucideIcon(\"star\", __iconNode);\n\nexport { __iconNode, Star as default };\n//# sourceMappingURL=star.js.map\n","import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type AnchorHTMLAttributes,\n type ComponentPropsWithoutRef,\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n} from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport * as RadixCollapsible from '@radix-ui/react-collapsible';\nimport * as RadixAccordion from '@radix-ui/react-accordion';\nimport * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { AccordionContent } from '../accordion';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n ChevronRight,\n GripVertical,\n PanelLeftClose,\n PanelLeftOpen,\n Star,\n X,\n} from 'lucide-react';\n\n/* -------------------------------------------------------------------- */\n/* Types & context */\n/* -------------------------------------------------------------------- */\n\nexport type SidebarMode = 'expanded' | 'icon' | 'overlay';\nexport type SidebarDensity = 'default' | 'compact';\n\nexport interface SidebarContextValue {\n mode: SidebarMode;\n density: SidebarDensity;\n /** Transition the sidebar to a new mode from an internal toggle. */\n transitionTo?: (next: SidebarMode) => void;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n mode: 'expanded',\n density: 'default',\n});\n\nexport const useSidebar = () => useContext(SidebarContext);\n\n/* -------------------------------------------------------------------- */\n/* localStorage helpers (SSR-safe) */\n/* -------------------------------------------------------------------- */\n\nconst STORAGE_KEY = 'ui.sidebar.state';\n\nfunction readStoredState(defaultMode: SidebarMode): SidebarMode {\n if (typeof window === 'undefined') return defaultMode;\n try {\n const v = window.localStorage.getItem(STORAGE_KEY);\n if (v === 'expanded' || v === 'icon' || v === 'overlay') return v;\n } catch {\n /* noop */\n }\n return defaultMode;\n}\n\nfunction writeStoredState(value: SidebarMode) {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(STORAGE_KEY, value);\n } catch {\n /* noop */\n }\n}\n\n/* -------------------------------------------------------------------- */\n/* usePersistentState */\n/* */\n/* Drop-in `useState` replacement that mirrors its value to */\n/* `localStorage` under the given key. Same signature as `useState`, so */\n/* consumers can wire favourites / accordion / any sidebar preference to */\n/* survive reloads without plumbing effects by hand: */\n/* */\n/* const [pinnedIds, setPinnedIds] = */\n/* usePersistentState<string[]>('ui.sidebar.favorites', */\n/* ['dashboard', 'calendar']); */\n/* */\n/* SSR-safe and quota-safe (swallows serialize / storage errors). */\n/* -------------------------------------------------------------------- */\n\nexport function usePersistentState<T>(\n storageKey: string,\n initial: T | (() => T),\n): [T, (value: T | ((prev: T) => T)) => void] {\n const [value, setValue] = useState<T>(() => {\n if (typeof window === 'undefined') {\n return typeof initial === 'function' ? (initial as () => T)() : initial;\n }\n try {\n const raw = window.localStorage.getItem(storageKey);\n if (raw !== null) return JSON.parse(raw) as T;\n } catch {\n /* noop */\n }\n return typeof initial === 'function' ? (initial as () => T)() : initial;\n });\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(storageKey, JSON.stringify(value));\n } catch {\n /* noop */\n }\n }, [storageKey, value]);\n\n return [value, setValue];\n}\n\n/* -------------------------------------------------------------------- */\n/* Root */\n/* -------------------------------------------------------------------- */\n\nconst railClasses = cva(\n [\n 'ds:flex ds:flex-col',\n // Sidebar sits at the page background in light mode (white-on-white\n // chrome separated by the inline-end border + --shadow-md). In dark\n // mode the Header already blends with --background, so we step the\n // sidebar one layer down (blue-600) to keep it visually distinct from\n // the header band — matches the PDF dark mockups' \"flat Dark Blue\n // surface with subtle depth via layering\" recipe.\n 'ds:bg-[var(--background)] ds:[.theme-dark_&]:bg-[color:var(--color-blue-600)] ds:text-[var(--foreground)]',\n 'ds:border-inline-end ds:border-[var(--border)]',\n // Resting-surface elevation — `--shadow-md` is deliberately lighter\n // than `--shadow-card` so it reads as chrome, not a floating card,\n // while still separating the rail from the page content on light\n // backgrounds. Forced-colors strips shadows globally, so the\n // `border-inline-end` above carries the separation cue for HCM.\n //\n // `relative z-[1]` lifts the rail above any sibling that paints a\n // solid background (e.g. AppFrame's `<main>` surface), otherwise\n // the shadow that projects towards the inline-end gets covered.\n 'ds:relative ds:z-[1] ds:shadow-[var(--shadow-md)]',\n 'ds:h-full',\n 'ds:transition-[inline-size] ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n mode: {\n // Tokenised widths modelled on Linear / Jira proportions.\n expanded: 'ds:w-[var(--sidebar-modern-expanded-size)]',\n icon: 'ds:w-[var(--sidebar-modern-icon-size)]',\n overlay: 'ds:w-[var(--sidebar-modern-expanded-size)]',\n },\n density: {\n default: '',\n compact: '',\n },\n },\n defaultVariants: { mode: 'expanded', density: 'default' },\n },\n);\n\nexport interface SidebarProps extends ComponentPropsWithoutRef<'nav'> {\n /** Visual mode. Controlled via `onStateChange`. @default 'expanded' */\n state?: SidebarMode;\n /** Uncontrolled default mode. @default 'expanded' */\n defaultState?: SidebarMode;\n /** Fires when the mode changes (user toggle or overlay open/close). */\n onStateChange?: (state: SidebarMode) => void;\n /** Compact density shrinks inline padding. @default 'default' */\n density?: SidebarDensity;\n /** Overlay-only: controlled open state. */\n open?: boolean;\n /** Overlay-only: fires when the dialog opens/closes. */\n onOpenChange?: (open: boolean) => void;\n /** Override the nav aria-label. */\n 'aria-label'?: string;\n}\n\nconst Sidebar = forwardRef<HTMLElement, SidebarProps>(\n (\n {\n state,\n defaultState = 'expanded',\n onStateChange,\n density = 'default',\n open,\n onOpenChange,\n 'aria-label': ariaLabel,\n className,\n children,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const isControlled = state !== undefined;\n const [internalState, setInternalState] = useState<SidebarMode>(() =>\n isControlled ? state! : readStoredState(defaultState),\n );\n const resolved = isControlled ? state! : internalState;\n\n useEffect(() => {\n if (!isControlled) writeStoredState(internalState);\n }, [internalState, isControlled]);\n\n // Transition handler used by internal toggles. In controlled mode we\n // only fire `onStateChange` — the parent is responsible for updating\n // the `state` prop. In uncontrolled mode we also update local state.\n // Note: we intentionally do NOT echo the incoming `state` prop back to\n // `onStateChange` — that caused a feedback loop in controlled consumers.\n const transitionTo = useCallback(\n (next: SidebarMode) => {\n if (!isControlled) setInternalState(next);\n onStateChange?.(next);\n },\n [isControlled, onStateChange],\n );\n\n const label = ariaLabel ?? t('ui.navigation.sidebar.label');\n\n if (resolved === 'overlay') {\n return (\n <SidebarContext.Provider value={{ mode: 'overlay', density, transitionTo }}>\n <RadixDialog.Root open={open} onOpenChange={onOpenChange}>\n <RadixDialog.Portal>\n <RadixDialog.Overlay\n className={[\n 'ds:fixed ds:inset-0 ds:z-[var(--z-modal-backdrop)]',\n 'ds:bg-[var(--foreground)]/20 ds:backdrop-blur-sm',\n 'ds:data-[state=open]:animate-in ds:data-[state=open]:fade-in',\n 'ds:data-[state=closed]:animate-out ds:data-[state=closed]:fade-out',\n 'ds:motion-reduce:animate-none',\n ].join(' ')}\n />\n <RadixDialog.Content\n aria-label={label}\n className={[\n 'ds:fixed ds:z-[var(--z-modal)]',\n 'ds:inset-inline-start-0 ds:inset-block-start-0',\n 'ds:h-dvh',\n railClasses({ mode: 'overlay', density }),\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:data-[state=open]:slide-in-from-left ds:data-[state=closed]:slide-out-to-left',\n 'ds:rtl:data-[state=open]:slide-in-from-right ds:rtl:data-[state=closed]:slide-out-to-right',\n 'ds:motion-reduce:animate-none',\n 'ds:focus:outline-none',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <nav ref={ref} aria-label={label} data-component=\"sidebar\" className=\"ds:flex ds:flex-col ds:h-full\" {...rest}>\n {children}\n </nav>\n <RadixDialog.Close asChild>\n <button\n type=\"button\"\n aria-label={t('ui.navigation.sidebar.close')}\n className={[\n 'ds:absolute ds:top-[var(--spacing-sm)] ds:end-[var(--spacing-sm)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]',\n 'ds:rounded-[var(--radius-sm)] ds:text-[var(--muted-foreground)]',\n 'ds:hover:bg-[var(--muted)]/20 ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-solid ds:focus-visible:outline-[var(--ring)]',\n 'ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n ].join(' ')}\n >\n <X aria-hidden=\"true\" className=\"ds:size-4\" />\n </button>\n </RadixDialog.Close>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n </RadixDialog.Root>\n </SidebarContext.Provider>\n );\n }\n\n return (\n <SidebarContext.Provider value={{ mode: resolved, density, transitionTo }}>\n <RadixTooltip.Provider delayDuration={300}>\n <nav\n ref={ref}\n aria-label={label}\n data-component=\"sidebar\"\n data-mode={resolved}\n data-density={density}\n className={[\n railClasses({ mode: resolved, density }),\n density === 'compact' ? 'ds:density-compact' : '',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </nav>\n </RadixTooltip.Provider>\n </SidebarContext.Provider>\n );\n },\n);\nSidebar.displayName = 'Sidebar';\n\n/* -------------------------------------------------------------------- */\n/* Header / Body / Footer */\n/* -------------------------------------------------------------------- */\n\nconst SidebarHeader = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...rest }, ref) => {\n const { mode } = useSidebar();\n return (\n <div\n ref={ref}\n className={[\n 'ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'ds:min-h-[var(--min-target-size)]',\n // Icon-rail is 64px — shrink horizontal padding so a 44×44\n // control fits centred inside the header.\n mode === 'icon'\n ? 'ds:justify-center ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]'\n : 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:py-[var(--spacing-sm)]',\n // Hairline border + downward chrome shadow cast the header as a\n // sticky top band above the scrolling body.\n 'ds:border-block-end ds:border-[var(--border)]',\n 'ds:shadow-[var(--shadow-chrome-down)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n />\n );\n },\n);\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarBody = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...rest }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:flex-1 ds:overflow-auto',\n 'ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n 'ds:py-[var(--spacing-sm)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n />\n ),\n);\nSidebarBody.displayName = 'SidebarBody';\n\nconst SidebarFooter = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n ({ className, ...rest }, ref) => {\n const { mode } = useSidebar();\n return (\n <div\n ref={ref}\n className={[\n 'ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-xs)]',\n // Icon-rail is 64px — two 44×44 controls can't sit side-by-side,\n // so switch to a vertical stack and let each row self-centre.\n mode === 'icon'\n ? 'ds:flex-col ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]'\n : 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:py-[var(--spacing-sm)]',\n // Hairline border + upward chrome shadow cast the footer as a\n // sticky bottom band below the scrolling body.\n 'ds:border-block-start ds:border-[var(--border)]',\n 'ds:shadow-[var(--shadow-chrome-up)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n />\n );\n },\n);\nSidebarFooter.displayName = 'SidebarFooter';\n\n/* -------------------------------------------------------------------- */\n/* Section */\n/* -------------------------------------------------------------------- */\n\nexport interface SidebarSectionProps extends ComponentPropsWithoutRef<'div'> {\n /** Section label shown in expanded / overlay modes. */\n label?: string;\n /**\n * Optional leading glyph rendered inline with the section label. Stays\n * visible in `icon` mode (when the label collapses to `sr-only`) so the\n * user still has a visual grouping cue. Decorative — the label carries\n * the accessible name, so the icon slot is `aria-hidden`.\n */\n icon?: ReactNode;\n /**\n * Make the label an accordion trigger that collapses its children.\n * @default true\n */\n collapsible?: boolean;\n /** Uncontrolled default open state for the accordion. @default true */\n defaultOpen?: boolean;\n /** Controlled open state. */\n open?: boolean;\n /** Fires when the accordion opens / closes. */\n onOpenChange?: (open: boolean) => void;\n}\n\nconst sectionLabelClasses = [\n 'ds:group/section-label ds:flex ds:w-full ds:items-center',\n 'type-eyebrow',\n 'ds:text-[var(--muted-foreground)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:py-[var(--spacing-xs)]',\n 'ds:hover:text-[var(--foreground)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\n// Leading icon rendered inside a section header (accordion trigger or plain\n// heading). `--accent` keeps it in the same tint as item-level icons so the\n// header reads as a grouping cue, not a control. `aria-hidden` because the\n// label carries the accessible name.\nconst sectionIconClasses = [\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:size-4',\n 'ds:text-[var(--accent)]',\n 'ds:me-[var(--spacing-xs)]',\n].join(' ');\n\nconst SidebarSection = forwardRef<HTMLDivElement, SidebarSectionProps>(\n (\n {\n label,\n icon,\n collapsible = true,\n defaultOpen = true,\n open,\n onOpenChange,\n className,\n children,\n ...rest\n },\n ref,\n ) => {\n const { mode } = useSidebar();\n const isIconMode = mode === 'icon';\n // Collapsing the section in icon mode hides icons the user needs for\n // navigation — skip the accordion behaviour there.\n const isAccordion = collapsible && !isIconMode && Boolean(label);\n\n const wrapperClasses = [\n 'ds:flex ds:flex-col',\n 'ds:gap-[var(--spacing-xs)]',\n 'ds:mt-[var(--spacing-sm)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ');\n\n if (!isAccordion) {\n // In icon mode, if there's no icon and no label to render, skip the\n // heading altogether. If there is an icon, it stays visible as the\n // grouping cue and the label collapses to sr-only.\n const hasHeading = Boolean(label) || Boolean(icon);\n return (\n <div ref={ref} className={wrapperClasses} {...rest}>\n {hasHeading ? (\n <span\n className={[\n 'ds:flex ds:items-center',\n 'type-eyebrow',\n 'ds:text-[var(--muted-foreground)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:py-[var(--spacing-xs)]',\n isIconMode && !icon ? 'ds:sr-only' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {icon ? (\n <span aria-hidden=\"true\" className={sectionIconClasses}>\n {icon}\n </span>\n ) : null}\n {label ? (\n <span className={isIconMode ? 'ds:sr-only' : ''}>{label}</span>\n ) : null}\n </span>\n ) : null}\n {children}\n </div>\n );\n }\n\n // Use the Radix Accordion primitive + the DS `AccordionContent`\n // component so the sidebar inherits the exact open/close animation\n // defined in `accordion.tsx` (`accordion-down` / `accordion-up`\n // keyframes). Any tweak there propagates here automatically.\n const accordionValue = 'section';\n return (\n <RadixAccordion.Root\n type=\"single\"\n collapsible\n defaultValue={\n open === undefined && defaultOpen ? accordionValue : undefined\n }\n value={open === undefined ? undefined : open ? accordionValue : ''}\n onValueChange={\n onOpenChange ? (v) => onOpenChange(v === accordionValue) : undefined\n }\n asChild\n >\n <div ref={ref} className={wrapperClasses} {...rest}>\n <RadixAccordion.Item value={accordionValue}>\n <RadixAccordion.Header className=\"ds:flex\">\n <RadixAccordion.Trigger className={sectionLabelClasses}>\n {icon ? (\n <span aria-hidden=\"true\" className={sectionIconClasses}>\n {icon}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:text-start\">{label}</span>\n <ChevronRight\n aria-hidden=\"true\"\n className=\"ds:size-3 ds:transition-transform ds:group-data-[state=open]/section-label:rotate-90 ds:rtl:-scale-x-100 ds:motion-reduce:transition-none\"\n />\n </RadixAccordion.Trigger>\n </RadixAccordion.Header>\n <AccordionContent\n aria-label={label}\n // Flatten the inner padding wrapper AccordionContent adds —\n // the sidebar sections don't want the 16px padding block\n // that Accordion cards use. `display: contents` strips the\n // wrapper from layout so our children flow directly into\n // the flex column with the gap we set here.\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:[&>div]:contents\"\n >\n {children}\n </AccordionContent>\n </RadixAccordion.Item>\n </div>\n </RadixAccordion.Root>\n );\n },\n);\nSidebarSection.displayName = 'SidebarSection';\n\n/* -------------------------------------------------------------------- */\n/* Group (collapsible) */\n/* -------------------------------------------------------------------- */\n\nexport interface SidebarGroupProps\n extends ComponentPropsWithoutRef<typeof RadixCollapsible.Root> {\n /** Visible label for the group trigger. */\n label: string;\n /** Optional leading icon. */\n icon?: ReactNode;\n}\n\nconst groupTriggerClasses = [\n 'ds:group ds:flex ds:w-full ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-[var(--foreground)] ds:text-[var(--font-size-sm)]',\n 'ds:font-[var(--font-weight-medium)]',\n 'ds:hover:bg-[var(--muted)]/20',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst SidebarGroup = forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ label, icon, children, className, defaultOpen, open, onOpenChange, ...rest }, ref) => {\n const { mode } = useSidebar();\n return (\n <RadixCollapsible.Root\n ref={ref}\n defaultOpen={defaultOpen}\n open={open}\n onOpenChange={onOpenChange}\n className={className}\n {...rest}\n >\n <RadixCollapsible.Trigger className={groupTriggerClasses}>\n {icon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:text-[var(--accent)]\"\n >\n {icon}\n </span>\n ) : null}\n <span\n className={[\n 'ds:flex-1 ds:text-start',\n mode === 'icon' ? 'ds:sr-only' : '',\n ].join(' ')}\n >\n {label}\n </span>\n {mode !== 'icon' ? (\n <ChevronRight\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:transition-transform ds:group-data-[state=open]:rotate-90 ds:rtl:-scale-x-100 ds:motion-reduce:transition-none\"\n />\n ) : null}\n </RadixCollapsible.Trigger>\n <RadixCollapsible.Content\n className={[\n 'ds:overflow-hidden',\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:motion-reduce:animate-none',\n 'ds:ps-[var(--spacing-md)]',\n ].join(' ')}\n >\n {children}\n </RadixCollapsible.Content>\n </RadixCollapsible.Root>\n );\n },\n);\nSidebarGroup.displayName = 'SidebarGroup';\n\n/* -------------------------------------------------------------------- */\n/* Item */\n/* -------------------------------------------------------------------- */\n\nconst itemClasses = cva(\n [\n // Every row is a pin-hover parent so inline pin / reorder affordances can\n // fade in on hover of the whole row — keep `group/item` on this selector.\n // `!text-[var(--foreground)]` forces the label colour over the browser's\n // default `<a>` link colour (blue-violet) and any inherited hue. The\n // active variant also uses `!text-*` so it still wins when needed.\n 'ds:group/item ds:relative ds:flex ds:items-center',\n 'ds:gap-[var(--spacing-sm)]',\n 'ds:no-underline ds:!text-[var(--foreground)] ds:text-[length:var(--font-size-sm)]',\n 'ds:hover:bg-[var(--muted)]/12',\n 'ds:transition-colors ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' '),\n {\n variants: {\n mode: {\n expanded: [\n 'ds:min-h-[var(--min-target-size)] ds:rounded-[var(--radius-sm)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n ].join(' '),\n // Icon-only: each item is a 44×44 pill tile centered in the rail.\n // The active / hover background fills just the tile rather than the\n // whole row — matching Linear / Asana chrome.\n icon: [\n 'ds:justify-center ds:ms-auto ds:me-auto',\n 'ds:w-[var(--min-target-size)] ds:h-[var(--min-target-size)]',\n 'ds:ps-0 ds:pe-0 ds:rounded-[var(--radius-md)]',\n ].join(' '),\n overlay: [\n 'ds:min-h-[var(--min-target-size)] ds:rounded-[var(--radius-sm)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n ].join(' '),\n },\n density: {\n default: '',\n compact: 'ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n },\n isActive: {\n // Filled pill — multi-carrier (bg + text + weight + aria-current at\n // render time) so colour is never the sole identifier. `!text-*`\n // forces the foreground over any inherited / base rule so the icon\n // and label read clearly against the primary fill in every theme.\n true: [\n 'ds:bg-[var(--primary)] ds:!text-[var(--primary-foreground)]',\n 'ds:font-[var(--font-weight-semibold)]',\n // Keep hover from dimming the active fill.\n 'ds:hover:bg-[var(--primary)]',\n ].join(' '),\n false: '',\n },\n },\n defaultVariants: {\n mode: 'expanded',\n density: 'default',\n isActive: false,\n },\n },\n);\n\nexport interface SidebarItemProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** Mark the item as the current page (`aria-current='page'`). */\n isActive?: boolean;\n /** Render through Radix `Slot` so a router link can take over. */\n asChild?: boolean;\n /**\n * Whether this item is currently pinned to Favourites. Only consulted\n * when `onPinChange` is supplied.\n */\n isPinned?: boolean;\n /**\n * Fires with the new pinned state when the user clicks the star. Passing\n * this prop opts the row into the always-on pin affordance — a star\n * outline fades in on row hover / focus and fills when pinned. Hidden in\n * icon-only mode where there is no room for trailing controls.\n */\n onPinChange?: (next: boolean) => void;\n /** Accessible label for the pin button. Defaults to the item's `aria-label`. */\n pinLabel?: string;\n}\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n (\n {\n asChild = false,\n isActive = false,\n isPinned = false,\n onPinChange,\n pinLabel,\n className,\n children,\n 'aria-label': ariaLabel,\n ...rest\n },\n ref,\n ) => {\n const { mode, density } = useSidebar();\n const Comp = asChild ? Slot : 'a';\n const showPin = onPinChange !== undefined && mode !== 'icon';\n\n const anchor = (\n <Comp\n ref={ref as never}\n aria-current={isActive ? 'page' : undefined}\n aria-label={ariaLabel}\n className={itemClasses({\n mode,\n density,\n isActive,\n className: showPin ? 'ds:flex-1 ds:min-w-0' : className,\n })}\n {...rest}\n >\n {children}\n </Comp>\n );\n\n const body = showPin ? (\n <div\n className={[\n 'ds:group/item ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {anchor}\n <SidebarPinButton\n isPinned={isPinned}\n label={pinLabel ?? ariaLabel ?? ''}\n onPinChange={onPinChange}\n />\n </div>\n ) : (\n anchor\n );\n\n // In icon-only mode, wrap the item in a Radix Tooltip showing the label.\n if (mode === 'icon' && ariaLabel) {\n return (\n <RadixTooltip.Root>\n <RadixTooltip.Trigger asChild>{body}</RadixTooltip.Trigger>\n <RadixTooltip.Portal>\n <RadixTooltip.Content\n side=\"right\"\n sideOffset={6}\n className={[\n 'ds:z-[var(--z-tooltip)] ds:max-w-[16rem]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:bg-[var(--foreground)] ds:text-[var(--background)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-xs)] ds:text-[length:var(--font-size-xs)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95 ds:motion-reduce:animate-none',\n ].join(' ')}\n >\n {ariaLabel}\n <RadixTooltip.Arrow className=\"ds:fill-[var(--foreground)]\" />\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n );\n }\n\n return body;\n },\n);\nSidebarItem.displayName = 'SidebarItem';\n\n/* -------------------------------------------------------------------- */\n/* Item slots — Icon, Label, Badge */\n/* -------------------------------------------------------------------- */\n\nconst SidebarItemIcon = forwardRef<HTMLSpanElement, ComponentPropsWithoutRef<'span'>>(\n ({ className, children, ...rest }, ref) => (\n <span\n ref={ref}\n aria-hidden=\"true\"\n className={[\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:size-5',\n // Icons carry the accent tint by default so the rail reads less\n // monotone against the violet active pill. The active row sets\n // `aria-current=\"page\"` on the anchor (which is `group/item`), so\n // the icon flips to the primary-foreground (white) on the filled\n // pill — keeping it readable on the primary background.\n 'ds:text-[var(--accent)]',\n 'ds:group-aria-[current=page]/item:text-[var(--primary-foreground)]',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </span>\n ),\n);\nSidebarItemIcon.displayName = 'SidebarItemIcon';\n\nconst SidebarItemLabel = forwardRef<HTMLSpanElement, ComponentPropsWithoutRef<'span'>>(\n ({ className, children, ...rest }, ref) => {\n const { mode } = useSidebar();\n return (\n <span\n ref={ref}\n className={[\n 'ds:flex-1',\n 'ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap ds:break-normal',\n 'ds:text-start',\n mode === 'icon' ? 'ds:sr-only' : '',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </span>\n );\n },\n);\nSidebarItemLabel.displayName = 'SidebarItemLabel';\n\nconst SidebarItemBadge = forwardRef<HTMLSpanElement, ComponentPropsWithoutRef<'span'>>(\n ({ className, children, ...rest }, ref) => {\n const { mode } = useSidebar();\n const isIcon = mode === 'icon';\n // --accent on a light surface is magenta-500 (~3.2:1 on white) and\n // fails WCAG AA for `--font-size-xs` text per 05-accessibility §Accent.\n // Use --primary + its token-paired foreground so contrast is preserved\n // in every theme.\n //\n // In icon mode the pill collapses to a compact presence indicator: a\n // 10×10 dot perched on the top-end of the icon tile with a background-\n // coloured ring so it reads against any row fill. The numeric count is\n // hidden visually but stays in the accessible name via an sr-only span.\n return (\n <span\n ref={ref}\n aria-hidden={isIcon ? 'true' : undefined}\n className={[\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:font-[var(--font-weight-semibold)]',\n isIcon\n ? [\n 'ds:absolute ds:top-[2px] ds:end-[2px]',\n 'ds:min-w-0 ds:size-[10px] ds:ps-0 ds:pe-0',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[var(--primary)] ds:text-transparent',\n 'ds:ring-2 ds:ring-[var(--background)]',\n 'ds:pointer-events-none',\n ].join(' ')\n : [\n 'ds:min-w-[var(--spacing-lg)] ds:h-[var(--spacing-lg)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)]',\n 'ds:text-[length:var(--font-size-xs)]',\n 'ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n ].join(' '),\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </span>\n );\n },\n);\nSidebarItemBadge.displayName = 'SidebarItemBadge';\n\n/* -------------------------------------------------------------------- */\n/* Modern-only compound pieces */\n/* */\n/* These components ship styling that matches the modern aesthetic. */\n/* They are INTERACTION STUBS — they render the correct chrome but do */\n/* not open a DropdownMenu, because the DS <DropdownMenu> wrapper does */\n/* not exist yet (see review-findings/component-cohesion.mdx). Consumers */\n/* wire their own Radix DropdownMenu around these triggers until the DS */\n/* wrapper lands. Do NOT add aria-haspopup here — it would announce a */\n/* menu that never opens (screen-reader lie). */\n/* -------------------------------------------------------------------- */\n\nconst workspaceSwitcherClasses = cva(\n [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:text-[var(--foreground)] ds:text-[length:var(--font-size-sm)]',\n 'ds:hover:bg-[var(--muted)]/20',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:no-underline',\n ].join(' '),\n);\n\nexport interface SidebarWorkspaceSwitcherProps\n extends ComponentPropsWithoutRef<'button'> {\n /** Workspace glyph — square <Avatar>, <img>, or <svg>. Required. */\n logo: ReactNode;\n /** Workspace name. Hidden in icon mode; always the accessible name. */\n name: string;\n /** Trailing chevron for the dropdown affordance. Defaults to true. */\n showChevron?: boolean;\n}\n\nconst SidebarWorkspaceSwitcher = forwardRef<\n HTMLButtonElement,\n SidebarWorkspaceSwitcherProps\n>(({ logo, name, showChevron = true, className, ...rest }, ref) => {\n const { mode } = useSidebar();\n const showLabel = mode !== 'icon';\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={name}\n className={[workspaceSwitcherClasses(), className].filter(Boolean).join(' ')}\n {...rest}\n >\n <span aria-hidden=\"true\" className=\"ds:inline-flex ds:items-center ds:shrink-0\">\n {logo}\n </span>\n {showLabel ? (\n <>\n <span\n className=\"ds:truncate ds:flex-1 ds:text-start ds:max-w-[var(--header-workspace-max-inline-size)]\"\n >\n {name}\n </span>\n {showChevron ? (\n <ChevronRight\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:shrink-0 ds:rotate-90\"\n />\n ) : null}\n </>\n ) : null}\n </button>\n );\n});\nSidebarWorkspaceSwitcher.displayName = 'SidebarWorkspaceSwitcher';\n\n/* -- Primary action slot -------------------------------------------- */\n\nconst primaryActionClasses = cva(\n [\n 'ds:flex ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)]',\n 'ds:font-[var(--font-weight-semibold)] ds:text-[length:var(--font-size-sm)]',\n 'ds:hover:bg-[var(--primary-hover)]',\n 'ds:transition-colors ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n ].join(' '),\n {\n variants: {\n mode: {\n expanded: 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n icon: 'ds:ps-0 ds:pe-0 ds:w-[var(--sidebar-modern-tile)] ds:h-[var(--sidebar-modern-tile)] ds:ms-auto ds:me-auto',\n overlay: 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n },\n },\n defaultVariants: { mode: 'expanded' },\n },\n);\n\nexport interface SidebarPrimaryActionProps\n extends ComponentPropsWithoutRef<'button'> {\n icon: ReactNode;\n /** Button label — hidden in icon mode, always the accessible name. */\n label: string;\n /** Optional keyboard shortcut displayed on inline-end in expanded mode. */\n shortcut?: string;\n}\n\nconst SidebarPrimaryAction = forwardRef<\n HTMLButtonElement,\n SidebarPrimaryActionProps\n>(({ icon, label, shortcut, className, ...rest }, ref) => {\n const { mode } = useSidebar();\n const showLabel = mode !== 'icon';\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={label}\n aria-keyshortcuts={shortcut}\n className={[primaryActionClasses({ mode }), className]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <span aria-hidden=\"true\" className=\"ds:inline-flex ds:size-4 ds:items-center ds:justify-center\">\n {icon}\n </span>\n {showLabel ? (\n <>\n <span className=\"ds:truncate\">{label}</span>\n {shortcut ? (\n <kbd className=\"ds:ms-auto ds:text-[length:var(--font-size-xs)] ds:font-[family-name:var(--font-mono)] ds:opacity-80\">\n {shortcut}\n </kbd>\n ) : null}\n </>\n ) : null}\n </button>\n );\n});\nSidebarPrimaryAction.displayName = 'SidebarPrimaryAction';\n\n/* -- Pin button ----------------------------------------------------- */\n\n/**\n * Toggleable star button used to pin / unpin a nav item to the Favorites\n * section. Rendered inline alongside a `SidebarItem`'s content — hidden in\n * icon mode (pin affordances only make sense when the full row is visible).\n *\n * Controlled via `isPinned` + `onPinChange`. The consumer owns the list of\n * pinned items and mirrors them into `<SidebarFavorites>`.\n */\nexport interface SidebarPinButtonProps\n extends Omit<ComponentPropsWithoutRef<'button'>, 'onChange'> {\n /** Whether the associated item is currently pinned. */\n isPinned: boolean;\n /** Fires with the new pinned state. */\n onPinChange?: (next: boolean) => void;\n /**\n * Accessible label that names what is being pinned — e.g. the item's\n * label. Required so screen-readers can tell pin buttons apart.\n */\n label: string;\n}\n\nconst pinButtonClasses = [\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:size-6 ds:rounded-[var(--radius-sm)]',\n // Pin stars carry the accent tint to match every other icon in the rail.\n // Stays quiet via opacity — reveals only on row hover / focus.\n 'ds:text-[var(--accent)]',\n 'ds:opacity-0 ds:group-hover/item:opacity-100 ds:focus-visible:opacity-100',\n 'ds:hover:bg-[var(--muted)]/20',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:transition-[color,opacity,background-color] ds:duration-[var(--animation-duration)]',\n 'ds:motion-reduce:transition-none',\n].join(' ');\n\nconst SidebarPinButton = forwardRef<HTMLButtonElement, SidebarPinButtonProps>(\n (\n { isPinned, onPinChange, label, className, onClick, ...rest },\n ref,\n ) => {\n const { t } = useTranslation();\n const { mode } = useSidebar();\n if (mode === 'icon') return null;\n const accessibleLabel = isPinned\n ? t('ui.navigation.sidebar.unpinItem', 'Unpin {{label}}', { label })\n : t('ui.navigation.sidebar.pinItem', 'Pin {{label}}', { label });\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={accessibleLabel}\n aria-pressed={isPinned}\n className={[pinButtonClasses, className].filter(Boolean).join(' ')}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onPinChange?.(!isPinned);\n onClick?.(event);\n }}\n {...rest}\n >\n <Star\n aria-hidden=\"true\"\n className=\"ds:size-4\"\n fill={isPinned ? 'currentColor' : 'none'}\n />\n </button>\n );\n },\n);\nSidebarPinButton.displayName = 'SidebarPinButton';\n\n/* -- Favorites — reorderable section -------------------------------- */\n\ninterface SidebarFavoritesContextValue {\n onReorder?: (from: number, to: number) => void;\n count: number;\n dragSource: number | null;\n setDragSource: (index: number | null) => void;\n announce: (message: string) => void;\n}\n\nconst SidebarFavoritesContext =\n createContext<SidebarFavoritesContextValue | null>(null);\n\nconst useFavoritesContext = () => useContext(SidebarFavoritesContext);\n\n/**\n * Renders `<SidebarSection heading={t('ui.sidebar.favorites')}>` with an\n * empty-state prompt when no children are supplied. When `onReorder` is\n * provided, children rendered as `<SidebarFavoriteItem>` become drag-and-drop\n * and keyboard reorderable (Alt+↑ / Alt+↓).\n */\nexport interface SidebarFavoritesProps extends ComponentPropsWithoutRef<'div'> {\n heading?: string;\n /** Shown when `children` is empty. */\n emptyMessage?: string;\n /**\n * Called when a favorite item is moved from `from` index to `to` index.\n * Providing this opts the section into drag-and-drop + keyboard reorder.\n */\n onReorder?: (from: number, to: number) => void;\n}\n\nconst SidebarFavorites = forwardRef<HTMLDivElement, SidebarFavoritesProps>(\n (\n { heading, emptyMessage, onReorder, className, children, ...rest },\n ref,\n ) => {\n const { t } = useTranslation();\n const resolvedHeading =\n heading ?? t('ui.navigation.sidebar.favorites', 'Favourites');\n const childArray = Array.isArray(children)\n ? children.filter(Boolean)\n : children\n ? [children]\n : [];\n const count = childArray.length;\n const hasChildren = count > 0;\n const [dragSource, setDragSource] = useState<number | null>(null);\n const [liveMessage, setLiveMessage] = useState('');\n // Re-emit identical announcements by toggling an invisible suffix so\n // screen-readers treat repeated moves as distinct.\n const announceToggle = useRef(false);\n const announce = useCallback((message: string) => {\n announceToggle.current = !announceToggle.current;\n setLiveMessage(\n announceToggle.current ? message : `${message}\\u200b`,\n );\n }, []);\n\n const value = useMemo<SidebarFavoritesContextValue>(\n () => ({ onReorder, count, dragSource, setDragSource, announce }),\n [onReorder, count, dragSource, announce],\n );\n\n // When there are no pinned items, render nothing by default — no\n // heading, no empty-state copy. Consumers that want an explicit empty\n // state can pass `emptyMessage` to opt in.\n if (!hasChildren && !emptyMessage) return null;\n\n return (\n <SidebarFavoritesContext.Provider value={value}>\n <SidebarSection\n ref={ref}\n label={resolvedHeading}\n className={className}\n {...rest}\n >\n {hasChildren ? (\n childArray\n ) : (\n <p className=\"ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] type-meta ds:text-[color:var(--muted-foreground)]\">\n {emptyMessage}\n </p>\n )}\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {liveMessage}\n </span>\n </SidebarSection>\n </SidebarFavoritesContext.Provider>\n );\n },\n);\nSidebarFavorites.displayName = 'SidebarFavorites';\n\n/* -- Favorite item with drag handle + keyboard reorder -------------- */\n\nexport interface SidebarFavoriteItemProps extends SidebarItemProps {\n /** Zero-based position of this item within its `<SidebarFavorites>`. */\n index: number;\n /**\n * Accessible name used by the drag handle and live-region announcements.\n * Defaults to the `aria-label` of the underlying `SidebarItem`.\n */\n reorderLabel?: string;\n}\n\nconst favoriteRowClasses = cva(\n [\n 'ds:group/item ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n dragging: {\n true: 'ds:opacity-60',\n false: '',\n },\n dropTarget: {\n true: 'ds:outline-[length:var(--focus-ring-width)] ds:outline-dashed ds:outline-[var(--primary)] ds:outline-offset-[-2px]',\n false: '',\n },\n },\n defaultVariants: { dragging: false, dropTarget: false },\n },\n);\n\nconst dragHandleClasses = [\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:size-6 ds:rounded-[var(--radius-sm)]',\n 'ds:cursor-grab ds:active:cursor-grabbing',\n 'ds:text-[var(--muted-foreground)]',\n // Quiet chrome — only reveal the grip when the row is hovered or the\n // handle itself is focused (keyboard / AT). Matches the pin-star's\n // reveal-on-hover behaviour so the two siblings appear together.\n 'ds:opacity-0 ds:group-hover/item:opacity-100 ds:focus-visible:opacity-100',\n 'ds:hover:bg-[var(--muted)]/20 ds:hover:text-[var(--foreground)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:transition-[color,opacity,background-color] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst SidebarFavoriteItem = forwardRef<\n HTMLAnchorElement,\n SidebarFavoriteItemProps\n>(\n (\n {\n index,\n isActive = false,\n asChild = false,\n reorderLabel,\n isPinned = false,\n onPinChange,\n pinLabel,\n 'aria-label': ariaLabel,\n className,\n children,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const { mode } = useSidebar();\n const favorites = useFavoritesContext();\n const [isDropTarget, setIsDropTarget] = useState(false);\n const canReorder = Boolean(favorites?.onReorder) && mode !== 'icon';\n const label = reorderLabel ?? ariaLabel ?? '';\n const handleId = useId();\n\n const moveFromTo = (from: number, to: number) => {\n if (!favorites?.onReorder) return;\n const clamped = Math.max(0, Math.min(favorites.count - 1, to));\n if (clamped === from) return;\n favorites.onReorder(from, clamped);\n favorites.announce(\n t(\n 'ui.navigation.sidebar.reorderAnnounce',\n '{{label}} moved to position {{to}} of {{total}}',\n { label, to: clamped + 1, total: favorites.count },\n ),\n );\n };\n\n const onHandleKeyDown = (event: ReactKeyboardEvent<HTMLButtonElement>) => {\n if (!canReorder) return;\n if (event.altKey && event.key === 'ArrowUp') {\n event.preventDefault();\n moveFromTo(index, index - 1);\n } else if (event.altKey && event.key === 'ArrowDown') {\n event.preventDefault();\n moveFromTo(index, index + 1);\n } else if (event.key === 'Home' && event.altKey) {\n event.preventDefault();\n moveFromTo(index, 0);\n } else if (event.key === 'End' && event.altKey) {\n event.preventDefault();\n moveFromTo(index, favorites!.count - 1);\n }\n };\n\n const onDragStart = (event: ReactMouseEvent & { dataTransfer?: DataTransfer }) => {\n if (!canReorder) return;\n favorites?.setDragSource(index);\n if (event.dataTransfer) {\n event.dataTransfer.effectAllowed = 'move';\n // Firefox requires data to initiate a drag.\n event.dataTransfer.setData('ds:text/plain', String(index));\n }\n };\n\n const onDragEnd = () => {\n favorites?.setDragSource(null);\n setIsDropTarget(false);\n };\n\n const onDragOver = (event: ReactMouseEvent & { dataTransfer?: DataTransfer }) => {\n if (!canReorder || favorites?.dragSource === null) return;\n event.preventDefault();\n if (event.dataTransfer) event.dataTransfer.dropEffect = 'move';\n setIsDropTarget(true);\n };\n\n const onDragLeave = () => setIsDropTarget(false);\n\n const onDrop = (event: ReactMouseEvent) => {\n if (!canReorder) return;\n event.preventDefault();\n const source = favorites?.dragSource;\n setIsDropTarget(false);\n if (source === null || source === undefined || source === index) return;\n moveFromTo(source, index);\n };\n\n const isDragging = favorites?.dragSource === index;\n\n return (\n <div\n className={favoriteRowClasses({\n dragging: isDragging,\n dropTarget: isDropTarget && !isDragging,\n })}\n // Drag the whole row — the grip is a visual + keyboard affordance,\n // not the sole drag target. Buttons don't start HTML5 drags reliably\n // in every browser, so we mount the drag events on the row wrapper.\n draggable={canReorder || undefined}\n onDragStart={\n canReorder\n ? (onDragStart as unknown as (e: ReactMouseEvent<HTMLDivElement>) => void)\n : undefined\n }\n onDragEnd={canReorder ? onDragEnd : undefined}\n onDragOver={onDragOver as unknown as (e: ReactMouseEvent<HTMLDivElement>) => void}\n onDragLeave={onDragLeave}\n onDrop={onDrop}\n >\n <SidebarItem\n ref={ref}\n isActive={isActive}\n asChild={asChild}\n aria-label={ariaLabel}\n aria-describedby={canReorder ? handleId : undefined}\n // Links and images are `draggable=auto` by default — without this\n // the browser would fire its native link-drag before our row-level\n // drag, and our reorder would never start.\n draggable={canReorder ? false : undefined}\n className={[\n canReorder ? 'ds:flex-1 ds:min-w-0' : '',\n className ?? '',\n ]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n {children}\n </SidebarItem>\n {canReorder ? (\n <button\n type=\"button\"\n id={handleId}\n aria-label={t(\n 'ui.navigation.sidebar.reorderHandle',\n 'Reorder {{label}}. Press Alt + Up or Alt + Down to move.',\n { label },\n )}\n className={dragHandleClasses}\n onKeyDown={onHandleKeyDown}\n >\n <GripVertical aria-hidden=\"true\" className=\"ds:size-4\" />\n </button>\n ) : null}\n {onPinChange && mode !== 'icon' ? (\n <SidebarPinButton\n isPinned={isPinned}\n label={pinLabel ?? ariaLabel ?? ''}\n onPinChange={onPinChange}\n />\n ) : null}\n </div>\n );\n },\n);\nSidebarFavoriteItem.displayName = 'SidebarFavoriteItem';\n\n/* -- Profile pill at the block-end --------------------------------- */\n\nconst profilePillClasses = cva(\n [\n 'ds:flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:text-[var(--foreground)] ds:text-[length:var(--font-size-sm)]',\n 'ds:hover:bg-[var(--muted)]/20',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:no-underline',\n ].join(' '),\n);\n\nexport interface SidebarProfilePillProps\n extends ComponentPropsWithoutRef<'button'> {\n /** Avatar or other identifying glyph. Required. */\n avatar: ReactNode;\n /** User's display name — hidden in icon mode, always the accessible name. */\n name: string;\n /**\n * Secondary line (e.g. selected studio, \"Owner\", \"Admin\"). Accepts arbitrary\n * JSX so an icon can sit inline with the text. Hidden in icon mode.\n */\n subtitle?: ReactNode;\n /**\n * Plain-text form of the subtitle for the accessible name. Required when\n * `subtitle` is not a string; ignored otherwise.\n */\n subtitleLabel?: string;\n}\n\nconst SidebarProfilePill = forwardRef<\n HTMLButtonElement,\n SidebarProfilePillProps\n>(({ avatar, name, subtitle, subtitleLabel, className, ...rest }, ref) => {\n const { mode } = useSidebar();\n const showLabel = mode !== 'icon';\n const accessibleSubtitle =\n typeof subtitle === 'string' ? subtitle : subtitleLabel;\n return (\n <button\n ref={ref}\n type=\"button\"\n aria-label={\n accessibleSubtitle ? `${name}, ${accessibleSubtitle}` : name\n }\n // No `aria-haspopup` here until a DropdownMenu is wired — announcing\n // a menu that never opens is a screen-reader lie. Consumers wrap\n // this trigger in their own Radix DropdownMenu.\n className={[profilePillClasses(), className].filter(Boolean).join(' ')}\n {...rest}\n >\n <span aria-hidden=\"true\" className=\"ds:inline-flex ds:items-center ds:shrink-0\">\n {avatar}\n </span>\n {showLabel ? (\n <span className=\"ds:flex-1 ds:min-w-0 ds:text-start\">\n <span className=\"ds:block ds:truncate type-label\">{name}</span>\n {subtitle ? (\n typeof subtitle === 'string' ? (\n <span className=\"ds:block ds:truncate type-meta ds:text-[color:var(--muted-foreground)]\">\n {subtitle}\n </span>\n ) : (\n <span className=\"ds:flex ds:items-center ds:gap-[length:var(--spacing-xs)] ds:min-w-0 type-meta ds:text-[color:var(--muted-foreground)]\">\n {subtitle}\n </span>\n )\n ) : null}\n </span>\n ) : null}\n </button>\n );\n});\nSidebarProfilePill.displayName = 'SidebarProfilePill';\n\n/* -------------------------------------------------------------------- */\n/* Collapse trigger */\n/* */\n/* Full-width nav-item-style toggle that swaps between `expanded` and */\n/* `icon` modes. A compact 44×44 icon-only button — drop it inline next */\n/* to the profile pill, Settings row, or anywhere else. Accessible name */\n/* comes from the i18n collapse / expand string; a tooltip shows the */\n/* same text on hover / focus so sighted users don't have to guess. */\n/* */\n/* Hidden in `overlay` mode (overlay has its own close button). */\n/* -------------------------------------------------------------------- */\n\nexport interface SidebarCollapseTriggerProps\n extends ComponentPropsWithoutRef<'button'> {\n /** Override the accessible label. Defaults to the i18n collapse/expand string. */\n 'aria-label'?: string;\n}\n\nconst collapseTriggerClasses = [\n 'ds:inline-flex ds:items-center ds:justify-center ds:shrink-0',\n 'ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-[var(--muted-foreground)]',\n 'ds:hover:bg-[var(--muted)]/20 ds:hover:text-[var(--foreground)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst SidebarCollapseTrigger = forwardRef<\n HTMLButtonElement,\n SidebarCollapseTriggerProps\n>(\n (\n { className, 'aria-label': ariaLabel, onClick, ...rest },\n ref,\n ) => {\n const { t } = useTranslation();\n const { mode, transitionTo } = useSidebar();\n\n if (mode === 'overlay') return null;\n\n const isExpanded = mode === 'expanded';\n const accessibleLabel =\n ariaLabel ??\n (isExpanded\n ? t('ui.navigation.sidebar.collapse', 'Collapse sidebar')\n : t('ui.navigation.sidebar.expand', 'Expand sidebar'));\n\n const button = (\n <button\n ref={ref}\n type=\"button\"\n aria-label={accessibleLabel}\n aria-expanded={isExpanded}\n onClick={(event) => {\n transitionTo?.(isExpanded ? 'icon' : 'expanded');\n onClick?.(event);\n }}\n className={[collapseTriggerClasses, className].filter(Boolean).join(' ')}\n {...rest}\n >\n {isExpanded ? (\n <PanelLeftClose aria-hidden=\"true\" className=\"ds:size-4 ds:rtl:-scale-x-100\" />\n ) : (\n <PanelLeftOpen aria-hidden=\"true\" className=\"ds:size-4 ds:rtl:-scale-x-100\" />\n )}\n </button>\n );\n\n return (\n <RadixTooltip.Root>\n <RadixTooltip.Trigger asChild>{button}</RadixTooltip.Trigger>\n <RadixTooltip.Portal>\n <RadixTooltip.Content\n side={mode === 'icon' ? 'right' : 'top'}\n sideOffset={6}\n className={[\n 'ds:z-[var(--z-tooltip)] ds:max-w-[16rem]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:bg-[var(--foreground)] ds:text-[var(--background)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-xs)] ds:text-[length:var(--font-size-xs)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95 ds:motion-reduce:animate-none',\n ].join(' ')}\n >\n {accessibleLabel}\n <RadixTooltip.Arrow className=\"ds:fill-[var(--foreground)]\" />\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n );\n },\n);\nSidebarCollapseTrigger.displayName = 'SidebarCollapseTrigger';\n\nexport {\n Sidebar,\n SidebarHeader,\n SidebarBody,\n SidebarFooter,\n SidebarSection,\n SidebarGroup,\n SidebarItem,\n SidebarItemIcon,\n SidebarItemLabel,\n SidebarItemBadge,\n SidebarWorkspaceSwitcher,\n SidebarPrimaryAction,\n SidebarFavorites,\n SidebarFavoriteItem,\n SidebarPinButton,\n SidebarProfilePill,\n SidebarCollapseTrigger,\n};\n"],"names":["__iconNode","GripVertical","createLucideIcon","PanelLeftClose","PanelLeftOpen","Star","SidebarContext","createContext","useSidebar","useContext","STORAGE_KEY","readStoredState","defaultMode","v","writeStoredState","value","usePersistentState","storageKey","initial","setValue","useState","raw","useEffect","railClasses","cva","Sidebar","forwardRef","state","defaultState","onStateChange","density","open","onOpenChange","ariaLabel","className","children","rest","ref","t","useTranslation","isControlled","internalState","setInternalState","resolved","transitionTo","useCallback","next","label","jsx","RadixDialog","jsxs","X","RadixTooltip","SidebarHeader","mode","SidebarBody","SidebarFooter","sectionLabelClasses","sectionIconClasses","SidebarSection","icon","collapsible","defaultOpen","isIconMode","isAccordion","wrapperClasses","accordionValue","RadixAccordion","ChevronRight","AccordionContent","groupTriggerClasses","SidebarGroup","RadixCollapsible","itemClasses","SidebarItem","asChild","isActive","isPinned","onPinChange","pinLabel","Comp","Slot","showPin","anchor","body","SidebarPinButton","SidebarItemIcon","SidebarItemLabel","SidebarItemBadge","isIcon","workspaceSwitcherClasses","SidebarWorkspaceSwitcher","logo","name","showChevron","showLabel","Fragment","primaryActionClasses","SidebarPrimaryAction","shortcut","pinButtonClasses","onClick","accessibleLabel","event","SidebarFavoritesContext","useFavoritesContext","SidebarFavorites","heading","emptyMessage","onReorder","resolvedHeading","childArray","count","hasChildren","dragSource","setDragSource","liveMessage","setLiveMessage","announceToggle","useRef","announce","message","useMemo","favoriteRowClasses","dragHandleClasses","SidebarFavoriteItem","index","reorderLabel","favorites","isDropTarget","setIsDropTarget","canReorder","handleId","useId","moveFromTo","from","to","clamped","onHandleKeyDown","onDragStart","onDragEnd","onDragOver","onDragLeave","onDrop","source","isDragging","profilePillClasses","SidebarProfilePill","avatar","subtitle","subtitleLabel","accessibleSubtitle","collapseTriggerClasses","SidebarCollapseTrigger","isExpanded","button"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,17 @@
1
+ const a = {
2
+ id: "sidebar",
3
+ capabilities: ["expand", "select_single", "navigate"],
4
+ state: {},
5
+ actions: {},
6
+ domHooks: {
7
+ root: { attr: "data-component", value: "sidebar" },
8
+ item: {
9
+ attr: "data-nav-id",
10
+ description: "Each Sidebar.Item emits its key as data-nav-id."
11
+ }
12
+ }
13
+ };
14
+ export {
15
+ a as s
16
+ };
17
+ //# sourceMappingURL=sidebar.agent-B0fnH9CC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.agent-B0fnH9CC.js","sources":["../../src/components/sidebar/sidebar.agent.ts"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\n\nexport const sidebarAgent: AgentAdapter<unknown> = {\n id: 'sidebar',\n capabilities: ['expand', 'select_single', 'navigate'],\n state: {},\n actions: {},\n domHooks: {\n root: { attr: 'data-component', value: 'sidebar' },\n item: {\n attr: 'data-nav-id',\n description: 'Each Sidebar.Item emits its key as data-nav-id.',\n },\n },\n};\n"],"names":["sidebarAgent"],"mappings":"AAEO,MAAMA,IAAsC;AAAA,EACjD,IAAI;AAAA,EACJ,cAAc,CAAC,UAAU,iBAAiB,UAAU;AAAA,EACpD,OAAO,CAAA;AAAA,EACP,SAAS,CAAA;AAAA,EACT,UAAU;AAAA,IACR,MAAM,EAAE,MAAM,kBAAkB,OAAO,UAAA;AAAA,IACvC,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;"}
@@ -0,0 +1,45 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as L, useRef as c, useEffect as b } from "react";
3
+ import { useTranslation as y } from "react-i18next";
4
+ import { B as E } from "./button-7mLWcMp_.js";
5
+ import { L as I } from "./logo-BpFoCL-s.js";
6
+ import { S as g } from "./spinner-GCcv67vh.js";
7
+ const A = /* @__PURE__ */ new Set(["primary", "secondary", "tonal"]), B = L(
8
+ ({
9
+ intent: r = "primary",
10
+ size: n,
11
+ loading: t = !1,
12
+ disabled: u,
13
+ label: f,
14
+ onLoadingCancelled: s,
15
+ type: m = "button",
16
+ ...d
17
+ }, p) => {
18
+ const { t: h } = y(), l = f ?? h("ui.auth.continueWithAlfadocs", "Continue with AlfaDocs"), w = A.has(r) ? "inherit" : "auto", v = n ?? "md", a = c(t), o = c(s);
19
+ return a.current = t, o.current = s, b(() => {
20
+ const i = (S) => {
21
+ S.persisted && a.current && o.current && o.current();
22
+ };
23
+ return window.addEventListener("pageshow", i), () => window.removeEventListener("pageshow", i);
24
+ }, []), /* @__PURE__ */ e(
25
+ E,
26
+ {
27
+ ref: p,
28
+ type: m,
29
+ intent: r,
30
+ size: n,
31
+ disabled: u || t,
32
+ "aria-busy": t || void 0,
33
+ "data-component": "sign-in-with-alfadocs-button",
34
+ startIcon: t ? /* @__PURE__ */ e(g, { size: v, variant: "pulse" }) : /* @__PURE__ */ e(I, { variant: "mark", size: "sm", tone: w, decorative: !0 }),
35
+ ...d,
36
+ children: l
37
+ }
38
+ );
39
+ }
40
+ );
41
+ B.displayName = "SignInWithAlfadocsButton";
42
+ export {
43
+ B as S
44
+ };
45
+ //# sourceMappingURL=sign-in-with-alfadocs-button-BN_FPGHT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-in-with-alfadocs-button-BN_FPGHT.js","sources":["../../src/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef, type ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button, type ButtonProps } from '../button';\nimport { Logo } from '../logo';\nimport { Spinner } from '../spinner';\n\n// A provider-style button (\"Sign in with AlfaDocs\"). Wraps the Button\n// primitive so it inherits the full intent / size / asChild / endIcon /\n// forced-colors / focus-ring contract for free.\n//\n// The only differences from a plain Button are:\n// 1. A sensible default label resolved from the\n// `ui.auth.continueWithAlfadocs` translation key.\n// 2. The AlfaDocs brand mark rendered as the leading icon.\n// 3. Loading swaps the mark for the kit's `Spinner` (pulse variant)\n// rather than Button's hand-rolled SVG — visually consistent with\n// every other loading affordance in the kit.\n//\n// `destructive` is intentionally omitted — there is no \"delete the\n// user's account\" sign-in flow that this button represents.\n\ntype AllowedIntent = Exclude<NonNullable<ButtonProps['intent']>, 'destructive'>;\n\n// Intents that paint the button surface and use a foreground-tinted\n// text colour. The mark needs to inherit `currentColor` here so it\n// reads against the coloured surface; on transparent intents the\n// mark's own brand violet contrasts naturally with the foreground\n// text.\nconst FILLED_INTENTS = new Set<AllowedIntent>(['primary', 'secondary', 'tonal']);\n\nexport interface SignInWithAlfadocsButtonProps\n extends Omit<ButtonProps, 'startIcon' | 'children' | 'intent'> {\n /**\n * Visual intent. Inherits the Button intent set with `destructive`\n * omitted (no \"destroy account\" sign-in flow exists).\n */\n intent?: AllowedIntent;\n /**\n * Override the visible label. When omitted, the component reads\n * `ui.auth.continueWithAlfadocs` (English fallback: \"Continue with\n * AlfaDocs\"). Pass a node to render e.g. \"Sign in with AlfaDocs\" or a\n * fully-translated string.\n */\n label?: ReactNode;\n /**\n * Fired when the component detects the user has cancelled an\n * in-flight sign-in — typically by pressing the browser back button\n * after the OAuth redirect, which restores the page from bfcache\n * with `loading` still true. Wire this to your loading-state\n * setter so the button returns to idle:\n *\n * ```tsx\n * <SignInWithAlfadocsButton\n * loading={signingIn}\n * onLoadingCancelled={() => setSigningIn(false)}\n * onClick={() => { setSigningIn(true); window.location = oauthUrl }}\n * />\n * ```\n *\n * Without this, your `loading` state would survive the back\n * navigation and the button would appear permanently stuck. Only\n * fires when `loading` is currently true; never fires on first mount.\n */\n onLoadingCancelled?: () => void;\n}\n\nexport const SignInWithAlfadocsButton = forwardRef<\n HTMLButtonElement,\n SignInWithAlfadocsButtonProps\n>(\n (\n {\n intent = 'primary',\n size,\n loading = false,\n disabled,\n label,\n onLoadingCancelled,\n type = 'button',\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const resolvedLabel =\n label ?? t('ui.auth.continueWithAlfadocs', 'Continue with AlfaDocs');\n const logoTone = FILLED_INTENTS.has(intent) ? 'inherit' : 'auto';\n const resolvedSize = size ?? 'md';\n\n // Stash the latest values in refs so the `pageshow` listener can\n // read them without re-binding on every render. Only one listener\n // attaches for the lifetime of the component.\n const loadingRef = useRef(loading);\n const onCancelRef = useRef(onLoadingCancelled);\n loadingRef.current = loading;\n onCancelRef.current = onLoadingCancelled;\n\n useEffect(() => {\n const onPageShow = (event: PageTransitionEvent) => {\n // `event.persisted` is true when the page was restored from\n // the back/forward cache — the canonical signal for \"user\n // navigated away and came back without a fresh load.\" If the\n // button thinks it's still loading, that means an OAuth\n // redirect was started but never completed.\n if (\n event.persisted &&\n loadingRef.current &&\n onCancelRef.current\n ) {\n onCancelRef.current();\n }\n };\n window.addEventListener('pageshow', onPageShow);\n return () => window.removeEventListener('pageshow', onPageShow);\n }, []);\n\n // We don't forward `loading` to Button — Button would render its\n // own inline SVG and hide the label. Instead we keep the label\n // visible, swap the leading icon for the kit's Spinner, and\n // reproduce the disabled / aria-busy contract manually.\n return (\n <Button\n ref={ref}\n type={type}\n intent={intent}\n size={size}\n disabled={disabled || loading}\n aria-busy={loading || undefined}\n data-component=\"sign-in-with-alfadocs-button\"\n startIcon={\n loading ? (\n <Spinner size={resolvedSize} variant=\"pulse\" />\n ) : (\n <Logo variant=\"mark\" size=\"sm\" tone={logoTone} decorative />\n )\n }\n {...props}\n >\n {resolvedLabel}\n </Button>\n );\n },\n);\n\nSignInWithAlfadocsButton.displayName = 'SignInWithAlfadocsButton';\n"],"names":["FILLED_INTENTS","SignInWithAlfadocsButton","forwardRef","intent","size","loading","disabled","label","onLoadingCancelled","type","props","ref","t","useTranslation","resolvedLabel","logoTone","resolvedSize","loadingRef","useRef","onCancelRef","useEffect","onPageShow","event","jsx","Button","Spinner","Logo"],"mappings":";;;;;;AA4BA,MAAMA,IAAiB,oBAAI,IAAmB,CAAC,WAAW,aAAa,OAAO,CAAC,GAsClEC,IAA2BC;AAAA,EAItC,CACE;AAAA,IACE,QAAAC,IAAS;AAAA,IACT,MAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACRC,IACJP,KAASK,EAAE,gCAAgC,wBAAwB,GAC/DG,IAAWf,EAAe,IAAIG,CAAM,IAAI,YAAY,QACpDa,IAAeZ,KAAQ,MAKvBa,IAAaC,EAAOb,CAAO,GAC3Bc,IAAcD,EAAOV,CAAkB;AAC7C,WAAAS,EAAW,UAAUZ,GACrBc,EAAY,UAAUX,GAEtBY,EAAU,MAAM;AACd,YAAMC,IAAa,CAACC,MAA+B;AAMjD,QACEA,EAAM,aACNL,EAAW,WACXE,EAAY,WAEZA,EAAY,QAAA;AAAA,MAEhB;AACA,oBAAO,iBAAiB,YAAYE,CAAU,GACvC,MAAM,OAAO,oBAAoB,YAAYA,CAAU;AAAA,IAChE,GAAG,CAAA,CAAE,GAOH,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,KAAAb;AAAA,QACA,MAAAF;AAAA,QACA,QAAAN;AAAA,QACA,MAAAC;AAAA,QACA,UAAUE,KAAYD;AAAA,QACtB,aAAWA,KAAW;AAAA,QACtB,kBAAe;AAAA,QACf,WACEA,IACE,gBAAAkB,EAACE,KAAQ,MAAMT,GAAc,SAAQ,QAAA,CAAQ,IAE7C,gBAAAO,EAACG,GAAA,EAAK,SAAQ,QAAO,MAAK,MAAK,MAAMX,GAAU,YAAU,IAAC;AAAA,QAG7D,GAAGL;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEAb,EAAyB,cAAc;"}