@alfadocs/ui-kit 0.0.20 → 0.1.1

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 (549) hide show
  1. package/dist/_chunks/accordion-BJD1aM67.js +117 -0
  2. package/dist/_chunks/accordion-BJD1aM67.js.map +1 -0
  3. package/dist/_chunks/agenda-card-Bld47Eul.js +130 -0
  4. package/dist/_chunks/agenda-card-Bld47Eul.js.map +1 -0
  5. package/dist/_chunks/agenda-tray-D86cNIJ0.js +119 -0
  6. package/dist/_chunks/agenda-tray-D86cNIJ0.js.map +1 -0
  7. package/dist/_chunks/ai-prompt-input-CdYwt2VP.js +379 -0
  8. package/dist/_chunks/ai-prompt-input-CdYwt2VP.js.map +1 -0
  9. package/dist/_chunks/{alert-C5ud6CfE.js → alert-ETrF7Q8J.js} +51 -51
  10. package/dist/_chunks/alert-ETrF7Q8J.js.map +1 -0
  11. package/dist/_chunks/apexcharts-theme-BkSShpEy.js +48 -0
  12. package/dist/_chunks/apexcharts-theme-BkSShpEy.js.map +1 -0
  13. package/dist/_chunks/{app-frame-CmIUp9BD.js → app-frame-uq2Gy0vs.js} +37 -37
  14. package/dist/_chunks/app-frame-uq2Gy0vs.js.map +1 -0
  15. package/dist/_chunks/aspect-ratio-BqU4itGW.js +56 -0
  16. package/dist/_chunks/aspect-ratio-BqU4itGW.js.map +1 -0
  17. package/dist/_chunks/{audio-recorder-GkGNtW2X.js → audio-recorder-D2UEBF9B.js} +98 -98
  18. package/dist/_chunks/audio-recorder-D2UEBF9B.js.map +1 -0
  19. package/dist/_chunks/{audio-visualiser-CIO3yy23.js → audio-visualiser-B4u4goV5.js} +46 -46
  20. package/dist/_chunks/audio-visualiser-B4u4goV5.js.map +1 -0
  21. package/dist/_chunks/{autocomplete.agent-kb0nmr6F.js → autocomplete.agent-Bi6CiRKa.js} +111 -111
  22. package/dist/_chunks/autocomplete.agent-Bi6CiRKa.js.map +1 -0
  23. package/dist/_chunks/{avatar-BsV7vRA6.js → avatar-BAhxbDEu.js} +38 -38
  24. package/dist/_chunks/avatar-BAhxbDEu.js.map +1 -0
  25. package/dist/_chunks/badge-zDghajh8.js +104 -0
  26. package/dist/_chunks/badge-zDghajh8.js.map +1 -0
  27. package/dist/_chunks/{balance-cell-renderer-BQwN51rT.js → balance-cell-renderer-BGyvZWjB.js} +123 -124
  28. package/dist/_chunks/balance-cell-renderer-BGyvZWjB.js.map +1 -0
  29. package/dist/_chunks/{breadcrumb-DnO6eHSS.js → breadcrumb-pdUacgm1.js} +40 -40
  30. package/dist/_chunks/breadcrumb-pdUacgm1.js.map +1 -0
  31. package/dist/_chunks/button-DmiGFnNA.js +119 -0
  32. package/dist/_chunks/button-DmiGFnNA.js.map +1 -0
  33. package/dist/_chunks/{button-group-CI7LFxt3.js → button-group-BtTHSyU0.js} +24 -24
  34. package/dist/_chunks/button-group-BtTHSyU0.js.map +1 -0
  35. package/dist/_chunks/{calendar-BIXVzhkL.js → calendar-BkDeDTaX.js} +333 -290
  36. package/dist/_chunks/calendar-BkDeDTaX.js.map +1 -0
  37. package/dist/_chunks/card-DeItIBcV.js +158 -0
  38. package/dist/_chunks/card-DeItIBcV.js.map +1 -0
  39. package/dist/_chunks/{chart.agent-DkmVXNsI.js → chart.agent-BdS-_8MO.js} +66 -64
  40. package/dist/_chunks/chart.agent-BdS-_8MO.js.map +1 -0
  41. package/dist/_chunks/chat-container-Co8HpB64.js +174 -0
  42. package/dist/_chunks/chat-container-Co8HpB64.js.map +1 -0
  43. package/dist/_chunks/{chat-input-aphxDjZL.js → chat-input-3rstZhHR.js} +57 -57
  44. package/dist/_chunks/chat-input-3rstZhHR.js.map +1 -0
  45. package/dist/_chunks/{chat-message-CdJSD18D.js → chat-message-dDMVSYBs.js} +66 -66
  46. package/dist/_chunks/chat-message-dDMVSYBs.js.map +1 -0
  47. package/dist/_chunks/checkbox-DMzgtnqw.js +116 -0
  48. package/dist/_chunks/checkbox-DMzgtnqw.js.map +1 -0
  49. package/dist/_chunks/{checkbox-group-D1aqVI0-.js → checkbox-group-DBnIBRT_.js} +34 -34
  50. package/dist/_chunks/checkbox-group-DBnIBRT_.js.map +1 -0
  51. package/dist/_chunks/{collapsible-jBFm7Ah8.js → collapsible-DPGQnHZh.js} +16 -16
  52. package/dist/_chunks/collapsible-DPGQnHZh.js.map +1 -0
  53. package/dist/_chunks/{color-picker-CiotzQJF.js → color-picker-OKKF3Dww.js} +158 -158
  54. package/dist/_chunks/color-picker-OKKF3Dww.js.map +1 -0
  55. package/dist/_chunks/{combobox.agent-B6RwDSct.js → combobox.agent-CfeB-IZ1.js} +107 -107
  56. package/dist/_chunks/combobox.agent-CfeB-IZ1.js.map +1 -0
  57. package/dist/_chunks/{command-palette.agent-B87_OkmC.js → command-palette.agent-XLfSGHCL.js} +27 -27
  58. package/dist/_chunks/command-palette.agent-XLfSGHCL.js.map +1 -0
  59. package/dist/_chunks/{date-picker-CdPuI3dK.js → date-picker-DXx8oSJb.js} +5 -5
  60. package/dist/_chunks/{date-picker-CdPuI3dK.js.map → date-picker-DXx8oSJb.js.map} +1 -1
  61. package/dist/_chunks/{date-range-picker-DfK4cjln.js → date-range-picker-C3CbY__H.js} +29 -29
  62. package/dist/_chunks/{date-range-picker-DfK4cjln.js.map → date-range-picker-C3CbY__H.js.map} +1 -1
  63. package/dist/_chunks/{date-time-picker-CX_FMsLG.js → date-time-picker-Bn3FPeAc.js} +58 -58
  64. package/dist/_chunks/date-time-picker-Bn3FPeAc.js.map +1 -0
  65. package/dist/_chunks/description-list-B1CL3RTG.js +187 -0
  66. package/dist/_chunks/description-list-B1CL3RTG.js.map +1 -0
  67. package/dist/_chunks/{dialog.agent-B276rAQF.js → dialog.agent-D9WeIWi2.js} +39 -39
  68. package/dist/_chunks/dialog.agent-D9WeIWi2.js.map +1 -0
  69. package/dist/_chunks/dropdown-menu-BnVUeVG3.js +210 -0
  70. package/dist/_chunks/dropdown-menu-BnVUeVG3.js.map +1 -0
  71. package/dist/_chunks/{empty-state-DiG7vYBM.js → empty-state-DV96gCnp.js} +37 -37
  72. package/dist/_chunks/empty-state-DV96gCnp.js.map +1 -0
  73. package/dist/_chunks/{file-upload.agent-BMow5yDY.js → file-upload.agent-DYFnqdxw.js} +185 -185
  74. package/dist/_chunks/file-upload.agent-DYFnqdxw.js.map +1 -0
  75. package/dist/_chunks/{flag-ChP784EM.js → flag-C3BUEwHH.js} +14 -14
  76. package/dist/_chunks/{flag-ChP784EM.js.map → flag-C3BUEwHH.js.map} +1 -1
  77. package/dist/_chunks/floating-action-button-RigP2E7o.js +95 -0
  78. package/dist/_chunks/floating-action-button-RigP2E7o.js.map +1 -0
  79. package/dist/_chunks/form-field-DI5LY5aG.js +121 -0
  80. package/dist/_chunks/form-field-DI5LY5aG.js.map +1 -0
  81. package/dist/_chunks/freemium-paywall-D0GiUFOe.js +197 -0
  82. package/dist/_chunks/freemium-paywall-D0GiUFOe.js.map +1 -0
  83. package/dist/_chunks/{header-BpKaSL_v.js → header-CW2oRd5H.js} +111 -111
  84. package/dist/_chunks/header-CW2oRd5H.js.map +1 -0
  85. package/dist/_chunks/icon-button-C482ii4y.js +45 -0
  86. package/dist/_chunks/icon-button-C482ii4y.js.map +1 -0
  87. package/dist/_chunks/{icon-button-group-tERESY-n.js → icon-button-group-BnhkUWUg.js} +56 -56
  88. package/dist/_chunks/icon-button-group-BnhkUWUg.js.map +1 -0
  89. package/dist/_chunks/{kbd-0iPlQjgC.js → kbd-DTcIjYA7.js} +52 -52
  90. package/dist/_chunks/kbd-DTcIjYA7.js.map +1 -0
  91. package/dist/_chunks/{key-value-pair--Je59tAF.js → key-value-pair-DDhSYdDL.js} +26 -26
  92. package/dist/_chunks/key-value-pair-DDhSYdDL.js.map +1 -0
  93. package/dist/_chunks/leo-sidebar-gXXcGPKk.js +755 -0
  94. package/dist/_chunks/leo-sidebar-gXXcGPKk.js.map +1 -0
  95. package/dist/_chunks/{list-n8vI8Yvn.js → list-Cwe8mcmh.js} +96 -96
  96. package/dist/_chunks/list-Cwe8mcmh.js.map +1 -0
  97. package/dist/_chunks/live-region-COggO6x6.js +57 -0
  98. package/dist/_chunks/live-region-COggO6x6.js.map +1 -0
  99. package/dist/_chunks/{logo-UNWYb9p7.js → logo-3wrZGpwg.js} +29 -29
  100. package/dist/_chunks/logo-3wrZGpwg.js.map +1 -0
  101. package/dist/_chunks/{matrix-rain-Q7xTEpKu.js → matrix-rain-gsHqSvW7.js} +75 -75
  102. package/dist/_chunks/matrix-rain-gsHqSvW7.js.map +1 -0
  103. package/dist/_chunks/message-card-DID3cXUW.js +275 -0
  104. package/dist/_chunks/message-card-DID3cXUW.js.map +1 -0
  105. package/dist/_chunks/message-tray-CVMLBnVp.js +302 -0
  106. package/dist/_chunks/message-tray-CVMLBnVp.js.map +1 -0
  107. package/dist/_chunks/{multi-select.agent-Cf4pU636.js → multi-select.agent-BUKYZJfp.js} +126 -126
  108. package/dist/_chunks/multi-select.agent-BUKYZJfp.js.map +1 -0
  109. package/dist/_chunks/{navigation-menu-DBDsAmXc.js → navigation-menu-NjwxyshT.js} +68 -97
  110. package/dist/_chunks/navigation-menu-NjwxyshT.js.map +1 -0
  111. package/dist/_chunks/notification-card-BZ33fq8H.js +255 -0
  112. package/dist/_chunks/notification-card-BZ33fq8H.js.map +1 -0
  113. package/dist/_chunks/{notification-tray-CNWPuPZp.js → notification-tray-CnEd7B2q.js} +96 -96
  114. package/dist/_chunks/notification-tray-CnEd7B2q.js.map +1 -0
  115. package/dist/_chunks/{number-input-B1Th0DdC.js → number-input-D7rSa_ef.js} +73 -73
  116. package/dist/_chunks/number-input-D7rSa_ef.js.map +1 -0
  117. package/dist/_chunks/{otp-input-CmoBuZ4K.js → otp-input-C9R9sC74.js} +42 -42
  118. package/dist/_chunks/otp-input-C9R9sC74.js.map +1 -0
  119. package/dist/_chunks/{pagination.agent-B5KLDCMN.js → pagination.agent-D75FB6XP.js} +106 -106
  120. package/dist/_chunks/pagination.agent-D75FB6XP.js.map +1 -0
  121. package/dist/_chunks/{password-input-DnjNh-hQ.js → password-input-C6PvKyQV.js} +59 -59
  122. package/dist/_chunks/password-input-C6PvKyQV.js.map +1 -0
  123. package/dist/_chunks/{patient-shell-D0RaWDMR.js → patient-shell-CGsmI5LJ.js} +9 -9
  124. package/dist/_chunks/{patient-shell-D0RaWDMR.js.map → patient-shell-CGsmI5LJ.js.map} +1 -1
  125. package/dist/_chunks/{payment-form-Cf7U6r5L.js → payment-form-l3j-gA-t.js} +108 -108
  126. package/dist/_chunks/payment-form-l3j-gA-t.js.map +1 -0
  127. package/dist/_chunks/{pdf-viewer.agent-DXjgDItg.js → pdf-viewer.agent-DuGfSoep.js} +234 -233
  128. package/dist/_chunks/pdf-viewer.agent-DuGfSoep.js.map +1 -0
  129. package/dist/_chunks/{phone-input-C2dtIuxW.js → phone-input-ZWa_FU4R.js} +112 -112
  130. package/dist/_chunks/phone-input-ZWa_FU4R.js.map +1 -0
  131. package/dist/_chunks/{popover-D1woU9mP.js → popover-CMr1pTPO.js} +58 -58
  132. package/dist/_chunks/popover-CMr1pTPO.js.map +1 -0
  133. package/dist/_chunks/{privacy-lock-C1X42Sit.js → privacy-lock-DdpkKNM2.js} +37 -36
  134. package/dist/_chunks/privacy-lock-DdpkKNM2.js.map +1 -0
  135. package/dist/_chunks/{progress-DL3-izuO.js → progress-D4ELgHG3.js} +43 -43
  136. package/dist/_chunks/progress-D4ELgHG3.js.map +1 -0
  137. package/dist/_chunks/radio-B_gvGU29.js +106 -0
  138. package/dist/_chunks/radio-B_gvGU29.js.map +1 -0
  139. package/dist/_chunks/radio-group-Bn8Wt0yc.js +88 -0
  140. package/dist/_chunks/radio-group-Bn8Wt0yc.js.map +1 -0
  141. package/dist/_chunks/{react-day-picker-DQKDiJ37.js → react-day-picker-d0MHsyCj.js} +174 -174
  142. package/dist/_chunks/{react-day-picker-DQKDiJ37.js.map → react-day-picker-d0MHsyCj.js.map} +1 -1
  143. package/dist/_chunks/{resizable.agent-DVk_jJur.js → resizable.agent-DBpPGNdy.js} +122 -122
  144. package/dist/_chunks/resizable.agent-DBpPGNdy.js.map +1 -0
  145. package/dist/_chunks/{rich-text-editor.agent-BOjF4Xao.js → rich-text-editor.agent-C1_E7_7t.js} +225 -225
  146. package/dist/_chunks/rich-text-editor.agent-C1_E7_7t.js.map +1 -0
  147. package/dist/_chunks/scroll-area-Ba99pJ_R.js +144 -0
  148. package/dist/_chunks/scroll-area-Ba99pJ_R.js.map +1 -0
  149. package/dist/_chunks/{search-bar-DgSOAajC.js → search-bar-VoTqJhRp.js} +131 -131
  150. package/dist/_chunks/search-bar-VoTqJhRp.js.map +1 -0
  151. package/dist/_chunks/search-input-D6rarD0_.js +197 -0
  152. package/dist/_chunks/search-input-D6rarD0_.js.map +1 -0
  153. package/dist/_chunks/select-DbxWF3O_.js +320 -0
  154. package/dist/_chunks/select-DbxWF3O_.js.map +1 -0
  155. package/dist/_chunks/{separator-DExI4amU.js → separator-BRQHi8s0.js} +17 -17
  156. package/dist/_chunks/separator-BRQHi8s0.js.map +1 -0
  157. package/dist/_chunks/sheet-DyWqluiS.js +188 -0
  158. package/dist/_chunks/sheet-DyWqluiS.js.map +1 -0
  159. package/dist/_chunks/sidebar-B52iGGNV.js +1076 -0
  160. package/dist/_chunks/sidebar-B52iGGNV.js.map +1 -0
  161. package/dist/_chunks/{sign-in-with-alfadocs-button-BBL11-Rt.js → sign-in-with-alfadocs-button-BU7MP5Hg.js} +4 -4
  162. package/dist/_chunks/{sign-in-with-alfadocs-button-BBL11-Rt.js.map → sign-in-with-alfadocs-button-BU7MP5Hg.js.map} +1 -1
  163. package/dist/_chunks/{signature-capture.agent-L_1_-zVR.js → signature-capture.agent-4htVctJ2.js} +163 -163
  164. package/dist/_chunks/signature-capture.agent-4htVctJ2.js.map +1 -0
  165. package/dist/_chunks/skeleton-ClO1v5GE.js +95 -0
  166. package/dist/_chunks/skeleton-ClO1v5GE.js.map +1 -0
  167. package/dist/_chunks/skip-link-CASJkBOe.js +68 -0
  168. package/dist/_chunks/skip-link-CASJkBOe.js.map +1 -0
  169. package/dist/_chunks/slider-n8JWpJvT.js +273 -0
  170. package/dist/_chunks/slider-n8JWpJvT.js.map +1 -0
  171. package/dist/_chunks/slot-grid-BRAkqChA.js +491 -0
  172. package/dist/_chunks/slot-grid-BRAkqChA.js.map +1 -0
  173. package/dist/_chunks/{sparkline.agent-BDTXzTy9.js → sparkline.agent-BLY1IMyW.js} +45 -45
  174. package/dist/_chunks/sparkline.agent-BLY1IMyW.js.map +1 -0
  175. package/dist/_chunks/{spinner-77xUGpuX.js → spinner-CoAOGcDa.js} +40 -40
  176. package/dist/_chunks/spinner-CoAOGcDa.js.map +1 -0
  177. package/dist/_chunks/stat-D76MNHzK.js +208 -0
  178. package/dist/_chunks/stat-D76MNHzK.js.map +1 -0
  179. package/dist/_chunks/{stepper-accordion-BkvqQWPI.js → stepper-accordion-DHQ80A4v.js} +33 -33
  180. package/dist/_chunks/stepper-accordion-DHQ80A4v.js.map +1 -0
  181. package/dist/_chunks/{stepper-calendar-BQMjrwzo.js → stepper-calendar-vtWwa2bY.js} +159 -159
  182. package/dist/_chunks/stepper-calendar-vtWwa2bY.js.map +1 -0
  183. package/dist/_chunks/stepper-progress-DMZ5w5VR.js +128 -0
  184. package/dist/_chunks/stepper-progress-DMZ5w5VR.js.map +1 -0
  185. package/dist/_chunks/streaming-text-D0cW8pwq.js +104 -0
  186. package/dist/_chunks/streaming-text-D0cW8pwq.js.map +1 -0
  187. package/dist/_chunks/suggestion-chip-BgNFpPEE.js +157 -0
  188. package/dist/_chunks/suggestion-chip-BgNFpPEE.js.map +1 -0
  189. package/dist/_chunks/switch-DtLPKO0p.js +137 -0
  190. package/dist/_chunks/switch-DtLPKO0p.js.map +1 -0
  191. package/dist/_chunks/{tabs.agent-FsGU3sZL.js → tabs.agent-BDUlyPbJ.js} +101 -101
  192. package/dist/_chunks/tabs.agent-BDUlyPbJ.js.map +1 -0
  193. package/dist/_chunks/tag-CfSZZN2f.js +194 -0
  194. package/dist/_chunks/tag-CfSZZN2f.js.map +1 -0
  195. package/dist/_chunks/task-card-B5xfiFg5.js +112 -0
  196. package/dist/_chunks/task-card-B5xfiFg5.js.map +1 -0
  197. package/dist/_chunks/task-tray-BnpiodZ4.js +99 -0
  198. package/dist/_chunks/task-tray-BnpiodZ4.js.map +1 -0
  199. package/dist/_chunks/text-area-BqbruBWx.js +152 -0
  200. package/dist/_chunks/text-area-BqbruBWx.js.map +1 -0
  201. package/dist/_chunks/text-input-lh6kRXZS.js +187 -0
  202. package/dist/_chunks/text-input-lh6kRXZS.js.map +1 -0
  203. package/dist/_chunks/theme-toggle-BHKMiORD.js +326 -0
  204. package/dist/_chunks/theme-toggle-BHKMiORD.js.map +1 -0
  205. package/dist/_chunks/{time-picker-BapZq0OY.js → time-picker-DbpAmPux.js} +102 -102
  206. package/dist/_chunks/time-picker-DbpAmPux.js.map +1 -0
  207. package/dist/_chunks/timeline-vjsUeuq1.js +219 -0
  208. package/dist/_chunks/timeline-vjsUeuq1.js.map +1 -0
  209. package/dist/_chunks/{timestamp-BLM-jjdw.js → timestamp-DmSt92P1.js} +30 -30
  210. package/dist/_chunks/timestamp-DmSt92P1.js.map +1 -0
  211. package/dist/_chunks/{toast-DSCqnDRl.js → toast-DllSITLf.js} +151 -151
  212. package/dist/_chunks/{toast-DSCqnDRl.js.map → toast-DllSITLf.js.map} +1 -1
  213. package/dist/_chunks/{tooltip-DF6WjD1r.js → tooltip-Dp3u8jGz.js} +30 -30
  214. package/dist/_chunks/tooltip-Dp3u8jGz.js.map +1 -0
  215. package/dist/_chunks/{tooth-scheme.agent-CFKl3iQr.js → tooth-scheme.agent-BRqxWa1D.js} +75 -75
  216. package/dist/_chunks/tooth-scheme.agent-BRqxWa1D.js.map +1 -0
  217. package/dist/_chunks/transcript-panel-Bg1BTMSr.js +265 -0
  218. package/dist/_chunks/transcript-panel-Bg1BTMSr.js.map +1 -0
  219. package/dist/_chunks/typing-indicator-BRg22Rqr.js +81 -0
  220. package/dist/_chunks/typing-indicator-BRg22Rqr.js.map +1 -0
  221. package/dist/_chunks/use-locale-BuXR_Zl9.js +32 -0
  222. package/dist/_chunks/use-locale-BuXR_Zl9.js.map +1 -0
  223. package/dist/_chunks/visually-hidden-Y3jcdCv-.js +21 -0
  224. package/dist/_chunks/visually-hidden-Y3jcdCv-.js.map +1 -0
  225. package/dist/_chunks/{warning-stack-Cyf_81SL.js → warning-stack-B9N9yWet.js} +38 -38
  226. package/dist/_chunks/warning-stack-B9N9yWet.js.map +1 -0
  227. package/dist/_chunks/{workflow-map-Uf-hHAO3.js → workflow-map-gBhL_Wrs.js} +385 -385
  228. package/dist/_chunks/workflow-map-gBhL_Wrs.js.map +1 -0
  229. package/dist/agent-catalog.json +1 -1
  230. package/dist/components/_shared/index.d.ts +2 -0
  231. package/dist/components/_shared/index.d.ts.map +1 -1
  232. package/dist/components/_shared/use-focus-trap.d.ts +32 -0
  233. package/dist/components/_shared/use-focus-trap.d.ts.map +1 -0
  234. package/dist/components/_shared/use-neutralize-hidden-focus.d.ts +3 -0
  235. package/dist/components/_shared/use-neutralize-hidden-focus.d.ts.map +1 -0
  236. package/dist/components/accordion/index.js +1 -1
  237. package/dist/components/agenda-card/index.js +1 -1
  238. package/dist/components/agenda-tray/index.js +1 -1
  239. package/dist/components/ai-prompt-input/index.js +1 -1
  240. package/dist/components/alert/index.js +1 -1
  241. package/dist/components/app-frame/index.js +1 -1
  242. package/dist/components/aspect-ratio/index.js +1 -1
  243. package/dist/components/audio-recorder/index.js +1 -1
  244. package/dist/components/audio-visualiser/index.js +1 -1
  245. package/dist/components/autocomplete/index.js +1 -1
  246. package/dist/components/avatar/index.js +1 -1
  247. package/dist/components/badge/index.js +1 -1
  248. package/dist/components/breadcrumb/index.js +1 -1
  249. package/dist/components/button/index.js +2 -2
  250. package/dist/components/button-group/index.js +1 -1
  251. package/dist/components/calendar/calendar.d.ts.map +1 -1
  252. package/dist/components/calendar/index.js +1 -1
  253. package/dist/components/card/index.js +1 -1
  254. package/dist/components/chart/chart.d.ts.map +1 -1
  255. package/dist/components/chart/index.js +1 -1
  256. package/dist/components/chat-container/index.js +1 -1
  257. package/dist/components/chat-input/index.js +1 -1
  258. package/dist/components/chat-message/index.js +1 -1
  259. package/dist/components/checkbox/index.js +1 -1
  260. package/dist/components/checkbox-group/index.js +1 -1
  261. package/dist/components/collapsible/index.js +1 -1
  262. package/dist/components/color-picker/index.js +1 -1
  263. package/dist/components/combobox/index.js +1 -1
  264. package/dist/components/command-palette/index.js +1 -1
  265. package/dist/components/data-table/index.js +1 -1
  266. package/dist/components/data-table/toolbar.d.ts.map +1 -1
  267. package/dist/components/date-picker/index.js +1 -1
  268. package/dist/components/date-range-picker/index.js +1 -1
  269. package/dist/components/date-time-picker/index.js +1 -1
  270. package/dist/components/description-list/index.js +1 -1
  271. package/dist/components/dialog/index.js +1 -1
  272. package/dist/components/dropdown-menu/index.js +1 -1
  273. package/dist/components/empty-state/index.js +1 -1
  274. package/dist/components/file-upload/index.js +1 -1
  275. package/dist/components/flag/index.js +1 -1
  276. package/dist/components/floating-action-button/index.js +1 -1
  277. package/dist/components/form-field/index.js +1 -1
  278. package/dist/components/freemium-paywall/index.js +1 -1
  279. package/dist/components/header/index.js +1 -1
  280. package/dist/components/icon-button/index.d.ts +3 -0
  281. package/dist/components/icon-button/index.d.ts.map +1 -0
  282. package/dist/components/icon-button/index.js +5 -0
  283. package/dist/components/icon-button/index.js.map +1 -0
  284. package/dist/components/icon-button-group/index.js +1 -1
  285. package/dist/components/index.d.ts +8 -2
  286. package/dist/components/index.d.ts.map +1 -1
  287. package/dist/components/kbd/index.js +1 -1
  288. package/dist/components/key-value-pair/index.js +1 -1
  289. package/dist/components/list/index.js +1 -1
  290. package/dist/components/live-region/index.d.ts +3 -0
  291. package/dist/components/live-region/index.d.ts.map +1 -0
  292. package/dist/components/live-region/index.js +5 -0
  293. package/dist/components/live-region/index.js.map +1 -0
  294. package/dist/components/live-region/live-region.d.ts +49 -0
  295. package/dist/components/live-region/live-region.d.ts.map +1 -0
  296. package/dist/components/logo/index.js +1 -1
  297. package/dist/components/matrix-rain/index.js +1 -1
  298. package/dist/components/message-card/index.js +1 -1
  299. package/dist/components/message-tray/index.js +1 -1
  300. package/dist/components/multi-select/index.js +1 -1
  301. package/dist/components/navigation-menu/index.d.ts +4 -2
  302. package/dist/components/navigation-menu/index.d.ts.map +1 -1
  303. package/dist/components/navigation-menu/index.js +3 -2
  304. package/dist/components/navigation-menu/index.js.map +1 -1
  305. package/dist/components/navigation-menu/navigation-menu.d.ts +2 -6
  306. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  307. package/dist/components/notification-card/index.js +1 -1
  308. package/dist/components/notification-tray/index.js +1 -1
  309. package/dist/components/number-input/index.js +1 -1
  310. package/dist/components/otp-input/index.js +1 -1
  311. package/dist/components/pagination/index.js +1 -1
  312. package/dist/components/password-input/index.js +1 -1
  313. package/dist/components/payment-form/index.js +1 -1
  314. package/dist/components/pdf-viewer/index.js +1 -1
  315. package/dist/components/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  316. package/dist/components/phone-input/index.js +1 -1
  317. package/dist/components/popover/index.js +1 -1
  318. package/dist/components/privacy-lock/index.js +1 -1
  319. package/dist/components/privacy-lock/privacy-lock.d.ts.map +1 -1
  320. package/dist/components/progress/index.js +1 -1
  321. package/dist/components/radio/index.d.ts +3 -0
  322. package/dist/components/radio/index.d.ts.map +1 -0
  323. package/dist/components/radio/index.js +5 -0
  324. package/dist/components/radio/index.js.map +1 -0
  325. package/dist/components/radio-group/index.js +4 -3
  326. package/dist/components/radio-group/index.js.map +1 -1
  327. package/dist/components/resizable/index.js +1 -1
  328. package/dist/components/rich-text-editor/index.js +1 -1
  329. package/dist/components/scroll-area/index.js +1 -1
  330. package/dist/components/search-bar/index.js +1 -1
  331. package/dist/components/search-input/index.js +1 -1
  332. package/dist/components/select/index.js +1 -1
  333. package/dist/components/separator/index.js +1 -1
  334. package/dist/components/sheet/index.js +1 -1
  335. package/dist/components/sidebar/index.js +1 -1
  336. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  337. package/dist/components/signature-capture/index.js +1 -1
  338. package/dist/components/skeleton/index.js +1 -1
  339. package/dist/components/skip-link/index.d.ts +2 -0
  340. package/dist/components/skip-link/index.d.ts.map +1 -0
  341. package/dist/components/skip-link/index.js +5 -0
  342. package/dist/components/skip-link/index.js.map +1 -0
  343. package/dist/components/skip-link/skip-link.d.ts +34 -0
  344. package/dist/components/skip-link/skip-link.d.ts.map +1 -0
  345. package/dist/components/slider/index.js +1 -1
  346. package/dist/components/slot-grid/index.js +1 -1
  347. package/dist/components/sparkline/index.js +1 -1
  348. package/dist/components/sparkline/sparkline.d.ts.map +1 -1
  349. package/dist/components/spinner/index.js +1 -1
  350. package/dist/components/stat/index.js +1 -1
  351. package/dist/components/stepper-accordion/index.js +1 -1
  352. package/dist/components/stepper-calendar/index.js +1 -1
  353. package/dist/components/stepper-progress/index.js +1 -1
  354. package/dist/components/streaming-text/index.js +1 -1
  355. package/dist/components/suggestion-chip/index.js +1 -1
  356. package/dist/components/switch/index.js +1 -1
  357. package/dist/components/tabs/index.js +1 -1
  358. package/dist/components/tag/index.js +1 -1
  359. package/dist/components/task-card/index.js +1 -1
  360. package/dist/components/task-tray/index.js +1 -1
  361. package/dist/components/text-area/index.js +1 -1
  362. package/dist/components/text-input/index.js +1 -1
  363. package/dist/components/theme-toggle/index.d.ts +3 -0
  364. package/dist/components/theme-toggle/index.d.ts.map +1 -0
  365. package/dist/components/theme-toggle/index.js +5 -0
  366. package/dist/components/theme-toggle/index.js.map +1 -0
  367. package/dist/components/theme-toggle/theme-toggle.d.ts +34 -0
  368. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -0
  369. package/dist/components/time-picker/index.js +1 -1
  370. package/dist/components/timeline/index.js +1 -1
  371. package/dist/components/timestamp/index.js +1 -1
  372. package/dist/components/toast/index.js +1 -1
  373. package/dist/components/tooltip/index.js +1 -1
  374. package/dist/components/tooth-scheme/index.js +1 -1
  375. package/dist/components/transcript-panel/index.js +1 -1
  376. package/dist/components/typing-indicator/index.js +1 -1
  377. package/dist/components/visually-hidden/index.d.ts +2 -0
  378. package/dist/components/visually-hidden/index.d.ts.map +1 -0
  379. package/dist/components/visually-hidden/index.js +5 -0
  380. package/dist/components/visually-hidden/index.js.map +1 -0
  381. package/dist/components/visually-hidden/visually-hidden.d.ts +11 -0
  382. package/dist/components/visually-hidden/visually-hidden.d.ts.map +1 -0
  383. package/dist/components/warning-stack/index.js +1 -1
  384. package/dist/components/workflow/index.js +1 -1
  385. package/dist/hooks/index.d.ts +3 -0
  386. package/dist/hooks/index.d.ts.map +1 -1
  387. package/dist/hooks/index.js +10 -7
  388. package/dist/hooks/index.js.map +1 -1
  389. package/dist/hooks/use-locale.d.ts +27 -0
  390. package/dist/hooks/use-locale.d.ts.map +1 -0
  391. package/dist/hooks/use-media-query.d.ts +17 -0
  392. package/dist/hooks/use-media-query.d.ts.map +1 -0
  393. package/dist/i18n/config.js +59 -2
  394. package/dist/i18n/config.js.map +1 -1
  395. package/dist/i18n/resources.d.ts +57 -0
  396. package/dist/i18n/resources.d.ts.map +1 -1
  397. package/dist/index.js +442 -431
  398. package/dist/index.js.map +1 -1
  399. package/dist/locales/de.json +19 -0
  400. package/dist/locales/en.json +19 -0
  401. package/dist/locales/it.json +19 -0
  402. package/dist/patterns/leo-assistant/index.js +1 -1
  403. package/dist/patterns/patient-shell/index.js +1 -1
  404. package/dist/tokens.css +2 -2
  405. package/package.json +4 -2
  406. package/dist/_chunks/accordion-Dgcd38U_.js +0 -117
  407. package/dist/_chunks/accordion-Dgcd38U_.js.map +0 -1
  408. package/dist/_chunks/agenda-card-B2gq-gTq.js +0 -130
  409. package/dist/_chunks/agenda-card-B2gq-gTq.js.map +0 -1
  410. package/dist/_chunks/agenda-tray-twa8g_87.js +0 -119
  411. package/dist/_chunks/agenda-tray-twa8g_87.js.map +0 -1
  412. package/dist/_chunks/ai-prompt-input-C6IY_Eds.js +0 -379
  413. package/dist/_chunks/ai-prompt-input-C6IY_Eds.js.map +0 -1
  414. package/dist/_chunks/alert-C5ud6CfE.js.map +0 -1
  415. package/dist/_chunks/apexcharts-theme-cpBYmCcr.js +0 -17
  416. package/dist/_chunks/apexcharts-theme-cpBYmCcr.js.map +0 -1
  417. package/dist/_chunks/app-frame-CmIUp9BD.js.map +0 -1
  418. package/dist/_chunks/aspect-ratio-Bo3cZXmR.js +0 -56
  419. package/dist/_chunks/aspect-ratio-Bo3cZXmR.js.map +0 -1
  420. package/dist/_chunks/audio-recorder-GkGNtW2X.js.map +0 -1
  421. package/dist/_chunks/audio-visualiser-CIO3yy23.js.map +0 -1
  422. package/dist/_chunks/autocomplete.agent-kb0nmr6F.js.map +0 -1
  423. package/dist/_chunks/avatar-BsV7vRA6.js.map +0 -1
  424. package/dist/_chunks/badge--CmSr7ok.js +0 -104
  425. package/dist/_chunks/badge--CmSr7ok.js.map +0 -1
  426. package/dist/_chunks/balance-cell-renderer-BQwN51rT.js.map +0 -1
  427. package/dist/_chunks/breadcrumb-DnO6eHSS.js.map +0 -1
  428. package/dist/_chunks/button-CXL8bA8G.js +0 -119
  429. package/dist/_chunks/button-CXL8bA8G.js.map +0 -1
  430. package/dist/_chunks/button-group-CI7LFxt3.js.map +0 -1
  431. package/dist/_chunks/calendar-BIXVzhkL.js.map +0 -1
  432. package/dist/_chunks/card-n97MNPP2.js +0 -158
  433. package/dist/_chunks/card-n97MNPP2.js.map +0 -1
  434. package/dist/_chunks/chart.agent-DkmVXNsI.js.map +0 -1
  435. package/dist/_chunks/chat-container-SR3UWxbL.js +0 -174
  436. package/dist/_chunks/chat-container-SR3UWxbL.js.map +0 -1
  437. package/dist/_chunks/chat-input-aphxDjZL.js.map +0 -1
  438. package/dist/_chunks/chat-message-CdJSD18D.js.map +0 -1
  439. package/dist/_chunks/checkbox-CfiZ0FZc.js +0 -116
  440. package/dist/_chunks/checkbox-CfiZ0FZc.js.map +0 -1
  441. package/dist/_chunks/checkbox-group-D1aqVI0-.js.map +0 -1
  442. package/dist/_chunks/collapsible-jBFm7Ah8.js.map +0 -1
  443. package/dist/_chunks/color-picker-CiotzQJF.js.map +0 -1
  444. package/dist/_chunks/combobox.agent-B6RwDSct.js.map +0 -1
  445. package/dist/_chunks/command-palette.agent-B87_OkmC.js.map +0 -1
  446. package/dist/_chunks/date-time-picker-CX_FMsLG.js.map +0 -1
  447. package/dist/_chunks/description-list-C5UPZgX6.js +0 -187
  448. package/dist/_chunks/description-list-C5UPZgX6.js.map +0 -1
  449. package/dist/_chunks/dialog.agent-B276rAQF.js.map +0 -1
  450. package/dist/_chunks/dropdown-menu-CJKvK7VG.js +0 -210
  451. package/dist/_chunks/dropdown-menu-CJKvK7VG.js.map +0 -1
  452. package/dist/_chunks/empty-state-DiG7vYBM.js.map +0 -1
  453. package/dist/_chunks/file-upload.agent-BMow5yDY.js.map +0 -1
  454. package/dist/_chunks/floating-action-button-BM9ib-Wf.js +0 -95
  455. package/dist/_chunks/floating-action-button-BM9ib-Wf.js.map +0 -1
  456. package/dist/_chunks/form-field-B4bwrccN.js +0 -121
  457. package/dist/_chunks/form-field-B4bwrccN.js.map +0 -1
  458. package/dist/_chunks/freemium-paywall-DVyNsQHS.js +0 -197
  459. package/dist/_chunks/freemium-paywall-DVyNsQHS.js.map +0 -1
  460. package/dist/_chunks/header-BpKaSL_v.js.map +0 -1
  461. package/dist/_chunks/icon-button-C1vpylg3.js +0 -45
  462. package/dist/_chunks/icon-button-C1vpylg3.js.map +0 -1
  463. package/dist/_chunks/icon-button-group-tERESY-n.js.map +0 -1
  464. package/dist/_chunks/kbd-0iPlQjgC.js.map +0 -1
  465. package/dist/_chunks/key-value-pair--Je59tAF.js.map +0 -1
  466. package/dist/_chunks/leo-sidebar-9A9AWBxX.js +0 -755
  467. package/dist/_chunks/leo-sidebar-9A9AWBxX.js.map +0 -1
  468. package/dist/_chunks/list-n8vI8Yvn.js.map +0 -1
  469. package/dist/_chunks/logo-UNWYb9p7.js.map +0 -1
  470. package/dist/_chunks/matrix-rain-Q7xTEpKu.js.map +0 -1
  471. package/dist/_chunks/message-card-g5VS5Q80.js +0 -275
  472. package/dist/_chunks/message-card-g5VS5Q80.js.map +0 -1
  473. package/dist/_chunks/message-tray-CAk-iibU.js +0 -302
  474. package/dist/_chunks/message-tray-CAk-iibU.js.map +0 -1
  475. package/dist/_chunks/multi-select.agent-Cf4pU636.js.map +0 -1
  476. package/dist/_chunks/navigation-menu-DBDsAmXc.js.map +0 -1
  477. package/dist/_chunks/notification-card-CQxJporb.js +0 -255
  478. package/dist/_chunks/notification-card-CQxJporb.js.map +0 -1
  479. package/dist/_chunks/notification-tray-CNWPuPZp.js.map +0 -1
  480. package/dist/_chunks/number-input-B1Th0DdC.js.map +0 -1
  481. package/dist/_chunks/otp-input-CmoBuZ4K.js.map +0 -1
  482. package/dist/_chunks/pagination.agent-B5KLDCMN.js.map +0 -1
  483. package/dist/_chunks/password-input-DnjNh-hQ.js.map +0 -1
  484. package/dist/_chunks/payment-form-Cf7U6r5L.js.map +0 -1
  485. package/dist/_chunks/pdf-viewer.agent-DXjgDItg.js.map +0 -1
  486. package/dist/_chunks/phone-input-C2dtIuxW.js.map +0 -1
  487. package/dist/_chunks/popover-D1woU9mP.js.map +0 -1
  488. package/dist/_chunks/privacy-lock-C1X42Sit.js.map +0 -1
  489. package/dist/_chunks/progress-DL3-izuO.js.map +0 -1
  490. package/dist/_chunks/radio-group-CXN9qNPe.js +0 -185
  491. package/dist/_chunks/radio-group-CXN9qNPe.js.map +0 -1
  492. package/dist/_chunks/resizable.agent-DVk_jJur.js.map +0 -1
  493. package/dist/_chunks/rich-text-editor.agent-BOjF4Xao.js.map +0 -1
  494. package/dist/_chunks/scroll-area-DXn-YWHY.js +0 -144
  495. package/dist/_chunks/scroll-area-DXn-YWHY.js.map +0 -1
  496. package/dist/_chunks/search-bar-DgSOAajC.js.map +0 -1
  497. package/dist/_chunks/search-input-D4tC_Prn.js +0 -197
  498. package/dist/_chunks/search-input-D4tC_Prn.js.map +0 -1
  499. package/dist/_chunks/select-B4m4upMg.js +0 -320
  500. package/dist/_chunks/select-B4m4upMg.js.map +0 -1
  501. package/dist/_chunks/separator-DExI4amU.js.map +0 -1
  502. package/dist/_chunks/sheet-D6XOx0fK.js +0 -188
  503. package/dist/_chunks/sheet-D6XOx0fK.js.map +0 -1
  504. package/dist/_chunks/sidebar-r645O-k9.js +0 -1076
  505. package/dist/_chunks/sidebar-r645O-k9.js.map +0 -1
  506. package/dist/_chunks/signature-capture.agent-L_1_-zVR.js.map +0 -1
  507. package/dist/_chunks/skeleton-vbTWUntB.js +0 -95
  508. package/dist/_chunks/skeleton-vbTWUntB.js.map +0 -1
  509. package/dist/_chunks/slider-B3DBwmcm.js +0 -273
  510. package/dist/_chunks/slider-B3DBwmcm.js.map +0 -1
  511. package/dist/_chunks/slot-grid-DL_Tuj0p.js +0 -491
  512. package/dist/_chunks/slot-grid-DL_Tuj0p.js.map +0 -1
  513. package/dist/_chunks/sparkline.agent-BDTXzTy9.js.map +0 -1
  514. package/dist/_chunks/spinner-77xUGpuX.js.map +0 -1
  515. package/dist/_chunks/stat-CrumvZWf.js +0 -208
  516. package/dist/_chunks/stat-CrumvZWf.js.map +0 -1
  517. package/dist/_chunks/stepper-accordion-BkvqQWPI.js.map +0 -1
  518. package/dist/_chunks/stepper-calendar-BQMjrwzo.js.map +0 -1
  519. package/dist/_chunks/stepper-progress-Bwfl-0rV.js +0 -128
  520. package/dist/_chunks/stepper-progress-Bwfl-0rV.js.map +0 -1
  521. package/dist/_chunks/streaming-text-Cu9YQe_1.js +0 -104
  522. package/dist/_chunks/streaming-text-Cu9YQe_1.js.map +0 -1
  523. package/dist/_chunks/suggestion-chip-XkxDJiPW.js +0 -157
  524. package/dist/_chunks/suggestion-chip-XkxDJiPW.js.map +0 -1
  525. package/dist/_chunks/switch-DyC0ThNT.js +0 -137
  526. package/dist/_chunks/switch-DyC0ThNT.js.map +0 -1
  527. package/dist/_chunks/tabs.agent-FsGU3sZL.js.map +0 -1
  528. package/dist/_chunks/tag-BucAvfTX.js +0 -194
  529. package/dist/_chunks/tag-BucAvfTX.js.map +0 -1
  530. package/dist/_chunks/task-card-uxjApfcg.js +0 -112
  531. package/dist/_chunks/task-card-uxjApfcg.js.map +0 -1
  532. package/dist/_chunks/task-tray-BdfM3p8N.js +0 -99
  533. package/dist/_chunks/task-tray-BdfM3p8N.js.map +0 -1
  534. package/dist/_chunks/text-area-CKxZ7cS3.js +0 -152
  535. package/dist/_chunks/text-area-CKxZ7cS3.js.map +0 -1
  536. package/dist/_chunks/text-input-D16CcMlL.js +0 -187
  537. package/dist/_chunks/text-input-D16CcMlL.js.map +0 -1
  538. package/dist/_chunks/time-picker-BapZq0OY.js.map +0 -1
  539. package/dist/_chunks/timeline-D3VOf4RT.js +0 -219
  540. package/dist/_chunks/timeline-D3VOf4RT.js.map +0 -1
  541. package/dist/_chunks/timestamp-BLM-jjdw.js.map +0 -1
  542. package/dist/_chunks/tooltip-DF6WjD1r.js.map +0 -1
  543. package/dist/_chunks/tooth-scheme.agent-CFKl3iQr.js.map +0 -1
  544. package/dist/_chunks/transcript-panel-aI14fHYA.js +0 -265
  545. package/dist/_chunks/transcript-panel-aI14fHYA.js.map +0 -1
  546. package/dist/_chunks/typing-indicator-BTVDEpnd.js +0 -81
  547. package/dist/_chunks/typing-indicator-BTVDEpnd.js.map +0 -1
  548. package/dist/_chunks/warning-stack-Cyf_81SL.js.map +0 -1
  549. package/dist/_chunks/workflow-map-Uf-hHAO3.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { jsxs as C, jsx as a } from "react/jsx-runtime";
