@alfadocs/ui-kit 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (991) hide show
  1. package/README.md +18 -0
  2. package/dist/_chunks/{accordion-B6fyINUk.js → accordion-BEnrZmAn.js} +34 -32
  3. package/dist/_chunks/accordion.agent-BTjeO1Sx.js +52 -0
  4. package/dist/_chunks/{agenda-card-DIWDvWum.js → agenda-card-DwLIxgi7.js} +2 -1
  5. package/dist/_chunks/agenda-card.agent-B_R47-c9.js +22 -0
  6. package/dist/_chunks/agenda-tray-DUvengGQ.js +178 -0
  7. package/dist/_chunks/ai-prompt-input.agent-0NHYLTWD.js +476 -0
  8. package/dist/_chunks/{aspect-ratio-CxsdG8vk.js → aspect-ratio-DeSNzASA.js} +12 -12
  9. package/dist/_chunks/audio-recorder.agent--VKeykUp.js +458 -0
  10. package/dist/_chunks/autocomplete.agent-Dh7KioS6.js +432 -0
  11. package/dist/_chunks/{balance-cell-renderer-BWm3knY9.js → balance-cell-renderer-5CA7zpAi.js} +3 -3
  12. package/dist/_chunks/breadcrumb.agent-GM2hAKFX.js +371 -0
  13. package/dist/_chunks/{chart.agent-BdS-_8MO.js → chart.agent-_pRYS17d.js} +112 -105
  14. package/dist/_chunks/{chat-container-Cm3SlR2p.js → chat-container-Dl0Kfy5a.js} +33 -32
  15. package/dist/_chunks/{chat-container.agent-Dhw9xCJt.js → chat-container.agent-CM4WModE.js} +9 -4
  16. package/dist/_chunks/{chat-input-DreOPP8A.js → chat-input-C_tMQv92.js} +108 -82
  17. package/dist/_chunks/chat-input.agent-Bsz3ckGa.js +69 -0
  18. package/dist/_chunks/checkbox-CtPM6Rup.js +196 -0
  19. package/dist/_chunks/checkbox-group-BTdEB6Yo.js +208 -0
  20. package/dist/_chunks/collapsible.agent-DkS1jVyn.js +149 -0
  21. package/dist/_chunks/{color-picker-e9PmpaGH.js → color-picker-94qcBZqZ.js} +234 -184
  22. package/dist/_chunks/combobox.agent-CAvUkkIe.js +410 -0
  23. package/dist/_chunks/{command-palette.agent-js2rxgeR.js → command-palette.agent-HatEt_EM.js} +161 -121
  24. package/dist/_chunks/date-picker-BqPTn7bO.js +1813 -0
  25. package/dist/_chunks/date-range-picker-B2hGsffw.js +274 -0
  26. package/dist/_chunks/date-time-picker-Bzt0S8yO.js +293 -0
  27. package/dist/_chunks/dialog.agent-Daf1TTko.js +179 -0
  28. package/dist/_chunks/{dropdown-menu-Cw3EyPZv.js → dropdown-menu-C7AZipNz.js} +75 -71
  29. package/dist/_chunks/dropdown-menu.agent-BcxIKOjK.js +43 -0
  30. package/dist/_chunks/{file-upload.agent-B9AN82LA.js → file-upload.agent-DJaH2dHg.js} +275 -243
  31. package/dist/_chunks/freemium-paywall.agent-_nQqLyRF.js +260 -0
  32. package/dist/_chunks/{leo-sidebar-nbHib2D-.js → leo-sidebar-BwINPdix.js} +6 -6
  33. package/dist/_chunks/link-QheANk74.js +121 -0
  34. package/dist/_chunks/list.agent-D0iWt4VI.js +420 -0
  35. package/dist/_chunks/{message-card-qAp2-WQK.js → message-card-qhoGv947.js} +2 -1
  36. package/dist/_chunks/message-card.agent-4IeIgrnJ.js +22 -0
  37. package/dist/_chunks/message-tray-xHUCra-Y.js +419 -0
  38. package/dist/_chunks/{multi-select.agent-CNsyW3n9.js → multi-select.agent-Do6CeQUT.js} +239 -179
  39. package/dist/_chunks/navigation-menu.agent-D69ND6Qq.js +266 -0
  40. package/dist/_chunks/{notification-card-BF2_veHy.js → notification-card-CsVEYJE-.js} +13 -12
  41. package/dist/_chunks/notification-card.agent-Rqt3ofk9.js +22 -0
  42. package/dist/_chunks/notification-tray-DTXMq42J.js +444 -0
  43. package/dist/_chunks/number-input-fvGmnRy9.js +333 -0
  44. package/dist/_chunks/otp-input-EglXOUue.js +257 -0
  45. package/dist/_chunks/pagination.agent-BkZQl45y.js +422 -0
  46. package/dist/_chunks/password-input-D6kuYXmr.js +304 -0
  47. package/dist/_chunks/{patient-shell-7cXqIMFg.js → patient-shell-BRmrrUUW.js} +3 -3
  48. package/dist/_chunks/{payment-form-hcl-gGrp.js → payment-form-BWaXas8z.js} +120 -118
  49. package/dist/_chunks/{payment-form.agent-BkEnRerR.js → payment-form.agent-kuIfodCj.js} +7 -2
  50. package/dist/_chunks/{pdf-viewer.agent-CfIHhcHx.js → pdf-viewer.agent-BaGEDheA.js} +358 -351
  51. package/dist/_chunks/phone-input-C8Op4sEc.js +513 -0
  52. package/dist/_chunks/popover-kFN8s84V.js +229 -0
  53. package/dist/_chunks/popover.agent-K_d1cfbj.js +39 -0
  54. package/dist/_chunks/privacy-lock.agent-C1i1-T58.js +185 -0
  55. package/dist/_chunks/progress-wNsqkw8I.js +253 -0
  56. package/dist/_chunks/progress.agent-C68rDOXL.js +27 -0
  57. package/dist/_chunks/{radio-cs8N1wJi.js → radio-DvF59ThA.js} +14 -13
  58. package/dist/_chunks/radio-group-Cz1a4QCA.js +152 -0
  59. package/dist/_chunks/recaptcha-widget.agent-BGHpU5zD.js +183 -0
  60. package/dist/_chunks/resizable.agent-CMwZzvsi.js +456 -0
  61. package/dist/_chunks/{rich-text-editor.agent-COSb5_2D.js → rich-text-editor.agent-DnE125Tz.js} +221 -214
  62. package/dist/_chunks/search-bar.agent-DxFAxctc.js +562 -0
  63. package/dist/_chunks/search-input-Xw3cdWXW.js +227 -0
  64. package/dist/_chunks/search-input.agent-CfZvViOd.js +69 -0
  65. package/dist/_chunks/select-DY1Cb2Tg.js +410 -0
  66. package/dist/_chunks/{sheet-BhNpLHc9.js → sheet-B9kH9pcI.js} +55 -54
  67. package/dist/_chunks/sheet.agent-QAyTOxgk.js +46 -0
  68. package/dist/_chunks/{sidebar-OVzwN3jE.js → sidebar-CHF5xr_P.js} +188 -185
  69. package/dist/_chunks/sidebar.agent-C9TM_ZDZ.js +49 -0
  70. package/dist/_chunks/{signature-capture.agent-C38VPXxg.js → signature-capture.agent-BpeDwFht.js} +127 -120
  71. package/dist/_chunks/slider-CcsQTZTA.js +322 -0
  72. package/dist/_chunks/sparkline.agent-56Sj7nOP.js +245 -0
  73. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +322 -0
  74. package/dist/_chunks/stepper-calendar.agent-9iT3ClIB.js +646 -0
  75. package/dist/_chunks/stepper-progress-Bmen-YXB.js +149 -0
  76. package/dist/_chunks/stepper-progress.agent-q9InWca4.js +61 -0
  77. package/dist/_chunks/suggestion-chip-DhFrkRPj.js +169 -0
  78. package/dist/_chunks/suggestion-chip.agent-6sNWFj7m.js +46 -0
  79. package/dist/_chunks/switch-BYEH8I53.js +196 -0
  80. package/dist/_chunks/{tabs.agent-BpbVA-Zh.js → tabs.agent-h7NvsTR1.js} +146 -123
  81. package/dist/_chunks/{task-card-yW7tKlG4.js → task-card-CY5ztNkU.js} +2 -1
  82. package/dist/_chunks/task-card.agent-CUPKYd7w.js +22 -0
  83. package/dist/_chunks/task-tray-CCoUdorl.js +194 -0
  84. package/dist/_chunks/text-area-C_M8wliK.js +239 -0
  85. package/dist/_chunks/text-input-BX39e6T6.js +272 -0
  86. package/dist/_chunks/theme-toggle.agent-btmXTWdW.js +394 -0
  87. package/dist/_chunks/time-picker-B8AMIrX7.js +410 -0
  88. package/dist/_chunks/timeline.agent-CRPza9wc.js +279 -0
  89. package/dist/_chunks/{toast-lOhJDKOH.js → toast.agent-BjEGuq1Z.js} +403 -342
  90. package/dist/_chunks/{tooth-scheme.agent-BlDyu-Gx.js → tooth-scheme.agent-CWrQBjJM.js} +218 -211
  91. package/dist/_chunks/transcript-panel.agent-BXEYP6w-.js +337 -0
  92. package/dist/_chunks/{workflow-map-XeqHDFvp.js → workflow-map-D2A7rTEG.js} +465 -368
  93. package/dist/agent-catalog.json +2929 -268
  94. package/dist/components/accordion/accordion.agent.d.ts +2 -1
  95. package/dist/components/accordion/accordion.d.ts +6 -0
  96. package/dist/components/accordion/index.js +2 -2
  97. package/dist/components/agenda-card/agenda-card.agent.d.ts +3 -0
  98. package/dist/components/agenda-card/index.d.ts +1 -0
  99. package/dist/components/agenda-card/index.js +3 -1
  100. package/dist/components/agenda-tray/agenda-tray.agent.d.ts +4 -0
  101. package/dist/components/agenda-tray/agenda-tray.d.ts +19 -2
  102. package/dist/components/agenda-tray/index.d.ts +2 -1
  103. package/dist/components/agenda-tray/index.js +3 -2
  104. package/dist/components/ai-prompt-input/ai-prompt-input.agent.d.ts +4 -0
  105. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts +18 -1
  106. package/dist/components/ai-prompt-input/index.d.ts +2 -1
  107. package/dist/components/ai-prompt-input/index.js +3 -2
  108. package/dist/components/aspect-ratio/index.js +1 -1
  109. package/dist/components/audio-recorder/audio-recorder.agent.d.ts +4 -0
  110. package/dist/components/audio-recorder/audio-recorder.d.ts +10 -1
  111. package/dist/components/audio-recorder/index.d.ts +2 -1
  112. package/dist/components/audio-recorder/index.js +3 -2
  113. package/dist/components/autocomplete/autocomplete.agent.d.ts +2 -1
  114. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  115. package/dist/components/autocomplete/index.js +1 -1
  116. package/dist/components/breadcrumb/breadcrumb.agent.d.ts +8 -0
  117. package/dist/components/breadcrumb/breadcrumb.d.ts +21 -2
  118. package/dist/components/breadcrumb/index.d.ts +2 -1
  119. package/dist/components/breadcrumb/index.js +5 -4
  120. package/dist/components/button/button.d.ts +1 -1
  121. package/dist/components/chart/chart.d.ts +2 -0
  122. package/dist/components/chart/index.js +1 -1
  123. package/dist/components/chat-container/chat-container.d.ts +3 -1
  124. package/dist/components/chat-container/index.js +2 -2
  125. package/dist/components/chat-input/chat-input.agent.d.ts +4 -0
  126. package/dist/components/chat-input/chat-input.d.ts +10 -1
  127. package/dist/components/chat-input/index.d.ts +2 -1
  128. package/dist/components/chat-input/index.js +4 -2
  129. package/dist/components/checkbox/checkbox.agent.d.ts +4 -0
  130. package/dist/components/checkbox/checkbox.d.ts +6 -0
  131. package/dist/components/checkbox/index.js +1 -1
  132. package/dist/components/checkbox-group/checkbox-group.agent.d.ts +4 -0
  133. package/dist/components/checkbox-group/checkbox-group.d.ts +8 -0
  134. package/dist/components/checkbox-group/index.js +1 -1
  135. package/dist/components/collapsible/collapsible.agent.d.ts +4 -0
  136. package/dist/components/collapsible/collapsible.d.ts +8 -1
  137. package/dist/components/collapsible/index.d.ts +2 -1
  138. package/dist/components/collapsible/index.js +4 -3
  139. package/dist/components/color-picker/color-picker.agent.d.ts +4 -0
  140. package/dist/components/color-picker/color-picker.d.ts +5 -0
  141. package/dist/components/color-picker/index.js +1 -1
  142. package/dist/components/combobox/combobox.agent.d.ts +2 -1
  143. package/dist/components/combobox/combobox.d.ts +10 -0
  144. package/dist/components/combobox/index.js +1 -1
  145. package/dist/components/command-palette/command-palette.agent.d.ts +2 -1
  146. package/dist/components/command-palette/command-palette.d.ts +7 -0
  147. package/dist/components/command-palette/index.js +1 -1
  148. package/dist/components/data-table/index.js +1 -1
  149. package/dist/components/date-picker/date-picker.agent.d.ts +4 -0
  150. package/dist/components/date-picker/date-picker.d.ts +16 -1
  151. package/dist/components/date-picker/index.d.ts +2 -1
  152. package/dist/components/date-picker/index.js +3 -2
  153. package/dist/components/date-range-picker/date-range-picker.agent.d.ts +4 -0
  154. package/dist/components/date-range-picker/date-range-picker.d.ts +16 -1
  155. package/dist/components/date-range-picker/index.d.ts +2 -1
  156. package/dist/components/date-range-picker/index.js +3 -2
  157. package/dist/components/date-time-picker/date-time-picker.agent.d.ts +4 -0
  158. package/dist/components/date-time-picker/date-time-picker.d.ts +16 -1
  159. package/dist/components/date-time-picker/index.d.ts +2 -1
  160. package/dist/components/date-time-picker/index.js +3 -2
  161. package/dist/components/dialog/dialog.agent.d.ts +5 -6
  162. package/dist/components/dialog/dialog.d.ts +11 -2
  163. package/dist/components/dialog/index.js +1 -1
  164. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts +2 -1
  165. package/dist/components/dropdown-menu/dropdown-menu.d.ts +10 -2
  166. package/dist/components/dropdown-menu/index.js +2 -2
  167. package/dist/components/file-upload/file-upload.agent.d.ts +2 -1
  168. package/dist/components/file-upload/file-upload.d.ts +12 -0
  169. package/dist/components/file-upload/index.js +1 -1
  170. package/dist/components/freemium-paywall/freemium-paywall.agent.d.ts +4 -0
  171. package/dist/components/freemium-paywall/freemium-paywall.d.ts +8 -1
  172. package/dist/components/freemium-paywall/index.d.ts +2 -1
  173. package/dist/components/freemium-paywall/index.js +3 -2
  174. package/dist/components/index.d.ts +2 -0
  175. package/dist/components/link/index.d.ts +2 -0
  176. package/dist/components/link/index.js +5 -0
  177. package/dist/components/link/link.d.ts +39 -0
  178. package/dist/components/list/index.d.ts +2 -1
  179. package/dist/components/list/index.js +3 -2
  180. package/dist/components/list/list.agent.d.ts +4 -0
  181. package/dist/components/list/list.d.ts +8 -2
  182. package/dist/components/message-card/index.d.ts +1 -0
  183. package/dist/components/message-card/index.js +5 -3
  184. package/dist/components/message-card/message-card.agent.d.ts +3 -0
  185. package/dist/components/message-tray/index.d.ts +2 -1
  186. package/dist/components/message-tray/index.js +3 -2
  187. package/dist/components/message-tray/message-tray.agent.d.ts +4 -0
  188. package/dist/components/message-tray/message-tray.d.ts +27 -2
  189. package/dist/components/multi-select/index.js +1 -1
  190. package/dist/components/multi-select/multi-select.agent.d.ts +2 -1
  191. package/dist/components/multi-select/multi-select.d.ts +10 -0
  192. package/dist/components/navigation-menu/index.d.ts +2 -1
  193. package/dist/components/navigation-menu/index.js +7 -6
  194. package/dist/components/navigation-menu/navigation-menu.agent.d.ts +4 -0
  195. package/dist/components/navigation-menu/navigation-menu.d.ts +28 -2
  196. package/dist/components/notification-card/index.d.ts +1 -0
  197. package/dist/components/notification-card/index.js +5 -3
  198. package/dist/components/notification-card/notification-card.agent.d.ts +3 -0
  199. package/dist/components/notification-tray/index.d.ts +2 -1
  200. package/dist/components/notification-tray/index.js +3 -2
  201. package/dist/components/notification-tray/notification-tray.agent.d.ts +4 -0
  202. package/dist/components/notification-tray/notification-tray.d.ts +27 -2
  203. package/dist/components/number-input/index.js +1 -1
  204. package/dist/components/number-input/number-input.agent.d.ts +4 -0
  205. package/dist/components/number-input/number-input.d.ts +7 -0
  206. package/dist/components/otp-input/index.js +1 -1
  207. package/dist/components/otp-input/otp-input.agent.d.ts +4 -0
  208. package/dist/components/otp-input/otp-input.d.ts +10 -0
  209. package/dist/components/pagination/index.js +1 -1
  210. package/dist/components/pagination/pagination.agent.d.ts +2 -1
  211. package/dist/components/pagination/pagination.d.ts +7 -0
  212. package/dist/components/password-input/index.js +1 -1
  213. package/dist/components/password-input/password-input.agent.d.ts +4 -0
  214. package/dist/components/password-input/password-input.d.ts +9 -0
  215. package/dist/components/payment-form/index.js +2 -2
  216. package/dist/components/payment-form/payment-form.d.ts +2 -0
  217. package/dist/components/pdf-viewer/index.js +1 -1
  218. package/dist/components/pdf-viewer/pdf-viewer.d.ts +2 -0
  219. package/dist/components/phone-input/index.js +1 -1
  220. package/dist/components/phone-input/phone-input.agent.d.ts +4 -0
  221. package/dist/components/phone-input/phone-input.d.ts +7 -0
  222. package/dist/components/popover/index.js +2 -2
  223. package/dist/components/popover/popover.agent.d.ts +2 -1
  224. package/dist/components/popover/popover.d.ts +8 -1
  225. package/dist/components/privacy-lock/index.d.ts +2 -1
  226. package/dist/components/privacy-lock/index.js +3 -2
  227. package/dist/components/privacy-lock/privacy-lock.agent.d.ts +4 -0
  228. package/dist/components/privacy-lock/privacy-lock.d.ts +7 -1
  229. package/dist/components/progress/index.js +2 -2
  230. package/dist/components/radio/index.js +1 -1
  231. package/dist/components/radio-group/index.js +2 -2
  232. package/dist/components/radio-group/radio-group.agent.d.ts +4 -0
  233. package/dist/components/radio-group/radio-group.d.ts +5 -0
  234. package/dist/components/recaptcha-widget/index.d.ts +3 -0
  235. package/dist/components/recaptcha-widget/index.js +6 -0
  236. package/dist/components/recaptcha-widget/recaptcha-widget.agent.d.ts +4 -0
  237. package/dist/components/recaptcha-widget/recaptcha-widget.d.ts +56 -0
  238. package/dist/components/resizable/index.js +1 -1
  239. package/dist/components/resizable/resizable.agent.d.ts +2 -1
  240. package/dist/components/resizable/resizable.d.ts +6 -0
  241. package/dist/components/rich-text-editor/index.js +1 -1
  242. package/dist/components/rich-text-editor/rich-text-editor.d.ts +2 -0
  243. package/dist/components/search-bar/index.d.ts +2 -1
  244. package/dist/components/search-bar/index.js +3 -2
  245. package/dist/components/search-bar/search-bar.agent.d.ts +4 -0
  246. package/dist/components/search-bar/search-bar.d.ts +27 -1
  247. package/dist/components/search-input/index.d.ts +2 -1
  248. package/dist/components/search-input/index.js +4 -2
  249. package/dist/components/search-input/search-input.agent.d.ts +4 -0
  250. package/dist/components/search-input/search-input.d.ts +27 -0
  251. package/dist/components/select/index.js +1 -1
  252. package/dist/components/select/select.agent.d.ts +4 -0
  253. package/dist/components/select/select.d.ts +9 -0
  254. package/dist/components/sheet/index.js +2 -2
  255. package/dist/components/sheet/sheet.agent.d.ts +2 -1
  256. package/dist/components/sheet/sheet.d.ts +11 -2
  257. package/dist/components/sidebar/index.js +2 -2
  258. package/dist/components/sidebar/sidebar.agent.d.ts +2 -1
  259. package/dist/components/sidebar/sidebar.d.ts +6 -0
  260. package/dist/components/signature-capture/index.js +1 -1
  261. package/dist/components/signature-capture/signature-capture.d.ts +2 -0
  262. package/dist/components/slider/index.js +1 -1
  263. package/dist/components/slider/slider.agent.d.ts +4 -0
  264. package/dist/components/slider/slider.d.ts +5 -0
  265. package/dist/components/sparkline/index.js +1 -1
  266. package/dist/components/stepper-accordion/index.d.ts +2 -1
  267. package/dist/components/stepper-accordion/index.js +3 -2
  268. package/dist/components/stepper-accordion/stepper-accordion.agent.d.ts +4 -0
  269. package/dist/components/stepper-accordion/stepper-accordion.d.ts +19 -1
  270. package/dist/components/stepper-calendar/index.d.ts +2 -1
  271. package/dist/components/stepper-calendar/index.js +3 -2
  272. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +4 -0
  273. package/dist/components/stepper-calendar/stepper-calendar.d.ts +19 -1
  274. package/dist/components/stepper-progress/index.d.ts +2 -1
  275. package/dist/components/stepper-progress/index.js +4 -2
  276. package/dist/components/stepper-progress/stepper-progress.agent.d.ts +4 -0
  277. package/dist/components/stepper-progress/stepper-progress.d.ts +26 -1
  278. package/dist/components/suggestion-chip/index.d.ts +2 -1
  279. package/dist/components/suggestion-chip/index.js +5 -3
  280. package/dist/components/suggestion-chip/suggestion-chip.agent.d.ts +4 -0
  281. package/dist/components/suggestion-chip/suggestion-chip.d.ts +7 -1
  282. package/dist/components/switch/index.js +1 -1
  283. package/dist/components/switch/switch.agent.d.ts +4 -0
  284. package/dist/components/switch/switch.d.ts +6 -0
  285. package/dist/components/tabs/index.js +1 -1
  286. package/dist/components/tabs/tabs.agent.d.ts +2 -1
  287. package/dist/components/tabs/tabs.d.ts +4 -0
  288. package/dist/components/task-card/index.d.ts +1 -0
  289. package/dist/components/task-card/index.js +5 -3
  290. package/dist/components/task-card/task-card.agent.d.ts +3 -0
  291. package/dist/components/task-tray/index.d.ts +2 -1
  292. package/dist/components/task-tray/index.js +3 -2
  293. package/dist/components/task-tray/task-tray.agent.d.ts +4 -0
  294. package/dist/components/task-tray/task-tray.d.ts +25 -2
  295. package/dist/components/text-area/index.js +1 -1
  296. package/dist/components/text-area/text-area.agent.d.ts +4 -0
  297. package/dist/components/text-area/text-area.d.ts +7 -0
  298. package/dist/components/text-input/index.js +1 -1
  299. package/dist/components/text-input/text-input.agent.d.ts +4 -0
  300. package/dist/components/text-input/text-input.d.ts +10 -0
  301. package/dist/components/theme-toggle/index.d.ts +2 -1
  302. package/dist/components/theme-toggle/index.js +3 -2
  303. package/dist/components/theme-toggle/theme-toggle.agent.d.ts +4 -0
  304. package/dist/components/theme-toggle/theme-toggle.d.ts +9 -2
  305. package/dist/components/time-picker/index.d.ts +2 -1
  306. package/dist/components/time-picker/index.js +3 -2
  307. package/dist/components/time-picker/time-picker.agent.d.ts +4 -0
  308. package/dist/components/time-picker/time-picker.d.ts +16 -1
  309. package/dist/components/timeline/index.d.ts +2 -1
  310. package/dist/components/timeline/index.js +3 -2
  311. package/dist/components/timeline/timeline.agent.d.ts +4 -0
  312. package/dist/components/timeline/timeline.d.ts +8 -1
  313. package/dist/components/toast/index.d.ts +3 -2
  314. package/dist/components/toast/index.js +7 -5
  315. package/dist/components/toast/toast.agent.d.ts +4 -0
  316. package/dist/components/toast/toast.d.ts +8 -0
  317. package/dist/components/tooth-scheme/index.js +1 -1
  318. package/dist/components/tooth-scheme/tooth-scheme.d.ts +2 -0
  319. package/dist/components/transcript-panel/index.d.ts +2 -1
  320. package/dist/components/transcript-panel/index.js +3 -2
  321. package/dist/components/transcript-panel/transcript-panel.agent.d.ts +4 -0
  322. package/dist/components/transcript-panel/transcript-panel.d.ts +10 -1
  323. package/dist/components/workflow/index.d.ts +2 -1
  324. package/dist/components/workflow/index.js +10 -7
  325. package/dist/components/workflow/workflow-editor.d.ts +7 -1
  326. package/dist/components/workflow/workflow-map.d.ts +2 -0
  327. package/dist/components/workflow/workflow.agent.d.ts +6 -0
  328. package/dist/i18n/config.js +24 -11
  329. package/dist/i18n/resources.d.ts +7 -0
  330. package/dist/index.js +471 -423
  331. package/dist/locales/en.json +7 -0
  332. package/dist/patterns/leo-assistant/index.js +1 -1
  333. package/dist/patterns/patient-shell/index.js +1 -1
  334. package/dist/tokens.css +1 -1
  335. package/package.json +18 -2
  336. package/dist/_chunks/accordion-B6fyINUk.js.map +0 -1
  337. package/dist/_chunks/accordion.agent-Cz-yglRa.js +0 -17
  338. package/dist/_chunks/accordion.agent-Cz-yglRa.js.map +0 -1
  339. package/dist/_chunks/agenda-card-DIWDvWum.js.map +0 -1
  340. package/dist/_chunks/agenda-tray-BqQZwiHc.js +0 -120
  341. package/dist/_chunks/agenda-tray-BqQZwiHc.js.map +0 -1
  342. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js +0 -380
  343. package/dist/_chunks/ai-prompt-input-CI27KmZ1.js.map +0 -1
  344. package/dist/_chunks/alert-BlOUMkXj.js.map +0 -1
  345. package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +0 -1
  346. package/dist/_chunks/app-frame-6d7Lu4ea.js.map +0 -1
  347. package/dist/_chunks/aspect-ratio-CxsdG8vk.js.map +0 -1
  348. package/dist/_chunks/audio-recorder-B-8SKgKn.js +0 -376
  349. package/dist/_chunks/audio-recorder-B-8SKgKn.js.map +0 -1
  350. package/dist/_chunks/audio-visualiser-CeMPCZkd.js.map +0 -1
  351. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js +0 -372
  352. package/dist/_chunks/autocomplete.agent-DqOy0_1P.js.map +0 -1
  353. package/dist/_chunks/avatar-Dcr6XuDQ.js.map +0 -1
  354. package/dist/_chunks/badge-mrstWxve.js.map +0 -1
  355. package/dist/_chunks/balance-cell-renderer-BWm3knY9.js.map +0 -1
  356. package/dist/_chunks/breadcrumb-D6xpsP7n.js +0 -293
  357. package/dist/_chunks/breadcrumb-D6xpsP7n.js.map +0 -1
  358. package/dist/_chunks/button-7mLWcMp_.js.map +0 -1
  359. package/dist/_chunks/button-group-CONver7M.js.map +0 -1
  360. package/dist/_chunks/button.agent-BuGZBktn.js.map +0 -1
  361. package/dist/_chunks/calendar-nGEgelJs.js.map +0 -1
  362. package/dist/_chunks/card-BEy58ZKp.js.map +0 -1
  363. package/dist/_chunks/chart.agent-BdS-_8MO.js.map +0 -1
  364. package/dist/_chunks/chat-container-Cm3SlR2p.js.map +0 -1
  365. package/dist/_chunks/chat-container.agent-Dhw9xCJt.js.map +0 -1
  366. package/dist/_chunks/chat-input-DreOPP8A.js.map +0 -1
  367. package/dist/_chunks/chat-message-ByouZpPP.js.map +0 -1
  368. package/dist/_chunks/check-DPdL_Sm7.js.map +0 -1
  369. package/dist/_chunks/checkbox-DNK4qS2_.js +0 -116
  370. package/dist/_chunks/checkbox-DNK4qS2_.js.map +0 -1
  371. package/dist/_chunks/checkbox-group-CWpGZEF6.js +0 -146
  372. package/dist/_chunks/checkbox-group-CWpGZEF6.js.map +0 -1
  373. package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +0 -1
  374. package/dist/_chunks/chevron-left-CX1jqD2M.js.map +0 -1
  375. package/dist/_chunks/chevron-right-BrpYejk0.js.map +0 -1
  376. package/dist/_chunks/chevron-up-zOEDrmBB.js.map +0 -1
  377. package/dist/_chunks/chevrons-right-d9MwesPG.js.map +0 -1
  378. package/dist/_chunks/circle-BkqTgYmt.js.map +0 -1
  379. package/dist/_chunks/circle-alert-ChA9opNA.js.map +0 -1
  380. package/dist/_chunks/circle-check-9AeSgJD_.js.map +0 -1
  381. package/dist/_chunks/circle-x-Du2CmjaU.js.map +0 -1
  382. package/dist/_chunks/clock-21AGPWJ5.js.map +0 -1
  383. package/dist/_chunks/collapsible-D4LOdLxp.js +0 -67
  384. package/dist/_chunks/collapsible-D4LOdLxp.js.map +0 -1
  385. package/dist/_chunks/color-picker-e9PmpaGH.js.map +0 -1
  386. package/dist/_chunks/combobox.agent-ByobCLJ_.js +0 -350
  387. package/dist/_chunks/combobox.agent-ByobCLJ_.js.map +0 -1
  388. package/dist/_chunks/command-palette.agent-js2rxgeR.js.map +0 -1
  389. package/dist/_chunks/compose-refs-C0k0tdqF.js.map +0 -1
  390. package/dist/_chunks/copy-B00HK7tj.js.map +0 -1
  391. package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +0 -1
  392. package/dist/_chunks/date-picker-DYXNsWmM.js +0 -1726
  393. package/dist/_chunks/date-picker-DYXNsWmM.js.map +0 -1
  394. package/dist/_chunks/date-range-picker-BcNDJI7m.js +0 -183
  395. package/dist/_chunks/date-range-picker-BcNDJI7m.js.map +0 -1
  396. package/dist/_chunks/date-time-picker-CmGiTU__.js +0 -202
  397. package/dist/_chunks/date-time-picker-CmGiTU__.js.map +0 -1
  398. package/dist/_chunks/description-list-DvJbp6Yg.js.map +0 -1
  399. package/dist/_chunks/dialog.agent-DEG_fVzG.js +0 -147
  400. package/dist/_chunks/dialog.agent-DEG_fVzG.js.map +0 -1
  401. package/dist/_chunks/dropdown-menu-Cw3EyPZv.js.map +0 -1
  402. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js +0 -17
  403. package/dist/_chunks/dropdown-menu.agent-Cry4Nmes.js.map +0 -1
  404. package/dist/_chunks/ellipsis-rgGdiK_9.js.map +0 -1
  405. package/dist/_chunks/empty-state-DQPtRp2b.js.map +0 -1
  406. package/dist/_chunks/eye-off-xEXDAh5z.js.map +0 -1
  407. package/dist/_chunks/file-text-DSNuv2B8.js.map +0 -1
  408. package/dist/_chunks/file-upload.agent-B9AN82LA.js.map +0 -1
  409. package/dist/_chunks/flag-DZ6V7-hU.js.map +0 -1
  410. package/dist/_chunks/floating-action-button-Cnw-f6AG.js.map +0 -1
  411. package/dist/_chunks/form-field-BfsPLTSc.js.map +0 -1
  412. package/dist/_chunks/form-field-context-94LwgYTQ.js.map +0 -1
  413. package/dist/_chunks/freemium-paywall-CkefGLM_.js +0 -198
  414. package/dist/_chunks/freemium-paywall-CkefGLM_.js.map +0 -1
  415. package/dist/_chunks/globe-BkEFMNSg.js.map +0 -1
  416. package/dist/_chunks/group-options-BvKhQ3xb.js.map +0 -1
  417. package/dist/_chunks/header-BGn1mRp8.js.map +0 -1
  418. package/dist/_chunks/icon-button-Wnnde5lc.js.map +0 -1
  419. package/dist/_chunks/icon-button-group-DeV3FpNY.js.map +0 -1
  420. package/dist/_chunks/index-4xgbg-sn.js.map +0 -1
  421. package/dist/_chunks/index-CJE9uQmb.js.map +0 -1
  422. package/dist/_chunks/index-CeY1nNvd.js.map +0 -1
  423. package/dist/_chunks/index-D2ZczOXr.js.map +0 -1
  424. package/dist/_chunks/info-B9XNKn05.js.map +0 -1
  425. package/dist/_chunks/input-surface-u4QB0lxe.js.map +0 -1
  426. package/dist/_chunks/isSameDay-ecuM8PBB.js.map +0 -1
  427. package/dist/_chunks/isSameMonth-5wNF2f4I.js.map +0 -1
  428. package/dist/_chunks/kbd-8baVw3KU.js.map +0 -1
  429. package/dist/_chunks/key-value-pair-JRFS9Xrh.js.map +0 -1
  430. package/dist/_chunks/leo-sidebar-nbHib2D-.js.map +0 -1
  431. package/dist/_chunks/list-B1ozIjQe.js +0 -359
  432. package/dist/_chunks/list-B1ozIjQe.js.map +0 -1
  433. package/dist/_chunks/live-region-C41SO3cA.js.map +0 -1
  434. package/dist/_chunks/log-out-616hnn2-.js.map +0 -1
  435. package/dist/_chunks/logo-BpFoCL-s.js.map +0 -1
  436. package/dist/_chunks/mail-C8irm52s.js.map +0 -1
  437. package/dist/_chunks/matrix-rain-BEkvux64.js.map +0 -1
  438. package/dist/_chunks/message-card-qAp2-WQK.js.map +0 -1
  439. package/dist/_chunks/message-tray-VaLpQU5t.js +0 -303
  440. package/dist/_chunks/message-tray-VaLpQU5t.js.map +0 -1
  441. package/dist/_chunks/multi-select.agent-CNsyW3n9.js.map +0 -1
  442. package/dist/_chunks/navigation-menu-EVFau1O2.js +0 -180
  443. package/dist/_chunks/navigation-menu-EVFau1O2.js.map +0 -1
  444. package/dist/_chunks/normalize-diacritics-BNGbFNlJ.js.map +0 -1
  445. package/dist/_chunks/notification-card-BF2_veHy.js.map +0 -1
  446. package/dist/_chunks/notification-tray-B7U5YZYg.js +0 -328
  447. package/dist/_chunks/notification-tray-B7U5YZYg.js.map +0 -1
  448. package/dist/_chunks/number-input-DjpT_RXJ.js +0 -249
  449. package/dist/_chunks/number-input-DjpT_RXJ.js.map +0 -1
  450. package/dist/_chunks/otp-input-De5_Ih7B.js +0 -189
  451. package/dist/_chunks/otp-input-De5_Ih7B.js.map +0 -1
  452. package/dist/_chunks/pagination.agent-oEaqmtx5.js +0 -380
  453. package/dist/_chunks/pagination.agent-oEaqmtx5.js.map +0 -1
  454. package/dist/_chunks/password-input-DJDVznWH.js +0 -193
  455. package/dist/_chunks/password-input-DJDVznWH.js.map +0 -1
  456. package/dist/_chunks/patient-shell-7cXqIMFg.js.map +0 -1
  457. package/dist/_chunks/payment-form-hcl-gGrp.js.map +0 -1
  458. package/dist/_chunks/payment-form.agent-BkEnRerR.js.map +0 -1
  459. package/dist/_chunks/pdf-viewer.agent-CfIHhcHx.js.map +0 -1
  460. package/dist/_chunks/phone-input-DE_39q65.js +0 -428
  461. package/dist/_chunks/phone-input-DE_39q65.js.map +0 -1
  462. package/dist/_chunks/plus-CYKNmfuA.js.map +0 -1
  463. package/dist/_chunks/popover-C3CTUsqh.js +0 -227
  464. package/dist/_chunks/popover-C3CTUsqh.js.map +0 -1
  465. package/dist/_chunks/popover.agent-C0qOx9WT.js +0 -13
  466. package/dist/_chunks/popover.agent-C0qOx9WT.js.map +0 -1
  467. package/dist/_chunks/printer-CeVEWfQq.js.map +0 -1
  468. package/dist/_chunks/privacy-lock-CQpgkLec.js +0 -132
  469. package/dist/_chunks/privacy-lock-CQpgkLec.js.map +0 -1
  470. package/dist/_chunks/progress-B4Of_pzz.js +0 -252
  471. package/dist/_chunks/progress-B4Of_pzz.js.map +0 -1
  472. package/dist/_chunks/progress.agent-CXkHURjX.js +0 -22
  473. package/dist/_chunks/progress.agent-CXkHURjX.js.map +0 -1
  474. package/dist/_chunks/purify.es-DpIUMBYC.js.map +0 -1
  475. package/dist/_chunks/radio-cs8N1wJi.js.map +0 -1
  476. package/dist/_chunks/radio-group-BIUbpWml.js +0 -89
  477. package/dist/_chunks/radio-group-BIUbpWml.js.map +0 -1
  478. package/dist/_chunks/react-day-picker-C04L_28V.js.map +0 -1
  479. package/dist/_chunks/registry-C9nwlNyL.js.map +0 -1
  480. package/dist/_chunks/resizable.agent-DBpPGNdy.js +0 -435
  481. package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +0 -1
  482. package/dist/_chunks/rich-text-editor.agent-COSb5_2D.js.map +0 -1
  483. package/dist/_chunks/safe-image-src-DstKgCo7.js.map +0 -1
  484. package/dist/_chunks/scroll-area-DLr5w9Dd.js.map +0 -1
  485. package/dist/_chunks/search-BonnQsHv.js.map +0 -1
  486. package/dist/_chunks/search-bar-fcGqDFW3.js +0 -397
  487. package/dist/_chunks/search-bar-fcGqDFW3.js.map +0 -1
  488. package/dist/_chunks/search-input-BVMCONyN.js +0 -197
  489. package/dist/_chunks/search-input-BVMCONyN.js.map +0 -1
  490. package/dist/_chunks/select-IY_JQa-F.js +0 -321
  491. package/dist/_chunks/select-IY_JQa-F.js.map +0 -1
  492. package/dist/_chunks/send-CySZIRPJ.js.map +0 -1
  493. package/dist/_chunks/separator-B4wXDLNC.js.map +0 -1
  494. package/dist/_chunks/sheet-BhNpLHc9.js.map +0 -1
  495. package/dist/_chunks/sheet.agent-DwQlBqK9.js +0 -13
  496. package/dist/_chunks/sheet.agent-DwQlBqK9.js.map +0 -1
  497. package/dist/_chunks/sidebar-OVzwN3jE.js.map +0 -1
  498. package/dist/_chunks/sidebar.agent-B0fnH9CC.js +0 -17
  499. package/dist/_chunks/sidebar.agent-B0fnH9CC.js.map +0 -1
  500. package/dist/_chunks/sign-in-with-alfadocs-button-BN_FPGHT.js.map +0 -1
  501. package/dist/_chunks/signature-capture.agent-C38VPXxg.js.map +0 -1
  502. package/dist/_chunks/skeleton-dtqyF09N.js.map +0 -1
  503. package/dist/_chunks/skip-link-DmZ3c6cb.js.map +0 -1
  504. package/dist/_chunks/slider-DjyRt3Mp.js +0 -274
  505. package/dist/_chunks/slider-DjyRt3Mp.js.map +0 -1
  506. package/dist/_chunks/slot-grid-D_l5VsHG.js.map +0 -1
  507. package/dist/_chunks/sparkline.agent-C_xp3NRB.js +0 -238
  508. package/dist/_chunks/sparkline.agent-C_xp3NRB.js.map +0 -1
  509. package/dist/_chunks/spinner-GCcv67vh.js.map +0 -1
  510. package/dist/_chunks/square-CZoGU14v.js.map +0 -1
  511. package/dist/_chunks/square-check-big-Jr-0202D.js.map +0 -1
  512. package/dist/_chunks/stat-DUB6g90R.js.map +0 -1
  513. package/dist/_chunks/stepper-C-sIpRRU.js.map +0 -1
  514. package/dist/_chunks/stepper-accordion-CGog0JSF.js +0 -233
  515. package/dist/_chunks/stepper-accordion-CGog0JSF.js.map +0 -1
  516. package/dist/_chunks/stepper-calendar-_fLOAjus.js +0 -570
  517. package/dist/_chunks/stepper-calendar-_fLOAjus.js.map +0 -1
  518. package/dist/_chunks/stepper-progress-rE7tn7WY.js +0 -129
  519. package/dist/_chunks/stepper-progress-rE7tn7WY.js.map +0 -1
  520. package/dist/_chunks/streaming-text-BgjCTVOw.js.map +0 -1
  521. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js +0 -158
  522. package/dist/_chunks/suggestion-chip-BNJ2M8Os.js.map +0 -1
  523. package/dist/_chunks/switch-aN2EYxHh.js +0 -138
  524. package/dist/_chunks/switch-aN2EYxHh.js.map +0 -1
  525. package/dist/_chunks/tabs.agent-BpbVA-Zh.js.map +0 -1
  526. package/dist/_chunks/tag-BqidXKo3.js.map +0 -1
  527. package/dist/_chunks/task-card-yW7tKlG4.js.map +0 -1
  528. package/dist/_chunks/task-tray-BzahI5FQ.js +0 -100
  529. package/dist/_chunks/task-tray-BzahI5FQ.js.map +0 -1
  530. package/dist/_chunks/text-area-DmKSd2DG.js +0 -152
  531. package/dist/_chunks/text-area-DmKSd2DG.js.map +0 -1
  532. package/dist/_chunks/text-input-CRHvl5zk.js +0 -188
  533. package/dist/_chunks/text-input-CRHvl5zk.js.map +0 -1
  534. package/dist/_chunks/theme-root-DDb0TJjd.js.map +0 -1
  535. package/dist/_chunks/theme-toggle-BHiMMEQN.js +0 -329
  536. package/dist/_chunks/theme-toggle-BHiMMEQN.js.map +0 -1
  537. package/dist/_chunks/time-picker-D-EueWUG.js +0 -322
  538. package/dist/_chunks/time-picker-D-EueWUG.js.map +0 -1
  539. package/dist/_chunks/timeline-RgAIzpMd.js +0 -220
  540. package/dist/_chunks/timeline-RgAIzpMd.js.map +0 -1
  541. package/dist/_chunks/timestamp-BV2lC-wV.js.map +0 -1
  542. package/dist/_chunks/toast-lOhJDKOH.js.map +0 -1
  543. package/dist/_chunks/tooltip-DHik5yRI.js.map +0 -1
  544. package/dist/_chunks/tooth-scheme.agent-BlDyu-Gx.js.map +0 -1
  545. package/dist/_chunks/transcript-panel-CNbVGG9L.js +0 -266
  546. package/dist/_chunks/transcript-panel-CNbVGG9L.js.map +0 -1
  547. package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +0 -1
  548. package/dist/_chunks/typing-indicator-CbUBf-Dx.js.map +0 -1
  549. package/dist/_chunks/use-debounced-callback-BisrB-Fq.js.map +0 -1
  550. package/dist/_chunks/use-direction-D6rvvG9G.js.map +0 -1
  551. package/dist/_chunks/use-locale-BuXR_Zl9.js.map +0 -1
  552. package/dist/_chunks/use-prefers-reduced-motion-BMwIQRjB.js.map +0 -1
  553. package/dist/_chunks/use-theme-BMUhembX.js.map +0 -1
  554. package/dist/_chunks/user-CPxpqFjJ.js.map +0 -1
  555. package/dist/_chunks/visually-hidden-Bw7vBHLm.js.map +0 -1
  556. package/dist/_chunks/warning-stack-8Pa3pekh.js.map +0 -1
  557. package/dist/_chunks/workflow-map-XeqHDFvp.js.map +0 -1
  558. package/dist/_chunks/x-CCcI3eJp.js.map +0 -1
  559. package/dist/agent/index.d.ts.map +0 -1
  560. package/dist/agent/registry.d.ts.map +0 -1
  561. package/dist/agent/types.d.ts.map +0 -1
  562. package/dist/brand/logo-asset/Alfadocs_Logo_BW.d.ts.map +0 -1
  563. package/dist/brand/logo-asset/Alfadocs_Logo_Main.d.ts.map +0 -1
  564. package/dist/brand/logo-asset/Alfadocs_Logo_Mark.d.ts.map +0 -1
  565. package/dist/brand/logo-asset/Alfadocs_Logo_Neg.d.ts.map +0 -1
  566. package/dist/brand/logo-asset/Alfadocs_Logo_Purple.d.ts.map +0 -1
  567. package/dist/brand/logo-asset/index.d.ts.map +0 -1
  568. package/dist/components/_shared/calendar-chevron.d.ts.map +0 -1
  569. package/dist/components/_shared/compose-refs.d.ts.map +0 -1
  570. package/dist/components/_shared/date-locale.d.ts.map +0 -1
  571. package/dist/components/_shared/date-picker-variants.d.ts.map +0 -1
  572. package/dist/components/_shared/date-utils.d.ts.map +0 -1
  573. package/dist/components/_shared/group-options.d.ts.map +0 -1
  574. package/dist/components/_shared/index.d.ts.map +0 -1
  575. package/dist/components/_shared/input-surface.d.ts.map +0 -1
  576. package/dist/components/_shared/normalize-diacritics.d.ts.map +0 -1
  577. package/dist/components/_shared/option.d.ts.map +0 -1
  578. package/dist/components/_shared/safe-html.d.ts.map +0 -1
  579. package/dist/components/_shared/safe-image-src.d.ts.map +0 -1
  580. package/dist/components/_shared/stepper.d.ts.map +0 -1
  581. package/dist/components/_shared/time.d.ts.map +0 -1
  582. package/dist/components/_shared/use-debounced-callback.d.ts.map +0 -1
  583. package/dist/components/_shared/use-direction.d.ts.map +0 -1
  584. package/dist/components/_shared/use-focus-trap.d.ts.map +0 -1
  585. package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +0 -1
  586. package/dist/components/accordion/accordion.agent.d.ts.map +0 -1
  587. package/dist/components/accordion/accordion.d.ts.map +0 -1
  588. package/dist/components/accordion/index.d.ts.map +0 -1
  589. package/dist/components/accordion/index.js.map +0 -1
  590. package/dist/components/agenda-card/agenda-card.d.ts.map +0 -1
  591. package/dist/components/agenda-card/index.d.ts.map +0 -1
  592. package/dist/components/agenda-card/index.js.map +0 -1
  593. package/dist/components/agenda-tray/agenda-tray.d.ts.map +0 -1
  594. package/dist/components/agenda-tray/index.d.ts.map +0 -1
  595. package/dist/components/agenda-tray/index.js.map +0 -1
  596. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +0 -1
  597. package/dist/components/ai-prompt-input/index.d.ts.map +0 -1
  598. package/dist/components/ai-prompt-input/index.js.map +0 -1
  599. package/dist/components/alert/alert.d.ts.map +0 -1
  600. package/dist/components/alert/index.d.ts.map +0 -1
  601. package/dist/components/alert/index.js.map +0 -1
  602. package/dist/components/app-frame/app-frame.d.ts.map +0 -1
  603. package/dist/components/app-frame/index.d.ts.map +0 -1
  604. package/dist/components/app-frame/index.js.map +0 -1
  605. package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +0 -1
  606. package/dist/components/aspect-ratio/index.d.ts.map +0 -1
  607. package/dist/components/aspect-ratio/index.js.map +0 -1
  608. package/dist/components/audio-recorder/audio-recorder.d.ts.map +0 -1
  609. package/dist/components/audio-recorder/index.d.ts.map +0 -1
  610. package/dist/components/audio-recorder/index.js.map +0 -1
  611. package/dist/components/audio-visualiser/audio-visualiser.d.ts.map +0 -1
  612. package/dist/components/audio-visualiser/index.d.ts.map +0 -1
  613. package/dist/components/audio-visualiser/index.js.map +0 -1
  614. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +0 -1
  615. package/dist/components/autocomplete/autocomplete.d.ts.map +0 -1
  616. package/dist/components/autocomplete/index.d.ts.map +0 -1
  617. package/dist/components/autocomplete/index.js.map +0 -1
  618. package/dist/components/avatar/avatar.d.ts.map +0 -1
  619. package/dist/components/avatar/index.d.ts.map +0 -1
  620. package/dist/components/avatar/index.js.map +0 -1
  621. package/dist/components/badge/badge.d.ts.map +0 -1
  622. package/dist/components/badge/index.d.ts.map +0 -1
  623. package/dist/components/badge/index.js.map +0 -1
  624. package/dist/components/breadcrumb/breadcrumb.d.ts.map +0 -1
  625. package/dist/components/breadcrumb/index.d.ts.map +0 -1
  626. package/dist/components/breadcrumb/index.js.map +0 -1
  627. package/dist/components/button/button.agent.d.ts.map +0 -1
  628. package/dist/components/button/button.d.ts.map +0 -1
  629. package/dist/components/button/icon-button.d.ts.map +0 -1
  630. package/dist/components/button/index.d.ts.map +0 -1
  631. package/dist/components/button/index.js.map +0 -1
  632. package/dist/components/button-group/button-group.d.ts.map +0 -1
  633. package/dist/components/button-group/index.d.ts.map +0 -1
  634. package/dist/components/button-group/index.js.map +0 -1
  635. package/dist/components/calendar/calendar.agent.d.ts.map +0 -1
  636. package/dist/components/calendar/calendar.d.ts.map +0 -1
  637. package/dist/components/calendar/contrast-warning.d.ts.map +0 -1
  638. package/dist/components/calendar/index.d.ts.map +0 -1
  639. package/dist/components/calendar/index.js.map +0 -1
  640. package/dist/components/card/card.d.ts.map +0 -1
  641. package/dist/components/card/index.d.ts.map +0 -1
  642. package/dist/components/card/index.js.map +0 -1
  643. package/dist/components/chart/chart.agent.d.ts.map +0 -1
  644. package/dist/components/chart/chart.d.ts.map +0 -1
  645. package/dist/components/chart/index.d.ts.map +0 -1
  646. package/dist/components/chart/index.js.map +0 -1
  647. package/dist/components/chat-container/chat-container.agent.d.ts.map +0 -1
  648. package/dist/components/chat-container/chat-container.d.ts.map +0 -1
  649. package/dist/components/chat-container/index.d.ts.map +0 -1
  650. package/dist/components/chat-container/index.js.map +0 -1
  651. package/dist/components/chat-input/chat-input.d.ts.map +0 -1
  652. package/dist/components/chat-input/index.d.ts.map +0 -1
  653. package/dist/components/chat-input/index.js.map +0 -1
  654. package/dist/components/chat-message/chat-message.d.ts.map +0 -1
  655. package/dist/components/chat-message/index.d.ts.map +0 -1
  656. package/dist/components/chat-message/index.js.map +0 -1
  657. package/dist/components/checkbox/checkbox-group-context.d.ts.map +0 -1
  658. package/dist/components/checkbox/checkbox.d.ts.map +0 -1
  659. package/dist/components/checkbox/index.d.ts.map +0 -1
  660. package/dist/components/checkbox/index.js.map +0 -1
  661. package/dist/components/checkbox-group/checkbox-group.d.ts.map +0 -1
  662. package/dist/components/checkbox-group/index.d.ts.map +0 -1
  663. package/dist/components/checkbox-group/index.js.map +0 -1
  664. package/dist/components/collapsible/collapsible.d.ts.map +0 -1
  665. package/dist/components/collapsible/index.d.ts.map +0 -1
  666. package/dist/components/collapsible/index.js.map +0 -1
  667. package/dist/components/color-picker/color-picker.d.ts.map +0 -1
  668. package/dist/components/color-picker/color-utils.d.ts.map +0 -1
  669. package/dist/components/color-picker/index.d.ts.map +0 -1
  670. package/dist/components/color-picker/index.js.map +0 -1
  671. package/dist/components/color-picker/palettes.d.ts.map +0 -1
  672. package/dist/components/combobox/combobox.agent.d.ts.map +0 -1
  673. package/dist/components/combobox/combobox.d.ts.map +0 -1
  674. package/dist/components/combobox/index.d.ts.map +0 -1
  675. package/dist/components/combobox/index.js.map +0 -1
  676. package/dist/components/command-palette/command-palette.agent.d.ts.map +0 -1
  677. package/dist/components/command-palette/command-palette.d.ts.map +0 -1
  678. package/dist/components/command-palette/index.d.ts.map +0 -1
  679. package/dist/components/command-palette/index.js.map +0 -1
  680. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts.map +0 -1
  681. package/dist/components/data-table/cell-renderers/balance-cell-renderer.d.ts.map +0 -1
  682. package/dist/components/data-table/cell-renderers/color-dot-cell-renderer.d.ts.map +0 -1
  683. package/dist/components/data-table/cell-renderers/currency-cell-renderer.d.ts.map +0 -1
  684. package/dist/components/data-table/cell-renderers/date-cell-renderer.d.ts.map +0 -1
  685. package/dist/components/data-table/cell-renderers/link-cell-renderer.d.ts.map +0 -1
  686. package/dist/components/data-table/cell-renderers/status-cell-renderer.d.ts.map +0 -1
  687. package/dist/components/data-table/cell-renderers/tag-list-cell-renderer.d.ts.map +0 -1
  688. package/dist/components/data-table/cell-renderers/toggle-cell-renderer.d.ts.map +0 -1
  689. package/dist/components/data-table/cell-renderers/user-cell-renderer.d.ts.map +0 -1
  690. package/dist/components/data-table/data-table.agent.d.ts.map +0 -1
  691. package/dist/components/data-table/data-table.d.ts.map +0 -1
  692. package/dist/components/data-table/hooks/use-total-row.d.ts.map +0 -1
  693. package/dist/components/data-table/index.d.ts.map +0 -1
  694. package/dist/components/data-table/index.js.map +0 -1
  695. package/dist/components/data-table/toolbar.d.ts.map +0 -1
  696. package/dist/components/date-picker/date-picker.d.ts.map +0 -1
  697. package/dist/components/date-picker/index.d.ts.map +0 -1
  698. package/dist/components/date-picker/index.js.map +0 -1
  699. package/dist/components/date-range-picker/date-range-picker.d.ts.map +0 -1
  700. package/dist/components/date-range-picker/index.d.ts.map +0 -1
  701. package/dist/components/date-range-picker/index.js.map +0 -1
  702. package/dist/components/date-time-picker/date-time-picker.d.ts.map +0 -1
  703. package/dist/components/date-time-picker/index.d.ts.map +0 -1
  704. package/dist/components/date-time-picker/index.js.map +0 -1
  705. package/dist/components/description-list/description-list.d.ts.map +0 -1
  706. package/dist/components/description-list/index.d.ts.map +0 -1
  707. package/dist/components/description-list/index.js.map +0 -1
  708. package/dist/components/dialog/dialog.agent.d.ts.map +0 -1
  709. package/dist/components/dialog/dialog.d.ts.map +0 -1
  710. package/dist/components/dialog/index.d.ts.map +0 -1
  711. package/dist/components/dialog/index.js.map +0 -1
  712. package/dist/components/dropdown-menu/dropdown-menu.agent.d.ts.map +0 -1
  713. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  714. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  715. package/dist/components/dropdown-menu/index.js.map +0 -1
  716. package/dist/components/empty-state/empty-state.d.ts.map +0 -1
  717. package/dist/components/empty-state/index.d.ts.map +0 -1
  718. package/dist/components/empty-state/index.js.map +0 -1
  719. package/dist/components/file-upload/file-upload.agent.d.ts.map +0 -1
  720. package/dist/components/file-upload/file-upload.d.ts.map +0 -1
  721. package/dist/components/file-upload/index.d.ts.map +0 -1
  722. package/dist/components/file-upload/index.js.map +0 -1
  723. package/dist/components/flag/flag.d.ts.map +0 -1
  724. package/dist/components/flag/index.d.ts.map +0 -1
  725. package/dist/components/flag/index.js.map +0 -1
  726. package/dist/components/floating-action-button/floating-action-button.d.ts.map +0 -1
  727. package/dist/components/floating-action-button/index.d.ts.map +0 -1
  728. package/dist/components/floating-action-button/index.js.map +0 -1
  729. package/dist/components/form-field/form-field-context.d.ts.map +0 -1
  730. package/dist/components/form-field/form-field.d.ts.map +0 -1
  731. package/dist/components/form-field/index.d.ts.map +0 -1
  732. package/dist/components/form-field/index.js.map +0 -1
  733. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +0 -1
  734. package/dist/components/freemium-paywall/index.d.ts.map +0 -1
  735. package/dist/components/freemium-paywall/index.js.map +0 -1
  736. package/dist/components/header/header.d.ts.map +0 -1
  737. package/dist/components/header/index.d.ts.map +0 -1
  738. package/dist/components/header/index.js.map +0 -1
  739. package/dist/components/icon-button/index.d.ts.map +0 -1
  740. package/dist/components/icon-button/index.js.map +0 -1
  741. package/dist/components/icon-button-group/icon-button-group.d.ts.map +0 -1
  742. package/dist/components/icon-button-group/index.d.ts.map +0 -1
  743. package/dist/components/icon-button-group/index.js.map +0 -1
  744. package/dist/components/index.d.ts.map +0 -1
  745. package/dist/components/kbd/index.d.ts.map +0 -1
  746. package/dist/components/kbd/index.js.map +0 -1
  747. package/dist/components/kbd/kbd.d.ts.map +0 -1
  748. package/dist/components/key-value-pair/index.d.ts.map +0 -1
  749. package/dist/components/key-value-pair/index.js.map +0 -1
  750. package/dist/components/key-value-pair/key-value-pair.d.ts.map +0 -1
  751. package/dist/components/list/index.d.ts.map +0 -1
  752. package/dist/components/list/index.js.map +0 -1
  753. package/dist/components/list/list.d.ts.map +0 -1
  754. package/dist/components/live-region/index.d.ts.map +0 -1
  755. package/dist/components/live-region/index.js.map +0 -1
  756. package/dist/components/live-region/live-region.d.ts.map +0 -1
  757. package/dist/components/logo/index.d.ts.map +0 -1
  758. package/dist/components/logo/index.js.map +0 -1
  759. package/dist/components/logo/logo.d.ts.map +0 -1
  760. package/dist/components/matrix-rain/index.d.ts.map +0 -1
  761. package/dist/components/matrix-rain/index.js.map +0 -1
  762. package/dist/components/matrix-rain/matrix-rain.d.ts.map +0 -1
  763. package/dist/components/message-card/index.d.ts.map +0 -1
  764. package/dist/components/message-card/index.js.map +0 -1
  765. package/dist/components/message-card/message-card.d.ts.map +0 -1
  766. package/dist/components/message-tray/index.d.ts.map +0 -1
  767. package/dist/components/message-tray/index.js.map +0 -1
  768. package/dist/components/message-tray/message-tray.d.ts.map +0 -1
  769. package/dist/components/multi-select/index.d.ts.map +0 -1
  770. package/dist/components/multi-select/index.js.map +0 -1
  771. package/dist/components/multi-select/multi-select.agent.d.ts.map +0 -1
  772. package/dist/components/multi-select/multi-select.d.ts.map +0 -1
  773. package/dist/components/navigation-menu/index.d.ts.map +0 -1
  774. package/dist/components/navigation-menu/index.js.map +0 -1
  775. package/dist/components/navigation-menu/navigation-menu.d.ts.map +0 -1
  776. package/dist/components/notification-card/index.d.ts.map +0 -1
  777. package/dist/components/notification-card/index.js.map +0 -1
  778. package/dist/components/notification-card/notification-card.d.ts.map +0 -1
  779. package/dist/components/notification-tray/index.d.ts.map +0 -1
  780. package/dist/components/notification-tray/index.js.map +0 -1
  781. package/dist/components/notification-tray/notification-tray.d.ts.map +0 -1
  782. package/dist/components/number-input/index.d.ts.map +0 -1
  783. package/dist/components/number-input/index.js.map +0 -1
  784. package/dist/components/number-input/number-input.d.ts.map +0 -1
  785. package/dist/components/number-input/use-locale-number.d.ts.map +0 -1
  786. package/dist/components/otp-input/index.d.ts.map +0 -1
  787. package/dist/components/otp-input/index.js.map +0 -1
  788. package/dist/components/otp-input/otp-input.d.ts.map +0 -1
  789. package/dist/components/pagination/index.d.ts.map +0 -1
  790. package/dist/components/pagination/index.js.map +0 -1
  791. package/dist/components/pagination/pagination.agent.d.ts.map +0 -1
  792. package/dist/components/pagination/pagination.d.ts.map +0 -1
  793. package/dist/components/password-input/index.d.ts.map +0 -1
  794. package/dist/components/password-input/index.js.map +0 -1
  795. package/dist/components/password-input/password-input.d.ts.map +0 -1
  796. package/dist/components/payment-form/index.d.ts.map +0 -1
  797. package/dist/components/payment-form/index.js.map +0 -1
  798. package/dist/components/payment-form/payment-form.agent.d.ts.map +0 -1
  799. package/dist/components/payment-form/payment-form.d.ts.map +0 -1
  800. package/dist/components/pdf-viewer/index.d.ts.map +0 -1
  801. package/dist/components/pdf-viewer/index.js.map +0 -1
  802. package/dist/components/pdf-viewer/pdf-viewer.agent.d.ts.map +0 -1
  803. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +0 -1
  804. package/dist/components/phone-input/index.d.ts.map +0 -1
  805. package/dist/components/phone-input/index.js.map +0 -1
  806. package/dist/components/phone-input/phone-input.d.ts.map +0 -1
  807. package/dist/components/popover/index.d.ts.map +0 -1
  808. package/dist/components/popover/index.js.map +0 -1
  809. package/dist/components/popover/popover.agent.d.ts.map +0 -1
  810. package/dist/components/popover/popover.d.ts.map +0 -1
  811. package/dist/components/privacy-lock/index.d.ts.map +0 -1
  812. package/dist/components/privacy-lock/index.js.map +0 -1
  813. package/dist/components/privacy-lock/privacy-lock.d.ts.map +0 -1
  814. package/dist/components/progress/index.d.ts.map +0 -1
  815. package/dist/components/progress/index.js.map +0 -1
  816. package/dist/components/progress/progress.agent.d.ts.map +0 -1
  817. package/dist/components/progress/progress.d.ts.map +0 -1
  818. package/dist/components/radio/index.d.ts.map +0 -1
  819. package/dist/components/radio/index.js.map +0 -1
  820. package/dist/components/radio-group/index.d.ts.map +0 -1
  821. package/dist/components/radio-group/index.js.map +0 -1
  822. package/dist/components/radio-group/radio-group-context.d.ts.map +0 -1
  823. package/dist/components/radio-group/radio-group.d.ts.map +0 -1
  824. package/dist/components/radio-group/radio.d.ts.map +0 -1
  825. package/dist/components/resizable/index.d.ts.map +0 -1
  826. package/dist/components/resizable/index.js.map +0 -1
  827. package/dist/components/resizable/resizable-context.d.ts.map +0 -1
  828. package/dist/components/resizable/resizable.agent.d.ts.map +0 -1
  829. package/dist/components/resizable/resizable.d.ts.map +0 -1
  830. package/dist/components/rich-text-editor/index.d.ts.map +0 -1
  831. package/dist/components/rich-text-editor/index.js.map +0 -1
  832. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +0 -1
  833. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +0 -1
  834. package/dist/components/scroll-area/index.d.ts.map +0 -1
  835. package/dist/components/scroll-area/index.js.map +0 -1
  836. package/dist/components/scroll-area/scroll-area.d.ts.map +0 -1
  837. package/dist/components/search-bar/index.d.ts.map +0 -1
  838. package/dist/components/search-bar/index.js.map +0 -1
  839. package/dist/components/search-bar/search-bar.d.ts.map +0 -1
  840. package/dist/components/search-input/index.d.ts.map +0 -1
  841. package/dist/components/search-input/index.js.map +0 -1
  842. package/dist/components/search-input/search-input.d.ts.map +0 -1
  843. package/dist/components/select/index.d.ts.map +0 -1
  844. package/dist/components/select/index.js.map +0 -1
  845. package/dist/components/select/select.d.ts.map +0 -1
  846. package/dist/components/separator/index.d.ts.map +0 -1
  847. package/dist/components/separator/index.js.map +0 -1
  848. package/dist/components/separator/separator.d.ts.map +0 -1
  849. package/dist/components/sheet/index.d.ts.map +0 -1
  850. package/dist/components/sheet/index.js.map +0 -1
  851. package/dist/components/sheet/sheet.agent.d.ts.map +0 -1
  852. package/dist/components/sheet/sheet.d.ts.map +0 -1
  853. package/dist/components/sidebar/index.d.ts.map +0 -1
  854. package/dist/components/sidebar/index.js.map +0 -1
  855. package/dist/components/sidebar/sidebar.agent.d.ts.map +0 -1
  856. package/dist/components/sidebar/sidebar.d.ts.map +0 -1
  857. package/dist/components/sign-in-with-alfadocs-button/index.d.ts.map +0 -1
  858. package/dist/components/sign-in-with-alfadocs-button/index.js.map +0 -1
  859. package/dist/components/sign-in-with-alfadocs-button/sign-in-with-alfadocs-button.d.ts.map +0 -1
  860. package/dist/components/signature-capture/index.d.ts.map +0 -1
  861. package/dist/components/signature-capture/index.js.map +0 -1
  862. package/dist/components/signature-capture/signature-capture.agent.d.ts.map +0 -1
  863. package/dist/components/signature-capture/signature-capture.d.ts.map +0 -1
  864. package/dist/components/skeleton/index.d.ts.map +0 -1
  865. package/dist/components/skeleton/index.js.map +0 -1
  866. package/dist/components/skeleton/skeleton.d.ts.map +0 -1
  867. package/dist/components/skip-link/index.d.ts.map +0 -1
  868. package/dist/components/skip-link/index.js.map +0 -1
  869. package/dist/components/skip-link/skip-link.d.ts.map +0 -1
  870. package/dist/components/slider/index.d.ts.map +0 -1
  871. package/dist/components/slider/index.js.map +0 -1
  872. package/dist/components/slider/slider.d.ts.map +0 -1
  873. package/dist/components/slot-grid/index.d.ts.map +0 -1
  874. package/dist/components/slot-grid/index.js.map +0 -1
  875. package/dist/components/slot-grid/slot-grid.d.ts.map +0 -1
  876. package/dist/components/sparkline/index.d.ts.map +0 -1
  877. package/dist/components/sparkline/index.js.map +0 -1
  878. package/dist/components/sparkline/sparkline.agent.d.ts.map +0 -1
  879. package/dist/components/sparkline/sparkline.d.ts.map +0 -1
  880. package/dist/components/sparkline/use-linear-trend.d.ts.map +0 -1
  881. package/dist/components/spinner/index.d.ts.map +0 -1
  882. package/dist/components/spinner/index.js.map +0 -1
  883. package/dist/components/spinner/spinner.d.ts.map +0 -1
  884. package/dist/components/stat/index.d.ts.map +0 -1
  885. package/dist/components/stat/index.js.map +0 -1
  886. package/dist/components/stat/stat.d.ts.map +0 -1
  887. package/dist/components/stepper-accordion/index.d.ts.map +0 -1
  888. package/dist/components/stepper-accordion/index.js.map +0 -1
  889. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +0 -1
  890. package/dist/components/stepper-calendar/index.d.ts.map +0 -1
  891. package/dist/components/stepper-calendar/index.js.map +0 -1
  892. package/dist/components/stepper-calendar/stepper-calendar.d.ts.map +0 -1
  893. package/dist/components/stepper-progress/index.d.ts.map +0 -1
  894. package/dist/components/stepper-progress/index.js.map +0 -1
  895. package/dist/components/stepper-progress/stepper-progress.d.ts.map +0 -1
  896. package/dist/components/streaming-text/index.d.ts.map +0 -1
  897. package/dist/components/streaming-text/index.js.map +0 -1
  898. package/dist/components/streaming-text/streaming-text.d.ts.map +0 -1
  899. package/dist/components/suggestion-chip/index.d.ts.map +0 -1
  900. package/dist/components/suggestion-chip/index.js.map +0 -1
  901. package/dist/components/suggestion-chip/suggestion-chip.d.ts.map +0 -1
  902. package/dist/components/switch/index.d.ts.map +0 -1
  903. package/dist/components/switch/index.js.map +0 -1
  904. package/dist/components/switch/switch.d.ts.map +0 -1
  905. package/dist/components/tabs/index.d.ts.map +0 -1
  906. package/dist/components/tabs/index.js.map +0 -1
  907. package/dist/components/tabs/tabs.agent.d.ts.map +0 -1
  908. package/dist/components/tabs/tabs.d.ts.map +0 -1
  909. package/dist/components/tag/index.d.ts.map +0 -1
  910. package/dist/components/tag/index.js.map +0 -1
  911. package/dist/components/tag/tag.d.ts.map +0 -1
  912. package/dist/components/task-card/index.d.ts.map +0 -1
  913. package/dist/components/task-card/index.js.map +0 -1
  914. package/dist/components/task-card/task-card.d.ts.map +0 -1
  915. package/dist/components/task-tray/index.d.ts.map +0 -1
  916. package/dist/components/task-tray/index.js.map +0 -1
  917. package/dist/components/task-tray/task-tray.d.ts.map +0 -1
  918. package/dist/components/text-area/index.d.ts.map +0 -1
  919. package/dist/components/text-area/index.js.map +0 -1
  920. package/dist/components/text-area/text-area.d.ts.map +0 -1
  921. package/dist/components/text-input/index.d.ts.map +0 -1
  922. package/dist/components/text-input/index.js.map +0 -1
  923. package/dist/components/text-input/text-input.d.ts.map +0 -1
  924. package/dist/components/theme-root/index.d.ts.map +0 -1
  925. package/dist/components/theme-root/index.js.map +0 -1
  926. package/dist/components/theme-root/theme-root.d.ts.map +0 -1
  927. package/dist/components/theme-toggle/index.d.ts.map +0 -1
  928. package/dist/components/theme-toggle/index.js.map +0 -1
  929. package/dist/components/theme-toggle/theme-toggle.d.ts.map +0 -1
  930. package/dist/components/time-picker/index.d.ts.map +0 -1
  931. package/dist/components/time-picker/index.js.map +0 -1
  932. package/dist/components/time-picker/time-picker.d.ts.map +0 -1
  933. package/dist/components/timeline/index.d.ts.map +0 -1
  934. package/dist/components/timeline/index.js.map +0 -1
  935. package/dist/components/timeline/timeline.d.ts.map +0 -1
  936. package/dist/components/timestamp/index.d.ts.map +0 -1
  937. package/dist/components/timestamp/index.js.map +0 -1
  938. package/dist/components/timestamp/timestamp.d.ts.map +0 -1
  939. package/dist/components/toast/index.d.ts.map +0 -1
  940. package/dist/components/toast/index.js.map +0 -1
  941. package/dist/components/toast/toast.d.ts.map +0 -1
  942. package/dist/components/tooltip/index.d.ts.map +0 -1
  943. package/dist/components/tooltip/index.js.map +0 -1
  944. package/dist/components/tooltip/tooltip.d.ts.map +0 -1
  945. package/dist/components/tooth-scheme/index.d.ts.map +0 -1
  946. package/dist/components/tooth-scheme/index.js.map +0 -1
  947. package/dist/components/tooth-scheme/tooth-data.d.ts.map +0 -1
  948. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +0 -1
  949. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +0 -1
  950. package/dist/components/transcript-panel/index.d.ts.map +0 -1
  951. package/dist/components/transcript-panel/index.js.map +0 -1
  952. package/dist/components/transcript-panel/transcript-panel.d.ts.map +0 -1
  953. package/dist/components/typing-indicator/index.d.ts.map +0 -1
  954. package/dist/components/typing-indicator/index.js.map +0 -1
  955. package/dist/components/typing-indicator/typing-indicator.d.ts.map +0 -1
  956. package/dist/components/visually-hidden/index.d.ts.map +0 -1
  957. package/dist/components/visually-hidden/index.js.map +0 -1
  958. package/dist/components/visually-hidden/visually-hidden.d.ts.map +0 -1
  959. package/dist/components/warning-stack/index.d.ts.map +0 -1
  960. package/dist/components/warning-stack/index.js.map +0 -1
  961. package/dist/components/warning-stack/warning-stack.d.ts.map +0 -1
  962. package/dist/components/workflow/index.d.ts.map +0 -1
  963. package/dist/components/workflow/index.js.map +0 -1
  964. package/dist/components/workflow/workflow-card.d.ts.map +0 -1
  965. package/dist/components/workflow/workflow-editor.d.ts.map +0 -1
  966. package/dist/components/workflow/workflow-map.d.ts.map +0 -1
  967. package/dist/components/workflow/workflow-types.d.ts.map +0 -1
  968. package/dist/hooks/index.d.ts.map +0 -1
  969. package/dist/hooks/index.js.map +0 -1
  970. package/dist/hooks/use-locale.d.ts.map +0 -1
  971. package/dist/hooks/use-media-query.d.ts.map +0 -1
  972. package/dist/hooks/use-prefers-reduced-motion.d.ts.map +0 -1
  973. package/dist/hooks/use-theme.d.ts.map +0 -1
  974. package/dist/i18n/config.d.ts.map +0 -1
  975. package/dist/i18n/config.js.map +0 -1
  976. package/dist/i18n/resources.d.ts.map +0 -1
  977. package/dist/index.js.map +0 -1
  978. package/dist/option/index.js.map +0 -1
  979. package/dist/patterns/leo-assistant/index.d.ts.map +0 -1
  980. package/dist/patterns/leo-assistant/index.js.map +0 -1
  981. package/dist/patterns/leo-assistant/leo-chat-surface.d.ts.map +0 -1
  982. package/dist/patterns/leo-assistant/leo-embedded.d.ts.map +0 -1
  983. package/dist/patterns/leo-assistant/leo-popout.d.ts.map +0 -1
  984. package/dist/patterns/leo-assistant/leo-sidebar.d.ts.map +0 -1
  985. package/dist/patterns/leo-assistant/leo-types.d.ts.map +0 -1
  986. package/dist/patterns/patient-shell/index.d.ts.map +0 -1
  987. package/dist/patterns/patient-shell/index.js.map +0 -1
  988. package/dist/patterns/patient-shell/patient-shell.d.ts.map +0 -1
  989. package/dist/safe-html/index.js.map +0 -1
  990. package/dist/tokens/apexcharts-theme.d.ts.map +0 -1
  991. package/dist/tokens/themes/bridges/stripe-appearance.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"logo-BpFoCL-s.js","sources":["../../src/brand/logo-asset/Alfadocs_Logo_Main.tsx","../../src/brand/logo-asset/Alfadocs_Logo_Neg.tsx","../../src/brand/logo-asset/Alfadocs_Logo_Mark.tsx","../../src/components/logo/logo.tsx"],"sourcesContent":["/**\n * Alfadocs_Logo_Main — canonical bicolor wordmark.\n *\n * Source: `reference/assets/logos/SVG/Alfadocs_Logo_Main.svg`\n * Bicolor: blue-500 wordmark + violet-500 mark.\n *\n * Colours reference token primitives directly so they stay fixed to brand\n * values regardless of the current surface theme — a bicolor wordmark is\n * brand-locked by definition. For an inverting / single-colour wordmark\n * use `Alfadocs_Logo_Neg` or `Alfadocs_Logo_Mark`.\n */\nimport { forwardRef, type SVGProps } from 'react';\n\nexport const AlfadocsLogoMain = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 805 148\"\n {...props}\n >\n <g className=\"ds:fill-[color:var(--color-blue-500)]\">\n <path d=\"M460.58,51.29h-10.51c-3.57,0-6.52.99-8.85,2.97-2.32,1.98-3.48,4.71-3.48,8.18v.15h-1.62c-.62,0-1.21-.34-1.49-.89-.26-.51-.55-1.01-.86-1.49-.21-.34-.43-.68-.68-1.01,0-.04-.02-.07-.06-.11-.21-.28-.4-.55-.64-.83-.05-.1-.12-.18-.22-.28-.21-.26-.43-.53-.66-.78-.04-.06-.1-.12-.17-.18-.18-.21-.37-.42-.57-.61-.36-.37-.75-.73-1.16-1.09-.82-.74-1.68-1.46-2.63-2.15-1.08-.76-2.29-1.41-3.66-1.93-.32-.13-.65-.26-.98-.37-.4-.13-.82-.27-1.26-.39-.4-.11-.82-.22-1.23-.32-1.26-.31-2.63-.53-4.11-.67-.26-.02-.54-.05-.82-.07-.24-.02-.5-.05-.75-.06-1.15-.09-2.36-.12-3.62-.12-1.47,0-2.9.09-4.32.27-.54.07-1.08.15-1.6.24-3.73.65-7.25,1.96-10.58,3.88-.81.47-1.58.98-2.34,1.52-.31.21-.61.43-.91.66-.09.07-.17.13-.25.2-.98.76-1.91,1.58-2.78,2.47-.03.03-.06.07-.1.1-.02.02-.04.03-.06.05-.78.78-1.52,1.61-2.23,2.51-.35.44-.7.89-1.03,1.36-.89,1.25-1.72,2.57-2.49,3.99-3.07,5.65-4.61,12.48-4.61,20.5v2.37c0,8.02,1.54,14.85,4.61,20.5.77,1.42,1.6,2.74,2.49,3.99.33.46.67.92,1.03,1.36.71.89,1.44,1.72,2.23,2.51.02.02.04.04.06.06.04.04.07.07.1.11.86.88,1.79,1.7,2.76,2.46.09.07.18.14.27.21.3.22.6.44.9.65.76.54,1.53,1.05,2.34,1.52,3.33,1.92,6.85,3.23,10.58,3.88.53.09,1.06.17,1.6.24,1.42.17,2.86.27,4.32.27,1.26,0,2.47-.04,3.62-.12.24-.01.5-.04.75-.06.28-.01.55-.04.82-.07,1.48-.15,2.85-.37,4.11-.67.43-.1.83-.2,1.23-.32.43-.12.86-.26,1.26-.39.33-.12.66-.24.98-.37,1.37-.53,2.58-1.17,3.66-1.93.96-.68,1.82-1.41,2.63-2.15h0c.4-.36.79-.72,1.16-1.09.2-.21.39-.4.57-.61.06-.06.12-.12.17-.18.23-.26.45-.53.66-.78.09-.1.16-.18.22-.28.23-.28.43-.55.64-.83.01-.04.04-.07.06-.11.26-.33.48-.67.68-1.01.31-.49.6-.99.86-1.49.29-.55.87-.89,1.49-.89h1.62v.15c0,3.47,1.16,6.2,3.48,8.18,2.34,1.98,5.28,2.97,8.85,2.97h9.87c2.75,0,4.98-2.23,4.98-4.98v-5.49c0-2.75-2.23-4.98-4.98-4.98h-.96c-2.78,0-4.17-1.49-4.17-4.46v-33.87c0-2.97,1.39-4.46,4.17-4.46h1.59c2.4,0,4.35-1.95,4.35-4.35v-6.76c0-2.4-1.95-4.35-4.35-4.35ZM436.41,88.88c0,.89-.02,1.75-.09,2.59-.02.32-.05.62-.09.93-.06.61-.13,1.21-.23,1.8-.05.29-.11.59-.16.87-.1.53-.22,1.03-.35,1.53-.93,3.47-2.56,6.32-4.88,8.55-2.74,2.64-5.95,4.34-9.65,5.11-.54.11-1.08.2-1.64.27-1,.13-2.05.2-3.13.2-5.75,0-10.55-1.86-14.41-5.57-3.86-3.7-5.79-9.13-5.79-16.26v-1.49c0-7.13,1.93-12.56,5.79-16.26,3.86-3.72,8.67-5.57,14.41-5.57,1.08,0,2.13.06,3.13.2.56.07,1.1.16,1.64.27,3.69.77,6.91,2.47,9.65,5.11,2.32,2.23,3.95,5.07,4.88,8.55.13.5.26,1,.35,1.53.06.28.11.57.16.87.1.59.17,1.19.23,1.8.04.31.06.61.09.93.06.84.09,1.7.09,2.59v1.49Z\" />\n <path d=\"M245.66,25.95c-.77-2.92-3.41-4.96-6.44-4.96h-23.91c-3.02,0-5.67,2.04-6.44,4.96l-24.7,93.97c-.67,2.56,1.26,5.06,3.9,5.06h11.81c1.86,0,3.47-1.27,3.92-3.07l4.57-18.51c.19-.76.87-1.3,1.66-1.3h34.46c.79,0,1.47.54,1.66,1.3l4.64,18.82c.4,1.62,1.85,2.76,3.52,2.76h12.67c2.38,0,4.11-2.25,3.51-4.55l-24.84-94.49ZM239.04,83.98h-23.55c-1.11,0-1.93-1.05-1.66-2.13l11.78-47.24c.19-.76.87-1.3,1.66-1.3s1.47.54,1.66,1.3l11.78,47.24c.27,1.08-.55,2.13-1.66,2.13Z\" />\n <rect x=\"281.2\" y=\"20.98\" width=\"18.72\" height=\"104\" rx=\"4.8\" ry=\"4.8\" />\n <path d=\"M363.05,51.29h-13.29c-.95,0-1.71-.77-1.71-1.71v-8.69c0-2.97,1.39-4.46,4.16-4.46h8.67c2.27,0,4.11-1.84,4.11-4.11v-7.24c0-2.27-1.84-4.11-4.11-4.11h-15.21c-4.85,0-8.79,1.51-11.81,4.53-3.02,3.02-4.53,7.06-4.53,12.11v11.96c0,.95-.77,1.71-1.71,1.71h-12.81c-2.32,0-4.2,1.88-4.2,4.2v7.06c0,2.32,1.88,4.2,4.2,4.2h12.81c.95,0,1.71.77,1.71,1.71v51.98c0,2.51,2.03,4.54,4.54,4.54h9.63c2.51,0,4.54-2.03,4.54-4.54v-51.98c0-.95.77-1.71,1.71-1.71h13.29c2.38,0,4.31-1.93,4.31-4.31v-6.83c0-2.38-1.93-4.31-4.31-4.31Z\" />\n <path d=\"M549.94,20.98h-8.88c-2.72,0-4.92,2.2-4.92,4.92v32.14c0,.95-.77,1.71-1.71,1.71h0c-.6,0-1.13-.32-1.45-.82-.95-1.48-2.23-2.89-3.82-4.23-1.88-1.58-4.33-2.9-7.35-3.94-3.02-1.04-6.76-1.56-11.22-1.56-5.94,0-11.44,1.46-16.49,4.38-5.05,2.92-9.11,7.21-12.18,12.85-3.07,5.65-4.61,12.48-4.61,20.5v2.38c0,8.02,1.53,14.86,4.61,20.5,3.07,5.65,7.15,9.93,12.26,12.85,5.1,2.92,10.57,4.38,16.42,4.38,6.73,0,11.86-1.14,15.38-3.42,3.19-2.07,5.62-4.33,7.3-6.81.32-.47.84-.77,1.41-.77h.04c.95,0,1.71.77,1.71,1.71v2.61c0,2.53,2.05,4.59,4.59,4.59h9.25c2.53,0,4.59-2.05,4.59-4.59V25.91c0-2.72-2.2-4.92-4.92-4.92ZM536.44,88.88c0,7.13-1.93,12.55-5.79,16.27-3.86,3.71-8.67,5.57-14.41,5.57s-10.55-1.86-14.41-5.57c-3.86-3.71-5.79-9.14-5.79-16.27v-1.49c0-7.13,1.93-12.55,5.79-16.27,3.86-3.71,8.67-5.57,14.41-5.57s10.67,1.86,14.49,5.57c3.81,3.71,5.72,9.14,5.72,16.27v1.49Z\" />\n <path d=\"M626.91,53.67c-5.85-2.97-12.43-4.46-19.76-4.46s-13.92,1.49-19.76,4.46c-5.84,2.97-10.45,7.28-13.82,12.93-3.37,5.65-5.05,12.43-5.05,20.35v2.38c0,7.93,1.68,14.71,5.05,20.35,3.37,5.65,7.97,9.95,13.82,12.93,5.84,2.97,12.43,4.46,19.76,4.46s13.91-1.49,19.76-4.46c5.84-2.97,10.45-7.28,13.82-12.93,3.37-5.65,5.05-12.43,5.05-20.35v-2.38c0-7.92-1.69-14.71-5.05-20.35-3.37-5.65-7.97-9.95-13.82-12.93ZM627.06,88.88c0,6.93-1.88,12.26-5.65,15.97-3.77,3.71-8.52,5.57-14.26,5.57s-10.5-1.86-14.26-5.57c-3.77-3.71-5.65-9.04-5.65-15.97v-1.49c0-6.93,1.88-12.26,5.65-15.97,3.76-3.71,8.52-5.57,14.26-5.57s10.62,1.86,14.34,5.57c3.71,3.71,5.57,9.04,5.57,15.97v1.49Z\" />\n <path d=\"M725.81,97.59l-8.12-1.93c-2.45-.58-5,.74-5.84,3.12-1,2.85-2.5,5.27-4.49,7.26-2.92,2.92-7.21,4.38-12.85,4.38-3.77,0-7.16-.82-10.18-2.45-3.02-1.63-5.4-4.06-7.13-7.28-1.73-3.22-2.6-7.15-2.6-11.81v-1.49c0-4.65.87-8.59,2.6-11.81,1.73-3.22,4.11-5.65,7.13-7.28,3.02-1.63,6.41-2.45,10.18-2.45s6.91.69,9.43,2.08c2.53,1.39,4.48,3.27,5.87,5.65.72,1.23,1.3,2.54,1.76,3.93.74,2.28,3.1,3.62,5.45,3.12l8.8-1.88c2.77-.59,4.38-3.47,3.49-6.16-1.14-3.43-2.76-6.59-4.86-9.5-3.12-4.31-7.21-7.7-12.26-10.18-5.05-2.47-11.09-3.71-18.13-3.71s-13.59,1.49-19.39,4.46c-5.79,2.97-10.38,7.28-13.74,12.93-3.37,5.65-5.05,12.48-5.05,20.5v2.08c0,8.02,1.68,14.86,5.05,20.5,3.37,5.65,7.95,9.95,13.74,12.93,5.79,2.97,12.26,4.46,19.39,4.46s13.07-1.24,18.13-3.71c5.05-2.47,9.14-5.87,12.26-10.18,1.99-2.75,3.6-5.68,4.85-8.81,1.14-2.86-.49-6.06-3.48-6.77Z\" />\n <path d=\"M801.06,90.59c-2.63-3.02-6.19-5.35-10.7-6.98-4.51-1.63-9.53-2.95-15.08-3.94l-4.16-.74c-3.37-.59-6.04-1.46-8.02-2.6-1.98-1.14-2.97-2.9-2.97-5.27,0-2.18.94-3.89,2.82-5.13,1.88-1.24,4.61-1.86,8.17-1.86s6.56.79,8.99,2.38c1.53,1,2.74,2.44,3.62,4.31.92,1.95,3.31,3.06,5.38,2.43l8.61-2.65c2.62-.81,3.96-3.79,2.7-6.23-1.97-3.78-4.9-6.98-8.79-9.6-5.45-3.66-12.28-5.5-20.5-5.5-8.72,0-15.75,1.96-21.1,5.87-5.35,3.91-8.02,9.53-8.02,16.86,0,4.85,1.29,8.82,3.86,11.89,2.57,3.07,5.99,5.47,10.25,7.21,4.26,1.73,8.96,3.1,14.11,4.09l4.16.74c4.36.79,7.53,1.81,9.51,3.05,1.98,1.24,2.97,3,2.97,5.27s-1.04,4.19-3.12,5.72c-2.08,1.54-5.3,2.3-9.66,2.3-2.87,0-5.52-.42-7.95-1.26-2.43-.84-4.46-2.25-6.09-4.23-.98-1.19-1.8-2.65-2.44-4.38-.76-2.04-3.17-3.25-5.28-2.7l-8.74,2.26c-2.56.66-3.96,3.26-3.12,5.77,1.82,5.5,5.16,9.88,10,13.17,6.14,4.16,14.01,6.24,23.62,6.24s16.91-2.1,22.51-6.31c5.59-4.21,8.39-10.18,8.39-17.9,0-5.15-1.31-9.23-3.94-12.26Z\" />\n </g>\n <g className=\"ds:fill-[color:var(--color-violet-500)]\">\n <rect x=\"53.04\" y=\"2.54\" width=\"33.99\" height=\"49.34\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-4.66 19.05) rotate(-15)\" />\n <rect x=\"96.12\" y=\"53.04\" width=\"49.34\" height=\"33.99\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-14.01 33.65) rotate(-15)\" />\n <path d=\"M47.82,59.56c-.65-2.43-3.15-3.87-5.58-3.22L3.38,66.75c-2.43.65-3.87,3.15-3.22,5.58l6.44,24.03c.65,2.43,3.15,3.87,5.58,3.22l38.86-10.41c2.43-.65,3.87-3.15,3.22-5.58l-6.44-24.03Z\" />\n <rect x=\"60.97\" y=\"96.12\" width=\"33.99\" height=\"49.34\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-28.61 24.29) rotate(-15)\" />\n </g>\n </svg>\n));\nAlfadocsLogoMain.displayName = 'AlfadocsLogoMain';\n","/**\n * Alfadocs_Logo_Neg — single-colour (monochrome) wordmark.\n *\n * Source: `reference/assets/logos/SVG/Alfadocs_Logo_Neg.svg`\n * Ink is rendered with `currentColor` so the consumer (or the Logo wrapper)\n * controls the fill via `color` / Tailwind `text-[color:…]`. Use this\n * variant when you want the logo to inherit theme foreground — dark surfaces,\n * monochrome print, or the generic accessible theme.\n */\nimport { forwardRef, type SVGProps } from 'react';\n\nexport const AlfadocsLogoNeg = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 805 148\"\n fill=\"currentColor\"\n {...props}\n >\n <g>\n <path d=\"M460.58,51.29h-10.51c-3.57,0-6.52.99-8.85,2.97-2.32,1.98-3.48,4.71-3.48,8.18v.15h-1.62c-.62,0-1.21-.34-1.49-.89-.26-.51-.55-1.01-.86-1.49-.21-.34-.43-.68-.68-1.01,0-.04-.02-.07-.06-.11-.21-.28-.4-.55-.64-.83-.05-.1-.12-.18-.22-.28-.21-.26-.43-.53-.66-.78-.04-.06-.1-.12-.17-.18-.18-.21-.37-.42-.57-.61-.36-.37-.75-.73-1.16-1.09-.82-.74-1.68-1.46-2.63-2.15-1.08-.76-2.29-1.41-3.66-1.93-.32-.13-.65-.26-.98-.37-.4-.13-.82-.27-1.26-.39-.4-.11-.82-.22-1.23-.32-1.26-.31-2.63-.53-4.11-.67-.26-.02-.54-.05-.82-.07-.24-.02-.5-.05-.75-.06-1.15-.09-2.36-.12-3.62-.12-1.47,0-2.9.09-4.32.27-.54.07-1.08.15-1.6.24-3.73.65-7.25,1.96-10.58,3.88-.81.47-1.58.98-2.34,1.52-.31.21-.61.43-.91.66-.09.07-.17.13-.25.2-.98.76-1.91,1.58-2.78,2.47-.03.03-.06.07-.1.1-.02.02-.04.03-.06.05-.78.78-1.52,1.61-2.23,2.51-.35.44-.7.89-1.03,1.36-.89,1.25-1.72,2.57-2.49,3.99-3.07,5.65-4.61,12.48-4.61,20.5v2.37c0,8.02,1.54,14.85,4.61,20.5.77,1.42,1.6,2.74,2.49,3.99.33.46.67.92,1.03,1.36.71.89,1.44,1.72,2.23,2.51.02.02.04.04.06.06.04.04.07.07.1.11.86.88,1.79,1.7,2.76,2.46.09.07.18.14.27.21.3.22.6.44.9.65.76.54,1.53,1.05,2.34,1.52,3.33,1.92,6.85,3.23,10.58,3.88.53.09,1.06.17,1.6.24,1.42.17,2.86.27,4.32.27,1.26,0,2.47-.04,3.62-.12.24-.01.5-.04.75-.06.28-.01.55-.04.82-.07,1.48-.15,2.85-.37,4.11-.67.43-.1.83-.2,1.23-.32.43-.12.86-.26,1.26-.39.33-.12.66-.24.98-.37,1.37-.53,2.58-1.17,3.66-1.93.96-.68,1.82-1.41,2.63-2.15h0c.4-.36.79-.72,1.16-1.09.2-.21.39-.4.57-.61.06-.06.12-.12.17-.18.23-.26.45-.53.66-.78.09-.1.16-.18.22-.28.23-.28.43-.55.64-.83.01-.04.04-.07.06-.11.26-.33.48-.67.68-1.01.31-.49.6-.99.86-1.49.29-.55.87-.89,1.49-.89h1.62v.15c0,3.47,1.16,6.2,3.48,8.18,2.34,1.98,5.28,2.97,8.85,2.97h9.87c2.75,0,4.98-2.23,4.98-4.98v-5.49c0-2.75-2.23-4.98-4.98-4.98h-.96c-2.78,0-4.17-1.49-4.17-4.46v-33.87c0-2.97,1.39-4.46,4.17-4.46h1.59c2.4,0,4.35-1.95,4.35-4.35v-6.76c0-2.4-1.95-4.35-4.35-4.35ZM436.41,88.88c0,.89-.02,1.75-.09,2.59-.02.32-.05.62-.09.93-.06.61-.13,1.21-.23,1.8-.05.29-.11.59-.16.87-.1.53-.22,1.03-.35,1.53-.93,3.47-2.56,6.32-4.88,8.55-2.74,2.64-5.95,4.34-9.65,5.11-.54.11-1.08.2-1.64.27-1,.13-2.05.2-3.13.2-5.75,0-10.55-1.86-14.41-5.57-3.86-3.7-5.79-9.13-5.79-16.26v-1.49c0-7.13,1.93-12.56,5.79-16.26,3.86-3.72,8.67-5.57,14.41-5.57,1.08,0,2.13.06,3.13.2.56.07,1.1.16,1.64.27,3.69.77,6.91,2.47,9.65,5.11,2.32,2.23,3.95,5.07,4.88,8.55.13.5.26,1,.35,1.53.06.28.11.57.16.87.1.59.17,1.19.23,1.8.04.31.06.61.09.93.06.84.09,1.7.09,2.59v1.49Z\" />\n <path d=\"M245.66,25.95c-.77-2.92-3.41-4.96-6.44-4.96h-23.91c-3.02,0-5.67,2.04-6.44,4.96l-24.7,93.97c-.67,2.56,1.26,5.06,3.9,5.06h11.81c1.86,0,3.47-1.27,3.92-3.07l4.57-18.51c.19-.76.87-1.3,1.66-1.3h34.46c.79,0,1.47.54,1.66,1.3l4.64,18.82c.4,1.62,1.85,2.76,3.52,2.76h12.67c2.38,0,4.11-2.25,3.51-4.55l-24.84-94.49ZM239.04,83.98h-23.55c-1.11,0-1.93-1.05-1.66-2.13l11.78-47.24c.19-.76.87-1.3,1.66-1.3s1.47.54,1.66,1.3l11.78,47.24c.27,1.08-.55,2.13-1.66,2.13Z\" />\n <rect x=\"281.2\" y=\"20.98\" width=\"18.72\" height=\"104\" rx=\"4.8\" ry=\"4.8\" />\n <path d=\"M363.05,51.29h-13.29c-.95,0-1.71-.77-1.71-1.71v-8.69c0-2.97,1.39-4.46,4.16-4.46h8.67c2.27,0,4.11-1.84,4.11-4.11v-7.24c0-2.27-1.84-4.11-4.11-4.11h-15.21c-4.85,0-8.79,1.51-11.81,4.53-3.02,3.02-4.53,7.06-4.53,12.11v11.96c0,.95-.77,1.71-1.71,1.71h-12.81c-2.32,0-4.2,1.88-4.2,4.2v7.06c0,2.32,1.88,4.2,4.2,4.2h12.81c.95,0,1.71.77,1.71,1.71v51.98c0,2.51,2.03,4.54,4.54,4.54h9.63c2.51,0,4.54-2.03,4.54-4.54v-51.98c0-.95.77-1.71,1.71-1.71h13.29c2.38,0,4.31-1.93,4.31-4.31v-6.83c0-2.38-1.93-4.31-4.31-4.31Z\" />\n <path d=\"M549.94,20.98h-8.88c-2.72,0-4.92,2.2-4.92,4.92v32.14c0,.95-.77,1.71-1.71,1.71h0c-.6,0-1.13-.32-1.45-.82-.95-1.48-2.23-2.89-3.82-4.23-1.88-1.58-4.33-2.9-7.35-3.94-3.02-1.04-6.76-1.56-11.22-1.56-5.94,0-11.44,1.46-16.49,4.38-5.05,2.92-9.11,7.21-12.18,12.85-3.07,5.65-4.61,12.48-4.61,20.5v2.38c0,8.02,1.53,14.86,4.61,20.5,3.07,5.65,7.15,9.93,12.26,12.85,5.1,2.92,10.57,4.38,16.42,4.38,6.73,0,11.86-1.14,15.38-3.42,3.19-2.07,5.62-4.33,7.3-6.81.32-.47.84-.77,1.41-.77h.04c.95,0,1.71.77,1.71,1.71v2.61c0,2.53,2.05,4.59,4.59,4.59h9.25c2.53,0,4.59-2.05,4.59-4.59V25.91c0-2.72-2.2-4.92-4.92-4.92ZM536.44,88.88c0,7.13-1.93,12.55-5.79,16.27-3.86,3.71-8.67,5.57-14.41,5.57s-10.55-1.86-14.41-5.57c-3.86-3.71-5.79-9.14-5.79-16.27v-1.49c0-7.13,1.93-12.55,5.79-16.27,3.86-3.71,8.67-5.57,14.41-5.57s10.67,1.86,14.49,5.57c3.81,3.71,5.72,9.14,5.72,16.27v1.49Z\" />\n <path d=\"M626.91,53.67c-5.85-2.97-12.43-4.46-19.76-4.46s-13.92,1.49-19.76,4.46c-5.84,2.97-10.45,7.28-13.82,12.93-3.37,5.65-5.05,12.43-5.05,20.35v2.38c0,7.93,1.68,14.71,5.05,20.35,3.37,5.65,7.97,9.95,13.82,12.93,5.84,2.97,12.43,4.46,19.76,4.46s13.91-1.49,19.76-4.46c5.84-2.97,10.45-7.28,13.82-12.93,3.37-5.65,5.05-12.43,5.05-20.35v-2.38c0-7.92-1.69-14.71-5.05-20.35-3.37-5.65-7.97-9.95-13.82-12.93ZM627.06,88.88c0,6.93-1.88,12.26-5.65,15.97-3.77,3.71-8.52,5.57-14.26,5.57s-10.5-1.86-14.26-5.57c-3.77-3.71-5.65-9.04-5.65-15.97v-1.49c0-6.93,1.88-12.26,5.65-15.97,3.76-3.71,8.52-5.57,14.26-5.57s10.62,1.86,14.34,5.57c3.71,3.71,5.57,9.04,5.57,15.97v1.49Z\" />\n <path d=\"M725.81,97.59l-8.12-1.93c-2.45-.58-5,.74-5.84,3.12-1,2.85-2.5,5.27-4.49,7.26-2.92,2.92-7.21,4.38-12.85,4.38-3.77,0-7.16-.82-10.18-2.45-3.02-1.63-5.4-4.06-7.13-7.28-1.73-3.22-2.6-7.15-2.6-11.81v-1.49c0-4.65.87-8.59,2.6-11.81,1.73-3.22,4.11-5.65,7.13-7.28,3.02-1.63,6.41-2.45,10.18-2.45s6.91.69,9.43,2.08c2.53,1.39,4.48,3.27,5.87,5.65.72,1.23,1.3,2.54,1.76,3.93.74,2.28,3.1,3.62,5.45,3.12l8.8-1.88c2.77-.59,4.38-3.47,3.49-6.16-1.14-3.43-2.76-6.59-4.86-9.5-3.12-4.31-7.21-7.7-12.26-10.18-5.05-2.47-11.09-3.71-18.13-3.71s-13.59,1.49-19.39,4.46c-5.79,2.97-10.38,7.28-13.74,12.93-3.37,5.65-5.05,12.48-5.05,20.5v2.08c0,8.02,1.68,14.86,5.05,20.5,3.37,5.65,7.95,9.95,13.74,12.93,5.79,2.97,12.26,4.46,19.39,4.46s13.07-1.24,18.13-3.71c5.05-2.47,9.14-5.87,12.26-10.18,1.99-2.75,3.6-5.68,4.85-8.81,1.14-2.86-.49-6.06-3.48-6.77Z\" />\n <path d=\"M801.06,90.59c-2.63-3.02-6.19-5.35-10.7-6.98-4.51-1.63-9.53-2.95-15.08-3.94l-4.16-.74c-3.37-.59-6.04-1.46-8.02-2.6-1.98-1.14-2.97-2.9-2.97-5.27,0-2.18.94-3.89,2.82-5.13,1.88-1.24,4.61-1.86,8.17-1.86s6.56.79,8.99,2.38c1.53,1,2.74,2.44,3.62,4.31.92,1.95,3.31,3.06,5.38,2.43l8.61-2.65c2.62-.81,3.96-3.79,2.7-6.23-1.97-3.78-4.9-6.98-8.79-9.6-5.45-3.66-12.28-5.5-20.5-5.5-8.72,0-15.75,1.96-21.1,5.87-5.35,3.91-8.02,9.53-8.02,16.86,0,4.85,1.29,8.82,3.86,11.89,2.57,3.07,5.99,5.47,10.25,7.21,4.26,1.73,8.96,3.1,14.11,4.09l4.16.74c4.36.79,7.53,1.81,9.51,3.05,1.98,1.24,2.97,3,2.97,5.27s-1.04,4.19-3.12,5.72c-2.08,1.54-5.3,2.3-9.66,2.3-2.87,0-5.52-.42-7.95-1.26-2.43-.84-4.46-2.25-6.09-4.23-.98-1.19-1.8-2.65-2.44-4.38-.76-2.04-3.17-3.25-5.28-2.7l-8.74,2.26c-2.56.66-3.96,3.26-3.12,5.77,1.82,5.5,5.16,9.88,10,13.17,6.14,4.16,14.01,6.24,23.62,6.24s16.91-2.1,22.51-6.31c5.59-4.21,8.39-10.18,8.39-17.9,0-5.15-1.31-9.23-3.94-12.26Z\" />\n </g>\n <g>\n <rect x=\"53.04\" y=\"2.54\" width=\"33.99\" height=\"49.34\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-4.66 19.05) rotate(-15)\" />\n <rect x=\"96.12\" y=\"53.04\" width=\"49.34\" height=\"33.99\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-14.01 33.65) rotate(-15)\" />\n <path d=\"M47.82,59.56c-.65-2.43-3.15-3.87-5.58-3.22L3.38,66.75c-2.43.65-3.87,3.15-3.22,5.58l6.44,24.03c.65,2.43,3.15,3.87,5.58,3.22l38.86-10.41c2.43-.65,3.87-3.15,3.22-5.58l-6.44-24.03Z\" />\n <rect x=\"60.97\" y=\"96.12\" width=\"33.99\" height=\"49.34\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-28.61 24.29) rotate(-15)\" />\n </g>\n </svg>\n));\nAlfadocsLogoNeg.displayName = 'AlfadocsLogoNeg';\n","/**\n * Alfadocs_Logo_Mark — the square \"A\" glyph alone (no wordmark).\n *\n * Extracted from `reference/assets/logos/SVG/Alfadocs_Logo_Main.svg` —\n * the 4 rotated rect/path shapes that compose the mark. viewBox is\n * tightened from 805×148 to 148×148 so the mark fills the box.\n *\n * Renders with `currentColor`; the Logo wrapper defaults the colour to\n * `--primary` (or to a consumer-provided tint).\n */\nimport { forwardRef, type SVGProps } from 'react';\n\nexport const AlfadocsLogoMark = forwardRef<\n SVGSVGElement,\n SVGProps<SVGSVGElement>\n>((props, ref) => (\n <svg\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 148 148\"\n fill=\"currentColor\"\n {...props}\n >\n <rect x=\"53.04\" y=\"2.54\" width=\"33.99\" height=\"49.34\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-4.66 19.05) rotate(-15)\" />\n <rect x=\"96.12\" y=\"53.04\" width=\"49.34\" height=\"33.99\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-14.01 33.65) rotate(-15)\" />\n <path d=\"M47.82,59.56c-.65-2.43-3.15-3.87-5.58-3.22L3.38,66.75c-2.43.65-3.87,3.15-3.22,5.58l6.44,24.03c.65,2.43,3.15,3.87,5.58,3.22l38.86-10.41c2.43-.65,3.87-3.15,3.22-5.58l-6.44-24.03Z\" />\n <rect x=\"60.97\" y=\"96.12\" width=\"33.99\" height=\"49.34\" rx=\"4.56\" ry=\"4.56\" transform=\"translate(-28.61 24.29) rotate(-15)\" />\n </svg>\n));\nAlfadocsLogoMark.displayName = 'AlfadocsLogoMark';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n AlfadocsLogoMain,\n AlfadocsLogoNeg,\n AlfadocsLogoMark,\n} from '../../brand/logo-asset';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\n// NOTE: no `inline-block` in the base — the outer wrapper is `inline-flex`,\n// so the SVGs sit as flex items and don't need an explicit display class.\n// Adding `inline-block` here would out-specificity the `hidden` class used\n// to theme-swap the wordmark, producing two visible SVGs in light mode.\nconst logoSize = cva(\n [\n 'ds:align-middle ds:shrink-0',\n // `leading-none` zeros the implicit line-height on the SVG so the\n // artwork sits at the geometric centre of an items-center flex row.\n 'ds:leading-none',\n // Forced-colors: the mark/wordmark collapses to CanvasText so it\n // remains visible under Windows High Contrast Mode.\n 'ds:forced-colors:text-[CanvasText]',\n ],\n {\n variants: {\n size: {\n sm: 'ds:h-[var(--logo-size-sm)] ds:w-auto',\n md: 'ds:h-[var(--logo-size-md)] ds:w-auto',\n lg: 'ds:h-[var(--logo-size-lg)] ds:w-auto',\n xl: 'ds:h-[var(--logo-size-xl)] ds:w-auto',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n// Wrapper (outer span) classes. Per-variant colour context so inner SVGs\n// that render `currentColor` pick up the intended ink automatically.\n// `tone=\"inherit\"` overrides the variant default with `currentColor` so\n// the logo picks up the colour of its surrounding text — useful when\n// dropping the mark inside a coloured surface (e.g. a primary-intent\n// button) where the variant default would clash with the background.\nconst logoWrapper = cva('ds:inline-flex ds:items-center', {\n variants: {\n variant: {\n mark: 'ds:text-[color:var(--primary)]',\n wordmark: '',\n monochrome: 'ds:text-[color:var(--foreground)]',\n },\n tone: {\n auto: '',\n inherit: 'ds:!text-current',\n },\n },\n defaultVariants: { variant: 'wordmark', tone: 'auto' },\n});\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\ntype LogoVariant = 'mark' | 'wordmark' | 'monochrome';\n\ntype LogoSizeProps = VariantProps<typeof logoSize>;\n\ntype LogoBase = {\n /**\n * Which glyph to render.\n * - `wordmark` (default): bicolor Main logo — blue-500 wordmark + violet-500 mark on light.\n * - `mark`: the \"A\" glyph alone. Inherits `currentColor` (defaults to `--primary`).\n * - `monochrome`: the full wordmark in a single `currentColor` ink\n * (defaults to `--foreground`).\n */\n variant?: LogoVariant;\n /**\n * Colour resolution. `auto` (default) uses the variant's intended\n * ink (`--primary` for `mark`, `--foreground` for `monochrome`).\n * `inherit` makes the wrapper use `currentColor` so the logo picks\n * up the surrounding text colour — use when dropping the mark on\n * top of a coloured surface where the default ink would clash.\n */\n tone?: 'auto' | 'inherit';\n className?: string;\n} & LogoSizeProps;\n\ntype LogoA11y =\n | {\n /** Non-decorative usage — accessible name read by assistive tech. */\n 'aria-label': string;\n decorative?: never;\n }\n | {\n 'aria-label'?: never;\n /**\n * Decorative usage — the logo is hidden from assistive tech. Use when\n * the logo sits next to a text wordmark that already announces the\n * brand, or when it is ornamental only.\n */\n decorative: true;\n };\n\nexport type LogoProps = LogoBase &\n LogoA11y &\n Omit<\n ComponentPropsWithoutRef<'span'>,\n 'role' | 'aria-label' | 'aria-hidden' | 'className'\n >;\n\n/* ------------------------------------------------------------------ */\n/* Logo */\n/* ------------------------------------------------------------------ */\n\nexport const Logo = forwardRef<HTMLSpanElement, LogoProps>(\n (\n {\n variant = 'wordmark',\n tone = 'auto',\n size,\n className,\n decorative,\n 'aria-label': ariaLabel,\n ...props\n },\n ref,\n ) => {\n if (import.meta.env.DEV) {\n if (decorative && ariaLabel) {\n // eslint-disable-next-line no-console\n console.warn(\n '[Logo] Both `decorative` and `aria-label` were provided. Decorative logos must not expose an accessible name — the TypeScript type already forbids this combination.',\n );\n }\n if (!decorative && !ariaLabel) {\n // eslint-disable-next-line no-console\n console.warn(\n '[Logo] A non-decorative Logo needs an `aria-label`. Pass `decorative` to render it as presentational, or supply an accessible name.',\n );\n }\n }\n\n const a11y = decorative\n ? ({ role: 'presentation', 'aria-hidden': true } as const)\n : ({ role: 'img', 'aria-label': ariaLabel } as const);\n\n const svgClasses = logoSize({ size, className });\n const wrapperClasses = logoWrapper({ variant, tone });\n\n if (variant === 'mark') {\n return (\n <span ref={ref} {...a11y} {...props} className={wrapperClasses} data-component=\"logo\">\n <AlfadocsLogoMark aria-hidden className={svgClasses} />\n </span>\n );\n }\n\n if (variant === 'monochrome') {\n return (\n <span ref={ref} {...a11y} {...props} className={wrapperClasses} data-component=\"logo\">\n <AlfadocsLogoNeg aria-hidden className={svgClasses} />\n </span>\n );\n }\n\n // wordmark — bicolor in light, auto-swap to monochrome negative on\n // `.theme-dark` via cascaded descendant-state variants. Both SVGs live\n // in the DOM; CSS handles visibility so the swap is instant and does\n // not depend on React theme detection.\n return (\n <span ref={ref} {...a11y} {...props} className={wrapperClasses} data-component=\"logo\">\n <AlfadocsLogoMain\n aria-hidden\n className={`${svgClasses} ds:[.theme-dark_&]:hidden`}\n />\n <AlfadocsLogoNeg\n aria-hidden\n className={`${svgClasses} ds:hidden ds:[.theme-dark_&]:inline-block ds:text-[color:var(--foreground)]`}\n />\n </span>\n );\n },\n);\nLogo.displayName = 'Logo';\n"],"names":["AlfadocsLogoMain","forwardRef","props","ref","jsxs","jsx","AlfadocsLogoNeg","AlfadocsLogoMark","logoSize","cva","logoWrapper","Logo","variant","tone","size","className","decorative","ariaLabel","a11y","svgClasses","wrapperClasses"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mail-C8irm52s.js","sources":["../../node_modules/lucide-react/dist/esm/icons/mail.js"],"sourcesContent":["/**\n * @license lucide-react v1.8.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.js.map\n"],"names":["__iconNode","Mail","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,2CAA2C,KAAK,SAAQ,CAAE;AAAA,EACxE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,KAAK,OAAO,MAAM,QAAQ,MAAM,IAAI,KAAK,KAAK,SAAQ,CAAE;AAChF,GACMC,IAAOC,EAAiB,QAAQF,CAAU;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix-rain-BEkvux64.js","sources":["../../src/components/matrix-rain/matrix-rain.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* MatrixRain — decorative canvas overlay. */\n/* */\n/* Falling-glyph \"digital rain\" with a CRT terminal vibe. Designed for */\n/* easter-egg / dev-flavoured surfaces: place inside a relatively- */\n/* positioned container with an `inset-0` className. */\n/* */\n/* Behaviour: */\n/* - Honours `prefers-reduced-motion` (renders nothing, animation off). */\n/* - Pauses while the tab is hidden (visibility API). */\n/* - Pauses when scrolled off-screen (IntersectionObserver). */\n/* - DPR-aware so glyphs stay sharp on HiDPI. */\n/* - Resizes with the container (ResizeObserver). */\n/* - \"Density-by-use\" trail: the per-frame decay alpha is small, so */\n/* columns that fire often accumulate a denser background residue */\n/* than rarely-firing ones — well-trodden paths stay luminous. */\n/* */\n/* The canvas is purely decorative — `aria-hidden=\"true\"`, no focus, no */\n/* visible text. Consumers must own the parent's positioning + stacking. */\n/* -------------------------------------------------------------------- */\n\nimport { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\n/* ------------------------------------------------------------------ */\n/* Glyph presets */\n/* ------------------------------------------------------------------ */\n\n/**\n * Half-width katakana + Latin digits + a few symbols. The canonical\n * Matrix used reverse-mirrored half-width katakana from a custom font;\n * plain half-width katakana is the closest open approximation.\n */\nconst KATAKANA_GLYPHS =\n 'ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワ' +\n '0123456789:・.\"=*+-<>¦|';\n\nconst HEX_GLYPHS = '0123456789ABCDEF{}[]<>/\\\\;:=$#@!*+-';\nconst BINARY_GLYPHS = '01';\nconst SYMBOL_GLYPHS = '!@#$%^&*()_+-=[]{}|;:,.<>?/';\n\nconst GLYPH_PRESETS = {\n katakana: KATAKANA_GLYPHS,\n hex: HEX_GLYPHS,\n binary: BINARY_GLYPHS,\n symbols: SYMBOL_GLYPHS,\n} as const;\n\ntype GlyphPreset = keyof typeof GLYPH_PRESETS;\n\n/* ------------------------------------------------------------------ */\n/* CVA variants */\n/* ------------------------------------------------------------------ */\n\nconst wrapperVariants = cva(\n // Wrapper holds the canvas plus optional overlay pseudo-elements.\n // pointer-events-none so the overlay never blocks underlying UI.\n 'ds:pointer-events-none ds:relative ds:overflow-hidden',\n {\n variants: {\n // Built-in surface so the rain has somewhere to read against\n // without the consumer wrapping it themselves.\n // `transparent` (default) lets the parent provide the background.\n // `solid` paints a near-black surface using the brand `blue-900`\n // step from the palette — the rain's brightest glyphs read clean\n // against it in either light or dark theme.\n background: {\n transparent: '',\n solid: 'ds:bg-[var(--color-blue-900)]',\n },\n vibe: {\n // No overlay, no canvas filter — just the rain.\n clean: '',\n // Fallout-CRT stack: vignette + dense scanlines + bloom +\n // per-glyph phosphor glow (canvas-side shadowBlur, applied in\n // the draw loop).\n terminal: [\n \"ds:before:pointer-events-none ds:before:absolute ds:before:inset-0 ds:before:z-[2] ds:before:content-['']\",\n 'ds:before:bg-[radial-gradient(closest-side,transparent_55%,rgb(0_0_0/0.55)_100%)]',\n \"ds:after:pointer-events-none ds:after:absolute ds:after:inset-0 ds:after:z-[1] ds:after:content-['']\",\n 'ds:after:bg-[repeating-linear-gradient(to_bottom,transparent_0,transparent_2px,rgb(0_0_0/0.32)_2px,rgb(0_0_0/0.32)_3px)]',\n 'ds:after:mix-blend-multiply',\n 'ds:[&>canvas]:[filter:blur(0.55px)_brightness(1.25)_contrast(1.1)_saturate(1.3)]',\n ].join(' '),\n // Sci-fi HUD: light scanlines, soft bloom, slow opacity pulse,\n // per-glyph glow. No vignette.\n hologram: [\n \"ds:after:pointer-events-none ds:after:absolute ds:after:inset-0 ds:after:z-[1] ds:after:content-['']\",\n 'ds:after:bg-[repeating-linear-gradient(to_bottom,transparent_0,transparent_3px,rgb(0_0_0/0.18)_3px,rgb(0_0_0/0.18)_4px)]',\n 'ds:after:mix-blend-multiply',\n 'ds:[&>canvas]:[filter:blur(0.4px)_brightness(1.15)_contrast(1.05)]',\n 'ds:[&>canvas]:[animation:matrix-rain-hologram-pulse_3s_ease-in-out_infinite]',\n ].join(' '),\n // Synthwave neon: heavy bloom, no scanlines, indigo horizon\n // glow at the bottom. Glyph colour is computed per-column in\n // the draw loop (accent → info gradient).\n synthwave: [\n \"ds:after:pointer-events-none ds:after:absolute ds:after:inset-x-0 ds:after:bottom-0 ds:after:h-[30%] ds:after:z-[1] ds:after:content-['']\",\n 'ds:after:bg-[linear-gradient(to_top,var(--color-indigo-800),transparent)]',\n 'ds:after:opacity-50',\n 'ds:[&>canvas]:[filter:blur(0.7px)_brightness(1.3)_contrast(1.15)_saturate(1.5)]',\n ].join(' '),\n // Vintage scope monitor: dense thin scanlines, sharp edges\n // (no canvas filter), animated horizontal sweep beam.\n oscilloscope: [\n // Scanlines (denser, alpha-heavier than terminal)\n \"ds:after:pointer-events-none ds:after:absolute ds:after:inset-0 ds:after:z-[1] ds:after:content-['']\",\n 'ds:after:bg-[repeating-linear-gradient(to_bottom,transparent_0,transparent_1px,rgb(0_0_0/0.4)_1px,rgb(0_0_0/0.4)_2px)]',\n 'ds:after:mix-blend-multiply',\n // Sweep beam — thin highlight bar scrolling top → bottom\n \"ds:before:pointer-events-none ds:before:absolute ds:before:inset-x-0 ds:before:top-0 ds:before:z-[2] ds:before:h-[4px] ds:before:content-['']\",\n 'ds:before:bg-[linear-gradient(to_bottom,transparent,var(--foreground),transparent)]',\n 'ds:before:opacity-50',\n 'ds:before:[animation:matrix-rain-osc-sweep_4s_linear_infinite]',\n 'ds:before:mix-blend-screen',\n ].join(' '),\n // Production-friendly: low opacity, no overlay. Pairs with\n // `decay=\"slow\"` (the default) for a faint background-noise\n // feel that doesn't dominate foreground content.\n ghost: 'ds:[&>canvas]:opacity-30',\n },\n // Radial mask that fades the canvas to transparent in the middle\n // so foreground content stays readable. `closest-side` adapts to\n // non-square containers. The `--mr` custom property comes from\n // the `maskRadius` variant below.\n mask: {\n none: '',\n center: [\n 'ds:[&>canvas]:[mask-image:radial-gradient(closest-side,transparent_0%,transparent_var(--mr,30%),black_calc(var(--mr,30%)+45%))]',\n 'ds:[&>canvas]:[-webkit-mask-image:radial-gradient(closest-side,transparent_0%,transparent_var(--mr,30%),black_calc(var(--mr,30%)+45%))]',\n ].join(' '),\n },\n // Mask radius — t-shirt sizes drive the inner clear-zone radius.\n // Only applied when mask=\"center\". md (30%) is the default.\n maskRadius: {\n xs: 'ds:[--mr:15%]',\n sm: 'ds:[--mr:22%]',\n md: 'ds:[--mr:30%]',\n lg: 'ds:[--mr:42%]',\n xl: 'ds:[--mr:55%]',\n },\n },\n defaultVariants: {\n background: 'transparent',\n vibe: 'clean',\n mask: 'none',\n maskRadius: 'md',\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* Tone → semantic token resolution */\n/* ------------------------------------------------------------------ */\n\ntype Tone = 'primary' | 'accent' | 'success' | 'error' | 'info';\ntype Density = 'low' | 'medium' | 'high';\ntype Pace = 'gentle' | 'normal' | 'fast';\ntype Decay = 'none' | 'slow' | 'normal' | 'fast';\n\nconst TONE_VAR: Record<Tone, string> = {\n primary: '--primary',\n accent: '--accent',\n success: '--success',\n error: '--error',\n info: '--info',\n};\n\nconst DENSITY_FONT_PX: Record<Density, number> = {\n low: 18,\n medium: 14,\n high: 11,\n};\n\nconst PACE_FRAME_MS: Record<Pace, number> = {\n gentle: 100,\n normal: 60,\n fast: 33,\n};\n\n// Per-frame trail decay alpha. Smaller = trails persist longer = more\n// \"density by use\". `none` skips the decay step entirely; over long\n// uptimes the canvas approaches a saturated noise field. `slow` is the\n// new default that produces the \"well-trodden paths stay bright\" feel.\nconst DECAY_ALPHA: Record<Decay, number | null> = {\n none: null,\n slow: 0.003,\n normal: 0.02,\n fast: 0.08,\n};\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface MatrixRainProps extends VariantProps<typeof wrapperVariants> {\n /** Glyph preset name or a literal string of glyphs. Default `katakana`. */\n glyphs?: GlyphPreset | string;\n /** Brand tone for the rain. Resolved against the active theme. */\n tone?: Tone;\n /** Optional explicit colour — any CSS colour value. Overrides `tone` when set. */\n color?: string;\n /** Glyph density — controls font-size. */\n density?: Density;\n /** Animation pace — controls frame interval. */\n pace?: Pace;\n /** Trail persistence — smaller decay = denser cumulative background. */\n decay?: Decay;\n /**\n * Built-in surface beneath the rain. `transparent` (default) lets the\n * parent provide its own background; `solid` paints a near-black\n * surface so the rain reads cleanly without the consumer wrapping it\n * themselves — useful for standalone demos or full-bleed easter eggs.\n */\n background?: 'transparent' | 'solid';\n /**\n * Visual treatment.\n * - `clean` — just the rain.\n * - `terminal` — Fallout-CRT: vignette + scanlines + bloom + glow.\n * - `hologram` — sci-fi HUD: soft scanlines + slow opacity pulse.\n * - `synthwave` — 80s neon: heavy bloom + indigo horizon + accent→\n * info gradient across columns (overrides `tone`).\n * - `oscilloscope` — vintage scope: sharp edges + dense scanlines +\n * animated horizontal beam sweep.\n * - `ghost` — production-friendly faint background variant.\n */\n vibe?: 'clean' | 'terminal' | 'hologram' | 'synthwave' | 'oscilloscope' | 'ghost';\n /**\n * When `true`, gives each column a stable random speed multiplier\n * (0.6×–1.4× of the base pace) and adds a small horizontal jitter to\n * each glyph. Pairs with any vibe — makes the rain feel alive vs.\n * metronomic.\n */\n storm?: boolean;\n /**\n * Radial mask. `center` fades the canvas to fully transparent in the\n * middle so foreground content sitting over the rain stays readable\n * (e.g. code-block easter egg with copy in the middle).\n */\n mask?: 'none' | 'center';\n /**\n * Inner clear-zone radius for `mask=\"center\"`. Ignored when `mask`\n * is `none`. T-shirt sizes map to: xs 15%, sm 22%, md 30% (default),\n * lg 42%, xl 55%.\n */\n maskRadius?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Class merged onto the wrapper. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const MatrixRain = forwardRef<HTMLDivElement, MatrixRainProps>(\n function MatrixRain(\n {\n glyphs = 'katakana',\n tone = 'primary',\n color,\n density = 'medium',\n pace = 'normal',\n decay = 'slow',\n vibe = 'clean',\n storm = false,\n mask = 'none',\n maskRadius = 'md',\n background = 'transparent',\n className,\n },\n ref,\n ) {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n\n // Resolve the glyph string from a preset key or literal pass-through.\n const glyphString = useMemo<string>(() => {\n if (glyphs in GLYPH_PRESETS) {\n return GLYPH_PRESETS[glyphs as GlyphPreset];\n }\n return glyphs;\n }, [glyphs]);\n\n const fontSize = DENSITY_FONT_PX[density];\n const frameInterval = PACE_FRAME_MS[pace];\n const decayAlpha = DECAY_ALPHA[decay];\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas) return;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n // Bail entirely under reduced-motion. The CSS overlay is also\n // suppressed by media-query in the consumer's stylesheet if needed\n // — defence in depth, but the JS is the authoritative gate here.\n const reduceMotionMql =\n typeof window !== 'undefined' && typeof window.matchMedia === 'function'\n ? window.matchMedia('(prefers-reduced-motion: reduce)')\n : null;\n if (reduceMotionMql?.matches) return;\n\n // Resolve colour: explicit prop wins; otherwise read the theme\n // token. Final fallback is the canvas's inherited `color` (cascade\n // of the host `<div>`), which the browser always resolves to a\n // usable value — keeps a literal hex out of component code.\n const resolvedColor = (() => {\n if (color) return color;\n if (typeof window === 'undefined') return '';\n const fromVar = getComputedStyle(document.documentElement)\n .getPropertyValue(TONE_VAR[tone])\n .trim();\n return fromVar || getComputedStyle(canvas).color;\n })();\n\n // Resolve --font-mono at runtime so the kit's font fallback chain\n // (incl. Noto Sans JP for katakana) flows through to canvas.\n const fontFamily = (() => {\n if (typeof window === 'undefined') return 'monospace';\n const fromVar = getComputedStyle(document.documentElement)\n .getPropertyValue('--font-mono')\n .trim();\n return fromVar || 'monospace';\n })();\n\n const dpr = window.devicePixelRatio || 1;\n let columns = 0;\n let drops: number[] = [];\n // Synthwave: per-column accent → info gradient. Resolved through\n // a temporary probe element so we get back fully-resolved rgb()\n // strings the canvas API accepts. Empty when not in synthwave.\n let columnColors: string[] = [];\n // Storm: per-column random speed factor (0.6×–1.4× base pace) +\n // glyph horizontal jitter. Stable across frames, recomputed on\n // each fit() so columns stay coherent.\n let columnSpeeds: number[] = [];\n\n const fit = () => {\n const rect = canvas.getBoundingClientRect();\n canvas.width = Math.max(1, Math.floor(rect.width * dpr));\n canvas.height = Math.max(1, Math.floor(rect.height * dpr));\n // Render in CSS pixels so font metrics stay sharp on HiDPI.\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n columns = Math.max(1, Math.floor(rect.width / fontSize));\n drops = new Array(columns).fill(0).map(() =>\n // Random initial offset so columns never start in sync.\n Math.floor(Math.random() * (rect.height / fontSize)),\n );\n\n if (vibe === 'synthwave') {\n // Build the per-column gradient by resolving color-mix()\n // through a probe span. Browser handles the OKLCH math; we\n // just store the resulting rgb() string per column.\n const probe = document.createElement('span');\n probe.style.display = 'none';\n document.documentElement.appendChild(probe);\n columnColors = new Array(columns).fill('').map((_, i) => {\n const t = (i / Math.max(1, columns - 1)) * 100;\n probe.style.color = `color-mix(in oklch, var(--accent) ${\n 100 - t\n }%, var(--info) ${t}%)`;\n const computed = getComputedStyle(probe).color;\n return computed || resolvedColor;\n });\n document.documentElement.removeChild(probe);\n } else {\n columnColors = [];\n }\n\n if (storm) {\n columnSpeeds = new Array(columns)\n .fill(0)\n .map(() => 0.6 + Math.random() * 0.8);\n } else {\n columnSpeeds = [];\n }\n };\n\n let lastFrame = 0;\n let rafHandle = 0;\n let isVisible = true;\n let isOnscreen = true;\n\n const draw = (now: number) => {\n if (now - lastFrame >= frameInterval) {\n lastFrame = now;\n const rect = canvas.getBoundingClientRect();\n\n // Trail decay — `destination-out` fades existing pixels by\n // `decayAlpha` each frame. Skip when `decay === 'none'` so\n // trails are permanent (eventually saturate; intended).\n // Under `destination-out` only the alpha channel matters, so\n // we drive the fade via `globalAlpha` and any opaque CSS-keyword\n // fillStyle — no rgba literal needed.\n if (decayAlpha !== null) {\n ctx.globalCompositeOperation = 'destination-out';\n ctx.globalAlpha = decayAlpha;\n ctx.fillStyle = 'black';\n ctx.fillRect(0, 0, rect.width, rect.height);\n ctx.globalAlpha = 1;\n }\n\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = `${fontSize}px ${fontFamily}`;\n ctx.textBaseline = 'top';\n // Per-glyph phosphor glow (canvas shadowBlur). On for vibes\n // that need an emission envelope; off for sharp variants.\n const wantsGlow =\n vibe === 'terminal' || vibe === 'hologram' || vibe === 'synthwave';\n if (wantsGlow) {\n ctx.shadowColor = resolvedColor;\n ctx.shadowBlur = Math.max(4, fontSize * 0.6);\n } else {\n ctx.shadowBlur = 0;\n }\n\n // Default fill (overridden per-column for synthwave).\n if (vibe !== 'synthwave') ctx.fillStyle = resolvedColor;\n\n for (let i = 0; i < columns; i += 1) {\n const ch = glyphString.charAt(\n Math.floor(Math.random() * glyphString.length),\n );\n // Storm: small horizontal jitter so rows feel alive.\n const jitter = storm ? (Math.random() - 0.5) * 2 : 0;\n const x = i * fontSize + jitter;\n const y = drops[i] * fontSize;\n\n // Synthwave: gradient colour per column.\n if (vibe === 'synthwave' && columnColors[i]) {\n ctx.fillStyle = columnColors[i];\n if (wantsGlow) ctx.shadowColor = columnColors[i];\n }\n\n ctx.fillText(ch, x, y);\n\n // Reset randomly once past the bottom so columns restart\n // staggered rather than all at once.\n if (y > rect.height && Math.random() > 0.97) {\n drops[i] = 0;\n }\n // Storm: per-column variable advance speed.\n drops[i] += storm ? columnSpeeds[i] || 1 : 1;\n }\n }\n rafHandle = window.requestAnimationFrame(draw);\n };\n\n const start = () => {\n if (rafHandle) return;\n if (!isVisible || !isOnscreen) return;\n lastFrame = window.performance ? window.performance.now() : 0;\n rafHandle = window.requestAnimationFrame(draw);\n };\n const stop = () => {\n if (rafHandle) {\n window.cancelAnimationFrame(rafHandle);\n rafHandle = 0;\n }\n };\n\n fit();\n start();\n\n // Resize with the container.\n const resizeObserver =\n typeof ResizeObserver !== 'undefined' ? new ResizeObserver(fit) : null;\n resizeObserver?.observe(canvas);\n const onWindowResize = () => fit();\n if (!resizeObserver) window.addEventListener('resize', onWindowResize);\n\n // Pause when tab is hidden.\n const onVisibility = () => {\n isVisible = !document.hidden;\n if (isVisible) start();\n else stop();\n };\n document.addEventListener('visibilitychange', onVisibility);\n\n // Pause when scrolled off-screen.\n const intersectionObserver =\n typeof IntersectionObserver !== 'undefined'\n ? new IntersectionObserver(\n (entries) => {\n isOnscreen = entries.some((e) => e.isIntersecting);\n if (isOnscreen) start();\n else stop();\n },\n { threshold: 0 },\n )\n : null;\n intersectionObserver?.observe(canvas);\n\n // Pause if reduced-motion gets toggled at runtime.\n const onReduceMotionChange = () => {\n if (reduceMotionMql?.matches) stop();\n else start();\n };\n reduceMotionMql?.addEventListener?.('change', onReduceMotionChange);\n\n return () => {\n stop();\n resizeObserver?.disconnect();\n intersectionObserver?.disconnect();\n if (!resizeObserver) window.removeEventListener('resize', onWindowResize);\n document.removeEventListener('visibilitychange', onVisibility);\n reduceMotionMql?.removeEventListener?.('change', onReduceMotionChange);\n };\n }, [\n glyphString,\n tone,\n color,\n fontSize,\n frameInterval,\n decayAlpha,\n vibe,\n storm,\n ]);\n\n return (\n <div\n ref={ref}\n aria-hidden=\"true\"\n data-component=\"matrix-rain\"\n className={[\n wrapperVariants({ background, vibe, mask, maskRadius }),\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <canvas ref={canvasRef} className=\"ds:absolute ds:inset-0 ds:block ds:size-full\" />\n </div>\n );\n },\n);\n\nMatrixRain.displayName = 'MatrixRain';\n"],"names":["KATAKANA_GLYPHS","HEX_GLYPHS","BINARY_GLYPHS","SYMBOL_GLYPHS","GLYPH_PRESETS","wrapperVariants","cva","TONE_VAR","DENSITY_FONT_PX","PACE_FRAME_MS","DECAY_ALPHA","MatrixRain","forwardRef","glyphs","tone","color","density","pace","decay","vibe","storm","mask","maskRadius","background","className","ref","canvasRef","useRef","glyphString","useMemo","fontSize","frameInterval","decayAlpha","useEffect","canvas","ctx","reduceMotionMql","resolvedColor","fontFamily","dpr","columns","drops","columnColors","columnSpeeds","fit","rect","probe","_","i","t","lastFrame","rafHandle","isVisible","isOnscreen","draw","now","wantsGlow","ch","jitter","x","y","start","stop","resizeObserver","onWindowResize","onVisibility","intersectionObserver","entries","e","onReduceMotionChange","_a","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-card-qAp2-WQK.js","sources":["../../src/components/message-card/message-card.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { X } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { Button } from '../button/button';\nimport { Avatar } from '../avatar/avatar';\nimport { Timestamp } from '../timestamp';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport interface MessageSender {\n /** Display name — drives the avatar's deterministic colour + initials. */\n name: string;\n /** Optional avatar image URL. */\n avatarUrl?: string;\n}\n\nexport interface MessageItem {\n /** Unique identifier for the message (or thread). */\n id: string;\n /** Sender identity — avatar + bold display name. */\n sender: MessageSender;\n /** Optional subject / conversation title. Rendered bold when unread. */\n subject?: string;\n /** Last-message preview — rendered as plain text, clamped to two lines. */\n preview: string;\n /** ISO-8601 timestamp of when the message was sent. */\n sentAt: string;\n /** Whether the message has been seen. Unread items get accent styling. */\n read?: boolean;\n /** Optional deep link — when present the card row is an anchor. */\n url?: string;\n /**\n * Count of unread messages inside a thread. Rendered as an end-aligned\n * badge when greater than 1.\n */\n unreadCount?: number;\n}\n\nexport interface MessageCardProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>,\n VariantProps<typeof cardVariants> {\n /** The message to render. */\n item: MessageItem;\n /**\n * Layout shape.\n * - `compact` — single-line row with the whole card clickable (used by\n * MessageTray).\n * - `dashboard` — bordered block with explicit CTA and mark-as-read\n * controls (used by dashboards / sidebars).\n */\n variant?: 'compact' | 'dashboard';\n /** Visual density. */\n size?: 'sm' | 'md';\n /** Fires when the row / title is activated. */\n onActivate?: (item: MessageItem) => void;\n /** Fires when the dismiss control is activated. */\n onDismiss?: (item: MessageItem) => void;\n /**\n * Label for the dashboard-variant CTA. Only rendered when `variant` is\n * `'dashboard'` and the item has a `url`.\n */\n ctaLabel?: string;\n /**\n * Label for the dashboard-variant mark-as-read link. Only rendered when\n * `variant` is `'dashboard'` and `onDismiss` is supplied.\n */\n dismissLabel?: string;\n /**\n * External exit-animation control. When supplied the card plays its\n * fade-out when this turns `true` and the consumer owns the subsequent\n * unmount (see MessageTray). If omitted, the card self-manages the\n * exit on internal dismiss.\n */\n leaving?: boolean;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst cardVariants = cva(\n [\n 'ds:relative ds:flex ds:gap-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:transition-colors',\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:slide-in-from-top-2 ds:motion-safe:duration-[var(--animation-duration)]',\n 'ds:data-[leaving=true]:motion-safe:animate-out ds:data-[leaving=true]:motion-safe:fade-out-0 ds:data-[leaving=true]:motion-safe:slide-out-to-top-2',\n 'ds:data-[leaving=true]:motion-safe:fill-mode-forwards',\n 'ds:data-[leaving=true]:pointer-events-none',\n 'ds:motion-reduce:transition-none',\n 'ds:text-start',\n 'ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n {\n variants: {\n variant: {\n compact: 'ds:items-start ds:group',\n dashboard:\n 'ds:flex-col ds:sm:flex-row ds:items-stretch ds:sm:items-start ds:border ds:border-[color:var(--border)] ds:bg-[color:var(--card)]',\n },\n size: {\n sm: 'ds:p-[var(--spacing-sm)]',\n md: 'ds:p-[var(--spacing-md)]',\n },\n state: {\n unread: '',\n read: 'ds:bg-transparent',\n },\n },\n compoundVariants: [\n {\n variant: 'compact',\n state: 'unread',\n class: 'ds:bg-[color:var(--accent)]/5',\n },\n {\n variant: 'compact',\n state: 'read',\n class: 'ds:hover:bg-[color:var(--muted)]/40',\n },\n {\n variant: 'dashboard',\n state: 'unread',\n class: 'ds:bg-[color:var(--accent)]/5',\n },\n ],\n defaultVariants: {\n variant: 'compact',\n size: 'sm',\n state: 'read',\n },\n },\n);\n\nconst stretchedLinkClass = [\n 'ds:focus-visible:outline-none',\n \"ds:after:content-[''] ds:after:absolute ds:after:inset-0 ds:after:rounded-[var(--radius-sm)]\",\n 'ds:after:pointer-events-auto',\n 'ds:focus-visible:after:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:after:outline-solid',\n 'ds:focus-visible:after:outline-[color:var(--ring)]',\n 'ds:focus-visible:after:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:after:outline-[CanvasText]',\n].join(' ');\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nexport function isSafeMessageUrl(url: string): boolean {\n // Reject protocol-relative (//host), javascript:, data:, mailto: etc.\n // Only http(s), same-origin absolute paths (/), and hash (#) anchors pass.\n return /^(https?:\\/\\/(?!\\/)|\\/(?!\\/)|#)/.test(url);\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const MessageCard = forwardRef<HTMLDivElement, MessageCardProps>(\n (\n {\n item,\n variant = 'compact',\n size = 'sm',\n onActivate,\n onDismiss,\n ctaLabel,\n dismissLabel,\n leaving,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const accessibleTime = useMemo(() => {\n const date = new Date(item.sentAt);\n if (Number.isNaN(date.getTime())) return '';\n return new Intl.DateTimeFormat(i18n.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }).format(date);\n }, [item.sentAt, i18n.language]);\n\n const isControlledLeaving = leaving !== undefined;\n const [isLeaving, setIsLeaving] = useState(false);\n const dismissTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const effectiveLeaving = isControlledLeaving ? leaving : isLeaving;\n\n const prefersReducedMotion =\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n const handleDismiss = useCallback(() => {\n if (!onDismiss) return;\n if (isControlledLeaving || prefersReducedMotion) {\n onDismiss(item);\n return;\n }\n setIsLeaving(true);\n if (dismissTimerRef.current) clearTimeout(dismissTimerRef.current);\n const raw =\n (typeof window !== 'undefined' &&\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--animation-duration')) ||\n '200ms';\n const ms = raw.trim().endsWith('ms')\n ? parseFloat(raw)\n : parseFloat(raw) * 1000;\n dismissTimerRef.current = setTimeout(\n () => onDismiss(item),\n Number.isFinite(ms) ? ms : 200,\n );\n }, [onDismiss, item, isControlledLeaving, prefersReducedMotion]);\n\n const state = item.read ? 'read' : 'unread';\n\n const unreadSuffix = item.read\n ? ''\n : t('ui.messageCard.unreadSuffix', ', unread');\n const subjectFragment = item.subject\n ? t('ui.messageCard.subjectFragment', {\n subject: item.subject,\n defaultValue: ' — {{subject}}',\n })\n : '';\n const ariaLabel = t('ui.messageCard.itemLabel', {\n sender: item.sender.name,\n subjectFragment,\n time: accessibleTime,\n unreadSuffix,\n defaultValue:\n 'Message from {{sender}}{{subjectFragment}}, {{time}}{{unreadSuffix}}',\n });\n\n const hasSafeUrl = !!item.url && isSafeMessageUrl(item.url);\n\n /* ------- Sender-name rendering (stretched link in compact mode) ------ */\n\n const senderText = (\n <span\n className={[\n 'ds:flex-1 ds:min-w-0 ds:truncate',\n item.read ? 'ds:font-normal' : 'ds:font-semibold',\n ].join(' ')}\n >\n {item.sender.name}\n </span>\n );\n\n let senderNode: ReactNode;\n if (variant === 'compact' && hasSafeUrl && onActivate) {\n senderNode = (\n <a\n href={item.url}\n aria-label={ariaLabel}\n className={stretchedLinkClass + ' ds:contents'}\n onClick={(event) => {\n if (\n event.defaultPrevented ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey\n )\n return;\n onActivate(item);\n }}\n >\n {senderText}\n </a>\n );\n } else if (variant === 'compact' && onActivate) {\n senderNode = (\n <button\n type=\"button\"\n aria-label={ariaLabel}\n className={stretchedLinkClass + ' ds:contents ds:bg-transparent ds:border-0 ds:p-0'}\n onClick={() => onActivate(item)}\n >\n {senderText}\n </button>\n );\n } else if (variant === 'dashboard' && hasSafeUrl && onActivate) {\n senderNode = (\n <a\n href={item.url}\n className=\"ds:text-[color:var(--foreground)] ds:no-underline ds:hover:underline ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]\"\n onClick={(event) => {\n if (\n event.defaultPrevented ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey\n )\n return;\n onActivate(item);\n }}\n >\n {senderText}\n </a>\n );\n } else {\n senderNode = senderText;\n }\n\n const showThreadCount =\n typeof item.unreadCount === 'number' && item.unreadCount > 1;\n\n return (\n <div\n ref={ref}\n role=\"listitem\"\n data-component=\"message-card\"\n data-read={item.read ? 'true' : 'false'}\n data-leaving={effectiveLeaving ? 'true' : undefined}\n aria-hidden={effectiveLeaving || undefined}\n className={cardVariants({ variant, size, state, className })}\n {...rest}\n >\n {/* Avatar is decorative here — the row's assembled `aria-label`\n already names the sender, so letting Avatar contribute its own\n `role=\"img\"` + `aria-label={name}` would announce the name twice\n per row. `aria-hidden` + `role=\"presentation\"` (spread last, so\n they win over Avatar's internal values) pulls the element out of\n the a11y tree entirely. */}\n <Avatar\n name={item.sender.name}\n src={item.sender.avatarUrl}\n size={size === 'md' ? 'md' : 'sm'}\n className=\"ds:shrink-0\"\n aria-hidden=\"true\"\n role=\"presentation\"\n aria-label={undefined}\n />\n\n <div className=\"ds:flex-1 ds:min-w-0 ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n {!item.read ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-block ds:size-1.5 ds:shrink-0 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--primary)] ds:forced-colors:bg-[Highlight]\"\n />\n ) : null}\n {variant === 'dashboard' ? (\n <h3 className=\"ds:m-0 ds:flex-1 ds:min-w-0 type-title-item\">\n {senderNode}\n </h3>\n ) : (\n <span className=\"ds:flex-1 ds:min-w-0 type-title-item ds:text-[color:var(--foreground)]\">\n {senderNode}\n </span>\n )}\n {showThreadCount ? (\n <span\n aria-label={t('ui.messageCard.threadCount', {\n count: item.unreadCount,\n defaultValue_one: '{{count}} new message in thread',\n defaultValue_other: '{{count}} new messages in thread',\n })}\n className=\"ds:relative ds:z-[1] ds:shrink-0 ds:inline-flex ds:items-center ds:justify-center ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))] ds:h-[calc(var(--spacing-md)+var(--spacing-xs))] ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)] ds:rounded-[var(--radius-full)] ds:bg-[color:var(--accent)] ds:text-[color:var(--accent-foreground)] ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]\"\n >\n {item.unreadCount}\n </span>\n ) : null}\n </div>\n\n {item.subject ? (\n <p\n className={[\n 'ds:m-0 type-body-sm ds:text-[color:var(--foreground)] ds:truncate',\n item.read ? 'ds:font-normal' : 'ds:font-semibold',\n ].join(' ')}\n >\n {item.subject}\n </p>\n ) : null}\n\n <p className=\"ds:m-0 type-body-sm ds:text-[color:var(--muted-foreground)] ds:[overflow:hidden] ds:[display:-webkit-box] ds:[-webkit-box-orient:vertical] ds:[-webkit-line-clamp:2] ds:break-words\">\n {item.preview}\n </p>\n\n <Timestamp\n value={item.sentAt}\n shape=\"chip\"\n size=\"sm\"\n relativeWindow={12 * 60 * 60 * 1000}\n />\n\n {variant === 'dashboard' && (ctaLabel || dismissLabel) ? (\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]\">\n {ctaLabel && hasSafeUrl ? (\n <Button\n intent=\"outline\"\n size=\"sm\"\n asChild\n className=\"ds:relative ds:z-[1]\"\n >\n <a\n href={item.url}\n onClick={(event) => {\n if (\n event.defaultPrevented ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey\n )\n return;\n onActivate?.(item);\n }}\n >\n {ctaLabel}\n </a>\n </Button>\n ) : null}\n {dismissLabel && onDismiss ? (\n <Button\n intent=\"link\"\n size=\"sm\"\n onClick={handleDismiss}\n className=\"ds:relative ds:z-[1]\"\n >\n {dismissLabel}\n </Button>\n ) : null}\n </div>\n ) : null}\n </div>\n\n {variant === 'compact' && onDismiss ? (\n <span className=\"ds:relative ds:z-[1] ds:opacity-0 ds:group-hover:opacity-100 ds:group-focus-within:opacity-100 ds:transition-opacity ds:motion-reduce:transition-none\">\n <IconButton\n icon={<X />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('ui.messageCard.dismiss', 'Dismiss message')}\n onClick={handleDismiss}\n />\n </span>\n ) : null}\n </div>\n );\n },\n);\n\nMessageCard.displayName = 'MessageCard';\n"],"names":["cardVariants","cva","stretchedLinkClass","isSafeMessageUrl","url","MessageCard","forwardRef","item","variant","size","onActivate","onDismiss","ctaLabel","dismissLabel","leaving","className","rest","ref","t","i18n","useTranslation","accessibleTime","useMemo","date","isControlledLeaving","isLeaving","setIsLeaving","useState","dismissTimerRef","useRef","effectiveLeaving","prefersReducedMotion","handleDismiss","useCallback","raw","ms","state","unreadSuffix","subjectFragment","ariaLabel","hasSafeUrl","senderText","jsx","senderNode","event","showThreadCount","jsxs","Avatar","Timestamp","Button","IconButton","X"],"mappings":";;;;;;;;;AA4FA,MAAMA,IAAeC;AAAA,EACnB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WACE;AAAA,MAAA;AAAA,MAEJ,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,MAET;AAAA,QACE,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,MAET;AAAA,QACE,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAEMC,IAAqB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAMH,SAASC,EAAiBC,GAAsB;AAGrD,SAAO,kCAAkC,KAAKA,CAAG;AACnD;AAMO,MAAMC,IAAcC;AAAA,EACzB,CACE;AAAA,IACE,MAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,EAAE,GAAAC,GAAG,MAAAC,EAAA,IAASC,EAAA,GAEdC,IAAiBC,EAAQ,MAAM;AACnC,YAAMC,IAAO,IAAI,KAAKhB,EAAK,MAAM;AACjC,aAAI,OAAO,MAAMgB,EAAK,QAAA,CAAS,IAAU,KAClC,IAAI,KAAK,eAAeJ,EAAK,UAAU;AAAA,QAC5C,WAAW;AAAA,QACX,WAAW;AAAA,MAAA,CACZ,EAAE,OAAOI,CAAI;AAAA,IAChB,GAAG,CAAChB,EAAK,QAAQY,EAAK,QAAQ,CAAC,GAEzBK,IAAsBV,MAAY,QAClC,CAACW,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAkBC,EAA6C,IAAI,GAEnEC,IAAmBN,IAAsBV,IAAUW,GAEnDM,IACJ,OAAO,SAAW,OAClB,OAAO,OAAO,cAAe,cAC7B,OAAO,WAAW,kCAAkC,EAAE,SAElDC,IAAgBC,EAAY,MAAM;AACtC,UAAI,CAACtB,EAAW;AAChB,UAAIa,KAAuBO,GAAsB;AAC/C,QAAApB,EAAUJ,CAAI;AACd;AAAA,MACF;AACA,MAAAmB,EAAa,EAAI,GACbE,EAAgB,WAAS,aAAaA,EAAgB,OAAO;AACjE,YAAMM,IACH,OAAO,SAAW,OACjB,OACG,iBAAiB,SAAS,eAAe,EACzC,iBAAiB,sBAAsB,KAC5C,SACIC,IAAKD,EAAI,KAAA,EAAO,SAAS,IAAI,IAC/B,WAAWA,CAAG,IACd,WAAWA,CAAG,IAAI;AACtB,MAAAN,EAAgB,UAAU;AAAA,QACxB,MAAMjB,EAAUJ,CAAI;AAAA,QACpB,OAAO,SAAS4B,CAAE,IAAIA,IAAK;AAAA,MAAA;AAAA,IAE/B,GAAG,CAACxB,GAAWJ,GAAMiB,GAAqBO,CAAoB,CAAC,GAEzDK,IAAQ7B,EAAK,OAAO,SAAS,UAE7B8B,IAAe9B,EAAK,OACtB,KACAW,EAAE,+BAA+B,UAAU,GACzCoB,IAAkB/B,EAAK,UACzBW,EAAE,kCAAkC;AAAA,MAClC,SAASX,EAAK;AAAA,MACd,cAAc;AAAA,IAAA,CACf,IACD,IACEgC,IAAYrB,EAAE,4BAA4B;AAAA,MAC9C,QAAQX,EAAK,OAAO;AAAA,MACpB,iBAAA+B;AAAA,MACA,MAAMjB;AAAA,MACN,cAAAgB;AAAA,MACA,cACE;AAAA,IAAA,CACH,GAEKG,IAAa,CAAC,CAACjC,EAAK,OAAOJ,EAAiBI,EAAK,GAAG,GAIpDkC,IACJ,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACAnC,EAAK,OAAO,mBAAmB;AAAA,QAAA,EAC/B,KAAK,GAAG;AAAA,QAET,YAAK,OAAO;AAAA,MAAA;AAAA,IAAA;AAIjB,QAAIoC;AACJ,IAAInC,MAAY,aAAagC,KAAc9B,IACzCiC,IACE,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMnC,EAAK;AAAA,QACX,cAAYgC;AAAA,QACZ,WAAWrC,IAAqB;AAAA,QAChC,SAAS,CAAC0C,MAAU;AAClB,UACEA,EAAM,oBACNA,EAAM,WACNA,EAAM,WACNA,EAAM,YAGRlC,EAAWH,CAAI;AAAA,QACjB;AAAA,QAEC,UAAAkC;AAAA,MAAA;AAAA,IAAA,IAGIjC,MAAY,aAAaE,IAClCiC,IACE,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAYH;AAAA,QACZ,WAAWrC,IAAqB;AAAA,QAChC,SAAS,MAAMQ,EAAWH,CAAI;AAAA,QAE7B,UAAAkC;AAAA,MAAA;AAAA,IAAA,IAGIjC,MAAY,eAAegC,KAAc9B,IAClDiC,IACE,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMnC,EAAK;AAAA,QACX,WAAU;AAAA,QACV,SAAS,CAACqC,MAAU;AAClB,UACEA,EAAM,oBACNA,EAAM,WACNA,EAAM,WACNA,EAAM,YAGRlC,EAAWH,CAAI;AAAA,QACjB;AAAA,QAEC,UAAAkC;AAAA,MAAA;AAAA,IAAA,IAILE,IAAaF;AAGf,UAAMI,IACJ,OAAOtC,EAAK,eAAgB,YAAYA,EAAK,cAAc;AAE7D,WACE,gBAAAuC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAA7B;AAAA,QACA,MAAK;AAAA,QACL,kBAAe;AAAA,QACf,aAAWV,EAAK,OAAO,SAAS;AAAA,QAChC,gBAAcuB,IAAmB,SAAS;AAAA,QAC1C,eAAaA,KAAoB;AAAA,QACjC,WAAW9B,EAAa,EAAE,SAAAQ,GAAS,MAAAC,GAAM,OAAA2B,GAAO,WAAArB,GAAW;AAAA,QAC1D,GAAGC;AAAA,QAQJ,UAAA;AAAA,UAAA,gBAAA0B;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAMxC,EAAK,OAAO;AAAA,cAClB,KAAKA,EAAK,OAAO;AAAA,cACjB,MAAME,MAAS,OAAO,OAAO;AAAA,cAC7B,WAAU;AAAA,cACV,eAAY;AAAA,cACZ,MAAK;AAAA,cACL,cAAY;AAAA,YAAA;AAAA,UAAA;AAAA,UAGd,gBAAAqC,EAAC,OAAA,EAAI,WAAU,uEACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,sDACZ,UAAA;AAAA,cAACvC,EAAK,OAKH,OAJF,gBAAAmC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,eAAY;AAAA,kBACZ,WAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGblC,MAAY,cACX,gBAAAkC,EAAC,MAAA,EAAG,WAAU,+CACX,UAAAC,EAAA,CACH,IAEA,gBAAAD,EAAC,QAAA,EAAK,WAAU,0EACb,UAAAC,GACH;AAAA,cAEDE,IACC,gBAAAH;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,cAAYxB,EAAE,8BAA8B;AAAA,oBAC1C,OAAOX,EAAK;AAAA,oBACZ,kBAAkB;AAAA,oBAClB,oBAAoB;AAAA,kBAAA,CACrB;AAAA,kBACD,WAAU;AAAA,kBAET,UAAAA,EAAK;AAAA,gBAAA;AAAA,cAAA,IAEN;AAAA,YAAA,GACN;AAAA,YAECA,EAAK,UACJ,gBAAAmC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW;AAAA,kBACT;AAAA,kBACAnC,EAAK,OAAO,mBAAmB;AAAA,gBAAA,EAC/B,KAAK,GAAG;AAAA,gBAET,UAAAA,EAAK;AAAA,cAAA;AAAA,YAAA,IAEN;AAAA,YAEJ,gBAAAmC,EAAC,KAAA,EAAE,WAAU,uLACV,YAAK,SACR;AAAA,YAEA,gBAAAA;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,OAAOzC,EAAK;AAAA,gBACZ,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL,gBAAgB,MAAU,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,YAGhCC,MAAY,gBAAgBI,KAAYC,KACvC,gBAAAiC,EAAC,OAAA,EAAI,WAAU,mEACZ,UAAA;AAAA,cAAAlC,KAAY4B,IACX,gBAAAE;AAAA,gBAACO;AAAA,gBAAA;AAAA,kBACC,QAAO;AAAA,kBACP,MAAK;AAAA,kBACL,SAAO;AAAA,kBACP,WAAU;AAAA,kBAEV,UAAA,gBAAAP;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAMnC,EAAK;AAAA,sBACX,SAAS,CAACqC,MAAU;AAClB,wBACEA,EAAM,oBACNA,EAAM,WACNA,EAAM,WACNA,EAAM,YAGRlC,KAAA,QAAAA,EAAaH;AAAA,sBACf;AAAA,sBAEC,UAAAK;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA,IAEA;AAAA,cACHC,KAAgBF,IACf,gBAAA+B;AAAA,gBAACO;AAAA,gBAAA;AAAA,kBACC,QAAO;AAAA,kBACP,MAAK;AAAA,kBACL,SAASjB;AAAA,kBACT,WAAU;AAAA,kBAET,UAAAnB;AAAA,gBAAA;AAAA,cAAA,IAED;AAAA,YAAA,EAAA,CACN,IACE;AAAA,UAAA,GACN;AAAA,UAECL,MAAY,aAAaG,IACxB,gBAAA+B,EAAC,QAAA,EAAK,WAAU,yJACd,UAAA,gBAAAA;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,wBAAOC,GAAA,EAAE;AAAA,cACT,QAAO;AAAA,cACP,MAAK;AAAA,cACL,cAAYjC,EAAE,0BAA0B,iBAAiB;AAAA,cACzD,SAASc;AAAA,YAAA;AAAA,UAAA,GAEb,IACE;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEA3B,EAAY,cAAc;"}
@@ -1,303 +0,0 @@
1
- import { jsx as e, jsxs as o, Fragment as k } from "react/jsx-runtime";
2
- import { forwardRef as se, useState as S, useCallback as V, useLayoutEffect as ae, useEffect as I, useRef as R } from "react";
3
- import * as p from "@radix-ui/react-popover";
4
- import { c as y } from "./index-D2ZczOXr.js";
5
- import { useTranslation as E } from "react-i18next";
6
- import { I as te } from "./icon-button-Wnnde5lc.js";
7
- import { B } from "./button-7mLWcMp_.js";
8
- import { S as P } from "./separator-B4wXDLNC.js";
9
- import { S as l } from "./skeleton-dtqyF09N.js";
10
- import { M as re } from "./message-card-qAp2-WQK.js";
11
- import { M as L } from "./mail-C8irm52s.js";
12
- const ne = y("ds:relative ds:inline-flex ds:items-center", {
13
- variants: {
14
- size: {
15
- sm: "",
16
- md: ""
17
- }
18
- },
19
- defaultVariants: {
20
- size: "md"
21
- }
22
- }), ie = y(
23
- [
24
- "ds:flex ds:flex-col",
25
- "ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]",
26
- "ds:border ds:border-[color:var(--border)]",
27
- "ds:rounded-[var(--radius-md)]",
28
- "ds:shadow-[var(--shadow-lg)]",
29
- "ds:z-[var(--z-popover)]",
30
- // Width: fluid below the design cap so narrow viewports keep a visible
31
- // gutter on both sides (shadow included). Cap slightly wider than
32
- // NotificationTray because message rows carry subject + preview.
33
- "ds:w-[min(26rem,calc(100vw-2*var(--spacing-md)))]",
34
- // Height: below the `sm` breakpoint the panel takes a near-full-screen
35
- // sheet shape so the user gets room to triage an inbox without
36
- // scrolling a tiny popover. `6rem` reserves space for the Header
37
- // (≈4rem) plus the sideOffset + collisionPadding (≈2rem). Above `sm`
38
- // it returns to `h-auto` so the list's own cap governs the height.
39
- "ds:h-[calc(100dvh-6rem)] ds:sm:h-auto",
40
- "ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out",
41
- "ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0",
42
- "ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95",
43
- "ds:motion-reduce:transition-none ds:motion-reduce:animate-none",
44
- "ds:focus-visible:outline-none",
45
- "ds:forced-colors:border-[CanvasText]"
46
- ].join(" "),
47
- {
48
- variants: {
49
- size: {
50
- sm: "ds:p-[var(--spacing-xs)]",
51
- md: "ds:p-[var(--spacing-sm)]"
52
- }
53
- },
54
- defaultVariants: {
55
- size: "md"
56
- }
57
- }
58
- ), de = y(
59
- [
60
- "ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]",
61
- "ds:inline-flex ds:items-center ds:justify-center",
62
- "ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))] ds:h-[calc(var(--spacing-md)+var(--spacing-xs))] ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]",
63
- "ds:rounded-[var(--radius-full)]",
64
- "ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]",
65
- "ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none",
66
- "ds:pointer-events-none ds:select-none",
67
- "ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
68
- ].join(" ")
69
- );
70
- function oe(a, f) {
71
- return a > 99 ? f : String(a);
72
- }
73
- function h() {
74
- return /* @__PURE__ */ o(
75
- "div",
76
- {
77
- "aria-hidden": "true",
78
- className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-sm)]",
79
- children: [
80
- /* @__PURE__ */ e(l, { variant: "circular", size: "sm" }),
81
- /* @__PURE__ */ o("div", { className: "ds:flex-1 ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
82
- /* @__PURE__ */ e(l, { variant: "text", size: "md", width: "60%" }),
83
- /* @__PURE__ */ e(l, { variant: "text", size: "sm", width: "80%" }),
84
- /* @__PURE__ */ e(l, { variant: "text", size: "sm", width: "95%" }),
85
- /* @__PURE__ */ e(l, { variant: "text", size: "sm", width: "30%" })
86
- ] })
87
- ]
88
- }
89
- );
90
- }
91
- function le() {
92
- const { t: a } = E();
93
- return /* @__PURE__ */ o(
94
- "div",
95
- {
96
- role: "status",
97
- "aria-live": "polite",
98
- className: "ds:flex ds:flex-col ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)] ds:p-[var(--spacing-lg)] ds:text-center",
99
- children: [
100
- /* @__PURE__ */ e(
101
- "span",
102
- {
103
- "aria-hidden": "true",
104
- className: "ds:inline-flex ds:items-center ds:justify-center ds:size-10 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--muted)] ds:text-[color:var(--muted-foreground)] ds:[&>svg]:size-5",
105
- children: /* @__PURE__ */ e(L, {})
106
- }
107
- ),
108
- /* @__PURE__ */ e("p", { className: "type-title-item ds:text-[color:var(--foreground)]", children: a("ui.messageTray.noMessages", "No messages") }),
109
- /* @__PURE__ */ e("p", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: a(
110
- "ui.messageTray.noMessagesDescription",
111
- "Your inbox is clear."
112
- ) })
113
- ]
114
- }
115
- );
116
- }
117
- const ce = se(
118
- ({
119
- items: a,
120
- unreadCount: f,
121
- open: b,
122
- onOpenChange: c,
123
- onItemClick: D,
124
- onDismiss: F,
125
- onMarkAllRead: w,
126
- loading: O = !1,
127
- maxVisible: A,
128
- viewAllLabel: N,
129
- onViewAll: W,
130
- align: Y = "end",
131
- side: q = "bottom",
132
- size: g = "md",
133
- className: G,
134
- ...H
135
- }, J) => {
136
- var C;
137
- const { t: i } = E(), v = b !== void 0, [K, Q] = S(!1), U = v ? b : K, X = V(
138
- (s) => {
139
- v || Q(s), c == null || c(s);
140
- },
141
- [v, c]
142
- ), [m, T] = S(
143
- () => a.map((s) => ({ item: s, leaving: !1 }))
144
- ), z = V(() => {
145
- if (typeof window > "u") return 200;
146
- const s = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
147
- if (!s) return 200;
148
- const r = s.trim(), t = parseFloat(r);
149
- return Number.isFinite(t) ? r.endsWith("ms") ? t : t * 1e3 : 200;
150
- }, []);
151
- ae(() => {
152
- T((s) => {
153
- const r = new Set(a.map((n) => n.id)), t = new Set(s.map((n) => n.item.id)), d = s.map((n) => {
154
- if (r.has(n.item.id)) {
155
- const j = a.find((ee) => ee.id === n.item.id);
156
- return j ? { item: j, leaving: !1 } : { ...n, leaving: !0 };
157
- }
158
- return { ...n, leaving: !0 };
159
- });
160
- for (const n of a)
161
- t.has(n.id) || d.push({ item: n, leaving: !1 });
162
- return d;
163
- });
164
- }, [a]), I(() => {
165
- if (!m.some((t) => t.leaving)) return;
166
- const s = z(), r = setTimeout(() => {
167
- T((t) => t.filter((d) => !d.leaving));
168
- }, s);
169
- return () => clearTimeout(r);
170
- }, [m, z]);
171
- const x = R(null), M = R((C = a[0]) == null ? void 0 : C.id);
172
- I(() => {
173
- var t;
174
- const s = (t = a[0]) == null ? void 0 : t.id, r = M.current;
175
- if (r && s && r !== s && x.current) {
176
- const d = a[0];
177
- d && !d.read && (x.current.textContent = i(
178
- "ui.messageTray.newMessage",
179
- {
180
- sender: d.sender.name,
181
- defaultValue: "New message from {{sender}}"
182
- }
183
- ));
184
- }
185
- M.current = s;
186
- }, [a, i]);
187
- const u = f ?? 0, Z = u > 0 ? i("ui.messageTray.triggerLabel", {
188
- count: u,
189
- defaultValue: "Messages, {{count}} unread"
190
- }) : i("ui.messageTray.triggerLabelNone", "Messages, none unread"), _ = oe(
191
- u,
192
- i("ui.messageTray.badgeCountOverflow", "99+")
193
- ), $ = ie({ size: g });
194
- return /* @__PURE__ */ e(
195
- "div",
196
- {
197
- ref: J,
198
- "data-component": "message-tray",
199
- className: [ne({ size: g }), G].filter(Boolean).join(" "),
200
- ...H,
201
- children: /* @__PURE__ */ o(p.Root, { open: U, onOpenChange: X, children: [
202
- /* @__PURE__ */ e(p.Trigger, { asChild: !0, children: /* @__PURE__ */ e(
203
- te,
204
- {
205
- icon: /* @__PURE__ */ e(L, {}),
206
- intent: "outline",
207
- size: g === "sm" ? "sm" : "md",
208
- "aria-label": Z,
209
- "aria-haspopup": "dialog"
210
- }
211
- ) }),
212
- u > 0 ? /* @__PURE__ */ e(
213
- "span",
214
- {
215
- "aria-hidden": "true",
216
- "data-testid": "message-tray-badge",
217
- className: de(),
218
- children: _
219
- }
220
- ) : null,
221
- /* @__PURE__ */ e(
222
- "div",
223
- {
224
- ref: x,
225
- "aria-live": "polite",
226
- "aria-atomic": "true",
227
- className: "ds:sr-only"
228
- }
229
- ),
230
- /* @__PURE__ */ e(p.Portal, { children: /* @__PURE__ */ o(
231
- p.Content,
232
- {
233
- role: "dialog",
234
- "aria-label": i("ui.messageTray.panelTitle", "Messages"),
235
- side: q,
236
- align: Y,
237
- sideOffset: 8,
238
- collisionPadding: 16,
239
- className: $,
240
- children: [
241
- /* @__PURE__ */ o("div", { className: "ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]", children: [
242
- /* @__PURE__ */ e("h3", { className: "ds:m-0 type-title-card ds:text-[color:var(--foreground)]", children: i("ui.messageTray.panelTitle", "Messages") }),
243
- w && a.some((s) => !s.read) ? /* @__PURE__ */ e(
244
- B,
245
- {
246
- intent: "link",
247
- size: "sm",
248
- onClick: w,
249
- className: "ds:text-[length:var(--font-size-xs)]",
250
- children: i("ui.messageTray.markAllRead", "Mark all as read")
251
- }
252
- ) : null
253
- ] }),
254
- /* @__PURE__ */ e(P, {}),
255
- /* @__PURE__ */ e(
256
- "div",
257
- {
258
- role: "list",
259
- "data-max-visible": A,
260
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:overflow-y-auto ds:pt-[var(--spacing-xs)] ds:flex-1 ds:sm:flex-none ds:sm:[max-block-size:var(--message-tray-max-block-size,26rem)]",
261
- children: O ? /* @__PURE__ */ o(k, { children: [
262
- /* @__PURE__ */ e(h, {}),
263
- /* @__PURE__ */ e(h, {}),
264
- /* @__PURE__ */ e(h, {})
265
- ] }) : m.length === 0 ? /* @__PURE__ */ e(le, {}) : m.map(({ item: s, leaving: r }) => /* @__PURE__ */ e(
266
- re,
267
- {
268
- item: s,
269
- variant: "compact",
270
- leaving: r,
271
- onActivate: D,
272
- onDismiss: F
273
- },
274
- s.id
275
- ))
276
- }
277
- ),
278
- N ? /* @__PURE__ */ o(k, { children: [
279
- /* @__PURE__ */ e(P, {}),
280
- /* @__PURE__ */ e("div", { className: "ds:pt-[var(--spacing-xs)]", children: /* @__PURE__ */ e(
281
- B,
282
- {
283
- intent: "link",
284
- size: "sm",
285
- onClick: W,
286
- className: "ds:w-full ds:justify-center",
287
- children: N
288
- }
289
- ) })
290
- ] }) : null
291
- ]
292
- }
293
- ) })
294
- ] })
295
- }
296
- );
297
- }
298
- );
299
- ce.displayName = "MessageTray";
300
- export {
301
- ce as M
302
- };
303
- //# sourceMappingURL=message-tray-VaLpQU5t.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-tray-VaLpQU5t.js","sources":["../../src/components/message-tray/message-tray.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n type HTMLAttributes,\n} from 'react';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Mail } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { Button } from '../button/button';\nimport { Separator } from '../separator/separator';\nimport { Skeleton } from '../skeleton/skeleton';\nimport { MessageCard, type MessageItem } from '../message-card/message-card';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport interface MessageTrayProps\n extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onClick' | 'children' | 'role'\n >,\n VariantProps<typeof messageTrayVariants> {\n /** Messages rendered in the dropdown panel. */\n items: MessageItem[];\n /** Number of unread messages. Drives the badge count. */\n unreadCount?: number;\n /** Controlled open state. */\n open?: boolean;\n /** Fires when the open state changes. */\n onOpenChange?: (open: boolean) => void;\n /** Fires when the user activates an item (click or Enter/Space). */\n onItemClick?: (item: MessageItem) => void;\n /** Fires when the user dismisses / archives a message. */\n onDismiss?: (item: MessageItem) => void;\n /** Fires when the user clicks the header \"Mark all as read\" action. */\n onMarkAllRead?: () => void;\n /** When true the panel shows skeleton placeholders. */\n loading?: boolean;\n /**\n * Advisory item count before the list scrolls. Consumers override the cap\n * via the `--message-tray-max-block-size` custom property.\n */\n maxVisible?: number;\n /** When set renders a footer link that invokes `onViewAll`. */\n viewAllLabel?: string;\n /** Fires when the footer \"View all\" link is clicked. */\n onViewAll?: () => void;\n /** Panel alignment relative to the trigger. Default `'end'`. */\n align?: 'start' | 'center' | 'end';\n /** Side of the trigger to open on. Default `'bottom'`. */\n side?: 'top' | 'bottom';\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst messageTrayVariants = cva('ds:relative ds:inline-flex ds:items-center', {\n variants: {\n size: {\n sm: '',\n md: '',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst panelVariants = cva(\n [\n 'ds:flex ds:flex-col',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:border ds:border-[color:var(--border)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:z-[var(--z-popover)]',\n // Width: fluid below the design cap so narrow viewports keep a visible\n // gutter on both sides (shadow included). Cap slightly wider than\n // NotificationTray because message rows carry subject + preview.\n 'ds:w-[min(26rem,calc(100vw-2*var(--spacing-md)))]',\n // Height: below the `sm` breakpoint the panel takes a near-full-screen\n // sheet shape so the user gets room to triage an inbox without\n // scrolling a tiny popover. `6rem` reserves space for the Header\n // (≈4rem) plus the sideOffset + collisionPadding (≈2rem). Above `sm`\n // it returns to `h-auto` so the list's own cap governs the height.\n 'ds:h-[calc(100dvh-6rem)] ds:sm:h-auto',\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95',\n 'ds:motion-reduce:transition-none ds:motion-reduce:animate-none',\n 'ds:focus-visible:outline-none',\n 'ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:p-[var(--spacing-xs)]',\n md: 'ds:p-[var(--spacing-sm)]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\nconst badgeVariants = cva(\n [\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))] ds:h-[calc(var(--spacing-md)+var(--spacing-xs))] ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n 'ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n 'ds:pointer-events-none ds:select-none',\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nfunction formatBadgeCount(count: number, overflowLabel: string): string {\n return count > 99 ? overflowLabel : String(count);\n}\n\nfunction SkeletonRow() {\n return (\n <div\n aria-hidden=\"true\"\n className=\"ds:flex ds:items-start ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-sm)]\"\n >\n <Skeleton variant=\"circular\" size=\"sm\" />\n <div className=\"ds:flex-1 ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <Skeleton variant=\"text\" size=\"md\" width=\"60%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"80%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"95%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"30%\" />\n </div>\n </div>\n );\n}\n\nfunction EmptyPanel() {\n const { t } = useTranslation();\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"ds:flex ds:flex-col ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)] ds:p-[var(--spacing-lg)] ds:text-center\"\n >\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:justify-center ds:size-10 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--muted)] ds:text-[color:var(--muted-foreground)] ds:[&>svg]:size-5\"\n >\n <Mail />\n </span>\n <p className=\"type-title-item ds:text-[color:var(--foreground)]\">\n {t('ui.messageTray.noMessages', 'No messages')}\n </p>\n <p className=\"type-meta ds:text-[color:var(--muted-foreground)]\">\n {t(\n 'ui.messageTray.noMessagesDescription',\n 'Your inbox is clear.',\n )}\n </p>\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const MessageTray = forwardRef<HTMLDivElement, MessageTrayProps>(\n (\n {\n items,\n unreadCount,\n open,\n onOpenChange,\n onItemClick,\n onDismiss,\n onMarkAllRead,\n loading = false,\n maxVisible,\n viewAllLabel,\n onViewAll,\n align = 'end',\n side = 'bottom',\n size = 'md',\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState(false);\n const isOpen = isControlled ? open : internalOpen;\n\n const handleOpenChange = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n /* Exit-animation list — same AnimatePresence-style bookkeeping as\n * NotificationTray. See that component for rationale. */\n type Displayed = { item: MessageItem; leaving: boolean };\n const [displayed, setDisplayed] = useState<Displayed[]>(() =>\n items.map((item) => ({ item, leaving: false })),\n );\n\n const animationDurationMs = useCallback((): number => {\n if (typeof window === 'undefined') return 200;\n const raw = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--animation-duration');\n if (!raw) return 200;\n const trimmed = raw.trim();\n const n = parseFloat(trimmed);\n if (!Number.isFinite(n)) return 200;\n return trimmed.endsWith('ms') ? n : n * 1000;\n }, []);\n\n useLayoutEffect(() => {\n setDisplayed((prev) => {\n const nextIds = new Set(items.map((i) => i.id));\n const prevIds = new Set(prev.map((d) => d.item.id));\n\n const merged: Displayed[] = prev.map((d) => {\n if (nextIds.has(d.item.id)) {\n const fresh = items.find((i) => i.id === d.item.id);\n return fresh\n ? { item: fresh, leaving: false }\n : { ...d, leaving: true };\n }\n return { ...d, leaving: true };\n });\n\n for (const i of items) {\n if (!prevIds.has(i.id)) merged.push({ item: i, leaving: false });\n }\n return merged;\n });\n }, [items]);\n\n useEffect(() => {\n if (!displayed.some((d) => d.leaving)) return;\n const ms = animationDurationMs();\n const timer = setTimeout(() => {\n setDisplayed((prev) => prev.filter((d) => !d.leaving));\n }, ms);\n return () => clearTimeout(timer);\n }, [displayed, animationDurationMs]);\n\n const liveRegionRef = useRef<HTMLDivElement | null>(null);\n const lastTopIdRef = useRef<string | undefined>(items[0]?.id);\n\n useEffect(() => {\n const topId = items[0]?.id;\n const prev = lastTopIdRef.current;\n if (prev && topId && prev !== topId && liveRegionRef.current) {\n const newest = items[0];\n if (newest && !newest.read) {\n liveRegionRef.current.textContent = t(\n 'ui.messageTray.newMessage',\n {\n sender: newest.sender.name,\n defaultValue: 'New message from {{sender}}',\n },\n );\n }\n }\n lastTopIdRef.current = topId;\n }, [items, t]);\n\n const displayCount = unreadCount ?? 0;\n const triggerAriaLabel =\n displayCount > 0\n ? t('ui.messageTray.triggerLabel', {\n count: displayCount,\n defaultValue: 'Messages, {{count}} unread',\n })\n : t('ui.messageTray.triggerLabelNone', 'Messages, none unread');\n\n const badgeLabel = formatBadgeCount(\n displayCount,\n t('ui.messageTray.badgeCountOverflow', '99+'),\n );\n\n const panelClass = panelVariants({ size });\n\n return (\n <div\n ref={ref}\n data-component=\"message-tray\"\n className={[messageTrayVariants({ size }), className]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <RadixPopover.Root open={isOpen} onOpenChange={handleOpenChange}>\n <RadixPopover.Trigger asChild>\n <IconButton\n icon={<Mail />}\n intent=\"outline\"\n size={size === 'sm' ? 'sm' : 'md'}\n aria-label={triggerAriaLabel}\n aria-haspopup=\"dialog\"\n />\n </RadixPopover.Trigger>\n {displayCount > 0 ? (\n <span\n aria-hidden=\"true\"\n data-testid=\"message-tray-badge\"\n className={badgeVariants()}\n >\n {badgeLabel}\n </span>\n ) : null}\n <div\n ref={liveRegionRef}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n />\n <RadixPopover.Portal>\n <RadixPopover.Content\n role=\"dialog\"\n aria-label={t('ui.messageTray.panelTitle', 'Messages')}\n side={side}\n align={align}\n sideOffset={8}\n // `spacing-md` (16px) keeps Radix's collision-avoidance from\n // flush-mounting the panel against the viewport edge when the\n // trigger is near the inline-end of a narrow screen.\n collisionPadding={16}\n className={panelClass}\n >\n <div className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]\">\n <h3 className=\"ds:m-0 type-title-card ds:text-[color:var(--foreground)]\">\n {t('ui.messageTray.panelTitle', 'Messages')}\n </h3>\n {onMarkAllRead && items.some((item) => !item.read) ? (\n <Button\n intent=\"link\"\n size=\"sm\"\n onClick={onMarkAllRead}\n className=\"ds:text-[length:var(--font-size-xs)]\"\n >\n {t('ui.messageTray.markAllRead', 'Mark all as read')}\n </Button>\n ) : null}\n </div>\n <Separator />\n <div\n role=\"list\"\n data-max-visible={maxVisible}\n // Below `sm` the panel is a near-full-screen sheet (see\n // `panelVariants`) and the list expands to fill the\n // remaining space with `flex-1`. Above `sm` the list\n // caps at the `--message-tray-max-block-size` custom\n // property so the popover stays compact.\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:overflow-y-auto ds:pt-[var(--spacing-xs)] ds:flex-1 ds:sm:flex-none ds:sm:[max-block-size:var(--message-tray-max-block-size,26rem)]\"\n >\n {loading ? (\n <>\n <SkeletonRow />\n <SkeletonRow />\n <SkeletonRow />\n </>\n ) : displayed.length === 0 ? (\n <EmptyPanel />\n ) : (\n displayed.map(({ item, leaving }) => (\n <MessageCard\n key={item.id}\n item={item}\n variant=\"compact\"\n leaving={leaving}\n onActivate={onItemClick}\n onDismiss={onDismiss}\n />\n ))\n )}\n </div>\n {viewAllLabel ? (\n <>\n <Separator />\n <div className=\"ds:pt-[var(--spacing-xs)]\">\n <Button\n intent=\"link\"\n size=\"sm\"\n onClick={onViewAll}\n className=\"ds:w-full ds:justify-center\"\n >\n {viewAllLabel}\n </Button>\n </div>\n </>\n ) : null}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n </RadixPopover.Root>\n </div>\n );\n },\n);\n\nMessageTray.displayName = 'MessageTray';\n"],"names":["messageTrayVariants","cva","panelVariants","badgeVariants","formatBadgeCount","count","overflowLabel","SkeletonRow","jsxs","jsx","Skeleton","EmptyPanel","t","useTranslation","Mail","MessageTray","forwardRef","items","unreadCount","open","onOpenChange","onItemClick","onDismiss","onMarkAllRead","loading","maxVisible","viewAllLabel","onViewAll","align","side","size","className","rest","ref","isControlled","internalOpen","setInternalOpen","useState","isOpen","handleOpenChange","useCallback","next","displayed","setDisplayed","item","animationDurationMs","raw","trimmed","n","useLayoutEffect","prev","nextIds","i","prevIds","d","merged","fresh","useEffect","ms","timer","liveRegionRef","useRef","lastTopIdRef","_a","topId","newest","displayCount","triggerAriaLabel","badgeLabel","panelClass","RadixPopover","IconButton","Button","Separator","Fragment","leaving","MessageCard"],"mappings":"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"}