1
+ import { jsxs as C, jsx as t } from "react/jsx-runtime";
2
2
  import { forwardRef as y, useRef as j, useState as w, useEffect as A, useLayoutEffect as I } from "react";
3
3
  import { c as N } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as E } from "react-i18next";
5
5
  import { c as B } from "./compose-refs-C0k0tdqF.js";
6
- function R(o) {
6
+ function R(s) {
7
7
  let e = 5381;
8
- for (let r = 0; r < o.length; r++)
9
- e = (e << 5) + e ^ o.charCodeAt(r), e = e >>> 0;
8
+ for (let o = 0; o < s.length; o++)
9
+ e = (e << 5) + e ^ s.charCodeAt(o), e = e >>> 0;
10
10
  return e;
11
11
  }
12
12
  const n = [
@@ -27,75 +27,75 @@ const n = [
27
27
  "bg-[var(--color-blue-700)]",
28
28
  "bg-[var(--color-grey-900)]"
29
29
  ];
30
- function S(o) {
31
- return n[R(o) % n.length];
30
+ function S(s) {
31
+ return n[R(s) % n.length];
32
32
  }
33
- function L(o) {
34
- const e = o.trim().split(/\s+/).filter(Boolean);
33
+ function L(s) {
34
+ const e = s.trim().split(/\s+/).filter(Boolean);
35
35
  return e.length === 0 ? "" : e.length === 1 ? e[0].slice(0, 2).toUpperCase() : (e[0][0] + e[e.length - 1][0]).toUpperCase();
36
36
  }
37
37
  const T = N(
38
38
  [
39
- "relative inline-flex shrink-0 select-none items-center justify-center overflow-hidden rounded-[var(--radius-full)]",
39
+ "ds:relative ds:inline-flex ds:shrink-0 ds:select-none ds:items-center ds:justify-center ds:overflow-hidden ds:rounded-[var(--radius-full)]",
40
40
  // Focus ring — uses design-system tokens so theme overrides (accessible: 3px) apply automatically.
41
41
  // The ring renders when Avatar is placed inside a focusable ancestor (e.g. a <button>).
42
- "focus-visible:outline-solid",
43
- "focus-visible:outline-[length:var(--focus-ring-width)]",
44
- "focus-visible:outline-ring",
45
- "focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
42
+ "ds:focus-visible:outline-solid",
43
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)]",
44
+ "ds:focus-visible:outline-ring",
45
+ "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
46
46
  ].join(" "),
47
47
  {
48
48
  variants: {
49
49
  size: {
50
50
  // text-[var(--font-size-xs)] = 0.75rem (12px) — smallest available token
51
- xs: "size-6 text-[var(--font-size-xs)] font-semibold leading-none",
52
- sm: "size-8 text-[var(--font-size-xs)] font-semibold leading-none",
53
- md: "size-10 text-[var(--font-size-xs)] font-semibold leading-none",
54
- lg: "size-12 text-[var(--font-size-sm)] font-semibold leading-none",
55
- xl: "size-16 text-[var(--font-size-base)] font-semibold leading-none"
51
+ xs: "ds:size-6 ds:text-[var(--font-size-xs)] ds:font-semibold ds:leading-none",
52
+ sm: "ds:size-8 ds:text-[var(--font-size-xs)] ds:font-semibold ds:leading-none",
53
+ md: "ds:size-10 ds:text-[var(--font-size-xs)] ds:font-semibold ds:leading-none",
54
+ lg: "ds:size-12 ds:text-[var(--font-size-sm)] ds:font-semibold ds:leading-none",
55
+ xl: "ds:size-16 ds:text-[var(--font-size-base)] ds:font-semibold ds:leading-none"
56
56
  }
57
57
  },
58
58
  defaultVariants: { size: "md" }
59
59
  }
60
60
  ), U = y(
61
- ({ src: o, name: e, color: r, size: c, className: f, ...v }, u) => {
62
- const { t: g } = E(), l = j(null), d = B(u, l), [b, i] = w(!1);
61
+ ({ src: s, name: e, color: o, size: d, className: c, ...f }, v) => {
62
+ const { t: u } = E(), l = j(null), g = B(v, l), [b, i] = w(!1);
63
63
  A(() => {
64
64
  i(!1);
65
- }, [o]), I(() => {
66
- const s = l.current;
67
- s && (r ? s.style.setProperty("--avatar-color-override", r) : s.style.removeProperty("--avatar-color-override"));
68
- }, [r]);
69
- const t = !!o && !b, m = !t && !!e, p = !t && !e, h = r ? "bg-[var(--avatar-color-override)]" : e ? S(e) : "bg-muted", x = T({
70
- size: c,
71
- className: [h, r || e ? "text-[var(--primary-foreground)]" : "text-muted-foreground", f].filter(Boolean).join(" ")
72
- }), z = e ?? g("ui.avatar.placeholder", "User avatar");
65
+ }, [s]), I(() => {
66
+ const a = l.current;
67
+ a && (o ? a.style.setProperty("--avatar-color-override", o) : a.style.removeProperty("--avatar-color-override"));
68
+ }, [o]);
69
+ const r = !!s && !b, m = !r && !!e, p = !r && !e, h = o ? "bg-[var(--avatar-color-override)]" : e ? S(e) : "bg-muted", x = T({
70
+ size: d,
71
+ className: [h, o || e ? "text-[var(--primary-foreground)]" : "text-muted-foreground", c].filter(Boolean).join(" ")
72
+ }), z = e ?? u("ui.avatar.placeholder", "User avatar");
73
73
  return /* @__PURE__ */ C(
74
74
  "span",
75
75
  {
76
- ref: d,
76
+ ref: g,
77
77
  role: "img",
78
78
  "aria-label": z,
79
79
  className: x,
80
- ...v,
80
+ ...f,
81
81
  children: [
82
- (m || t) && !!e && /* @__PURE__ */ a("span", { "aria-hidden": "true", children: L(e) }),
83
- p && /* @__PURE__ */ a(
82
+ (m || r) && !!e && /* @__PURE__ */ t("span", { "aria-hidden": "true", children: L(e) }),
83
+ p && /* @__PURE__ */ t(
84
84
  "svg",
85
85
  {
86
86
  "aria-hidden": "true",
87
87
  viewBox: "0 0 24 24",
88
- className: "size-[58%] fill-current",
89
- children: /* @__PURE__ */ a("path", { d: "M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v2h20v-2c0-3.33-6.67-5-10-5z" })
88
+ className: "ds:size-[58%] ds:fill-current",
89
+ children: /* @__PURE__ */ t("path", { d: "M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v2h20v-2c0-3.33-6.67-5-10-5z" })
90
90
  }
91
91
  ),
92
- t && /* @__PURE__ */ a(
92
+ r && /* @__PURE__ */ t(
93
93
  "img",
94
94
  {
95
- src: o,
95
+ src: s,
96
96
  alt: "",
97
97
  "aria-hidden": "true",
98
- className: "absolute inset-0 size-full object-cover",
98
+ className: "ds:absolute ds:inset-0 ds:size-full ds:object-cover",
99
99
  onError: () => i(!0)
100
100
  }
101
101
  )
@@ -110,4 +110,4 @@ export {
110
110
  L as g,
111
111
  S as n
112
112
  };
113
- //# sourceMappingURL=avatar-BsV7vRA6.js.map
113
+ //# sourceMappingURL=avatar-BAhxbDEu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-BAhxbDEu.js","sources":["../../src/components/avatar/avatar.tsx"],"sourcesContent":["import { forwardRef, useEffect, useLayoutEffect, useRef, useState, type HTMLAttributes } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { composeRefs } from '../_shared/compose-refs';\n\n// ── Hash ──────────────────────────────────────────────────────────────────────\n\n/** djb2 hash — fast, unsigned 32-bit, stable across calls. */\nfunction djb2(str: string): number {\n let hash = 5381;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) + hash) ^ str.charCodeAt(i);\n hash = hash >>> 0; // coerce to unsigned 32-bit integer\n }\n return hash;\n}\n\n/**\n * 16 brand hues — all verified ≥ 4.5 : 1 contrast against white\n * (var(--primary-foreground)) using the WCAG 2.x relative-luminance formula.\n * Spans four distinct hue families for good visual distribution.\n *\n * Index | Token | Contrast | Visual character\n * 0 | --color-violet-500 | 4.74 : 1 | bright violet\n * 1 | --color-violet-600 | 5.53 : 1 | medium violet\n * 2 | --color-violet-700 | 7.29 : 1 | dark violet\n * 3 | --color-violet-800 | 9.57 : 1 | deep violet\n * 4 | --color-violet-900 | 12.06 : 1 | midnight violet\n * 5 | --color-purple-700 | 5.21 : 1 | medium purple\n * 6 | --color-purple-800 | 7.52 : 1 | dark purple\n * 7 | --color-purple-900 | 10.40 : 1 | deep purple\n * 8 | --color-magenta-700 | 6.01 : 1 | vivid magenta\n * 9 | --color-magenta-800 | 8.05 : 1 | dark magenta\n * 10 | --color-magenta-900 | 11.20 : 1 | deep magenta\n * 11 | --color-blue-300 | 4.64 : 1 | slate / steel blue\n * 12 | --color-blue-400 | 6.95 : 1 | medium slate\n * 13 | --color-blue-500 | 13.00 : 1 | deep navy\n * 14 | --color-blue-700 | 17.82 : 1 | midnight navy\n * 15 | --color-grey-900 | 5.78 : 1 | warm charcoal\n */\nconst INITIALS_BG_CLASSES = [\n 'bg-[var(--color-violet-500)]',\n 'bg-[var(--color-violet-600)]',\n 'bg-[var(--color-violet-700)]',\n 'bg-[var(--color-violet-800)]',\n 'bg-[var(--color-violet-900)]',\n 'bg-[var(--color-purple-700)]',\n 'bg-[var(--color-purple-800)]',\n 'bg-[var(--color-purple-900)]',\n 'bg-[var(--color-magenta-700)]',\n 'bg-[var(--color-magenta-800)]',\n 'bg-[var(--color-magenta-900)]',\n 'bg-[var(--color-blue-300)]',\n 'bg-[var(--color-blue-400)]',\n 'bg-[var(--color-blue-500)]',\n 'bg-[var(--color-blue-700)]',\n 'bg-[var(--color-grey-900)]',\n] as const;\n\n/** Deterministically maps a name string to one of 16 brand-hue Tailwind classes. Same name always produces the same class. */\nexport function nameToColorClass(name: string): string {\n return INITIALS_BG_CLASSES[djb2(name) % INITIALS_BG_CLASSES.length];\n}\n\n/**\n * Extracts 1–2 uppercase initials:\n * - Single-word name: first two characters (\"John\" → \"JO\")\n * - Multi-word name: first char of first word + first char of last word (\"John Doe\" → \"JD\")\n */\nexport function getInitials(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean);\n if (words.length === 0) return '';\n if (words.length === 1) return words[0].slice(0, 2).toUpperCase();\n return (words[0][0] + words[words.length - 1][0]).toUpperCase();\n}\n\n// ── CVA ───────────────────────────────────────────────────────────────────────\n\nconst avatarVariants = cva(\n [\n 'ds:relative ds:inline-flex ds:shrink-0 ds:select-none ds:items-center ds:justify-center ds:overflow-hidden ds:rounded-[var(--radius-full)]',\n // Focus ring — uses design-system tokens so theme overrides (accessible: 3px) apply automatically.\n // The ring renders when Avatar is placed inside a focusable ancestor (e.g. a <button>).\n 'ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-ring',\n 'ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n ].join(' '),\n {\n variants: {\n size: {\n // text-[var(--font-size-xs)] = 0.75rem (12px) — smallest available token\n xs: 'ds:size-6 ds:text-[var(--font-size-xs)] ds:font-semibold ds:leading-none',\n sm: 'ds:size-8 ds:text-[var(--font-size-xs)] ds:font-semibold ds:leading-none',\n md: 'ds:size-10 ds:text-[var(--font-size-xs)] ds:font-semibold ds:leading-none',\n lg: 'ds:size-12 ds:text-[var(--font-size-sm)] ds:font-semibold ds:leading-none',\n xl: 'ds:size-16 ds:text-[var(--font-size-base)] ds:font-semibold ds:leading-none',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n// ── Props ─────────────────────────────────────────────────────────────────────\n\nexport interface AvatarProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'>,\n VariantProps<typeof avatarVariants> {\n /** Image source URL. When provided and loads successfully, the image is displayed. */\n src?: string;\n /** Display name — drives initials extraction and deterministic background colour. */\n name?: string;\n /**\n * Override the auto-generated background with any CSS colour string\n * (e.g. `\"var(--color-violet-700)\"`).\n * Applied via a CSS custom property so no `style` attribute is added to the JSX element.\n * Caller is responsible for WCAG AA contrast (≥4.5:1) against white text.\n */\n color?: string;\n}\n\n// ── Component ─────────────────────────────────────────────────────────────────\n\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ src, name, color, size, className, ...props }, ref) => {\n const { t } = useTranslation();\n\n const innerRef = useRef<HTMLSpanElement>(null);\n const composedRef = composeRefs(ref, innerRef);\n\n // Track only image errors. The image renders immediately as an overlay;\n // before it loads the browser paints nothing (transparent), showing the\n // background colour + initials behind it. On error we remove the img and\n // the initials/fallback remain permanently visible.\n const [imgError, setImgError] = useState(false);\n\n // Reset error flag whenever src changes\n useEffect(() => {\n setImgError(false);\n }, [src]);\n\n // Apply color override via CSS custom property — avoids style={{…}} on JSX.\n // Mirrors the pattern used by the Progress component for imperative CSS property injection.\n useLayoutEffect(() => {\n const el = innerRef.current;\n if (!el) return;\n if (color) {\n el.style.setProperty('--avatar-color-override', color);\n } else {\n el.style.removeProperty('--avatar-color-override');\n }\n }, [color]);\n\n // Image is \"active\" when provided and not errored\n const imgActive = !!src && !imgError;\n\n // Initials and fallback icon are shown when no usable image\n const showInitials = !imgActive && !!name;\n const showIcon = !imgActive && !name;\n\n // Background — always rendered (serves as loading placeholder when image is fetching)\n const fallbackBgClass = color\n ? 'bg-[var(--avatar-color-override)]'\n : name\n ? nameToColorClass(name)\n : 'bg-muted';\n\n // Always white text against brand hues / color override; muted-foreground for icon\n const contentColorClass =\n color || name\n ? 'text-[var(--primary-foreground)]'\n : 'text-muted-foreground';\n\n const rootClassName = avatarVariants({\n size,\n className: [fallbackBgClass, contentColorClass, className]\n .filter(Boolean)\n .join(' '),\n });\n\n // Accessible label — name takes priority, then the localised placeholder\n const ariaLabel = name ?? t('ui.avatar.placeholder', 'User avatar');\n\n return (\n <span\n ref={composedRef}\n role=\"img\"\n aria-label={ariaLabel}\n className={rootClassName}\n {...props}\n >\n {/* Initials — rendered behind the image; visible while image is loading\n or permanently when no src / src errors */}\n {(showInitials || imgActive) && !!name && (\n <span aria-hidden=\"true\">{getInitials(name)}</span>\n )}\n\n {/* Fallback icon — shown when neither image nor name is available */}\n {showIcon && (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n className=\"ds:size-[58%] ds:fill-current\"\n >\n <path d=\"M12 12c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm0 2c-3.33 0-10 1.67-10 5v2h20v-2c0-3.33-6.67-5-10-5z\" />\n </svg>\n )}\n\n {/* Image — absolutely positioned overlay. Renders transparently until the\n browser paints the decoded pixels, then covers the initials behind it.\n Removed from DOM on error so initials remain permanently visible. */}\n {imgActive && (\n <img\n src={src}\n alt=\"\"\n aria-hidden=\"true\"\n className=\"ds:absolute ds:inset-0 ds:size-full ds:object-cover\"\n onError={() => setImgError(true)}\n />\n )}\n </span>\n );\n },\n);\n\nAvatar.displayName = 'Avatar';\n"],"names":["djb2","str","hash","i","INITIALS_BG_CLASSES","nameToColorClass","name","getInitials","words","avatarVariants","cva","Avatar","forwardRef","src","color","size","className","props","ref","t","useTranslation","innerRef","useRef","composedRef","composeRefs","imgError","setImgError","useState","useEffect","useLayoutEffect","el","imgActive","showInitials","showIcon","fallbackBgClass","rootClassName","ariaLabel","jsxs","jsx"],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { jsxs as u, jsx as e, Fragment as x } from "react/jsx-runtime";
2
+ import { forwardRef as w } from "react";
3
+ import { c as a } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as h } from "react-i18next";
5
+ import { T as y } from "./tooltip-Dp3u8jGz.js";
6
+ const z = a(
7
+ [
8
+ "ds:inline-flex ds:items-center ds:gap-1",
9
+ // Typography comes from the eyebrow role: Medium 500 + uppercase + expanded tracking.
10
+ // CVA size variants below override just `--type-eyebrow-size` so weight/transform/
11
+ // tracking/line-height stay role-owned — same chip-family pattern as Tag.
12
+ "type-eyebrow",
13
+ "ds:whitespace-nowrap",
14
+ "ds:focus-visible:outline-none",
15
+ "ds:focus-visible:ring-[length:var(--focus-ring-width)]",
16
+ "ds:focus-visible:ring-[color:var(--ring)]",
17
+ "ds:focus-visible:ring-offset-[length:var(--focus-ring-offset)]"
18
+ ].join(" "),
19
+ {
20
+ variants: {
21
+ variant: {
22
+ neutral: "ds:bg-muted/20 ds:text-muted-foreground",
23
+ info: "ds:bg-info/15 ds:text-[var(--info-foreground)]",
24
+ success: "ds:bg-success/15 ds:text-[var(--success-foreground)]",
25
+ warning: "ds:bg-warning/15 ds:text-[var(--warning-foreground)]",
26
+ error: "ds:bg-destructive/15 ds:text-[var(--error-foreground)]"
27
+ },
28
+ size: {
29
+ sm: "ds:h-4 ds:ps-1 ds:pe-1 ds:[--type-eyebrow-size:var(--font-size-2xs)]",
30
+ md: "ds:h-5 ds:ps-1.5 ds:pe-1.5 ds:[--type-eyebrow-size:var(--font-size-2xs)]",
31
+ lg: "ds:h-6 ds:ps-2 ds:pe-2 ds:[--type-eyebrow-size:var(--font-size-xs)]"
32
+ },
33
+ shape: {
34
+ pill: "ds:rounded-[var(--radius-full)]",
35
+ rectangular: "ds:rounded-[var(--radius-sm)]"
36
+ }
37
+ },
38
+ defaultVariants: {
39
+ variant: "neutral",
40
+ size: "md",
41
+ shape: "pill"
42
+ }
43
+ }
44
+ ), N = a("ds:text-[var(--font-size-dot)] ds:leading-none ds:shrink-0", {
45
+ variants: {
46
+ variant: {
47
+ neutral: "ds:text-muted-foreground",
48
+ info: "ds:text-info",
49
+ success: "ds:text-success",
50
+ warning: "ds:text-warning",
51
+ error: "ds:text-destructive"
52
+ }
53
+ },
54
+ defaultVariants: { variant: "neutral" }
55
+ }), V = a("ds:shrink-0 ds:[&>svg]:block", {
56
+ variants: {
57
+ size: {
58
+ // Icons shrink with the compact Badge scale: sm badge is 16 px tall, so
59
+ // a 10 px glyph leaves room for the 1 px internal padding.
60
+ sm: "ds:[&>svg]:size-2.5",
61
+ md: "ds:[&>svg]:size-3",
62
+ lg: "ds:[&>svg]:size-3.5"
63
+ }
64
+ },
65
+ defaultVariants: { size: "md" }
66
+ }), j = w(
67
+ ({
68
+ variant: t = "neutral",
69
+ size: n = "md",
70
+ shape: f = "pill",
71
+ leading: d,
72
+ withDot: c = !1,
73
+ truncate: i = !1,
74
+ className: g,
75
+ children: s,
76
+ "aria-label": o,
77
+ ...p
78
+ }, v) => {
79
+ const { t: m } = h(), r = !s && !!o, b = typeof s == "number", l = /* @__PURE__ */ u(
80
+ "span",
81
+ {
82
+ ref: v,
83
+ className: z({ variant: t, size: n, shape: f, className: g }),
84
+ role: r ? "img" : void 0,
85
+ "aria-label": r ? o : void 0,
86
+ ...p,
87
+ children: [
88
+ c && /* @__PURE__ */ e("span", { "aria-hidden": "true", className: N({ variant: t }), children: "●" }),
89
+ d && /* @__PURE__ */ e("span", { "aria-hidden": "true", className: V({ size: n }), children: d }),
90
+ !r && (b ? /* @__PURE__ */ u(x, { children: [
91
+ /* @__PURE__ */ e("span", { "aria-hidden": "true", children: s }),
92
+ /* @__PURE__ */ e("span", { className: "ds:sr-only", children: m("ui.badge.notifications", { count: s }) })
93
+ ] }) : i ? /* @__PURE__ */ e("span", { className: "ds:max-w-[var(--badge-truncate-max-width)] ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap", children: s }) : s)
94
+ ]
95
+ }
96
+ );
97
+ return i && typeof s == "string" ? /* @__PURE__ */ e(y, { label: s, children: l }) : l;
98
+ }
99
+ );
100
+ j.displayName = "Badge";
101
+ export {
102
+ j as B
103
+ };
104
+ //# sourceMappingURL=badge-zDghajh8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge-zDghajh8.js","sources":["../../src/components/badge/badge.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Tooltip } from '../tooltip';\n\n/* ------------------------------------------------------------------ */\n/* CVA — badge root */\n/* ------------------------------------------------------------------ */\n\nconst badgeVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:gap-1',\n // Typography comes from the eyebrow role: Medium 500 + uppercase + expanded tracking.\n // CVA size variants below override just `--type-eyebrow-size` so weight/transform/\n // tracking/line-height stay role-owned — same chip-family pattern as Tag.\n 'type-eyebrow',\n 'ds:whitespace-nowrap',\n 'ds:focus-visible:outline-none',\n 'ds:focus-visible:ring-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:ring-[color:var(--ring)]',\n 'ds:focus-visible:ring-offset-[length:var(--focus-ring-offset)]',\n ].join(' '),\n {\n variants: {\n variant: {\n neutral: 'ds:bg-muted/20 ds:text-muted-foreground',\n info: 'ds:bg-info/15 ds:text-[var(--info-foreground)]',\n success: 'ds:bg-success/15 ds:text-[var(--success-foreground)]',\n warning: 'ds:bg-warning/15 ds:text-[var(--warning-foreground)]',\n error: 'ds:bg-destructive/15 ds:text-[var(--error-foreground)]',\n },\n size: {\n sm: 'ds:h-4 ds:ps-1 ds:pe-1 ds:[--type-eyebrow-size:var(--font-size-2xs)]',\n md: 'ds:h-5 ds:ps-1.5 ds:pe-1.5 ds:[--type-eyebrow-size:var(--font-size-2xs)]',\n lg: 'ds:h-6 ds:ps-2 ds:pe-2 ds:[--type-eyebrow-size:var(--font-size-xs)]',\n },\n shape: {\n pill: 'ds:rounded-[var(--radius-full)]',\n rectangular: 'ds:rounded-[var(--radius-sm)]',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'md',\n shape: 'pill',\n },\n },\n);\n\n/* ------------------------------------------------------------------ */\n/* CVA — leading dot */\n/* ------------------------------------------------------------------ */\n\nconst dotVariants = cva('ds:text-[var(--font-size-dot)] ds:leading-none ds:shrink-0', {\n variants: {\n variant: {\n neutral: 'ds:text-muted-foreground',\n info: 'ds:text-info',\n success: 'ds:text-success',\n warning: 'ds:text-warning',\n error: 'ds:text-destructive',\n },\n },\n defaultVariants: { variant: 'neutral' },\n});\n\n/* ------------------------------------------------------------------ */\n/* CVA — leading icon wrapper */\n/* ------------------------------------------------------------------ */\n\nconst iconWrapperVariants = cva('ds:shrink-0 ds:[&>svg]:block', {\n variants: {\n size: {\n // Icons shrink with the compact Badge scale: sm badge is 16 px tall, so\n // a 10 px glyph leaves room for the 1 px internal padding.\n sm: 'ds:[&>svg]:size-2.5',\n md: 'ds:[&>svg]:size-3',\n lg: 'ds:[&>svg]:size-3.5',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\n/* ------------------------------------------------------------------ */\n/* BadgeProps */\n/* ------------------------------------------------------------------ */\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {\n /** Leading icon — renders before the label */\n leading?: ReactNode;\n /** Show a leading dot indicator (● shape) for colour-blind accessibility */\n withDot?: boolean;\n /** Truncate long text with ellipsis + tooltip showing full text */\n truncate?: boolean;\n /** For icon-only badges — provides the accessible name */\n 'aria-label'?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* Badge */\n/* ------------------------------------------------------------------ */\n\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n (\n {\n variant = 'neutral',\n size = 'md',\n shape = 'pill',\n leading,\n withDot = false,\n truncate = false,\n className,\n children,\n 'aria-label': ariaLabel,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const isIconOnly = !children && !!ariaLabel;\n const isCount = typeof children === 'number';\n\n const badge = (\n <span\n ref={ref}\n className={badgeVariants({ variant, size, shape, className })}\n role={isIconOnly ? 'img' : undefined}\n aria-label={isIconOnly ? ariaLabel : undefined}\n {...props}\n >\n {withDot && (\n <span aria-hidden=\"true\" className={dotVariants({ variant })}>\n ●\n </span>\n )}\n {leading && (\n <span aria-hidden=\"true\" className={iconWrapperVariants({ size })}>\n {leading}\n </span>\n )}\n {!isIconOnly && (\n isCount ? (\n <>\n <span aria-hidden=\"true\">{children}</span>\n <span className=\"ds:sr-only\">\n {t('ui.badge.notifications', { count: children })}\n </span>\n </>\n ) : truncate ? (\n <span className=\"ds:max-w-[var(--badge-truncate-max-width)] ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap\">\n {children}\n </span>\n ) : (\n children\n )\n )}\n </span>\n );\n\n if (truncate && typeof children === 'string') {\n return <Tooltip label={children}>{badge}</Tooltip>;\n }\n\n return badge;\n },\n);\n\nBadge.displayName = 'Badge';\n"],"names":["badgeVariants","cva","dotVariants","iconWrapperVariants","Badge","forwardRef","variant","size","shape","leading","withDot","truncate","className","children","ariaLabel","props","ref","t","useTranslation","isIconOnly","isCount","badge","jsxs","jsx","Fragment","Tooltip"],"mappings":"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"}